/usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__
Edit: /usr/lib/python3/dist-packages/uaclient/entitlements/__pycache__/livepatch.cpython-310.pyc (10809B)
o
Kiy8 @ s d dl Z d dlmZmZmZmZ d dlmZmZm Z m
Z
mZmZm
Z
mZmZ d dlmZmZ d dlmZ d dlmZ ddgZd d
dZe Ze eeZG dd
d
eZdd Z dS ) N)AnyDictOptionalTuple) apievent_logger
exceptionshttp livepatchmessagessnapsystemutil)EntitlementWithMessage
UAEntitlement)ApplicationStatus)StaticAffordanceg ?g ?z)Invalid Auth-Token provided to livepatch.z2Your running kernel is not supported by Livepatch.)zUnknown Auth-Tokenzunsupported kernelc sL e Zd ZejjZdZejZ ej
ZejZ
dZdZdZdZedeedf fddZedeedf fdd Zdefd
dZdefdd
ZdejdefddZ d#dejdededefddZdejfddZ dee!e"ej# f fddZ$deee"ej# f fddZ%dd Z& d$de'e(e)f de'e(e)f ded edef
fd!d"
Z* Z+S )%LivepatchEntitlementr
FTreturn.c C s0 ddl m} ddlm} t|tjt|tjfS )Nr FIPSEntitlement)RealtimeKernelEntitlement)uaclient.entitlements.fipsr uaclient.entitlements.realtimer r r LIVEPATCH_INVALIDATES_FIPSREALTIME_LIVEPATCH_INCOMPATIBLE)selfr r r A/usr/lib/python3/dist-packages/uaclient/entitlements/livepatch.pyincompatible_services, s z*LivepatchEntitlement.incompatible_servicesc s\ ddl m} || jd}t| d tjk tjj | j
ddd dftj fdddffS ) Nr r )cfg)titlec S s t p t dkS )Nwsl)r
is_container
get_virt_typer r r r
K s z9LivepatchEntitlement.static_affordances..Fc s S Nr r is_fips_enabledr r r% Q s )r r r boolapplication_statusr ENABLEDr "SERVICE_ERROR_INSTALL_ON_CONTAINERformatr! !LIVEPATCH_ERROR_WHEN_FIPS_ENABLED)r r fips_entr r' r static_affordances; s
z'LivepatchEntitlement.static_affordancesc C dS )N r r r r r enable_stepsV z!LivepatchEntitlement.enable_stepsc C r1 )N r r3 r r r
disable_stepsY r5 z"LivepatchEntitlement.disable_stepsprogressc
C s | tj t s|dtjjdd t t sU|dtjjdd zt
d W n% tjyT } zt
jd|d |dtjjdd W Y d }~nd }~ww t| ztd W n$ tjy } zt
jd
|d ttjjdd W Y d }~nd }~ww td| jjtj}td
| jjtj}tj||tjd t s|dtjjdd zt
d W n tjy } ztjt |dd }~ww t!|| | j"|dddS )zYEnable specific entitlement.
@return: True on success, False otherwise.
infosnapd)packagesz
snapd snapz!Failed to install snapd as a snapexc_infozsnap install snapdcommandNzFailed to refresh snapd snapzsnap refresh snapdr https)
http_proxyhttps_proxyretry_sleepszcanonical-livepatch snapzcanonical-livepatch error_msgT)process_directives
process_token)#r8 r INSTALLING_LIVEPATCHr is_snapd_installedemitINSTALLING_PACKAGESr-
install_snapdis_snapd_installed_as_a_snapinstall_snapr ProcessExecutionErrorLOGwarningEXECUTING_COMMAND_FAILEDrun_snapd_wait_cmdrefresh_snapeventr9 r validate_proxyr rA PROXY_VALIDATION_SNAP_HTTP_URLrB PROXY_VALIDATION_SNAP_HTTPS_URLconfigure_snap_proxySNAP_INSTALL_RETRIESr
is_livepatch_installedErrorInstallingLivepatchstrconfigure_livepatch_proxysetup_livepatch_config)r r8 erA rB r r r _perform_enable\ s~
z$LivepatchEntitlement._perform_enablerF rG c
C s | tj | j | j}|rBzt| W n* tj yA } zt
jt||d |
dtjjt|d W Y d}~dS d}~ww |r|d}|sXt
d| j | jjd }| \}}|tjkrt
d |
dtj z
ttjd
g W n tj y } zt
jt||d W Y d}~dS d}~ww ztjtjd|gdd
W dS tj y } z0tj} t D ]\}
}|
t|v r| |7 } nq| tjkr| t|7 } |
d| W Y d}~dS d}~ww dS )a Processs configuration setup for livepatch directives.
:param process_directives: Boolean set True when directives should be
processsed.
:param process_token: Boolean set True when token should be
processsed.
r<