Ë
    x[hN  ã            
       ó  — U d Z ddlZddlZddlmZ ddlmZ 	 ddlZdZddl
mZmZmZmZ ddlmZ dd	lmZ dd
lmZ  ej*                  e«      ZddgedgdœZeed<   dZdZdZdefd„Zdededededdf
d„Z y# e	$ r dZdZY Œdw xY w)z<Ubuntu Drivers: Interact with third party drivers in Ubuntu.é    N)ÚCloud)ÚDistroTF)ÚsubpÚ
temp_utilsÚ
type_utilsÚutil)ÚConfig)Ú
MetaSchema)ÚPER_INSTANCEÚcc_ubuntu_driversÚubuntuÚdrivers)ÚidÚdistrosÚ	frequencyÚactivate_by_schema_keysÚmetazDubuntu-drivers: error: argument <command>: invalid choice: 'install'zÉTemplate: linux/nvidia/latelink
Type: boolean
Default: true
Description: Late-link NVIDIA kernel modules?
 Enable this to link the NVIDIA kernel modules in cloud-init and
 make them available for use.
ÚX_LOADTEMPLATEFILEÚdistroc                 ó|  — t        | t        «      s$t        dt        j                  | «      ›d| ›�«      ‚d}t        j                  t        j                  | |«      «      }|st        j                  d||«       y t        j                  d«      st        j                  d«        |dg«       d}t        j                  | d	«      }|r|d
j                  |«      z  }t        j                  d|||r|nd«       t        j                  |j                  «       d¬«      }t         j"                  j%                  |d«      }	 t        j&                  |t(        «       t+        j,                  d«      5 }	|	j/                  t0        |«       d d d «       t         j"                  j9                  |«      rt        j:                  |«       	 	 t        j                  ddd|g«       y # 1 sw Y   ŒYxY w# t2        $ r*}
t        j4                  t        dt7        |
«      «       ‚ d }
~
ww xY w# t         j"                  j9                  |«      rt        j:                  |«       w w xY w# t        j<                  $ rQ}t>        |j@                  v rt        jC                  d«       ‚ d|jD                  v rt        jC                  d«       ‚ d }~ww xY w)Nz''drivers' config expected dict, found 'z': znvidia/license-acceptedz$Not installing NVIDIA drivers. %s=%szubuntu-driverszI'ubuntu-drivers' command not available.  Installing ubuntu-drivers-commonzubuntu-drivers-commonÚnvidiaznvidia/versionz:{}z<Installing and activating NVIDIA drivers (%s=%s, version=%s)ÚlatestT)ÚdirÚ	needs_exeznvidia.templatez
cloud-initz.Failed to register NVIDIA debconf template: %sÚinstallz--gpgpuz[the available version of ubuntu-drivers is too old to perform requested driver installationz"No drivers found for installation.z0ubuntu-drivers found no drivers for installation)#Ú
isinstanceÚdictÚ	TypeErrorr   Úobj_namer   Útranslate_boolÚget_cfg_by_pathÚLOGÚdebugr   ÚwhichÚformatr   ÚmkdtempÚget_tmp_exec_pathÚosÚpathÚjoinÚ
write_fileÚNVIDIA_DEBCONF_CONTENTÚdebconfÚDebconfCommunicatorÚcommandr   Ú	ExceptionÚlogexcÚstrÚisdirÚdel_dirÚProcessExecutionErrorÚ OLD_UBUNTU_DRIVERS_STDERR_NEEDLEÚstderrÚwarningÚstdout)ÚcfgÚpkg_install_funcr   ÚcfgpathÚnv_accÚ
driver_argÚversion_cfgÚtdirÚdebconf_fileÚdcÚeÚexcs               úD/usr/lib/python3/dist-packages/cloudinit/config/cc_ubuntu_drivers.pyÚinstall_driversrF   9   s<  € Ü�cœ4Ô Ýä×"Ñ" 3Õ'©ð.ó
ð 	
ð
 (€Gô × Ñ ¤×!5Ñ!5°c¸7Ó!CÓD€FÙÜ�	‰	Ð8¸'À6ÔJØä�:‰:Ð&Ô'Ü�	‰	ð/ô	
ñ 	Ð1Ð2Ô3à€JÜ×&Ñ& sÐ,<Ó=€KÙØ�e—l‘l ;Ó/Ñ/ˆ
ä‡I�IØFØØÙ"‰¨ô	ô ×Ñ &×":Ñ":Ó"<ÈÔM€DÜ—7‘7—<‘< Ð&7Ó8€LðÜ�‰˜Ô&<Ô=Ü×(Ñ(¨Ó6ð 	9¸"Ø�J‰JÔ)¨<Ô8÷	9ô �7‰7�=‰=˜ÔÜ�L‰L˜Õð
Ü�	‰	Ð# Y°	¸:ÐFÕG÷	9ð 	9ûäò Ü�‰ÜÐAÄ3ÀqÃ6ô	
ð 	ûð	ûô �7‰7�=‰=˜ÔÜ�L‰L˜Õð ûô
 ×%Ñ%ò Ü+¨s¯z©zÑ9Ü�K‰KðDôð 	ð 2°S·Z±ZÑ?Ü�K‰KÐJÔKØûðúsU   Ä=/G' Å,GÆG' ÇI ÇG$Ç G' Ç'	HÇ0%HÈHÈH È7IÉJ;É*AJ6Ê6J;Únamer:   ÚcloudÚargsÚreturnc                 óÐ   — d|vrt         j                  d| «       y t        st         j                  d| «       y t	        |d   |j
                  j                  |j
                  «       y )Nr   z4Skipping module named %s, no 'drivers' key in configz<Skipping module named %s, 'python3-debconf' is not installed)r"   r#   ÚHAS_DEBCONFr8   rF   r   Úinstall_packages)rG   r:   rH   rI   s       rE   ÚhandlerN   y   sW   € Ø˜ÑÜ�	‰	ÐHÈ$ÔOØÝÜ�‰ØJØô	
ð 	äØˆI‰˜Ÿ™×5Ñ5°u·|±|õó    )!Ú__doc__Úloggingr(   Úcloudinit.cloudr   Úcloudinit.distrosr   r-   rL   ÚImportErrorÚ	cloudinitr   r   r   r   Úcloudinit.configr	   Úcloudinit.config.schemar
   Úcloudinit.settingsr   Ú	getLoggerÚ__name__r"   r   Ú__annotations__r6   r,   r   rF   r2   ÚlistrN   © rO   rE   ú<module>r^      sÓ   ðò Cã Û 	å !Ý $ðÛà€K÷ 9Ó 8Ý #Ý .Ý +à€g×Ñ˜Ó!€ð ØˆzØØ )˜{ñ	€€jó ð Kð !ðÐ ð *Ð ð=°6ó =ð@�ð ˜6ð ¨%ð °tð Àô øðU ò Ø€GØ‚Kðús   ™A8 Á8	BÂB