aboutsummaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-extended/cloud-init/cloud-init
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2014-03-10 02:31:47 -0400
committerBruce Ashfield <bruce.ashfield@windriver.com>2014-03-11 00:46:47 -0400
commitf17693e030d88d0d2a85d92d506506c34a0fb111 (patch)
tree18ff0fc3e001e764809bf19122ff6456e869e0fe /meta-openstack/recipes-extended/cloud-init/cloud-init
parent4264b4b64cf6ec230d350a0ca950b72554724994 (diff)
downloadmeta-cloud-services-f17693e030d88d0d2a85d92d506506c34a0fb111.tar.gz
meta-cloud-services-f17693e030d88d0d2a85d92d506506c34a0fb111.tar.bz2
meta-cloud-services-f17693e030d88d0d2a85d92d506506c34a0fb111.zip
cloud-init: create skeleton package
This creates a basic/skeleton cloud-init package that has the following properties: - working sysvinit scripts - Wind River distro definition - baseline cloud.cfg with no data source and "hands off" configuration Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack/recipes-extended/cloud-init/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
3 files changed, 207 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 0000000..869fb31
--- /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 0000000..f868936
--- /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 0000000..f52faf3
--- /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
+