aboutsummaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-extended/cloud-init
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openstack/recipes-extended/cloud-init')
-rw-r--r--meta-openstack/recipes-extended/cloud-init/cloud-init/cloud-init-source-local-lsb-functions.patch64
-rw-r--r--meta-openstack/recipes-extended/cloud-init/cloud-init/cloud.cfg99
-rw-r--r--meta-openstack/recipes-extended/cloud-init/cloud-init/distros-add-windriver-skeleton-distro-file.patch44
-rw-r--r--meta-openstack/recipes-extended/cloud-init/cloud-init_0.7.4.bb37
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