project-config/nodepool/elements
Colleen Murphy ffafa8f773 Add firewall support for opensuse
openSUSE Leap uses its own firewall manager called SuSEfirewall2, which
is capable of loading custom iptables rules. This patch adds the
necessary configuration to tell SuSEfirewall2 where to look for custom
firewall rules so that we can manage openSUSE firewall rules in the same
way we manage firewall rules for other images.

Change-Id: Ifaebda6c7775244668710340831e12aabf9e86bc
2017-04-24 23:24:43 +02:00
..
cache-bindep Revert "Force python2.7 for bindep-env" 2017-04-11 00:15:34 +00:00
cache-devstack Add stackviz-latest.tar.gz to ~jenkins/cache/files 2017-04-16 13:13:22 -04:00
infra-package-needs Add firewall support for opensuse 2017-04-24 23:24:43 +02:00
initialize-urandom Fix typos in initialize-urandom.py & gerrit-git-prep.sh 2016-11-08 03:57:55 +00:00
nodepool-base Add firewall support for opensuse 2017-04-24 23:24:43 +02:00
openstack-repos Ignore retired repos for nodepool images 2017-04-19 08:15:21 +02:00
prepare-node Remove unused params in puppet builds 2017-04-12 20:39:50 +02:00
puppet Remove install_resolv_conf from dib puppet script 2017-04-21 21:19:39 +02:00
stackviz Update nodepool elements for openSUSE Leap 42.2 2017-02-28 10:54:53 +01:00
zuul-worker Update nodepool elements for openSUSE Leap 42.2 2017-02-28 10:54:53 +01:00
README.rst Update doc to have 'debootstrap' dep and describe minimal 2016-10-12 19:27:05 -07:00

Using diskimage-builder to build devstack-gate nodes

In addition to being able to just download and consume images that are the same as what run devstack-gate, it's easy to make your own for local dev or testing - or just for fun.

Install diskimage-builder

Install the dependencies:

sudo apt-get install kpartx qemu-utils curl python-yaml debootstrap

Install diskimage-builder:

sudo -H pip install diskimage-builder

Build an image

Building an image is simple, we have a script!

bash tools/build-image.sh

See the script for environment variables to set distribution, etc. By default it builds an ubuntu-minimal based image. You should be left with a .qcow2 image file of your selected distribution.

Infra uses the -minimal build type for building Ubuntu/CentOS/Fedora. For example: ubuntu-minimal.

It is a good idea to set TMP_DIR to somewhere with plenty of space to avoid the disappointment of a full-disk mid-way through the script run.

While testing, consider exporting DIB_OFFLINE=true, to skip updating the cache.

Mounting the image

If you would like to examine the contents of the image, you can mount it on a loopback device using qemu-nbd.

sudo apt-get install qemu-utils
sudo modprobe nbd max_part=16
sudo mkdir -p /tmp/newimage
sudo qemu-nbd -c /dev/nbd1 /path/to/devstack-gate-precise.qcow2
sudo mount /dev/nbd1p1 /tmp/newimage

or use the scripts

sudo apt-get install qemu-utils
sudo modprobe nbd max_part=16
sudo tools/mount-image.sh devstack-gate-precise.qcow2
sudo tools/umount-image.sh

Other things

It's a qcow2 image, so you can do tons of things with it. You can upload it to glance, you can boot it using kvm, and you can even copy it to a cloud server, replace the contents of the server with it and kexec the new kernel.