+
    ˜qgjÙ'  ã                   ó°   € ^ RI t ^ RIt^ RIHtHtHtHt ^ RIHt ^ RIH	t
 ^ RIHt ^ RIHtHt ] P                   ! ]4      t ! R R]P&                  4      tR# )	é    N)ÚdistrosÚhelpersÚsubpÚutil©ÚPackageList)Ú	rhel_util)ÚHostnameConf)Ú
PER_ALWAYSÚPER_INSTANCEc                   óÞ   a € ] tR t^t o RtRtR.tRtRtRt	Rt
RtR	R
RRRRRRRRRRRR///tR tR(R ltV 3R lR ltR)R ltR tRR/R ltR(R  ltR! tR" tR# tR$ tR% t]R& 4       tR'tV tR# )*ÚDistroz/etc/sysconfig/clockz/etc/HOSTNAMEÚservicez/etc/sysconfig/languagez/etc/sysconfig/network/configz/etc/hostnamez/etc/locale.confz/etc/localtimeÚ	sysconfigÚcontrolzetc/sysconfig/network/configÚflavorÚsuseÚiface_templatesz%(base)s/network/ifcfg-%(name)sÚnetrules_pathz3etc/udev/rules.d/85-persistent-net-cloud-init.rulesÚroute_templatesÚipv4z!%(base)s/network/ifroute-%(name)sÚipv6c                óú   € \         P                  P                  WW#4       \        P                  ! V4      V n        R V n        RV n        RV n        RVR&   V P                  4       '       d   R.V n
        RVR&   R# R# )r   NFÚsshdÚssh_svcnameÚ	systemctlzsshd.service)r   r   Ú__init__r   ÚRunnersÚ_runnerÚosfamilyÚupdate_methodÚread_only_rootÚuses_systemdÚinit_cmd)ÚselfÚnameÚcfgÚpathss   &&&&Ú</usr/lib/python3/dist-packages/cloudinit/distros/opensuse.pyr   ÚDistro.__init__/   sn   € Ü�‰×Ñ ¨CÔ7Ü—’ uÓ-ˆŒØˆŒØ!ˆÔØ#ˆÔØ#ˆˆMÑØ×Ñ×ÒØ(˜MˆDŒMØ!/ˆC�Óñ ó    Nc                óÀ   € V P                  4       '       d   V'       g   V P                  pR V/pMV'       g   V P                  pRV/p\        P                  ! W#4       R# )ÚLANGÚRC_LANGN)r#   Úsystemd_locale_conf_fnÚlocale_conf_fnÚrhutilÚupdate_sysconfig_file)r%   ÚlocaleÚout_fnÚ
locale_cfgs   &&& r)   Úapply_localeÚDistro.apply_locale:   sO   € Ø×Ñ×ÒßØ×4Ñ4�Ø  &Ð)‰JçØ×,Ñ,�Ø# VÐ,ˆJÜ×$Ò$ VÖ8r+   c                ó    <€ V ^8„  d   QhRS[ /# )é   Úpkglistr   )ÚformatÚ__classdict__s   "€r)   Ú__annotate__ÚDistro.__annotate__E   s   ø€ ÷ 
ñ 
©ñ 
r+   c                ó.   € V P                  R RVR7       R# )Úinstallz--auto-agree-with-licenses)ÚargsÚpkgsN)Úpackage_command)r%   r:   s   &&r)   Úinstall_packagesÚDistro.install_packagesE   s   € Ø×ÑØÐ8¸wð 	ö 	
r+   c                óþ  € Vf   . pV P                  4        V P                  '       d)   V P                  R8X  g   \        P	                  R4       R # V P                  R8X  d   RR.pM. ROpVR8X  d   RpV'       g   V P                  R8X  d   VR8X  d   Rp. ROpVR8X  d   RR.pVP                  V4       V'       d)   \        V\        4      '       d   VP                  V4       M/V'       d(   \        V\        4      '       d   VP                  V4       \        P                  ! R	V4      pVP                  V4       \        P                  ! VR
R7       V P                  R8X  d   \        P                  R4       R # R # )NÚtransactionalzUPackage operation requested but read only root without btrfs and transactional-updataÚzypperú--non-interactiveÚupgradeÚupdateÚupÚrefreshz%s-%sF)Úcapturez8To use/activate the installed packages reboot the system)útransactional-updaterI   ú--drop-if-no-changeÚpkg)rO   rI   rP   )Ú_set_update_methodr"   r!   ÚLOGÚerrorÚappendÚ
isinstanceÚstrÚlistÚextendr   Úexpand_package_listr   Úinfo)r%   ÚcommandrA   rB   Úcmdr:   s   &&&&  r)   rC   ÚDistro.package_commandJ   sF  € ØŠ<ØˆDà×ÑÔ!Ø××Ð t×'9Ñ'9¸_Ô'LÜ�I‰Ið9ôñ ð ×Ñ Ô)ØÐ0Ð1‰CòˆCð �iÔØˆGçØ×"Ñ" oÔ5Ø˜8Ô#àˆGòˆCð �iÔàÐ0Ð1ˆCØ�
‰
�7Ô÷ ”J˜t¤S×)Ò)Ø�J‰J�tÕß”j ¤t×,Ò,Ø�J‰J�tÔä×*Ò*¨7°DÓ9ˆØ�
‰
�7Ôô 	�	Š	�#˜uÕ%à×Ñ Ô0Ü�H‰HØJöñ 1r+   c                ót  € V P                  V4      pV P                  4       '       dC   \        P                  ! V P                  4       \        P
                  ! W P                  4       R# R \        V4      /p\        P                  ! V P                  V4       \        P                  ! W P                  4       R# )ÚTIMEZONEN)Ú_find_tz_filer#   r   Údel_fileÚtz_local_fnÚsym_linkrW   r1   r2   Úclock_conf_fnÚcopy)r%   ÚtzÚtz_fileÚ	clock_cfgs   &&  r)   Úset_timezoneÚDistro.set_timezone‡   sƒ   € Ø×$Ñ$ RÓ(ˆØ×Ñ×Òô �MŠM˜$×*Ñ*Ô+Ü�MŠM˜'×#3Ñ#3Ö4ð œC ›GðˆIô ×(Ò(¨×);Ñ);¸YÔGä�IŠI�g×/Ñ/Ö0r+   ÚforceFc               ó~   € V P                   P                  R V P                  R.V'       d   \        M\        R7       R# )zupdate-sourcesrM   )ÚfreqN)r   ÚrunrC   r   r   )r%   rl   s   &$r)   Úupdate_package_sourcesÚDistro.update_package_sources—   s1   € Ø�‰×ÑØØ× Ñ ØˆKß$•¬,ð	 	ö 	
