/usr/lib/python3/dist-packages/uaclient
NameSizeModeActions
api/-0755rm
cli/-0755rm
clouds/-0755rm
daemon/-0755rm
entitlements/-0755rm
files/-0755rm
http/-0755rm
messages/-0755rm
timer/-0755rm
__pycache__/-0755rm
actions.py151870644editdlrm
apt.py371260644editdlrm
apt_news.py85870644editdlrm
config.py193610644editdlrm
contract.py367430644editdlrm
contract_data_types.py101740644editdlrm
data_types.py143290644editdlrm
defaults.py32690644editdlrm
event_logger.py82570644editdlrm
exceptions.py187240644editdlrm
gpg.py8360644editdlrm
livepatch.py131600644editdlrm
lock.py45250644editdlrm
log.py50170644editdlrm
secret_manager.py6480644editdlrm
security_status.py267850644editdlrm
snap.py64150644editdlrm
status.py292120644editdlrm
system.py287930644editdlrm
types.py3080644editdlrm
update_contract_info.py15860644editdlrm
upgrade_lts_contract.py32950644editdlrm
util.py158200644editdlrm
version.py26990644editdlrm
yaml.py8400644editdlrm
__init__.py00644editdlrm
Edit: /usr/lib/python3/dist-packages/uaclient/update_contract_info.py (1586B)
import logging from uaclient import exceptions, lock, messages, system, util from uaclient.api.u.pro.detach.v1 import detach from uaclient.api.u.pro.status.is_attached.v1 import _is_attached from uaclient.config import UAConfig LOG = logging.getLogger(util.replace_top_level_logger_name(__name__)) def validate_release_series(cfg: UAConfig, only_series, show_message=False): LOG.debug("Validating release series") if not _is_attached(cfg).is_attached: return current_series = system.get_release_info().series try: allowed_release = system.get_distro_info(only_series) except exceptions.MissingSeriesInDistroInfoFile: # If onlySeries is not present on the distro-info CSV # we consider that it is newer than the current release pass else: current_release = system.get_distro_info(current_series) # Only series is now meant to be allowed on the specified release # and all previous releases if current_release.eol > allowed_release.eol: LOG.debug( "Detaching due to current series %s being higher than only_series: %s", # noqa current_series, only_series, ) lock.clear_lock_file_if_present() detach() message = messages.PRO_ONLY_ALLOWED_FOR_RELEASE.format( release=allowed_release.release, series_codename=allowed_release.series_codename, ) if show_message: print(message) LOG.warning(message)