Manage a pool of nodes for a distributed test infrastructure
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jenkins a7f90f1da5 Merge "Have an ending line-feed on the generated file" 2 years ago
devstack Pull from jenkins cache 2 years ago
doc Remove references to node-devstack in tests 2 years ago
nodepool Merge "Have an ending line-feed on the generated file" 2 years ago
tools Remove references to node-devstack in tests 2 years ago
.gitignore Ignore vim editor backup and swap files. 5 years ago
.gitreview Added .gitreview 6 years ago
.testr.conf Add a test for subnodes 5 years ago
LICENSE Add LICENSE file 3 years ago
README.rst Add tools/ 2 years ago
requirements.txt Update shade depend to 1.12.0 2 years ago
setup.cfg Builders can be run on their own 3 years ago Bump pbr requirements to >=1.3 3 years ago
test-requirements.txt Merge "Remove discover from test-requirements" 2 years ago
tox.ini Allow testing with external zookeeper 3 years ago



Nodepool is a service used by the OpenStack CI team to deploy and manage a pool of devstack images on a cloud server for use in OpenStack project testing.

Developer setup

Install dependencies:

If you're testing a specific patch that is already in gerrit, you will also want to install git-review and apply that patch while in the nodepool directory, ie:

Create or adapt a nodepool yaml file. You can adapt an infra/system-config one, or fake.yaml as desired. Note that fake.yaml's settings won't Just Work - consult ./modules/openstack_project/templates/nodepool/nodepool.yaml.erb in the infra/system-config tree to see a production config.

If the cloud being used has no default_floating_pool defined in nova.conf, you will need to define a pool name using the nodepool yaml file to use floating ips.

Set up database for interactive testing:

Set up database for unit tests:

Note that the script tools/ can be used for the step above.

Export variable for your ssh key so you can log into the created instances:

Start nodepool with a demo config file (copy or edit fake.yaml to contain your data):

All logging ends up in stdout.

Use the following tool to check on progress:

After each run (the fake nova provider is only in-memory):