r+   c                ó¢  € V P                  4       '       d<   VP                  R 4      '       d%   \        P                  ! V4      P	                  4       # V P                  4       '       d/   \
        P
                  ! R.4      w  r4\        V4      '       d   V# V#  V P                  V4      pVP                  pX'       g   V# V#   \         d     Li ; i)ú/previous-hostnameÚhostname)
r#   Úendswithr   Úload_text_fileÚstripr   ÚlenÚ_read_hostname_confrt   ÚIOError)r%   ÚfilenameÚdefaultÚoutÚ_errÚconfrt   s   &&&    r)   Ú_read_hostnameÚDistro._read_hostnameŸ   s±   € Ø×Ñ×Ò 8×#4Ñ#4Ð5I×#JÒ#JÜ×&Ò& xÓ0×6Ñ6Ó8Ð8Ø×Ñ× Ò ÜŸ)š) Z LÓ1‰KˆSÜ�3�xŠxØ�
à�ðØ×/Ñ/°Ó9�ØŸ=™=�÷ Ø�ØˆOøô	 ô Ùðús   ÂC  Ã CÃCc                ó   € R # )z	127.0.1.1© )r%   s   &r)   Ú_get_localhost_ipÚDistro._get_localhost_ip²   s   € Ùr+   c                ód   € \        \        P                  ! V4      4      pVP                  4        V# ©N)r
   r   rv   Úparse)r%   r{   r   s   && r)   ry   ÚDistro._read_hostname_confµ   s%   € ÜœD×/Ò/°Ó9Ó:ˆØ�
‰
ŒØˆr+   c                ó„   € V P                  4       '       d   V P                  pMV P                  pWP                  V4      3# r‡   )r#   Úsystemd_hostname_conf_fnÚhostname_conf_fnr€   )r%   Úhost_fns   & r)   Ú_read_system_hostnameÚDistro._read_system_hostnameº   s;   € Ø×Ñ×ÒØ×3Ñ3‰Gà×+Ñ+ˆGØ×,Ñ,¨WÓ5Ð6Ð6r+   c                óJ  € V P                   Ef   \        P                  ! R4      pRpV'       dÖ   Vw  r2p\        P                  ! R4      P	                  R4      pV FY  pVP                  V4      '       g   K  VP	                  4       pV^,          V8w  d   K<  V^,          P                  R4      V n         M	  VP                  4       R8X  d/   \        P                  P                  R4      '       d
   R	V n         R# R
