Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 3.144.119.149
import logging
import os
import sys
from systemd.daemon import notify # type: ignore
from uaclient.config import UAConfig
from uaclient.daemon import (
poll_for_pro_license,
retry_auto_attach,
setup_logging,
)
LOG = logging.getLogger("pro")
def main() -> int:
cfg = UAConfig(root_mode=True)
setup_logging(
logging.INFO, logging.DEBUG, log_file=cfg.daemon_log_file, logger=LOG
)
# The ua-daemon logger should log everything to its file
# Make sure the ua-daemon logger does not generate double logging
# by propagating to the root logger
LOG.propagate = False
# The root logger should only log errors to the daemon log file
setup_logging(
logging.CRITICAL,
logging.ERROR,
log_file=cfg.daemon_log_file,
logger=logging.getLogger(),
)
LOG.debug("daemon starting")
notify("READY=1")
if os.path.exists("/run/cloud-init/cloud-id-gce") and not os.path.exists(
retry_auto_attach.FLAG_FILE_PATH
):
LOG.info("mode: poll for pro license")
poll_for_pro_license.poll_for_pro_license(cfg)
# not using elif because `poll_for_pro_license` may create the flag file
if os.path.exists(retry_auto_attach.FLAG_FILE_PATH):
LOG.info("mode: retry auto attach")
retry_auto_attach.retry_auto_attach(cfg)
LOG.debug("daemon ending")
return 0
if __name__ == "__main__":
sys.exit(main())
|