Manage a pool of nodes for a distributed test infrastructure
Go to file
Clark Boylan fe693eeb5e Exclude openstacksdk 2.0.0
This version includes a partial implementation of a migration to Proxy
objects for block limitations. Unfortunately that implemenation only
covered cinder v3 apis and not cinder v2 apis. In the case of cinder v2
apis it just breaks on us:

  2023-10-31 16:37:06,135 ERROR nodepool.PoolWorker.rax-iad-main: Error in PoolWorker:
  Traceback (most recent call last):
    File "/usr/local/lib/python3.11/site-packages/nodepool/launcher.py", line 491, in run
      for chunk in self._assignHandlers():
    File "/usr/local/lib/python3.11/site-packages/nodepool/launcher.py", line 242, in _assignHandlers
      reasons_to_decline = rh.getDeclinedReasons()
                           ^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/nodepool/driver/__init__.py", line 600, in getDeclinedReasons
      elif not self.hasProviderQuota(self.request.node_types):
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/nodepool/driver/statemachine.py", line 520, in hasProviderQuota
      cloud_quota = self.manager.estimatedNodepoolQuota()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/nodepool/driver/utils.py", line 312, in estimatedNodepoolQuota
      nodepool_quota = self.getProviderLimits()
                       ^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/nodepool/driver/statemachine.py", line 785, in getProviderLimits
      return self.adapter.getQuotaLimits()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/nodepool/driver/openstack/adapter.py", line 500, in getQuotaLimits
      volume = self._client.get_volume_limits()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/local/lib/python3.11/site-packages/openstack/cloud/_block_storage.py", line 277, in get_volume_limits
      return self.block_storage.get_limits(**params)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  AttributeError: 'Proxy' object has no attribute 'get_limits'

We can exclude the broken version for now.

Change-Id: Ib3bac4c47db01a1c5025c07173053495fc493ce9
2023-10-31 09:44:48 -07:00
contrib/statsd_exporter Add statsd_exporter mapping 2019-09-29 09:30:45 +00:00
doc Merge "Kubernetes/OpenShift drivers: allow setting dynamic k8s labels" 2023-09-25 07:43:11 +00:00
etc Merge "Add systemd drop-in file for CentOS 7" 2018-05-09 18:09:54 +00:00
nodepool AWS: improve service quota handling 2023-10-17 14:36:37 -07:00
playbooks Remove openshift functional testing 2023-10-25 13:02:12 -07:00
releasenotes/notes Merge "Kubernetes/OpenShift drivers: allow setting dynamic k8s labels" 2023-09-25 07:43:11 +00:00
tools Move nodepool functests to podman 2023-05-30 15:35:47 -07: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 Remove openshift functional testing 2023-10-25 13:02:12 -07:00
Dockerfile Use bookworm container images 2023-08-28 10:14:39 -07: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 Update unit test container setup and instructions 2022-08-05 18:27:46 +00:00
bindep.txt Update bindep for debian bookworm 2023-08-02 14:46:04 -07:00
noxfile.py Switch to nox 2023-01-10 10:30:14 -08:00
requirements.txt Exclude openstacksdk 2.0.0 2023-10-31 09:44:48 -07:00
setup.cfg Only support Python 3.11 2023-08-14 17:54:07 +00: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
tox.ini Switch to nox 2023-01-10 10:30:14 -08: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.