a G%@i@sbddlZddlZddlZddlmZmZgdZgdZdZGdddeZ Gdd d e eZ dS) N)Plugin RedHatPlugin)+/home/stack/.instack/install-undercloud.log/home/stack/instackenv.json/home/stack/undercloud.conf) z/etc/puppet/hieradata/z/etc/rhosp-releasez/home/stack/*-deploy/home/stack/.tripleo/historyz/home/stack/ansible.logz/home/stack/config-download/z"/home/stack/install-undercloud.log!/home/stack/overcloud_install.logz*/home/stack/undercloud-install-*.tar.bzip2rz/var/lib/tripleo-config/z/var/log/heat-launcher/z,/var/log/tripleo-container-image-prepare.logrc@s0eZdZdZdZdZddZddZdd Zd S) OpenStackInstackzOpenStack InstackZopenstack_instack)Z openstackZopenstack_undercloudc sZ|tt|dr&|dgn |dg|ddidddD}d dd D}|t|rtt|s|j d nd }| |d }t d|}|D]}|d}| d|d|gd|}||} | d D]^dvrddg} tfdd| Dsqd} d}d| d} |j || dqq| ddS)NZall_logsz/var/log/zaqar/z/var/log/zaqar/*.logz/var/log/mistral/executor.logZmistral_executor_logcSsg|]}|tjvqSosenviron.0pr r H/usr/lib/python3.9/site-packages/sos/report/plugins/openstack_instack.py ?z*OpenStackInstack.setup..)Z OS_USERNAMEZ OS_PASSWORDcSsg|]}|tjvqSr r rr r rrBr)ZOS_TENANT_NAMEZOS_PROJECT_NAMEz}Not all environment variables set. Source the environment file for the user intended to connect to the OpenStack environment.zopenstack stack listoutputz(\|\s(((\w+-){4})\w+)\s\|)zopenstack stack show z$openstack stack resource list -n 10 z,openstack stack resource list -f value -n 5 ZFAILEDzOS::Heat::StructuredDeploymentzOS::Heat::SoftwareDeploymentc3s|]}|vVqdS)Nr )rxZ deploymentr r arz)OpenStackInstack.setup..z*openstack software deployment show --long zfailed-deployment-z.log)Zsuggest_filenamez>openstack object save tripleo-ui-logs tripleo-ui.logs --file -) add_copy_specNON_CONTAINERIZED_DEPLOYCONTAINERIZED_DEPLOYZ get_optionZ add_file_tagscapture_undercloud_yamlsallanyZsoslogZwarningZcollect_cmd_outputrefindallZadd_cmd_outputZexec_cmd splitlinessplit) selfZvars_allZvars_anyZ get_stacksZstacksZ stack_idsZ_sidZsidcmdZ deploymentscheckZdeployfnamer rrsetup/sR      zOpenStackInstack.setupcCsrt}zR|tddg}|D]6}|d|}|r tj|sL|d|}| |q Wnt ylYn0dS)z( capture yaml files to define overrides Zhieradata_overrideZnet_config_overrideZDEFAULTz /home/stackN) configparserZ ConfigParserreadUNDERCLOUD_CONF_PATHgetr pathisabsZ path_joinr Exception)r#Z uc_configZ override_optsoptr,r r rrls     z)OpenStackInstack.capture_undercloud_yamlscCs~gd}dd|d}|d|d|t|dgd}dd|d }|d |d|d d d|d dddS)N)z .*_passwordz .*_secretz.*_keyz((|z)=)(.*)rz \1*********)Z pm_passwordzssh-keypasswordz("(z )": )(".*?")rrz(password=)\w+rz2(Found key: \\".*password.*\\" value: )(\\".+?\\")z\1\\"*********\\")joinZ do_file_subr*)r#Zprotected_keysZregexpZprotected_json_keysZ json_regexpr r rpostproc{s&zOpenStackInstack.postprocN) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesr'rr3r r r rr )s =r c@seZdZdZdS)RedHatRDOManager)zopenstack-selinuxN)r4r5r6Zpackagesr r r rr7sr7) r(r rZsos.report.pluginsrrrrr*r r7r r r r sl