File manager - Edit - /usr/lib/python3/dist-packages/uaclient/__pycache__/upgrade_lts_contract.cpython-310.pyc
Back
o =�xd� � @ sv d Z ddlZddlZddlZddlmZmZmZ ddlm Z ddl mZ dddd d d�Zded dfdd�Z dd� ZdS )a� This function is called from lib/upgrade_lts_contract.py and from lib/reboot_cmds.py This function should be used after running do-release-upgrade in a machine. It will detect any contract deltas between the release before do-release-upgrade and the current release. If we find any differences in the uaclient contract between those releases, we will apply that difference in the upgraded release. For example, suppose we are on Trusty and we are upgrading to Xenial. We found that the apt url for esm services on trusty: https://esm.ubuntu.com/ubuntu While on Xenial, the apt url is: https://esm.ubuntu.com/infra/ubuntu This script will detect differences like that and update the Xenial system to reflect them. � N)�contract�defaults�system)�_is_attached)�UAConfig�trusty�xenial�bionic�focal�jammy)r r r r �kinetic�cfg�returnc C sF t �d� t| �jst �d� d S tjddgddgd�\}}d}|r&|d 7 }t|� t �|� t�� j}t � |�}|d u rPd �|�}t|� t �|� t �d� t|d�jj}t|d�jj}d}|rzt�d� tjddgddgd�\}}|d7 }|sbd �||�}t|� t �|� tj| ||ddd� d�|�}t|� t �|� d S )Nz%Check whether to upgrade-lts-contractz4Skipping upgrade-lts-contract. Machine is unattached�lsofz/var/lib/apt/lists/lockr � )�rcszStarting upgrade-lts-contract.z7 Retrying every 10 seconds waiting on released apt lockz#Could not find past release for: {})�series� z9upgrade-lts-contract processing contract deltas: {} -> {}TF)r �past_entitlements�new_entitlements�allow_enable�series_overridesz/upgrade-lts-contract succeeded after {} retries)�logging�debugr �is_attachedr �subp�print�get_release_infor �!current_codename_to_past_codename�get�format�warning�sys�exitr �machine_token_file�entitlements�time�sleepr �process_entitlements_delta) r �out�_err�msg�current_release�past_releaser r �retry_count� r/ �?/usr/lib/python3/dist-packages/uaclient/upgrade_lts_contract.py�%process_contract_delta_after_apt_lock0 sd ���� ��� � r1 c C s t �tj� d S )N)r �ensure_folder_absentr �ESM_APT_ROOTDIRr/ r/ r/ r0 �remove_private_esm_apt_cacheg s r4 )�__doc__r r"