We've been facing this error in the ubuntu jobs in Puppet OpenStack project
and it seems the issue is caused by the policy.yaml provided by the packages.

I've reported a bug against their packaging bug tracker. I have zero knowledge
about Ubuntu packaging but hopefully someone from the package maintainers
can look into it.
 https://bugs.launchpad.net/ubuntu/+source/placement/+bug/1987984

You might want to try clearing the policy.yaml file and see whether that solves
your problem.


On Sat, Aug 20, 2022 at 1:08 AM CHANU ROMAIN <romain.chanu@univ-lyon1.fr> wrote:
Hello,

I just did upgrade my Placement to Xena on Ubuntu Focal (20.04). When I tried to start the process I got this error and all HTTP requests receive an HTTP 500 error:


2022-08-19 15:05:43.960573 2022-08-19 15:05:43.960 43 INFO placement.requestlog [req-f4c4d4f1-5d59-49d3-aa3e-1e8a09fe02fe 3ec54dee59424109913d4628ae8dac4c 19e62bc767484849a2763937883a256e - default default] 192.168.236.5 "GET /resource_providers/791c09ed-57f3-4bfc-9278-4af6c5c137d8/allocations" status: 500 len: 244 microversion: 1.0\x1b[00m
2022-08-19 15:05:44.094951 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap [req-527dce52-c207-43ee-80f2-016a6f031cf5 3ec54dee59424109913d4628ae8dac4c 19e62bc767484849a2763937883a256e - default default] Placement API unexpected error: unsupported callable: TypeError: unsupported callable
2022-08-19 15:05:44.094973 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap Traceback (most recent call last):
2022-08-19 15:05:44.094977 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 1135, in getfullargspec
2022-08-19 15:05:44.094980 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap sig = _signature_from_callable(func,
2022-08-19 15:05:44.094998 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 2233, in _signature_from_callable
2022-08-19 15:05:44.095001 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap sig = _signature_from_callable(
2022-08-19 15:05:44.095004 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 2304, in _signature_from_callable
2022-08-19 15:05:44.095007 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return _signature_from_function(sigcls, obj,
2022-08-19 15:05:44.095010 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 2168, in _signature_from_function
2022-08-19 15:05:44.095013 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap parameters.append(Parameter(name, annotation=annotation,
2022-08-19 15:05:44.095015 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 2491, in __init__
2022-08-19 15:05:44.095018 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap self._kind = _ParameterKind(kind)
2022-08-19 15:05:44.095021 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap RecursionError: maximum recursion depth exceeded
2022-08-19 15:05:44.095024 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap
2022-08-19 15:05:44.095026 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap The above exception was the direct cause of the following exception:
2022-08-19 15:05:44.095029 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap
2022-08-19 15:05:44.095032 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap Traceback (most recent call last):
2022-08-19 15:05:44.095035 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/fault_wrap.py", line 39, in __call__
2022-08-19 15:05:44.095038 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return self.application(environ, start_response)
2022-08-19 15:05:44.095040 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/webob/dec.py", line 129, in __call__
2022-08-19 15:05:44.095043 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap resp = self.call_func(req, *args, **kw)
2022-08-19 15:05:44.095046 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/webob/dec.py", line 193, in call_func
2022-08-19 15:05:44.095049 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return self.func(req, *args, **kwargs)
2022-08-19 15:05:44.095052 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/microversion_parse/middleware.py", line 80, in __call__
2022-08-19 15:05:44.095055 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap response = req.get_response(self.application)
2022-08-19 15:05:44.095057 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/webob/request.py", line 1313, in send
2022-08-19 15:05:44.095060 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap status, headers, app_iter = self.call_application(
2022-08-19 15:05:44.095063 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/webob/request.py", line 1278, in call_application
2022-08-19 15:05:44.095065 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap app_iter = application(self.environ, start_response)
2022-08-19 15:05:44.095068 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/handler.py", line 215, in __call__
2022-08-19 15:05:44.095071 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return dispatch(environ, start_response, self._map)
2022-08-19 15:05:44.095074 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/handler.py", line 149, in dispatch
2022-08-19 15:05:44.095077 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return handler(environ, start_response)
2022-08-19 15:05:44.095083 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/webob/dec.py", line 129, in __call__
2022-08-19 15:05:44.095086 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap resp = self.call_func(req, *args, **kw)
2022-08-19 15:05:44.095089 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/wsgi_wrapper.py", line 29, in call_func
2022-08-19 15:05:44.095092 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap super(PlacementWsgify, self).call_func(req, *args, **kwargs)
2022-08-19 15:05:44.095094 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/webob/dec.py", line 193, in call_func
2022-08-19 15:05:44.095097 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return self.func(req, *args, **kwargs)
2022-08-19 15:05:44.095100 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/util.py", line 64, in decorated_function
2022-08-19 15:05:44.095103 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return f(req)
2022-08-19 15:05:44.095106 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/placement/handlers/allocation.py", line 299, in list_for_resource_provider
2022-08-19 15:05:44.098861 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098864 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098867 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 211, in __call__
2022-08-19 15:05:44.098870 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap if _check(rule, target, cred, enforcer, current_rule):
2022-08-19 15:05:44.098873 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098876 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098893 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 211, in __call__
2022-08-19 15:05:44.098896 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap if _check(rule, target, cred, enforcer, current_rule):
2022-08-19 15:05:44.098899 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098905 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098907 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 255, in __call__
2022-08-19 15:05:44.098910 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return _check(
2022-08-19 15:05:44.098913 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098916 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098919 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 255, in __call__
2022-08-19 15:05:44.098922 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return _check(
2022-08-19 15:05:44.098925 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098928 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098930 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 211, in __call__
2022-08-19 15:05:44.098933 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap if _check(rule, target, cred, enforcer, current_rule):
2022-08-19 15:05:44.098936 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098939 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098941 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 211, in __call__
2022-08-19 15:05:44.098944 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap if _check(rule, target, cred, enforcer, current_rule):
2022-08-19 15:05:44.098947 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098950 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098952 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 255, in __call__
2022-08-19 15:05:44.098955 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return _check(
2022-08-19 15:05:44.098958 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098960 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098963 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 255, in __call__
2022-08-19 15:05:44.098966 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return _check(
2022-08-19 15:05:44.098968 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098971 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098974 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 211, in __call__
2022-08-19 15:05:44.098977 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap if _check(rule, target, cred, enforcer, current_rule):
2022-08-19 15:05:44.098980 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098982 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098985 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 211, in __call__
2022-08-19 15:05:44.098991 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap if _check(rule, target, cred, enforcer, current_rule):
2022-08-19 15:05:44.098993 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 80, in _check
2022-08-19 15:05:44.098996 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return rule(*rule_args)
2022-08-19 15:05:44.098999 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 255, in __call__
2022-08-19 15:05:44.099002 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap return _check(
2022-08-19 15:05:44.099004 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3/dist-packages/oslo_policy/_checks.py", line 75, in _check
2022-08-19 15:05:44.099007 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap argspec = inspect.getfullargspec(rule.__call__)
2022-08-19 15:05:44.099010 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap File "/usr/lib/python3.8/inspect.py", line 1144, in getfullargspec
2022-08-19 15:05:44.099013 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap raise TypeError('unsupported callable') from ex
2022-08-19 15:05:44.099016 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap TypeError: unsupported callable
2022-08-19 15:05:44.099018 2022-08-19 15:05:44.077 46 ERROR placement.fault_wrap \x1b[00m

Placement-api is deployed in a container, so I got a fresh policy.yaml file.
Did someone already face this? Do you have any idea how to fix this?

Best regards,
Romain