3 ܓi @sZddlZddlmZmZmZmZGdddeZGdddeeeZGdddeeZdS) N)Plugin RedHatPlugin DebianPlugin UbuntuPluginc@sHeZdZdZdZdZdZdZedZgZ dZ d d Z d d Z d dZ dS)OpenStackIroniczOpenStack IronicZopenstack_ironic openstackopenstack_undercloud .*ironic_apiz,/var/lib/config-data/puppet-generated/ironicZ _inspectorFcCs<|jd}|r^|jd|jd|jd|jd|jdg|_|jdd|jd|jd |jd |jd |jd |jd |jd|jd|jd|jd|jd|jd|jd|jd|jdg|jdr|jddgn|jddgx@ddd|jd|jdgD]"}|j||j|gdd qWxd>D]$}|jd(|r4|jd)|d*q4Wn^ddg|_|jd d dd+ddg|jdr|jd,d-gn|jd.d/g|jdddgdd |jd0d1id2d3d?D}d6d3d@D}t |ot ||_ |j s|j j d9n(|jd:|jd;|jd<|jd=dS)ANz .*ironic_apiz /etc/ironic/*z/etc/ironic-inspector/*z_api/etc/ironic/*z /var/lib/httpboot/inspector.ipxez/var/lib/ironic-inspector/z-/var/log/containers/ironic-inspector/ramdisk/z/etc/xinetd.confz/etc/xinetd.d/z /etc/ironic/z/etc/ironic-inspector/z/etc/httpd/conf/z/etc/httpd/conf.d/z /etc/httpd/conf.modules.d/*.confz/etc/my.cnf.d/tripleo.cnfz_api/etc/ironic/z_api/etc/httpd/conf/z_api/etc/httpd/conf.d/z$_api/etc/httpd/conf.modules.d/*.confz_api/etc/my.cnf.d/tripleo.cnfall_logsz/var/log/containers/ironic/z%/var/log/containers/ironic-inspector/z /var/log/containers/ironic/*.logz*/var/log/containers/ironic-inspector/*.logz/var/lib/ironicz /httpbootz /tftpbootz/var/lib/httpboot/z/var/lib/tftpboot/T) recursiveironic_inspector_dnsmasqironic_inspectorironic_pxe_httpironic_pxe_tftpironic_neutron_agentironic_conductor ironic_apiz.*zrpm -qa)Z containerz"/var/log/ironic-inspector/ramdisk/z/var/log/ironic/z/var/log/ironic-inspector/z/var/log/ironic/*.logz/var/log/ironic-inspector/*.logz.*/etc/ironic/ironic.confZ ironic_confcSsg|]}|tjkqS)osenviron).0prr&/usr/lib/python3.6/openstack_ironic.py xsz)OpenStackIronic.setup.. OS_USERNAME OS_PASSWORDcSsg|]}|tjkqSr)rr)rrrrrr{sOS_TENANT_NAMEOS_PROJECT_NAMEz}Not all environment variables set. Source the environment file for the user intended to connect to the OpenStack environment.z&openstack baremetal driver list --longz$openstack baremetal node list --longz$openstack baremetal port list --longz*openstack baremetal port group list --long)r r rrrrr)rr)rr)Zcontainer_existsvar_puppet_genins_puppet_gen conf_list add_copy_spec get_optionZadd_dir_listingadd_cmd_outputZ add_file_tagsallany osc_availablesoslogwarning)selfZ in_containerpathZcontainer_nameZvars_allZvars_anyrrrsetups          zOpenStackIronic.setupcCs"x|jD]}|j|||qWdS)z Apply regex substitution N)r Zdo_path_regex_sub)r)ZregexpZsubstZconfrrrapply_regex_subs zOpenStackIronic.apply_regex_subcCsPddddg}ddg}dj|}|jddj|d d |jd|d d dS) Nz .*_(pass)?keyz.*_pass(wd|word)?ZpasswordZ transport_urlZ connectionZsql_connection|z(^\s*(z )\s*=\s*)(.*)z \1*********z!)\s*=\s*(.*)://(\w*):)(.*)(@(.*))z \1*********\6)joinr,)r)Z protect_keysZconnection_keysZ join_con_keysrrrpostprocs  zOpenStackIronic.postprocN)rr)r )__name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesZ containersrrr r&r+r,r/rrrrrsnrc@seZdZdZdS) DebianIronic ironic-api ironic-commonironic-conductorN)r4r5r6)r0r1r2packagesrrrrr3sr3cs0eZdZdZddgZddZfddZZS) RedHatIronicopenstack-selinuxzopenstack-ironic-discoverdz"openstack-ironic-discoverd-ramdiskcCsZ|jd}|dr"|jjddSdd|djD}x|D]}|jd|q>WdS) z& Capture baremetal introspection data z.openstack baremetal node list -f value -c UUIDZstatuszPFailed to fetch list of ironic node UUIDs, introspection data won't be collectedNcSsg|]}|jr|qSr)strip)ruuidrrrrsz;RedHatIronic.collect_introspection_data..outputz,openstack baremetal introspection data save )Zcollect_cmd_outputr'r(splitr#)r)Z uuids_resultZuuidsr;rrrcollect_introspection_datas  z'RedHatIronic.collect_introspection_datacstjtfddjDrdjjdjdjdjdjddjd djd djrj d j d rj dS) Nc3s|]}j|VqdS)N)Z is_installed)rr)r)rr sz%RedHatIronic.setup..z/etc/ironic-discoverd/*z/etc/ironic-discoverd/z/var/lib/ironic-discoverd/z/var/log/ironic-discoverd/zopenstack-ironic-discoverd)Zunitsz"openstack-ironic-discoverd-dnsmasqz"openstack-ironic-inspector-dnsmasqz&openstack baremetal introspection listr ) superr+r%discoverd_packagesr appendr!Z add_journalr&r#r"r>)r)) __class__)r)rr+s          zRedHatIronic.setup)r9)r0r1r2r7rAr>r+ __classcell__rr)rCrr8s r8) rZsos.report.pluginsrrrrrr3r8rrrr s