Manage a pool of nodes for a distributed test infrastructure
Go to file
Simon Westphahl 4f0628c8c2 Don't yield to a provider with unsupported labels
The optimization introduced in Id04f57ff1e4c28357370729b6383f5119cd616dc
can lead to a starvation of certain requests under the following
conditions:

* node request with a requested provider that doesn't support the
  required node types
* another provider that could technically serve the request yields to
  the requested provider
* requested provider is at quota or high inflow of node request
* requested provider postpones rejecting the yielded request as it
  doesn't support the required labels

To avoid starvation of those request, we only yield to the requested
provider if it is capable of serving the request. This is done by
checking the supported labels of the requested provider.

Change-Id: I0ded785a13d1f955a71d519dc40e5e5c0ec35043
2022-03-24 09:46:51 +01:00
contrib/statsd_exporter Add statsd_exporter mapping 2019-09-29 09:30:45 +00:00
doc Merge "Update AWS driver to use statemachine framework" 2022-03-16 20:20:24 +00:00
etc Merge "Add systemd drop-in file for CentOS 7" 2018-05-09 18:09:54 +00:00
nodepool Don't yield to a provider with unsupported labels 2022-03-24 09:46:51 +01:00
playbooks nodepool-zuul-functional: remove 2022-01-28 08:20:08 +11:00
releasenotes/notes Update AWS driver to use statemachine framework 2022-02-22 17:06:07 -08:00
tools nodepool-zuul-functional: remove 2022-01-28 08:20:08 +11: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 Bump Openshift test to Fedora 35 2022-02-03 11:22:39 +11:00
Dockerfile Dockerfile: explicitly install uidmap package 2022-02-02 15:03:27 +11: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
TESTING.rst Add more detail to TESTING.rst 2020-06-09 08:48:43 -07:00
bindep.txt Update Docker and bindep for Bullseye base images 2021-10-26 11:11:19 +11:00
requirements.txt Add a mininum version for ibm-cos-sdk-core 2022-03-19 09:47:04 -07:00
setup.cfg Add py39 testing to nodepool 2021-10-26 12:41:54 -07:00
setup.py Bump pbr requirements to >=1.3 2015-09-14 16:19:13 -04:00
test-requirements.txt Azure: switch to Azul 2021-03-08 14:58:31 -08:00
tox.ini Require TLS 2021-02-19 18:42:33 +00:00

README.rst

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.