o x[hF ã@sdddlZddlZddlmZmZddlmZddlmZddl m Z e  e ¡Z Gdd„dejƒZdS)éN)ÚPREFERRED_NTP_CLIENTSÚdebian)ÚSnap)Ú activators)ÚCLOUDINIT_NETPLAN_FILEcs@eZdZ‡fdd„Zd ‡fdd„ Zedd„ƒZd d d „Z‡ZS) ÚDistrocsdtƒ |||¡dtdœ|_|jdtjdœ|jdtjddœdœ|_t|jƒ|_ |j   |j ¡dS)Nz+/etc/network/interfaces.d/50-cloud-init.cfg)ÚeniÚnetplanr)Úeni_pathÚ eni_headerr T)Ú netplan_pathÚnetplan_headerÚpostcmds) ÚsuperÚ__init__rÚnetwork_conf_fnrÚNETWORK_FILE_HEADERÚrenderer_configsrÚ_runnerÚsnapÚpackage_managersÚappend)ÚselfÚnameÚcfgÚpaths©Ú __class__©ú:/usr/lib/python3/dist-packages/cloudinit/distros/ubuntu.pyrsþþýû zDistro.__init__Ncs,tƒ |||¡|j ¡r|j ¡dSdS)N)rÚpackage_commandrÚ availableÚupgrade_packages)rÚcommandÚargsÚpkgsrrrr -s ÿzDistro.package_commandcCs|js t t¡|_|jS)z5The preferred ntp client is dependent on the version.)Ú_preferred_ntp_clientsÚcopyÚdeepcopyr)rrrrÚpreferred_ntp_clients2s zDistro.preferred_ntp_clientsÚreturnc Csbz|j ¡WdStjyt d¡YdSty0}z t d|¡WYd}~dSd}~ww)zAEnsure that cloud-init's network service has network connectivityz6Failed to wait for network. No network activator foundzFailed to wait for network: %sN)Únetwork_activatorÚwait_for_networkrÚNoActivatorExceptionÚLOGÚerrorÚ Exception)rÚerrrr,9s€ÿzDistro.wait_for_network)NN)r*N) Ú__name__Ú __module__Ú __qualname__rr Úpropertyr)r,Ú __classcell__rrrrrs   r)r'ÚloggingÚcloudinit.distrosrrÚ)cloudinit.distros.package_management.snaprÚ cloudinit.netrÚcloudinit.net.netplanrÚ getLoggerr2r.rrrrrÚs