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 cef683bd01 Merge "Reduce min-ram for ubuntu images for devstack" 2 years ago
devstack Merge "Reduce min-ram for ubuntu images for devstack" 2 years ago
doc Merge "Update configuration docs for network and pool settings" 2 years ago
nodepool Remove the ability for nodepoold to launch a builder 2 years ago
tools Reduce min-ram for ubuntu images for devstack 2 years ago
.gitignore Ignore vim editor backup and swap files. 5 years ago
.gitreview Added .gitreview 5 years ago
.testr.conf Add a test for subnodes 5 years ago
LICENSE Add LICENSE file 3 years ago
README.rst Update README to mention bindep 2 years ago
bindep.txt Initial support for bindep 2 years ago
requirements.txt Add --checksum support to disk-image-create 2 years ago
setup.cfg Builders can be run on their own 3 years ago
setup.py Bump pbr requirements to >=1.3 3 years ago
test-requirements.txt Merge "Remove discover from test-requirements" 2 years ago
tox.ini Initial support for bindep 2 years ago

README.rst

Nodepool

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

Make sure you have pip installed:

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/test-setup.sh 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):