+
    iE              	          a  R t0 t R t^ RIt^ RIt^ RIt^ RIHtHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt RtR	.tR
RR].R]R. RO/t] ^ k ]P.                  ! ]4      tR tRR R lltR R ltR# )zEPackage Update Upgrade Install: update, upgrade, and install packagesN)subputil)Cloud)Config)
MetaSchema)ALL_DISTROS)flush_loggers)PER_INSTANCEz/sbin/rebootid!cc_package_update_upgrade_installdistros	frequencyactivate_by_schema_keysc                 X    V F#  p\         P                  ! WR 4      '       g   K"   R# 	  R # )FT)r   get_cfg_option_bool)cfgkeysks   &* T/usr/lib/python3/dist-packages/cloudinit/config/cc_package_update_upgrade_install.py_multi_cfg_bool_getr   (   s'    ##CE22      c                <    V ^8  d   QhR\         R\         R\         /# )   wait_attemptsinitial_sleepbackoff)int)formats   "r   __annotate__r   /   s$      +.=@r   c                   \         P                   ! \        4       \        P                  ! 4       pTp\	        V 4       F\  p\        P
                  ! V4       WB,          p\        P                  ! 4       V,
          p\        P                  R\        V4      4       K^  	  \        P                  ! 4       V,
          p\        R\        V4      ,          4      h)z@Run a reboot command and panic if it doesn't happen fast enough.z,Rebooted, but still running after %s secondsz'Reboot did not happen after %s seconds!)
r   
REBOOT_CMDtime	monotonicrangesleepLOGdebugr   RuntimeError)r   r   r   start	wait_time_ielapseds   &&&    r   _fire_rebootr,   /   s     	IIjNNEIM"

9	.."U*		@#g,O	 # nn&G
1S\B r   c          
      L    V ^8  d   QhR\         R\        R\        R\        RR/# )r   namer   cloudargsreturnN)strr   r   list)r   s   "r   r   r   B   s/     : : :6 :% :t : :r   c                 (   \        VR R4      p\        VRR4      p\        VRR4      p\        P                  ! VR. 4      p. pV'       g	   V'       d    VP                  P	                  4        V'       d    VP                  P                  R	4       \        V4      '       d    VP                  P                  V4       \         F,  p
\        P                  P                  V
4      pV'       g   K,   M	  V'       g	   V'       dA   V'       d9   X'       d1    \        P!                  RX
4       \#        \        4       \%        4        \        V4      '       d)   \        P'                  R\        V4      4       VR,          hR#   \
         d8   p	\        P                  ! \        R4       TP                  T	4        Rp	?	ELORp	?	ii ; i  \
         d8   p	\        P                  ! \        R
4       TP                  T	4        Rp	?	ELpRp	?	ii ; i  \
         d9   p	\        P                  ! \        RT4       TP                  T	4        Rp	?	ELRp	?	ii ; i  \
         d8   p	\        P                  ! \        R4       TP                  T	4        Rp	?	ELHRp	?	ii ; i)
apt_updatepackage_updatepackage_upgradeapt_upgradeapt_reboot_if_requiredpackage_reboot_if_requiredpackageszPackage update failedNupgradezPackage upgrade failedz/Failure when attempting to install packages: %sz7***WARNING*** Rebooting after upgrade or install per %sz Requested reboot did not happen!z2%s failed with exceptions, re-raising the last one)r   r   get_cfg_option_listdistroupdate_package_sources	Exceptionlogexcr%   appendpackage_commandleninstall_packagesREBOOT_FILESospathisfileinfor   r,   warning)r.   r   r/   r0   updater<   reboot_if_requiredpkglisterrorsereboot_markerreboot_fn_existss   &&&&        r   handlerT   B   s    l4DEF!#'8-HG,%'C &&sJ;GF	LL//1
 	LL((3
 7||	LL))'2 &77>>-8 & 	7 27G
	HHI
 #N
 6{{@#f+	
 Rj	 S  	KK45MM!	  	KK56MM!	  	KKF MM!		.  	KK?@MM!	s`   E? 6G #H	 /I ?G
,F<<GH,HH	I-IIJ,JJc                @    V ^8  d   Qh/ ^ \         9   d
   \        ;R&   # )r   meta)__conditional_annotations__r   )r   s   "r   r   r      s     K K" j # Lr   )z/var/run/reboot-requiredz/run/reboot-needed)r5   r6   r8   r7   r;   )      r   )rW   __doc__loggingrH   r!   	cloudinitr   r   cloudinit.cloudr   cloudinit.configr   cloudinit.config.schemar   cloudinit.distrosr   cloudinit.log.loggersr   cloudinit.settingsr	   rG   r    rV   	getLogger__name__r%   r   r,   rT   r   )rW   s   @r   <module>re      s    L  	    ! # . ) / +A
 	
-}  	  !&:r   