9367cf8ed8
This change allows you to specify a dib-cmd parameter for disk images, which overrides the default call to "disk-image-create". This allows you to essentially decide the disk-image-create binary to be called for each disk image configured. It is inspired by a couple of things: The "--fake" argument to nodepool-builder has always been a bit of a wart; a case of testing-only functionality leaking across into the production code. It would be clearer if the tests used exposed methods to configure themselves to use the fake builder. Because disk-image-create is called from the $PATH, it makes it more difficult to use nodepool from a virtualenv. You can not just run "nodepool-builder"; you have to ". activate" the virtualenv before running the daemon so that the path is set to find the virtualenv disk-image-create. In addressing activation issues by automatically choosing the in-virtualenv binary in Ie0e24fa67b948a294aa46f8164b077c8670b4025, it was pointed out that others are already using wrappers in various ways where preferring the co-installed virtualenv version would break. With this, such users can ensure they call the "disk-image-create" binary they want. We can then make a change to prefer the co-installed version without fear of breaking. In theory, there's no reason why a totally separate "/custom/venv/bin/disk-image-create" would not be valid if you required a customised dib for some reason for just one image. This is not currently possible, even modulo PATH hacks, etc., all images will use the same binary to build. It is for this flexibility I think this is best at the diskimage level, rather than as, say a global setting for the whole builder instance. Thus add a dib-cmd option for diskimages. In the testing case, this points to the fake-image-create script, and the --fake command-line option and related bits are removed. It should have no backwards compatibility effects; documentation and a release note is added. Change-Id: I6677e11823df72f8c69973c83039a987b67eb2af
37 lines
843 B
YAML
37 lines
843 B
YAML
images-dir: /tmp/nodepool/images
|
|
build-log-dir: /tmp/nodepool/builds
|
|
|
|
zookeeper-servers:
|
|
- host: localhost
|
|
|
|
diskimages:
|
|
- name: fake-nodepool
|
|
elements:
|
|
- fedora
|
|
- vm
|
|
release: 21
|
|
dib-cmd: '%p/../nodepool/tests/fake-image-create'
|
|
env-vars:
|
|
TMPDIR: /opt/dib_tmp
|
|
DIB_IMAGE_CACHE: /opt/dib_cache
|
|
DIB_CLOUD_IMAGES: http://download.fedoraproject.org/pub/fedora/linux/releases/test/21-Beta/Cloud/Images/x86_64/
|
|
BASE_IMAGE_FILE: Fedora-Cloud-Base-20141029-21_Beta.x86_64.qcow2
|
|
|
|
labels:
|
|
- name: fake-label
|
|
min-ready: 2
|
|
|
|
providers:
|
|
- name: fake-provider
|
|
cloud: fake
|
|
driver: fake
|
|
diskimages:
|
|
- name: fake-nodepool
|
|
pools:
|
|
- name: main
|
|
max-servers: 96
|
|
labels:
|
|
- name: fake-label
|
|
diskimage: fake-nodepool
|
|
min-ram: 8192
|