This updates the OpenStack driver to use the statemachine framework. The goal is to revise all remaining drivers to use the statemachine framework for two reasons: 1) We can dramatically reduce the number of threads in Nodepool which is our biggest scaling bottleneck. The OpenStack driver already includes some work in that direction, but in a way that is unique to it and not easily shared by other drivers. The statemachine framework is an extension of that idea implemented so that every driver can use it. This change further reduces the number of threads needed even for the openstack driver. 2) By unifying all the drivers with a simple interface, we can prepare to move them into Zuul. There are a few updates to the statemachine framework to accomodate some features that only the OpenStack driver used to date. A number of tests need slight alteration since the openstack driver is the basis of the "fake" driver used for tests. Change-Id: Ie59a4e9f09990622b192ad840d9c948db717cce2
92 lines
1.9 KiB
YAML
92 lines
1.9 KiB
YAML
elements-dir: .
|
|
images-dir: '{images_dir}'
|
|
build-log-dir: '{build_log_dir}'
|
|
|
|
zookeeper-servers:
|
|
- host: {zookeeper_host}
|
|
port: {zookeeper_port}
|
|
chroot: {zookeeper_chroot}
|
|
|
|
zookeeper-tls:
|
|
ca: {zookeeper_ca}
|
|
cert: {zookeeper_cert}
|
|
key: {zookeeper_key}
|
|
|
|
labels:
|
|
- name: fake-label1
|
|
min-ready: 1
|
|
|
|
- name: fake-label2
|
|
min-ready: 1
|
|
|
|
- name: fake-label3
|
|
min-ready: 1
|
|
|
|
providers:
|
|
- name: fake-provider1
|
|
cloud: fake
|
|
driver: fake
|
|
region-name: fake-region
|
|
rate: 0.0001
|
|
diskimages:
|
|
- name: fake-image
|
|
pools:
|
|
- name: main
|
|
max-servers: 96
|
|
networks:
|
|
- 'no-auto-ip-network-name'
|
|
auto-floating-ip: False
|
|
labels:
|
|
- name: fake-label1
|
|
diskimage: fake-image
|
|
min-ram: 8192
|
|
|
|
- name: fake-provider2
|
|
cloud: fake
|
|
driver: fake
|
|
region-name: fake-region
|
|
rate: 0.0001
|
|
diskimages:
|
|
- name: fake-image
|
|
pools:
|
|
- name: main
|
|
max-servers: 96
|
|
networks:
|
|
- 'some-name'
|
|
auto-floating-ip: True
|
|
labels:
|
|
- name: fake-label2
|
|
diskimage: fake-image
|
|
min-ram: 8192
|
|
|
|
- name: fake-provider3
|
|
cloud: fake
|
|
driver: fake
|
|
region-name: fake-region
|
|
rate: 0.0001
|
|
diskimages:
|
|
- name: fake-image
|
|
pools:
|
|
- name: main
|
|
max-servers: 96
|
|
networks:
|
|
- 'some-name'
|
|
# Test default value of auto-floating-ip is True
|
|
labels:
|
|
- name: fake-label3
|
|
diskimage: fake-image
|
|
min-ram: 8192
|
|
|
|
diskimages:
|
|
- name: fake-image
|
|
elements:
|
|
- fedora
|
|
- vm
|
|
release: 21
|
|
dib-cmd: 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
|