a >h!@sJddlmZmZddlZddlmZddlmZmZGdddeeZ dS)) NoOptionErrorNoSectionErrorN)remove)Plugin RedHatPluginc@sDeZdZdZdZdZdZdZdZddZ d d Z d d Z d dZ dS)SubscriptionManagerz subscription-manager informationZsubscription_manager)systemZpackagemanagerZsysmgmt)/etc/rhsm/rhsm.conf)zsubscription-managerZ rhsm_curl_cfgc Csd}|dd}|rL|dd}|dd}|r8d|}d|d||}|dd }|r|r|dd }|r|j|j|_t|jd d d &}|d|d|Wdn1s0Y|d|j7}n|d|7}|S)z4 return curl options --proxy[-user] per RHSM config serverproxy_hostname proxy_scheme proxy_port:z--proxy :// proxy_userZproxy_passwordwzutf-8)encodingz --proxy-user Nz --config z --proxy-user )getarchiveZ dest_path curl_config_curl_cfg_fnameopenwrite) selfconfigproxyr r rrZ proxy_passZ_frK/usr/lib/python3.9/site-packages/sos/report/plugins/subscription_manager.pyget_proxy_strings(     "z$SubscriptionManager.get_proxy_stringc Cs`|dddkrdnd}|dd}t|dkr8d|}d |d |dd ||dd S) z- return URL per RHSM config for curl command r Zinsecure1sr portrrhttprhostnameprefix)rlen)rrZsecurer"rrrget_server_url3s   z"SubscriptionManager.get_server_urlc CsB|gd|jddd|jddd|jddd|jgd d d |d |td }|jdd|Dddd}d}d|_z`ddlm}|}||}||}d|d| ddd|}| dd}|rd|i}Wn>t t t t fy,} z|d| WYd} ~ n d} ~ 00|j||dddS)N)z /etc/rhsm/z/var/lib/rhsm/z/var/log/rhsm/rhsm.logz/var/log/rhsm/rhsmcertd.logzsubscription-manager identityZsubscription_manager_id)tagsz$subscription-manager list --consumedZ"subscription_manager_list_consumedz%subscription-manager list --installedZsubscription_manager_installed)z%subscription-manager list --availablez+subscription-manager list --all --availablez#subscription-manager release --showz#subscription-manager release --listzsyspurpose showz&subscription-manager syspurpose --showzsubscription-manager statuszsubscription-manager factsT)Z cmd_as_tagzFrhsm-debug system --sos --no-archive --no-subscriptions --destination z/etc/pki/product-default/*.pemcSsg|]}d|qS)z rct cat-cert r).0Zcertrrr Yz-SubscriptionManager.setup..Z*subscription_manager_installed_product_idszccurl -vv --cacert /etc/rhsm/ca/redhat-uep.pem https://subscription.rhsm.redhat.com:443/subscriptionr)get_config_parserz curl -vv z --cacert ZrhsmZ repo_ca_cert r no_proxyZNO_PROXYz*Error checking for RHSM cert/proxy issue: )envtimeout)Z add_copy_specZadd_cmd_outputZget_cmd_output_pathglobrZ rhsm.configr,rr'rModuleNotFoundError ImportErrorrrZ _log_debug) rZcertsZcurlcmdr0r,rrZ server_urlr.errrrrsetup=sR         &zSubscriptionManager.setupcCsVd}d}|d||d}d}|d|||jr s