V n         R# \        P                  R4       R
V n         R# R# )z7Decide if we want to use transactional-update or zypperNÚ/Ú z/proc/mountsÚ
ÚroÚbtrfsz/usr/sbin/transactional-updaterG   rH   z7Could not determine filesystem type of '/' using zypper)r!   r   Úget_mount_inforv   ÚsplitÚ
startswithr"   ÚlowerÚosÚpathÚexistsrS   r[   )r%   ÚresultÚfs_typeÚdevpthÚmount_pointÚmountsÚmountÚ
mount_infos   &       r)   rR   ÚDistro._set_update_methodÁ   sñ   € à×ÑÓ%Ü×(Ò(¨Ó-ˆFØˆGßØ17Ñ.� +ä×,Ò,¨^Ó<×BÑBÀ4ÓH�Û#�EØ×'Ñ'¨×/Ô/Ø%*§[¡[£]˜
Ø% a�=¨KÔ7Ù$Ø.8¸­m×.FÑ.FÀtÓ.L˜Ô+Ùñ $ð —=‘=“? gÔ-´"·'±'·.±.Ø4÷3ò 3ð *9�DÖ&à)1�DÖ&ä—‘ØMôð &.�Ö"ñ1 &r+   c                ó¶  € \         P                  ! V P                  R R4      pV P                  4       '       d0   VP	                  R4      '       d   \         P
                  ! W!4       R# V P                  4       '       dR   V'       d%   \        P                  ! RR\        V4      .4       R# \        P                  ! RRR\        V4      .4       R# Rp V P                  V4      pT'       g   \        R4      pTP                  T4       \         P
                  ! T\        T4      R	4       R#   \         d$    T'       d    L\\        P                  R4        R# i ; i)
Úcreate_hostname_fileTrs   Úhostnamectlzset-hostnamez--transientNz7create_hostname_file is False; hostname file notcreatedr’   i¤  )r   Úget_cfg_option_boolÚ_cfgr#   ru   Ú
write_filer   rW   ry   rz   rS   r[   r
   Úset_hostname)r%   rt   r{   r¦   r   s   &&&  r)   Ú_write_hostnameÚDistro._write_hostnameÝ   s  € Ü#×7Ò7Ø�I‰IÐ-¨tó 
Ðð ×Ñ×Ò 8×#4Ñ#4Ð5I×#JÒ#JÜ�OŠO˜HÖ/Ø×Ñ× Ò ß#Ü—	’	˜=¨.¼#¸h»-ÐHÖIä—	’	à%Ø&Ø%Ü˜H›ð	öð ˆDðð ×/Ñ/°Ó9�÷ Ü# BÓ'�Ø×Ñ˜hÔ'Ü�OŠO˜H¤c¨$£i°Ö7øô ô ß'Ùä—H‘Hð"ôò ðús   ÃD* Ä*EÄ?EÅEc                óZ  € V P                   '       g�   \        P                  ! 4       R,          pV^ ,          p\        V^,          P	                  R4      ^ ,          4      pV^8¼  d   RV9  g   V^8¼  d$   RV9   d   V^*8w  d   . ROV n         V P                   # . ROV n         V P                   # )z5The preferred ntp client is dependent on the version.ÚdistÚ.ÚopenSUSE)Úchronyúsystemd-timesyncdÚntp)r´   r³   r²   )Ú_preferred_ntp_clientsr   Úsystem_infoÚintr—   )r%   Údistro_infor&   Ú	major_vers   &   r)   Úpreferred_ntp_clientsÚDistro.preferred_ntp_clients  sž   € ð
 ×*×*Ð*Ü×*Ò*Ó,¨VÕ4ˆKØ˜q•>ˆDÜ˜K¨�N×0Ñ0°Ó5°aÕ8Ó9ˆIð ˜R” J°dÔ$:Ø˜R” J°$Ô$6¸9È¼?ò/�Ô+ð ×*Ñ*Ð*ò/�Ô+ð ×*Ñ*Ð*r+   )rµ   r   r$   r    r"   r!   r‡   )NN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__re   rŒ   r$   r0   Únetwork_conf_fnr‹   r/   rc   Úrenderer_configsr   r6   rD   rC   rj   rp   r€   r„   ry   rŽ   rR   r¬   Úpropertyrº   Ú__static_attributes__Ú__classdictcell__)r<   s   @r)   r   r      sË   ø‡ € Ø*€MØ&ÐØˆ{€HØ.€NØ5€OØ.ÐØ/ÐØ"€KàØÐ5Ø�fØÐ@ØØEàØÐ;ØÐ;ð ð
ðÐò	0ô	9÷
ð 
ô
;òz1ð 
¨eô 
ôò&òò
7ò.ò8$8ðL ñ+ó ö+r+   r   )Úloggingrš   Ú	cloudinitr   r   r   r   Úcloudinit.distrosr   r	   r1   Ú"cloudinit.distros.parsers.hostnamer
   Úcloudinit.settingsr   r   Ú	getLoggerr¼   rS   r   rƒ   r+   r)   Ú<module>rË      sA   ðó Û 	ç 2Ó 2Ý )Ý 1Ý ;ß 7à×Ò˜Ó!€ôG+ˆW�^‰^ö G+r+   