Server : nginx/1.24.0 System : Linux ip-172-31-33-48 6.14.0-1011-aws #11~24.04.1-Ubuntu SMP Fri Aug 1 02:07:25 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE Directory : /lib/python3/dist-packages/cloudinit/config/ |
Upload File : |
# This file is part of cloud-init. See LICENSE file for license information. """Autoinstall: Support ubuntu live-server autoinstall syntax.""" import logging import re from cloudinit import subp, util from cloudinit.cloud import Cloud from cloudinit.config import Config from cloudinit.config.schema import MetaSchema from cloudinit.settings import PER_ONCE LOG = logging.getLogger(__name__) meta: MetaSchema = { "id": "cc_ubuntu_autoinstall", "distros": ["ubuntu"], "frequency": PER_ONCE, "activate_by_schema_keys": ["autoinstall"], } LIVE_INSTALLER_SNAPS = ("subiquity", "ubuntu-desktop-installer") def handle(name: str, cfg: Config, cloud: Cloud, args: list) -> None: util.wait_for_snap_seeded(cloud) snap_list, _ = subp.subp(["snap", "list"]) installer_present = None for snap_name in LIVE_INSTALLER_SNAPS: if re.search(snap_name, snap_list): installer_present = snap_name if not installer_present: LOG.warning( "Skipping autoinstall module. Expected one of the Ubuntu" " installer snap packages to be present: %s", ", ".join(LIVE_INSTALLER_SNAPS), ) return LOG.debug( "Valid autoinstall schema. Config will be processed by %s", installer_present, )