diff options
Diffstat (limited to 'meta-openstack/recipes-extended/cloud-init')
4 files changed, 244 insertions, 0 deletions
diff --git a/meta-openstack/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch b/meta-openstack/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch new file mode 100644 index 00000000..869fb311 --- /dev/null +++ b/meta-openstack/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch @@ -0,0 +1,64 @@ +From 72dd3b4b38705442d821fe97a40061f23e748769 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@windriver.com> +Date: Thu, 6 Mar 2014 01:55:09 -0500 +Subject: [PATCH] cloud-init: source local lsb functions + +Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> +--- + sysvinit/debian/cloud-config | 1 + + sysvinit/debian/cloud-final | 1 + + sysvinit/debian/cloud-init | 1 + + sysvinit/debian/cloud-init-local | 1 + + 4 files changed, 4 insertions(+) + +diff --git a/sysvinit/debian/cloud-config b/sysvinit/debian/cloud-config +index 53322748ac65..7874dcfab9b0 100644 +--- a/sysvinit/debian/cloud-config ++++ b/sysvinit/debian/cloud-config +@@ -30,6 +30,7 @@ SCRIPTNAME=/etc/init.d/$NAME + # Depend on lsb-base (>= 3.2-14) to ensure that this file is present + # and status_of_proc is working. + . /lib/lsb/init-functions ++. /etc/init.d/functions + + if init_is_upstart; then + case "$1" in +diff --git a/sysvinit/debian/cloud-final b/sysvinit/debian/cloud-final +index 55afc8b0678a..661314f0b64c 100644 +--- a/sysvinit/debian/cloud-final ++++ b/sysvinit/debian/cloud-final +@@ -32,6 +32,7 @@ SCRIPTNAME=/etc/init.d/$NAME + # Depend on lsb-base (>= 3.2-14) to ensure that this file is present + # and status_of_proc is working. + . /lib/lsb/init-functions ++. /etc/init.d/functions + + if init_is_upstart; then + case "$1" in +diff --git a/sysvinit/debian/cloud-init b/sysvinit/debian/cloud-init +index 48fa04233f00..d3ccec99bacc 100755 +--- a/sysvinit/debian/cloud-init ++++ b/sysvinit/debian/cloud-init +@@ -30,6 +30,7 @@ SCRIPTNAME=/etc/init.d/$NAME + # Depend on lsb-base (>= 3.2-14) to ensure that this file is present + # and status_of_proc is working. + . /lib/lsb/init-functions ++. /etc/init.d/functions + + if init_is_upstart; then + case "$1" in +diff --git a/sysvinit/debian/cloud-init-local b/sysvinit/debian/cloud-init-local +index 802ee8e9f386..c309e8347324 100644 +--- a/sysvinit/debian/cloud-init-local ++++ b/sysvinit/debian/cloud-init-local +@@ -29,6 +29,7 @@ SCRIPTNAME=/etc/init.d/$NAME + # Depend on lsb-base (>= 3.2-14) to ensure that this file is present + # and status_of_proc is working. + . /lib/lsb/init-functions ++. /etc/init.d/functions + + if init_is_upstart; then + case "$1" in +-- +1.7.10.4 + diff --git a/meta-openstack/recipes-extended/cloud-init/cloud-init/cloud.cfg b/meta-openstack/recipes-extended/cloud-init/cloud-init/cloud.cfg new file mode 100644 index 00000000..f8689363 --- /dev/null +++ b/meta-openstack/recipes-extended/cloud-init/cloud-init/cloud.cfg @@ -0,0 +1,99 @@ +# The top level settings are used as module +# and system configuration. + +# A set of users which may be applied and/or used by various modules +# when a 'default' entry is found it will reference the 'default_user' +# from the distro configuration specified below +users: + - default + +# If this is set, 'root' will not be able to ssh in and they +# will get a message to login instead as the above $user (ubuntu) +disable_root: False + +# This will cause the set+update hostname module to not operate (if true) +preserve_hostname: false +manage_etc_hosts: %MANAGE_HOSTS% + +datasource_list: + - None + +# Example datasource config +# datasource: +# Ec2: +# metadata_urls: [ 'blah.com' ] +# timeout: 5 # (defaults to 50 seconds) +# max_wait: 10 # (defaults to 120 seconds) + +# The modules that run in the 'init' stage +cloud_init_modules: + - migrator + - seed_random + - bootcmd + - write-files + - growpart + - set_hostname + - update_hostname + - update_etc_hosts + - ca-certs + - rsyslog + - users-groups + - ssh + +# The modules that run in the 'config' stage +cloud_config_modules: +# Emit the cloud config ready event +# this can be used by upstart jobs for 'start on cloud-config'. + - emit_upstart + - disk_setup + - mounts + - ssh-import-id + - locale + - set-passwords + - grub-dpkg + - apt-pipelining + - apt-configure + - package-update-upgrade-install + - landscape + - timezone + - puppet + - chef + - salt-minion + - mcollective + - disable-ec2-metadata + - runcmd + - byobu + +# The modules that run in the 'final' stage +cloud_final_modules: + - rightscale_userdata + - scripts-per-once + - scripts-per-boot + - scripts-per-instance + - scripts-user + - ssh-authkey-fingerprints + - keys-to-console + - phone-home + - final-message + - power-state-change + +# set the hostname +hostname: %HOSTNAME% + +# System and/or distro specific settings +# (not accessible to handlers/transforms) +system_info: + # This will affect which distro class gets used + distro: windriver + # Default user name + that default users groups (if added/used) + default_user: + name: root + lock_passwd: False + groups: [adm, audio, cdrom, dialout, dip, floppy, netdev, plugdev, sudo, video] + sudo: ["ALL=(ALL) NOPASSWD:ALL"] + shell: /bin/bash + # Other config here will be given to the distro class and/or path classes + paths: + cloud_dir: /var/lib/cloud/ + templates_dir: /etc/cloud/templates/ + ssh_svcname: ssh diff --git a/meta-openstack/recipes-extended/cloud-init/cloud-init/distros-add-windriver-skeleton-distro-file.patch b/meta-openstack/recipes-extended/cloud-init/cloud-init/distros-add-windriver-skeleton-distro-file.patch new file mode 100644 index 00000000..f52faf39 --- /dev/null +++ b/meta-openstack/recipes-extended/cloud-init/cloud-init/distros-add-windriver-skeleton-distro-file.patch @@ -0,0 +1,44 @@ +From 6ad7caf6410237f3b1bed6ff4d9f0423e69afcd6 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@windriver.com> +Date: Mon, 10 Mar 2014 00:57:18 -0400 +Subject: [PATCH] distros: add windriver skeleton distro file + +Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> +--- + cloudinit/distros/windriver.py | 24 ++++++++++++++++++++++++ + 1 file changed, 24 insertions(+) + create mode 100644 cloudinit/distros/windriver.py + +diff --git a/cloudinit/distros/windriver.py b/cloudinit/distros/windriver.py +new file mode 100644 +index 000000000000..8eec13fe2207 +--- /dev/null ++++ b/cloudinit/distros/windriver.py +@@ -0,0 +1,24 @@ ++# vi: ts=4 expandtab ++# ++# Copyright (C) 2014 WindRiver ++# ++# This program is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License version 3, as ++# published by the Free Software Foundation. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see <http://www.gnu.org/licenses/>. ++ ++from cloudinit.distros import debian ++from cloudinit import log as logging ++ ++LOG = logging.getLogger(__name__) ++ ++ ++class Distro(debian.Distro): ++ pass +-- +1.7.10.4 + diff --git a/meta-openstack/recipes-extended/cloud-init/cloud-init_0.7.4.bb b/meta-openstack/recipes-extended/cloud-init/cloud-init_0.7.4.bb new file mode 100644 index 00000000..f639d4b9 --- /dev/null +++ b/meta-openstack/recipes-extended/cloud-init/cloud-init_0.7.4.bb @@ -0,0 +1,37 @@ +DESCRIPTION = "Init scripts for use on cloud images" +HOMEPAGE = "https://launchpad.net/cloud-init" +SECTION = "devel/python" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" + +PR = "0" + +SRC_URI = "https://launchpad.net/cloud-init/trunk/${PV}/+download/${BPN}-${PV}.tar.gz \ + file://cloud-init-source-local-lsb-functions.patch \ + file://distros-add-windriver-skeleton-distro-file.patch \ + file://cloud.cfg" + +SRC_URI[md5sum] = "65053a7b2917ad1c26dc0a4d144b59c0" +SRC_URI[sha256sum] = "34152e0168c2ffc06284b4fe01ff43f856219228ddb995d5afe4f9a77420d779" + +S = "${WORKDIR}/${BPN}-${PV}" + +DISTUTILS_INSTALL_ARGS_append = " ${@base_contains('DISTRO_FEATURES', 'sysvinit', '--init-system=sysvinit_deb', '', d)}" +DISTUTILS_INSTALL_ARGS_append = " ${@base_contains('DISTRO_FEATURES', 'systemd', '--init-system=systemd', '', d)}" + +MANAGE_HOSTS ?= "False" +HOSTNAME ?= "" + +do_install_append() { + sed -e "s:%MANAGE_HOSTS%:${MANAGE_HOSTS}:g" -i ${WORKDIR}/cloud.cfg + sed -e "s:%HOSTNAME%:${HOSTNAME}:g" -i ${WORKDIR}/cloud.cfg + install -m 0755 ${WORKDIR}/cloud.cfg ${D}${sysconfdir}/cloud/cloud.cfg +} + +inherit setuptools update-rc.d + +FILES_${PN} += "${sysconfdir}/* \ + ${datadir}/*" + +INITSCRIPT_PACKAGES = "${PN}" +INITSCRIPT_NAME_${BPN} = "cloud-init"
\ No newline at end of file |