Add element to call os-refresh-config

os-refresh-config simply runs things in a predictable order in directories
that other elements can populate. This element installs it and sets it
up to run at boot.

We also modify os-config-applier element to be called by this rather
than to have its own upstart job. This provides an example of how other
elements can insert themselves into the refresh process.

Change-Id: I52d72b7fd302ec317840af87fa77299387af99ad
This commit is contained in:
Clint Byrum 2013-02-06 19:05:47 -08:00
parent 9605c7090a
commit 9ed4aaf2b0
4 changed files with 28 additions and 3 deletions

View File

@ -9,8 +9,10 @@ pip install -U git+https://github.com/tripleo/os-config-applier.git
mkdir -p /opt/stack
git clone $TEMPLATES /opt/stack/openstack-config-templates
cat > /etc/init/os-config-applier.conf <<- eof
start on runlevel [2345]
task
runscript=$(os-refresh-config --print-base)/configuration.d/10-os-config-applier
mkdir -p $(dirname $runscript)
cat > $runscript <<- eof
#!/bin/sh
exec os-config-applier -t /opt/stack/openstack-config-templates/templates
eof
chmod 0755 $runscript

View File

@ -0,0 +1,7 @@
Install os-refresh-config.
os-refresh-config uses run-parts to run scripts in a pre-defined set
of directories. Its intended purpose is to quiesce (pre-configure.d),
configure (configure.d), migrate (migration.d), and then activate
(post-configure.d) a configuration on first boot or in response to Heat
Metadata changes.

View File

@ -0,0 +1 @@
heat-jeos

View File

@ -0,0 +1,15 @@
#!/bin/bash
# We need to install this early in install.d because other elements will
# need to use os-refresh-config --print-base to know where to put files
set -eux
install-packages git-core python-pip
pip install git+https://github.com/tripleo/os-refresh-config.git
cat > /etc/init/os-refresh-config.conf <<- eof
start on runlevel [2345]
task
exec os-refresh-config
eof