ó
    x[hn  ã                   óž   • S SK r S SKJrJrJrJrJr  S SKJr  S SKJ	r
  S SKJrJr  \ R                  " \5      r " S S\R"                  5      rg)é    N)ÚdistrosÚhelpersÚnetÚsubpÚutil)ÚPackageList)Ú	rhel_util)Ú
PER_ALWAYSÚPER_INSTANCEc                   óž   • \ rS rSrSrSrSrSrS\\S.0rSr	S	 r
SS
 jrS rSS jrS\4S jrS rS rSS jrS rS rSS jrSS.S jrSrg)ÚDistroé   z/etc/hostnamez/etc/systemd/network/z/etc/locale.confz/etc/systemd/resolved.confÚnetworkd)Úresolv_conf_fnÚnetwork_conf_dirTc                 ó˜   • [         R                  R                  XX#5        [        R                  " U5      U l        SU l        S/U l        g )NÚphotonÚ	systemctl)r   r   Ú__init__r   ÚRunnersÚ_runnerÚosfamilyÚinit_cmd)ÚselfÚnameÚcfgÚpathss       Ú:/usr/lib/python3/dist-packages/cloudinit/distros/photon.pyr   ÚDistro.__init__   s8   € Ü�‰×Ñ ¨CÔ7ô —’ uÓ-ˆŒØ ˆŒØ$˜ˆ�ó    c                 ó  • [         R                  SU5         [        R                  " XS9u  p4U(       a  [         R                  SX5        SX44$ SX44$ ! [        R                   a    [
        R                  " [         SU5         gf = f)NzAttempting to run: %s)Úcapturez(Running %s resulted in stderr output: %sTFzCommand %s failed)TNN)ÚLOGÚdebugr   ÚwarningÚProcessExecutionErrorr   Úlogexc)r   Úcmdr"   ÚoutÚerrs        r   Úexec_cmdÚDistro.exec_cmd(   sy   € Ü�	‰	Ð)¨3Ô/ð
	$ÜŸš 3Ñ8‰JˆSÞÜ—‘Ø>Àôð ˜S�~Ð%Ø˜#�?Ð"øÜ×)Ñ)ó 	$Ü�KŠKœÐ0°#Ô6Ù#ð	$ús   ˜6A ÁA Á0BÂBc                 óÎ   • SnU R                   R                  US5      n[        R                  SX5        U(       d  [        R
                  " 5       $ [        R                  S5        g )NÚdisable_fallback_netcfgTz%s value is: %szJSkipping generate_fallback_config. Rely on PhotonOS default network config)Ú_cfgÚgetr#   r$   r   Úgenerate_fallback_configÚinfo)r   Úkeyr.   s      r   r1   ÚDistro.generate_fallback_config6   sS   € Ø'ˆØ"&§)¡)§-¡-°°TÓ":ÐÜ�	‰	Ð# SÔBæ&Ü×/Ò/Ó1Ð1ä�‰ðô	
