I can reproduce it in a local fresh devstack. The command that fails in the script[1] is calling allocation show but the osc-placement client fails it parse the response properly resulting in a KeyError
REQ: curl -g -i -X GET http://192.168.121.158/placement/allocations/24995dd2-2966-4e3b-975c-c02368b1e086 -H "Accept: application/json" -H "OpenStack-API-Version: placement 1.29" -H "User-Agent: openstacksdk/0.59.0 keystoneauth1/4.3.1 python-requests/2.26.0 CPython/3.8.10" -H "X-Auth-Token: {SHA256}e30defd2510f68e4e8af8225168d91d40c58887815ef96d297189b33166fa3da"
Resetting dropped connection: 192.168.121.158 http://192.168.121.158:80 "GET /placement/allocations/24995dd2-2966-4e3b-975c-c02368b1e086 HTTP/1.1" 200 19
RESP: [200] Cache-Control: no-cache Connection: close Content-Length: 19 Content-Type: application/json Date: Mon, 06 Sep 2021 07:46:53 GMT Last-Modified: Mon, 06 Sep 2021 07:46:53 GMT Server: Apache/2.4.41 (Ubuntu) openstack-api-version: placement 1.29 vary: openstack-api-version x-openstack-request-id: req-1956e37b-7cd5-4cb8-b7de-e07bd7a04187
RESP BODY: {"allocations": {}}
GET call to placement for http://192.168.121.158/placement/allocations/24995dd2-2966-4e3b-975c-c02368b1e086 used request id req-1956e37b-7cd5-4cb8-b7de-e07bd7a04187
'project_id'
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/cliff/app.py", line 407, in run_subcommand
result = cmd.run(parsed_args)
File "/usr/local/lib/python3.8/dist-packages/osc_lib/command/command.py", line 39, in run
return super(Command, self).run(parsed_args)
File "/usr/local/lib/python3.8/dist-packages/cliff/display.py", line 115, in run
column_names, data = self.take_action(parsed_args)
File "/opt/stack/osc-placement/osc_placement/resources/allocation.py", line 335, in take_action
props['project_id'] = resp['project_id']
KeyError: 'project_id'
clean_up ShowAllocation: 'project_id'
END return value: 1
I can reproduce it in a local fresh devstack. The command that fails in the script[1] is calling allocation show but the osc-placement client fails it parse the response properly resulting in a KeyError
REQ: curl -g -i -X GET http:// 192.168. 121.158/ placement/ allocations/ 24995dd2- 2966-4e3b- 975c-c02368b1e0 86 -H "Accept: application/json" -H "OpenStack- API-Version: placement 1.29" -H "User-Agent: openstacksdk/0.59.0 keystoneauth1/4.3.1 python- requests/ 2.26.0 CPython/3.8.10" -H "X-Auth-Token: {SHA256} e30defd2510f68e 4e8af8225168d91 d40c58887815ef9 6d297189b33166f a3da" 192.168. 121.158: 80 "GET /placement/ allocations/ 24995dd2- 2966-4e3b- 975c-c02368b1e0 86 HTTP/1.1" 200 19 api-version: placement 1.29 vary: openstack- api-version x-openstack- request- id: req-1956e37b- 7cd5-4cb8- b7de-e07bd7a041 87 192.168. 121.158/ placement/ allocations/ 24995dd2- 2966-4e3b- 975c-c02368b1e0 86 used request id req-1956e37b- 7cd5-4cb8- b7de-e07bd7a041 87 lib/python3. 8/dist- packages/ cliff/app. py", line 407, in run_subcommand parsed_ args) lib/python3. 8/dist- packages/ osc_lib/ command/ command. py", line 39, in run parsed_ args) lib/python3. 8/dist- packages/ cliff/display. py", line 115, in run action( parsed_ args) osc-placement/ osc_placement/ resources/ allocation. py", line 335, in take_action 'project_ id'] = resp['project_id']
Resetting dropped connection: 192.168.121.158
http://
RESP: [200] Cache-Control: no-cache Connection: close Content-Length: 19 Content-Type: application/json Date: Mon, 06 Sep 2021 07:46:53 GMT Last-Modified: Mon, 06 Sep 2021 07:46:53 GMT Server: Apache/2.4.41 (Ubuntu) openstack-
RESP BODY: {"allocations": {}}
GET call to placement for http://
'project_id'
Traceback (most recent call last):
File "/usr/local/
result = cmd.run(
File "/usr/local/
return super(Command, self).run(
File "/usr/local/
column_names, data = self.take_
File "/opt/stack/
props[
KeyError: 'project_id'
clean_up ShowAllocation: 'project_id'
END return value: 1
Locally reverting https:/ /review. opendev. org/c/openstack /osc-placement/ +/804458 fixes the issue