Blame cloudinit/config/cc_scripts_per_boot.py

Packit Service a04d08
# Copyright (C) 2011 Canonical Ltd.
Packit Service a04d08
# Copyright (C) 2012 Hewlett-Packard Development Company, L.P.
Packit Service a04d08
#
Packit Service a04d08
# Author: Scott Moser <scott.moser@canonical.com>
Packit Service a04d08
# Author: Juerg Haefliger <juerg.haefliger@hp.com>
Packit Service a04d08
#
Packit Service a04d08
# This file is part of cloud-init. See LICENSE file for license information.
Packit Service a04d08
Packit Service a04d08
"""
Packit Service a04d08
Scripts Per Boot
Packit Service a04d08
----------------
Packit Service a04d08
**Summary:** run per boot scripts
Packit Service a04d08
Packit Service a04d08
Any scripts in the ``scripts/per-boot`` directory on the datasource will be run
Packit Service a04d08
every time the system boots. Scripts will be run in alphabetical order. This
Packit Service a04d08
module does not accept any config keys.
Packit Service a04d08
Packit Service a04d08
**Internal name:** ``cc_scripts_per_boot``
Packit Service a04d08
Packit Service a04d08
**Module frequency:** per always
Packit Service a04d08
Packit Service a04d08
**Supported distros:** all
Packit Service a04d08
"""
Packit Service a04d08
Packit Service a04d08
import os
Packit Service a04d08
Packit Service 11b429
from cloudinit import util
Packit Service a04d08
Packit Service a04d08
from cloudinit.settings import PER_ALWAYS
Packit Service a04d08
Packit Service a04d08
frequency = PER_ALWAYS
Packit Service a04d08
Packit Service a04d08
SCRIPT_SUBDIR = 'per-boot'
Packit Service a04d08
Packit Service a04d08
Packit Service a04d08
def handle(name, _cfg, cloud, log, _args):
Packit Service a04d08
    # Comes from the following:
Packit Service a04d08
    # https://forums.aws.amazon.com/thread.jspa?threadID=96918
Packit Service a04d08
    runparts_path = os.path.join(cloud.get_cpath(), 'scripts', SCRIPT_SUBDIR)
Packit Service a04d08
    try:
Packit Service 11b429
        util.runparts(runparts_path)
Packit Service a04d08
    except Exception:
Packit Service a04d08
        log.warning("Failed to run module %s (%s in %s)",
Packit Service a04d08
                    name, SCRIPT_SUBDIR, runparts_path)
Packit Service a04d08
        raise
Packit Service a04d08
Packit Service a04d08
# vi: ts=4 expandtab