ð r    Nc                 óˆ   • U(       d  U R                   nSU0n[        R                  " X#5        / SQnU R                  U5        g )NÚLANG)r   Úrestartzsystemd-localed)Úsystemd_locale_conf_fnÚrhutilÚupdate_sysconfig_filer+   )r   ÚlocaleÚout_fnÚ
locale_cfgr(   s        r   Úapply_localeÚDistro.apply_localeD   sC   € ö Ø×0Ñ0ˆFð �Fð
ˆ
ô 	×$Ò$ VÔ8ò
 :ˆØ�‰�cÕr    Úpkglistc                 ó$   • U R                  SUS9  g )NÚinstall)Úpkgs)Úpackage_command)r   r@   s     r   Úinstall_packagesÚDistro.install_packagesV   s   € à×Ñ˜Y¨WÐÒ5r    c                 ó°  • U(       a-  UR                  S5      (       a  [        R                  " X!5        g S n[        R                  " U R                  SS5      nU(       a!  U R                  SS[        U5      /5      u  p5nO6U R                  SSS[        U5      /5      u  p5n[        R                  S5        U(       a  [        R                  SUU45        g g )	Nú/previous-hostnameÚcreate_hostname_fileTÚhostnamectlzset-hostnamez--transientz7create_hostname_file is False; hostname set transientlyz3Error while setting hostname: %s
Given hostname: %s)
Úendswithr   Ú
write_fileÚget_cfg_option_boolr/   r+   Ústrr#   r2   r%   )r   ÚhostnameÚfilenameÚretrI   Ú_outr*   s          r   Ú_write_hostnameÚDistro._write_hostnameZ   sÇ   € Þ˜×)Ñ)Ð*>×?Ñ?Ü�OŠO˜HÕ/àˆCÜ#'×#;Ò#;Ø—	‘	Ð1°4ó$Ð ö $Ø!%§¡Ø" N´C¸³MÐBó"‘�™3ð "&§¡à%Ø&Ø%Ü˜H›ð	ó"‘�˜3ô —‘ØMôö Ü—‘àNØØ ðõð r    c                 óT   • U R                  U R                  5      nU R                  U4$ ©N)Ú_read_hostnameÚsystemd_hostname_conf_fn)r   Úsys_hostnames     r   Ú_read_system_hostnameÚDistro._read_system_hostname{   s)   € Ø×*Ñ*¨4×+HÑ+HÓIˆØ×-Ñ-¨|Ð<Ð<r    c                 óâ   • U(       a:  UR                  S5      (       a$  [        R                  " U5      R                  5       $ U R	                  SS/5      u  p4nU(       a  UR                  5       $ U$ )NrH   rO   z-f)rK   r   Úload_text_fileÚstripr+   )r   rP   ÚdefaultÚ_retr)   Ú_errs         r   rW   ÚDistro._read_hostname   sZ   € Þ˜×)Ñ)Ð*>×?Ñ?Ü×&Ò& xÓ0×6Ñ6Ó8Ð8àŸ-™-¨°TÐ(:Ó;‰ˆ�4Þ!ˆs�y‰y‹{Ð. wÐ.r    c                 ó   • g)Nz	127.0.1.1© )r   s    r   Ú_get_localhost_ipÚDistro._get_localhost_ip†   s   € Ør    c                 óJ   • [         R                  " XR                  U5      S9  g )N)ÚtzÚtz_file)r   Úset_etc_timezoneÚ_find_tz_file)r   rh   s     r   Úset_timezoneÚDistro.set_timezone‰   s   € Ü× Ò  B×0BÑ0BÀ2Ó0FÓGr    c                 óª  • U(       d  / nSS/nU(       a'  [        U[        5      (       a  UR                  U5        O-U(       a&  [        U[        5      (       a  UR	                  U5        UR                  U5        [
        R                  " SU5      nUR	                  U5        U R                  U5      u  pgnU(       a  [        R                  SU5        g g )NÚtdnfz-yz%s-%sz#Error while installing packages: %s)
Ú
isinstancerN   ÚappendÚlistÚextendr   Úexpand_package_listr+   r#   Úerror)	r   ÚcommandÚargsrC   r(   r@   rQ   rR   r*   s	            r   rD   ÚDistro.package_commandŒ   sœ   € ÞØˆDà�tˆnˆÞ”J˜t¤S×)Ñ)Ø�J‰J�tÕÞ”j ¤t×,Ñ,Ø�J‰J�tÔà�
‰
�7Ôä×*Ò*¨7°DÓ9ˆØ�
‰
�7ÔàŸ™ sÓ+‰ˆ�3ÞÜ�I‰IÐ;¸SÕAð r    F)Úforcec                ót   • U R                   R                  SU R                  S/U(       a  [        O[        S9  g )Nzupdate-sourcesÚ	makecache)Úfreq)r   ÚrunrD   r
   r   )r   ry   s     r   Úupdate_package_sourcesÚDistro.update_package_sourcesŸ   s1   € Ø�‰×ÑØØ× Ñ ØˆMÞ$•¬,ð	 	ò 	
r    )r   r   r   )TrV   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rX   r   r8   Úresolve_conf_fnÚrenderer_configsÚprefer_fqdnr   r+   r1   r>   r   rE   rS   rZ   rW   re   rl   rD   r~   Ú__static_attributes__rd   r    r   r   r      sˆ   † Ø.ÐØ.ÐØ/ÐØ2€Oð 	Ø-Ø 0ñ
ðÐð €Kò&ô$òôð$6¨ô 6òòB=ô/òòHôBð& /4÷ 
ð 
r    r   )ÚloggingÚ	cloudinitr   r   r   r   r   Úcloudinit.distrosr   r	   r9   Úcloudinit.settingsr
   r   Ú	getLoggerr€   r#   r   rd   r    r   Ú<module>r�      s;   ðó
 ç 7Õ 7Ý )Ý 1ß 7à×Ò˜Ó!€ôV
ˆW�^‰^õ V
r    