[Bug 1987984] Re: List resource providers consistently fail with 500 error
Corey Bryant
1987984 at bugs.launchpad.net
Mon Aug 29 17:04:35 UTC 2022
I'm going to triage this as invalid at this point since the package is
generating the policy.yaml based on what is documented by upstream
placement. If you have new information please share it on this bug and
move the bug back to New status.
** Changed in: placement (Ubuntu)
Status: New => Invalid
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to placement in Ubuntu.
https://bugs.launchpad.net/bugs/1987984
Title:
List resource providers consistently fail with 500 error
Status in placement package in Ubuntu:
Invalid
Bug description:
I initially reported this in
https://storyboard.openstack.org/#!/story/2010108 but it seems the
issue is specific to Ubuntu packages so I'm reporting this bug for the
packaging side as well.
This issue was found in puppet integration job in ubuntu focal + yoga.
placement 1:7.0.0-0ubuntu1~cloud0
python3 3.8.2-0ubuntu2
python3-oslo.policy 3.11.0-0ubuntu1~cloud0
List resource providers API consistently returns 500 error, and nova-compute can't start because of that API error.
Looking at placement api log, the following traceback is found.
```
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap [req-b2bf439f-9e22-4d16-8cd2-a191b0070e19 acf1133c873a4427b4ca8b3d026af72f 77a64ffe39e340b480fdb3c45adb5273 - default default] Placement API unexpected error: unsupported callable: TypeError: unsupported callable
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap Traceback (most recent call last):
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 1135, in getfullargspec
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap sig = _signature_from_callable(func,
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 2233, in _signature_from_callable
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap sig = _signature_from_callable(
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 2304, in _signature_from_callable
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap return _signature_from_function(sigcls, obj,
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 2168, in _signature_from_function
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap parameters.append(Parameter(name, annotation=annotation,
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 2491, in __init__
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap self._kind = _ParameterKind(kind)
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3.8/enum.py", line 339, in __call__
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap return cls.__new__(cls, value)
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3.8/enum.py", line 635, in __new__
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap if type(value) is cls:
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap RecursionError: maximum recursion depth exceeded while calling a Python object
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap The above exception was the direct cause of the following exception:
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap Traceback (most recent call last):
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/fault_wrap.py", line 39, in __call__
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap return self.application(environ, start_response)
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/webob/dec.py", line 129, in __call__
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap resp = self.call_func(req, *args, **kw)
...
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/handlers/allocation.py", line 299, in list_for_resource_provider
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap context.can(policies.RP_ALLOC_LIST)
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/context.py", line 56, in can
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap return policy.authorize(self, action, target)
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/policy.py", line 115, in authorize
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap LOG.debug('Policy check for %(action)s failed with credentials '
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_utils/excutils.py", line 227, in __exit__
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap self.force_reraise()
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_utils/excutils.py", line 200, in force_reraise
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap raise self.value
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/policy.py", line 104, in authorize
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap return _ENFORCER.authorize(
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/policy.py", line 1173, in authorize
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap return self.enforce(
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/policy.py", line 1071, in enforce
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap result = _checks._check(
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap return rule(*rule_args)
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 257, in __call__
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap return _check(
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-06-23 23:32:46.277 26465 ERROR placement.fault_wrap return rule(*rule_args)
...
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap return rule(*rule_args)
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 213, in __call__
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap if _check(rule, target, cred, enforcer, current_rule):
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap return rule(*rule_args)
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 257, in __call__
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap return _check(
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap return rule(*rule_args)
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 257, in __call__
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap return _check(
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 75, in _check
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap argspec = inspect.getfullargspec(rule.__call__)
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 1144, in getfullargspec
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap raise TypeError('unsupported callable') from ex
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap TypeError: unsupported callable
2022-06-23 23:32:46.311 26466 ERROR placement.fault_wrap
```
The same issue is observed in stable/xena job as well.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/placement/+bug/1987984/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list