Run nodepool job

The recent changes have broken nodepool's use of openstacksdk.  This
job brings up a cloud environment with devstack, then a nodepool
instance that talks to it.  It then builds an image with dib and
attempts to have nodepool upload, boot and talk to the instance in the
devstack cloud.

The place to see the error in this test is from the nodepool-launcher
container, that is trying to talk to the devstack cloud.  This logfile
is

https://zuul.opendev.org/t/openstack/build/e60e7cd382834a679b22f419947a4c93/log/docker/nodepool_nodepool-launcher_1.txt#10470

The error is

2022-01-25 21:37:18,590 WARNING openstack.resource: The option [maxPersonalitySize] has been deprecated. Please avoid using it.
[e: cf61304adeff45358d97a1b30552125c] [node_request: 900-0000000000] Declining node request due to exception in NodeRequestHandler:
  Traceback (most recent call last):
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/__init__.py", line 660, in run
      self._runHandler()
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/__init__.py", line 566, in _runHandler
      elif not self.hasProviderQuota(self.request.node_types):
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/openstack/handler.py", line 383, in hasProviderQuota
      cloud_quota = self.manager.estimatedNodepoolQuota()
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/utils.py", line 315, in estimatedNodepoolQuota
      nodepool_quota = self.getProviderLimits()
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/openstack/provider.py", line 102, in getProviderLimits
      return QuotaInformation.construct_from_limits(limits)
    File "/usr/local/lib/python3.9/site-packages/nodepool/driver/utils.py", line 219, in construct_from_limits
      instances=bound_value(limits.max_total_instances),
    File "/usr/local/lib/python3.9/site-packages/openstack/resource.py", line 641, in __getattribute__
      raise e
    File "/usr/local/lib/python3.9/site-packages/openstack/resource.py", line 630, in __getattribute__
      return object.__getattribute__(self, name)
  AttributeError: 'Limits' object has no attribute 'max_total_instances'

Since nodepool just keeps trying to talk to the cloud and start an
instance that never appears, the job ends up timing out.

We have had some discussion over this @

 https://meetings.opendev.org/irclogs/%23opendev/%23opendev.2022-01-26.log.html#t2022-01-26T17:06:12

Traditionally we've co-gated these projects as nodepool has had a very
close relationship with shade and now openstacksdk.  For now nodepool
is just testing against released openstacksdk; but the dependent
change reverts this and thus should exibit this issue.

Depends-On: https://review.opendev.org/c/zuul/nodepool/+/826541
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/826924
Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/826920

Change-Id: I04050988e97b834ce38b3ed1d67555d7df90b60d
This commit is contained in:
Artem Goncharov 2022-01-28 18:38:17 +01:00 committed by Dr. Jens Harbott
parent 12fa1370bc
commit 358ddcd394

View File

@ -459,7 +459,7 @@
jobs:
- opendev-buildset-registry
- nodepool-build-image-siblings
# - dib-nodepool-functional-openstack-centos-8-stream-src
- dib-nodepool-functional-openstack-centos-8-stream-src
- openstacksdk-functional-devstack
- openstacksdk-functional-devstack-networking
- openstacksdk-functional-devstack-senlin
@ -486,7 +486,7 @@
jobs:
- opendev-buildset-registry
- nodepool-build-image-siblings
# - dib-nodepool-functional-openstack-centos-8-stream-src
- dib-nodepool-functional-openstack-centos-8-stream-src
- openstacksdk-functional-devstack
- openstacksdk-functional-devstack-networking
- openstacksdk-functional-devstack-senlin