Manage a pool of nodes for a distributed test infrastructure
Go to file
James E. Blair 6320b06950 Add support for dynamic tags
This allows users to create tags (or properties in the case of OpenStack)
on instances using string interpolation values.  The use case is to be
able to add information about the tenant* which requested the instance
to cloud-provider tags.

* Note that ultimately Nodepool may not end up using a given node for
the request which originally prompted its creation, so care should be
taken when using information like this.  The documentation notes that.

This feature uses a new configuration attribute on the provider-label
rather than the existing "tags" or "instance-properties" because existing
values may not be safe for use as Python format strings (e.g., an
existing value might be a JSON blob).  This could be solved with YAML
tags (like !unsafe) but the most sensible default for that would be to
assume format strings and use a YAML tag to disable formatting, which
doesn't help with our backwards-compatibility problem.  Additionally,
Nodepool configuration does not use YAML anchors (yet), so this would
be a significant change that might affect people's use of external tools
on the config file.

Testing this was beyond the ability of the AWS test framework as written,
so some redesign for how we handle patching boto-related methods is
included.  The new approach is simpler, more readable, and flexible
in that it can better accomodate future changes.

Change-Id: I5f1befa6e2f2625431523d8d94685f79426b6ae5
2022-08-23 11:06:55 -07:00
contrib/statsd_exporter Add statsd_exporter mapping 2019-09-29 09:30:45 +00:00
doc Add support for dynamic tags 2022-08-23 11:06:55 -07:00
etc Merge "Add systemd drop-in file for CentOS 7" 2018-05-09 18:09:54 +00:00
nodepool Add support for dynamic tags 2022-08-23 11:06:55 -07:00
playbooks functional-container: use different root-disk label 2022-08-18 11:19:14 +10:00
releasenotes/notes Add support for dynamic tags 2022-08-23 11:06:55 -07:00
tools Update unit test container setup and instructions 2022-08-05 18:27:46 +00:00
.coveragerc Switch to stestr 2018-04-26 11:52:17 -05:00
.dockerignore Build images with Dockerfile instead of pbrx 2019-01-24 16:11:12 +00:00
.gitignore Require TLS 2021-02-19 18:42:33 +00:00
.gitreview OpenDev Migration Patch 2019-04-19 19:25:31 +00:00
.stestr.conf Switch to stestr 2018-04-26 11:52:17 -05:00
.zuul.yaml Update to python3.10 2022-07-01 12:05:26 -07:00
bindep.txt Merge "Use libyaml parsing when available" 2022-07-25 09:34:19 +00:00
Dockerfile Dockerfile: move into separate group when running under cgroupsv2 2022-08-02 11:13:06 +10:00
LICENSE license: remove dos line break 2018-01-19 00:30:22 +00:00
README.rst Update devstack settings and docs for opendev 2019-04-23 13:03:21 +00:00
requirements.txt Update DIB to 3.23.1 2022-08-22 08:34:17 +10:00
setup.cfg Update to python3.10 2022-07-01 12:05:26 -07:00
setup.py Bump pbr requirements to >=1.3 2015-09-14 16:19:13 -04:00
test-requirements.txt AWS tests: cleanup image deletion checking 2022-04-28 14:16:16 +10:00
TESTING.rst Update unit test container setup and instructions 2022-08-05 18:27:46 +00:00
tox.ini Require TLS 2021-02-19 18:42:33 +00:00

Nodepool

Nodepool is a system for managing test node resources. It supports launching single-use test nodes from cloud providers as well as managing access to pre-defined pre-existing nodes. Nodepool is part of a suite of tools that form a comprehensive test system, including Zuul.

The latest documentation for Nodepool is published at: https://zuul-ci.org/docs/nodepool/

The latest documentation for Zuul is published at: https://zuul-ci.org/docs/zuul/

Getting Help

There are two Zuul-related mailing lists:

zuul-announce

A low-traffic announcement-only list to which every Zuul operator or power-user should subscribe.

zuul-discuss

General discussion about Zuul, including questions about how to use it, and future development.

You will also find Zuul developers in the #zuul channel on Freenode IRC.

Contributing

To browse the latest code, see: https://opendev.org/zuul/nodepool To clone the latest code, use git clone https://opendev.org/zuul/nodepool

Bugs are handled at: https://storyboard.openstack.org/#!/project/zuul/nodepool

Code reviews are handled by gerrit at https://review.opendev.org

After creating a Gerrit account, use git review to submit patches. Example:

# Do your commits
$ git review
# Enter your username if prompted

Join #zuul on Freenode to discuss development or usage.

License

Nodepool is free software, licensed under the Apache License, version 2.0.

Python Version Support

Nodepool requires Python 3. It does not support Python 2.