Expose the ability to build all infra diskimages
Add the ability for different jobs to control which images we build in our dsvm job. This is needed so we can allow diskimage-builder more control of which images to build. Remove hardcoded apt-get for installing openssh-server, we can now use the openssh-server element from diskimage-builder (which supports more operating systems). Change-Id: Ib6f48648e9ada8fd626a1811cdce262df0768c08 Signed-off-by: Paul Belanger <pabelanger@redhat.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
qemu-utils
|
||||
kpartx
|
||||
debootstrap
|
||||
yum-utils
|
||||
zookeeperd
|
||||
|
||||
@@ -92,7 +92,6 @@ EOF
|
||||
|
||||
sudo mkdir -p $(dirname $NODEPOOL_CONFIG)/elements/nodepool-setup/install.d
|
||||
cat > /tmp/01-nodepool-setup <<EOF
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y openssh-server
|
||||
sudo mkdir -p /etc/nodepool
|
||||
# Make it world writeable so nodepool can write here later.
|
||||
sudo chmod 777 /etc/nodepool
|
||||
@@ -168,6 +167,9 @@ dburi: $dburi
|
||||
EOF
|
||||
sudo mv /tmp/secure.conf $NODEPOOL_SECURE
|
||||
|
||||
if [ -f $NODEPOOL_CACHE_GET_PIP ] ; then
|
||||
DIB_GET_PIP="DIB_REPOLOCATION_pip_and_virtualenv: file://$NODEPOOL_CACHE_GET_PIP"
|
||||
fi
|
||||
cat > /tmp/nodepool.yaml <<EOF
|
||||
# You will need to make and populate these two paths as necessary,
|
||||
# cloning nodepool does not do this. Further in this doc we have an
|
||||
@@ -200,11 +202,31 @@ cron:
|
||||
check: '*/15 * * * *'
|
||||
|
||||
labels:
|
||||
- name: centos-7
|
||||
image: centos-7
|
||||
min-ready: 1
|
||||
providers:
|
||||
- name: devstack
|
||||
- name: fedora-24
|
||||
image: fedora-24
|
||||
min-ready: 1
|
||||
providers:
|
||||
- name: devstack
|
||||
- name: ubuntu-precise
|
||||
image: ubuntu-precise
|
||||
min-ready: 1
|
||||
providers:
|
||||
- name: devstack
|
||||
- name: ubuntu-trusty
|
||||
image: ubuntu-trusty
|
||||
min-ready: 1
|
||||
providers:
|
||||
- name: devstack
|
||||
- name: ubuntu-xenial
|
||||
image: ubuntu-xenial
|
||||
min-ready: 1
|
||||
providers:
|
||||
- name: devstack
|
||||
|
||||
providers:
|
||||
- name: devstack
|
||||
@@ -217,20 +239,94 @@ providers:
|
||||
max-servers: 2
|
||||
rate: 0.25
|
||||
images:
|
||||
- name: centos-7
|
||||
min-ram: 1024
|
||||
username: devuser
|
||||
private-key: $NODEPOOL_KEY
|
||||
config-drive: true
|
||||
- name: fedora-24
|
||||
min-ram: 1024
|
||||
username: devuser
|
||||
private-key: $NODEPOOL_KEY
|
||||
config-drive: true
|
||||
- name: ubuntu-precise
|
||||
min-ram: 1024
|
||||
username: devuser
|
||||
private-key: $NODEPOOL_KEY
|
||||
config-drive: true
|
||||
- name: ubuntu-trusty
|
||||
min-ram: 1024
|
||||
username: devuser
|
||||
private-key: $NODEPOOL_KEY
|
||||
config-drive: true
|
||||
- name: ubuntu-xenial
|
||||
min-ram: 1024
|
||||
username: devuser
|
||||
private-key: $NODEPOOL_KEY
|
||||
config-drive: true
|
||||
|
||||
diskimages:
|
||||
- name: ubuntu-trusty
|
||||
- name: centos-7
|
||||
pause: $NODEPOOL_PAUSE_CENTOS_7_DIB
|
||||
rebuild-age: 86400
|
||||
elements:
|
||||
- centos-minimal
|
||||
- vm
|
||||
- simple-init
|
||||
- devuser
|
||||
- openssh-server
|
||||
- nodepool-setup
|
||||
env-vars:
|
||||
TMPDIR: $NODEPOOL_DIB_BASE_PATH/tmp
|
||||
DIB_CHECKSUM: '1'
|
||||
DIB_IMAGE_CACHE: $NODEPOOL_DIB_BASE_PATH/cache
|
||||
DIB_DEV_USER_AUTHORIZED_KEYS: $NODEPOOL_PUBKEY
|
||||
$DIB_GET_PIP
|
||||
- name: fedora-24
|
||||
pause: $NODEPOOL_PAUSE_FEDORA_24_DIB
|
||||
rebuild-age: 86400
|
||||
elements:
|
||||
- fedora-minimal
|
||||
- vm
|
||||
- simple-init
|
||||
- devuser
|
||||
- openssh-server
|
||||
- nodepool-setup
|
||||
release: 24
|
||||
env-vars:
|
||||
TMPDIR: $NODEPOOL_DIB_BASE_PATH/tmp
|
||||
DIB_CHECKSUM: '1'
|
||||
DIB_IMAGE_CACHE: $NODEPOOL_DIB_BASE_PATH/cache
|
||||
DIB_DEV_USER_AUTHORIZED_KEYS: $NODEPOOL_PUBKEY
|
||||
$DIB_GET_PIP
|
||||
- name: ubuntu-precise
|
||||
pause: $NODEPOOL_PAUSE_UBUNTU_PRECISE_DIB
|
||||
rebuild-age: 86400
|
||||
elements:
|
||||
- ubuntu-minimal
|
||||
- vm
|
||||
- simple-init
|
||||
- devuser
|
||||
- openssh-server
|
||||
- nodepool-setup
|
||||
release: precise
|
||||
env-vars:
|
||||
TMPDIR: $NODEPOOL_DIB_BASE_PATH/tmp
|
||||
DIB_CHECKSUM: '1'
|
||||
DIB_IMAGE_CACHE: $NODEPOOL_DIB_BASE_PATH/cache
|
||||
DIB_APT_LOCAL_CACHE: '0'
|
||||
DIB_DISABLE_APT_CLEANUP: '1'
|
||||
DIB_DEV_USER_AUTHORIZED_KEYS: $NODEPOOL_PUBKEY
|
||||
$DIB_GET_PIP
|
||||
- name: ubuntu-trusty
|
||||
pause: $NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB
|
||||
rebuild-age: 86400
|
||||
elements:
|
||||
- ubuntu-minimal
|
||||
- vm
|
||||
- simple-init
|
||||
- devuser
|
||||
- openssh-server
|
||||
- nodepool-setup
|
||||
release: trusty
|
||||
env-vars:
|
||||
@@ -240,12 +336,27 @@ diskimages:
|
||||
DIB_APT_LOCAL_CACHE: '0'
|
||||
DIB_DISABLE_APT_CLEANUP: '1'
|
||||
DIB_DEV_USER_AUTHORIZED_KEYS: $NODEPOOL_PUBKEY
|
||||
$DIB_GET_PIP
|
||||
- name: ubuntu-xenial
|
||||
pause: $NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB
|
||||
rebuild-age: 86400
|
||||
elements:
|
||||
- ubuntu-minimal
|
||||
- vm
|
||||
- simple-init
|
||||
- devuser
|
||||
- openssh-server
|
||||
- nodepool-setup
|
||||
release: xenial
|
||||
env-vars:
|
||||
TMPDIR: $NODEPOOL_DIB_BASE_PATH/tmp
|
||||
DIB_CHECKSUM: '1'
|
||||
DIB_IMAGE_CACHE: $NODEPOOL_DIB_BASE_PATH/cache
|
||||
DIB_APT_LOCAL_CACHE: '0'
|
||||
DIB_DISABLE_APT_CLEANUP: '1'
|
||||
DIB_DEV_USER_AUTHORIZED_KEYS: $NODEPOOL_PUBKEY
|
||||
$DIB_GET_PIP
|
||||
EOF
|
||||
if [ -f $NODEPOOL_CACHE_GET_PIP ] ; then
|
||||
cat >> /tmp/nodepool.yaml <<EOF
|
||||
DIB_REPOLOCATION_pip_and_virtualenv: file://$NODEPOOL_CACHE_GET_PIP
|
||||
EOF
|
||||
fi
|
||||
|
||||
sudo mv /tmp/nodepool.yaml $NODEPOOL_CONFIG
|
||||
cp /etc/openstack/clouds.yaml /tmp
|
||||
|
||||
@@ -3,6 +3,15 @@ NODEPOOL_LOGGING=/etc/nodepool/logging.conf
|
||||
NODEPOOL_SECURE=/etc/nodepool/secure.conf
|
||||
NODEPOOL_DIB_BASE_PATH=/opt/dib
|
||||
|
||||
# Flags to control which images we build.
|
||||
# NOTE(pabelanger): Be sure to also update tools/check_devstack_plugin.sh if you
|
||||
# change the defaults.
|
||||
NODEPOOL_PAUSE_CENTOS_7_DIB=${NODEPOOL_PAUSE_CENTOS_7_DIB:-true}
|
||||
NODEPOOL_PAUSE_FEDORA_24_DIB=${NODEPOOL_PAUSE_FEDORA_24_DIB:-true}
|
||||
NODEPOOL_PAUSE_UBUNTU_PRECISE_DIB=${NODEPOOL_PAUSE_UBUNTU_PRECISE_DIB:-true}
|
||||
NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=${NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB:-false}
|
||||
NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=${NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB:-true}
|
||||
|
||||
SHADE_REPO_URL=${SHADE_REPO_URL:-https://git.openstack.org/openstack-infra/shade}
|
||||
SHADE_REPO_REF=${SHADE_REPO_REF:-master}
|
||||
|
||||
|
||||
@@ -5,6 +5,15 @@ NODEPOOL_CONFIG=${NODEPOOL_CONFIG:-/etc/nodepool/nodepool.yaml}
|
||||
NODEPOOL_SECURE=${NODEPOOL_SECURE:-/etc/nodepool/secure.conf}
|
||||
NODEPOOL="$NODEPOOL_INSTALL/bin/nodepool -c $NODEPOOL_CONFIG -s $NODEPOOL_SECURE"
|
||||
|
||||
# Flags to control which images we build.
|
||||
# NOTE(pabelanger): Be sure to also update devstack/settings if you change the
|
||||
# defaults.
|
||||
NODEPOOL_PAUSE_CENTOS_7_DIB=${NODEPOOL_PAUSE_CENTOS_7_DIB:-true}
|
||||
NODEPOOL_PAUSE_FEDORA_24_DIB=${NODEPOOL_PAUSE_FEDORA_24_DIB:-true}
|
||||
NODEPOOL_PAUSE_UBUNTU_PRECISE_DIB=${NODEPOOL_PAUSE_UBUNTU_PRECISE_DIB:-true}
|
||||
NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB=${NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB:-false}
|
||||
NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB=${NODEPOOL_PAUSE_UBUNTU_XENIAL_DIB:-true}
|
||||
|
||||
function waitforimage {
|
||||
name=$1
|
||||
state='ready'
|
||||
@@ -31,11 +40,40 @@ function waitfornode {
|
||||
done
|
||||
}
|
||||
|
||||
# check that image built
|
||||
waitforimage ubuntu-trusty
|
||||
if [ $NODEPOOL_PAUSE_CENTOS_7_DIB = 'false' ]; then
|
||||
# check that image built
|
||||
waitforimage centos-7
|
||||
# check image was bootable
|
||||
waitfornode centos-7
|
||||
fi
|
||||
|
||||
# check image was bootable
|
||||
waitfornode ubuntu-trusty
|
||||
if [ $NODEPOOL_PAUSE_FEDORA_24_DIB = 'false' ]; then
|
||||
# check that image built
|
||||
waitforimage fedora-24
|
||||
# check image was bootable
|
||||
waitfornode fedora-24
|
||||
fi
|
||||
|
||||
if [ $NODEPOOL_PAUSE_UBUNTU_PRECISE_DIB = 'false' ]; then
|
||||
# check that image built
|
||||
waitforimage ubuntu-precise
|
||||
# check image was bootable
|
||||
waitfornode ubuntu-precise
|
||||
fi
|
||||
|
||||
if [ $NODEPOOL_PAUSE_UBUNTU_TRUSTY_DIB = 'false' ]; then
|
||||
# check that image built
|
||||
waitforimage ubuntu-trusty
|
||||
# check image was bootable
|
||||
waitfornode ubuntu-trusty
|
||||
fi
|
||||
|
||||
if [ $NODEPOOL_PAUSE_UBUNTU_XENIAL = 'false' ]; then
|
||||
# check that image built
|
||||
waitforimage ubuntu-xenial
|
||||
# check image was bootable
|
||||
waitfornode ubuntu-xenial
|
||||
fi
|
||||
|
||||
set -o errexit
|
||||
# Show the built nodes
|
||||
|
||||
Reference in New Issue
Block a user