3 ܓi@sZddlZddlmZmZmZmZGdddeZGdddeeeZGdddeeZdS) N)Plugin RedHatPlugin DebianPlugin UbuntuPluginc @sNeZdZdZdZdZdZedZddd d d d d ddddg ZddZ ddZ dS)OpenStackOctaviazOpenstack OctaviaZopenstack_octavia openstackopenstack_controllerz/var/lib/config-dataz/puppet-generated/octaviaZamphoraZavailabilityzoneZavailabilityzoneprofileZflavorZ flavorprofileZ healthmonitorZl7policyZlistenerZpoolproviderZquotac Cs|jdddd|jd|jd|jd|jdg|jd d i|jd |j|jd |j|jd |jd r|jd gn |jdgddd&D}ddd'D}t|ot| r|jdp|jd r|j j dn|j dddx|j D]z}|j d|d|dd|d}|j |}|dd krx<|d!jD],}|jd }|j d|d"||dq@WqWd#}|j |}|dd krx6|d!jD]&}|jd }|j d$|d%dqWdS)(Nz*/etc/sysconfig/network-scripts/ifcfg-o-hm0z"/etc/logrotate.d/openstack-octaviaz/etc/octavia/*z/var/lib/octaviaz/octavia/etc/octaviaz /etc/octaviaz/etc/rsyslog.dz/etc/my.cnf.d/tripleo.cnfz.*/etc/octavia/octavia.confZ octavia_confz/etc/octavia/certsall_logsz/var/log/octavia/*z/var/log/octavia/*.logcSsg|]}|tjkqS)osenviron).0pr r '/usr/lib/python3.6/openstack_octavia.py Esz*OpenStackOctavia.setup.. OS_USERNAME OS_PASSWORDcSsg|]}|tjkqSr )r r )rrr r rrHsOS_TENANT_NAMEOS_PROJECT_NAMEzpython2-octaviaclientzpython3-octaviaclientzNot all environment variables set or octavia client package not installed.Source the environment file for the user intended to connect to the OpenStack environment and install octavia client package.zopenstack loadbalancer listZ loadbalancer)Zsubdirzopenstack loadbalancer z listz list -f value -c idZstatusroutputz show z5openstack loadbalancer provider list -f value -c namez0openstack loadbalancer provider capability list Zprovider_capability)rr)rr) add_copy_specvar_config_datavar_puppet_genZ add_file_tagsZadd_forbidden_path get_optionallanyZ is_installedZsoslogZwarningZadd_cmd_output resourcesZexec_cmd splitlinessplit)selfZvars_allZvars_anyrescmdretZentr r r rsetup$s`             zOpenStackOctavia.setupcCsJdddddddg}dd j|d }|jd |d |j|jd |d dS) NZca_private_key_passphraseZ heartbeat_keyZpasswordZ connectionZ transport_urlZserver_certs_key_passphraseZmemcache_secret_keyz(^\s*(|z )\s*=\s*)(.*)z/etc/octavia/*z \1*********)joinZdo_path_regex_subr)r Z protect_keysZregexpr r rpostprocrszOpenStackOctavia.postprocN)rr) __name__ __module__ __qualname__Z short_descZ plugin_nameZprofilesrrrr$r'r r r rr s$Nrcs eZdZdZfddZZS) DebianOctaviaoctavia-common octavia-apipython3-octaviacs2tj|jdr"|jdgn |jdgdS)Nr z/var/log/apache2/octavia*z/var/log/apache2/octavia*.log)superr$rr)r ) __class__r rr$s    zDebianOctavia.setup)r,r-r.)r(r)r*packagesr$ __classcell__r r )r0rr+sr+c@seZdZdZdS) RedHatOctaviaopenstack-selinuxN)r4)r(r)r*r1r r r rr3sr3) r Zsos.report.pluginsrrrrrr+r3r r r rsu