
    x[ho              
           % S r SSKrSSKrSSKrSSKJr  SSKJrJr  SSK	J
r
  SSKJr  SSKJr  SSKJr  S	rS
rSrSS/\S/S.r\\S'   \R,                  " \5      r\\\4S jrS\S\S\
S\SS4
S jrg)z5Mcollective: Install, configure and start mcollective    N)	ConfigObj)subputil)Cloud)Config)
MetaSchema)PER_INSTANCEz&/etc/mcollective/ssl/server-public.pemz'/etc/mcollective/ssl/server-private.pemz/etc/mcollective/server.cfgcc_mcollectiveallmcollective)iddistros	frequencyactivate_by_schema_keysmetac                     [         R                  " USS9n[        [        R                  " U5      5      nU R                  5        H  u  pxUS:X  a   [         R                  " X(SS9  X%S'   SUS	'   M+  US
:X  a   [         R                  " X8SS9  X5S'   SUS	'   MQ  [        U[        5      (       a  XU'   Ml  [        U[        5      (       a5  XuR                  ;  a  0 XW'   UR                  5        H  u  pXU   U	'   M     M  [        U5      XW'   M      [         R                   " USU-  5        [        R                  " 5       nUR#                  U5        [         R                  " XR%                  5       SS9  g ! [
         aJ  nUR                  [        R                  :w  a  e [        R                  SU5        [        5       n S nAGNS nAff = f! [
         a)  nUR                  [        R                  :X  a   S nANe S nAff = f)NF)quietz4Did not find file %s (starting with an empty config)zpublic-certi  )modezplugin.ssl_server_publicsslsecurityproviderzprivate-certi  zplugin.ssl_server_privatez%s.old)r   load_binary_filer   ioBytesIOIOErrorerrnoENOENTLOGdebugitems
write_file
isinstancestrdictsectionscopywritegetvalue)config
server_cfgpubcert_filepricert_fileold_contentsmcollective_configecfg_namecfgovcontentss               A/usr/lib/python3/dist-packages/cloudinit/config/cc_mcollective.py	configurer5   (   s   -,,ZuE&rzz,'?@  }$OOLE:=I9:5:12'OOLE:>J:;5:12#s##/28,C$(( #>#>>35&0IIKDA67x03 ( 033x",- (0	 			*h*56 zz|HX&OOJ 1 1 3%@_  -77ell"IIF "+-J  77ell"s5   4E2 G	 2
G<?GG	
G<G76G77G<namer0   cloudargsreturnc                     SU;  a  [         R                  SU 5        g US   nUR                  R                  S/5        SU;   a  [	        US   S9  [
        R
                  " / SQSS9  g )Nr   z?Skipping module named %s, no 'mcollective' key in configurationconf)r(   )servicer   restartF)capture)r   r   distroinstall_packagesr5   r   )r6   r0   r7   r8   mcollective_cfgs        r4   handlerB   e   si    C		M	
 	-(O 
LL!!=/2  01 	II3UC    )__doc__r   r   logging	configobjr   	cloudinitr   r   cloudinit.cloudr   cloudinit.configr   cloudinit.config.schemar   cloudinit.settingsr	   PUBCERT_FILEPRICERT_FILE
SERVER_CFGr   __annotations__	getLogger__name__r   r5   r"   listrB    rC   r4   <module>rT      s    <  	      ! # . +78*
 w -	j  !
 	:AzD D6 D% Dt D DrC   