
    -_g                     n    d dl Z d dlZd dlZd dlmZmZ g dZg dZdZ G d de      Z	 G d d	e	e      Z
y)
    N)PluginRedHatPlugin)+/home/stack/.instack/install-undercloud.log/home/stack/instackenv.json/home/stack/undercloud.conf)z/var/log/heat-launcher/z/home/stack/ansible.logz/home/stack/config-download/z"/home/stack/install-undercloud.logz*/home/stack/undercloud-install-*.tar.bzip2/home/stack/.tripleo/historyz/var/lib/tripleo-config/z,/var/log/tripleo-container-image-prepare.logr   c                   *    e Zd ZdZdZdZd Zd Zd Zy)OpenStackInstackzOpenStack Instackopenstack_instack)	openstackopenstack_undercloudc                    | j                  t        t        z          | j                  d      r| j                  dg       n| j                  dg       | j	                  ddi       dD cg c]  }|t
        j                  v  }}dD cg c]  }|t
        j                  v  }}| j                          t        |      rt        |      s| j                  j                  d       y d	}| j                  |      d
   }t        j                  d|      }|D ]  }|d   }| j                  d| d| g       d| }	| j!                  |	      }
|
d
   j#                         D ]Q  dv sddg}t        fd|D              s!j%                         d   }d }	d| d}| j                  |	|       S  | j                  d       y c c}w c c}w )Nall_logsz/var/log/zaqar/z/var/log/zaqar/*.logz/var/log/mistral/executor.logmistral_executor_log)OS_USERNAMEOS_PASSWORD)OS_TENANT_NAMEOS_PROJECT_NAMEz}Not all environment variables set. Source the environment file for the user intended to connect to the OpenStack environment.zopenstack stack listoutputz(\|\s(((\w+-){4})\w+)\s\|)   zopenstack stack show z$openstack stack resource list -n 10 z,openstack stack resource list -f value -n 5 FAILEDzOS::Heat::StructuredDeploymentzOS::Heat::SoftwareDeploymentc              3   &   K   | ]  }|v  
 y w)N ).0x
deployments     F/usr/lib/python3/dist-packages/sos/report/plugins/openstack_instack.py	<genexpr>z)OpenStackInstack.setup.<locals>.<genexpr>\   s     "Bq1
?"Bs   z*openstack software deployment show --long zfailed-deployment-z.log)suggest_filenamez>openstack object save tripleo-ui-logs tripleo-ui.logs --file -)add_copy_specNON_CONTAINERIZED_DEPLOYCONTAINERIZED_DEPLOY
get_optionadd_file_tagsosenvironcapture_undercloud_yamlsallanysoslogwarningcollect_cmd_outputrefindalladd_cmd_outputexec_cmd
splitlinessplit)selfpvars_allvars_any
get_stacksstacks	stack_ids_sidsidcmddeploymentscheckdeployfnamer   s                 @r   setupzOpenStackInstack.setup*   s    36JJK??:&!   &   	+-C
 	.2 3AO 3 3.9 :AO : : 	%%'H#h-KK !K L
 0J,,Z8BF

#@&II! I1g##+C51:3%@%  ESEJ"mmC0"-h"7"B"B"D IJ:-<:!  #"BE"BB$!+!1!1!3A!6 ..8\ ;"4VHD A++C%+HII0  !K LU3:s   +G
Gc                 :   t        j                         }	 |j                  t               ddg}|D ]Y  }|j	                  d|      }|st
        j                  j                  |      s| j                  d|      }| j                  |       [ y# t        $ r Y yw xY w)z( capture yaml files to define overrides hieradata_overridenet_config_overrideDEFAULTz/home/stackN)configparserConfigParserreadUNDERCLOUD_CONF_PATHgetr%   pathisabs	path_joinr    	Exception)r3   	uc_configoverride_optsoptrK   s        r   r'   z)OpenStackInstack.capture_undercloud_yamlsg   s     --/	
	NN/013HIM$ - }}Y477==.#~~mTB&&t,-  		s   2B 	AB 	BBc                    g d}ddj                  |       d}| j                  d|d       | j                  t        |d       g d}ddj                  |       d	}| j                  d
|d       | j                  ddd       y )N)os_passwordundercloud_admin_password%undercloud_ceilometer_metering_secretundercloud_ceilometer_password$undercloud_ceilometer_snmpd_passwordundercloud_db_passwordundercloud_glance_passwordundercloud_heat_password+undercloud_heat_stack_domain_admin_passwordundercloud_horizon_secret_keyundercloud_ironic_passwordundercloud_neutron_passwordundercloud_nova_passwordundercloud_rabbit_passwordundercloud_swift_passwordundercloud_tuskar_passwordz((|z)=)(.*)r   z\1*********)pm_passwordzssh-keypasswordz("(z)": )(".*?")r   r   z(password=)\w+)joindo_file_subrI   )r3   protected_keysregexpprotected_json_keysjson_regexps        r   postproczOpenStackInstack.postprocv   s    
$ sxx/08F	1-v~FDSXX&9:;<H6'	)7*'	)    N)	__name__
__module____qualname__
short_descplugin_nameprofilesrA   r'   rl   r   rm   r   r
   r
   $   s"    $J%K4H;Lz )rm   r
   c                       e Zd ZdZy)RedHatRDOManager)zopenstack-selinuxN)rn   ro   rp   packagesr   rm   r   ru   ru      s    %Hrm   ru   )rF   r%   r-   sos.report.pluginsr   r   r!   r"   rI   r
   ru   r   rm   r   <module>rx      sI     	 	 3 
	  5 r)v r)j&' &rm   