openstack volume type set stack dumps

Bug #1766295 reported by Thomas Goirand
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-cinderclient
New
Undecided
Unassigned

Bug Description

It looks like "openstack volume type set" is failing. Here is a dump of what's going on using Queens and puppet-openstack under Debian Stretch. Note that Debian is fully Python 3 as you can see in the dump here.

# openstack --debug volume type set --property volume_backend_name=BACKEND_1 BACKEND_1
[...]
REQ: curl -g -i -X GET http://127.0.0.1:8776/v2/d175cfa3c2ea4c14927723bcd9ab9f7f/types/BACKEND_1 -H "Accept: application/json" -H "User-Agent: python-cinderclient" -H "X-Auth-Token: {SHA1}b78363b46dcaf9a9d5c4f5746090d88035ad4b59"
Starting new HTTP connection (1): 127.0.0.1
http://127.0.0.1:8776 "GET /v2/d175cfa3c2ea4c14927723bcd9ab9f7f/types/BACKEND_1 HTTP/1.1" 404 87
RESP: [404] Content-Length: 87 Content-Type: application/json x-compute-request-id: req-bdf2493c-155c-4689-b0af-b3e1de8081a7 x-openstack-request-id: req-bdf2493c-155c-4689-b0af-b3e1de8081a7
RESP BODY: {"itemNotFound": {"message": "Volume type BACKEND_1 could not be found.", "code": 404}}

GET call to volumev2 for http://127.0.0.1:8776/v2/d175cfa3c2ea4c14927723bcd9ab9f7f/types/BACKEND_1 used request id req-bdf2493c-155c-4689-b0af-b3e1de8081a7
REQ: curl -g -i -X GET http://127.0.0.1:8776/v2/d175cfa3c2ea4c14927723bcd9ab9f7f/types?is_public=None -H "Accept: application/json" -H "User-Agent: python-cinderclient" -H "X-Auth-Token: {SHA1}b78363b46dcaf9a9d5c4f5746090d88035ad4b59"
REQ: curl -g -i -X GET http://127.0.0.1:8776/v2/d175cfa3c2ea4c14927723bcd9ab9f7f/types?is_public=None -H "Accept: application/json" -H "User-Agent: python-cinderclient" -H "X-Auth-Token: {SHA1}b78363b46dcaf9a9d5c4f5746090d88035ad4b59"
Starting new HTTP connection (2): 127.0.0.1
http://127.0.0.1:8776 "GET /v2/d175cfa3c2ea4c14927723bcd9ab9f7f/types?is_public=None HTTP/1.1" 200 209
RESP: [200] Content-Type: application/json x-compute-request-id: req-a337a547-19ed-480c-99a1-dc08f30e423a Content-Length: 209 x-openstack-request-id: req-a337a547-19ed-480c-99a1-dc08f30e423a
RESP BODY: {"volume_types": [{"description": null, "is_public": true, "name": "BACKEND_1", "extra_specs": {}, "qos_specs_id": null, "id": "1d8667bc-d0cd-461f-aa66-8448d1747e1a", "os-volume-type-access:is_public": true}]}

GET call to volumev2 for http://127.0.0.1:8776/v2/d175cfa3c2ea4c14927723bcd9ab9f7f/types?is_public=None used request id req-a337a547-19ed-480c-99a1-dc08f30e423a
get() takes 1 positional argument but 2 were given
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/cliff/app.py", line 400, in run_subcommand
    result = cmd.run(parsed_args)
  File "/usr/lib/python3/dist-packages/osc_lib/command/command.py", line 41, in run
    return super(Command, self).run(parsed_args)
  File "/usr/lib/python3/dist-packages/cliff/command.py", line 184, in run
    return_code = self.take_action(parsed_args) or 0
  File "/usr/lib/python3/dist-packages/openstackclient/volume/v2/volume_type.py", line 414, in take_action
    volume_client.volume_types, parsed_args.volume_type)
  File "/usr/lib/python3/dist-packages/osc_lib/utils/__init__.py", line 273, in find_resource
    if (resource.get('id') == name_or_id or
TypeError: get() takes 1 positional argument but 2 were given
clean_up SetVolumeType: get() takes 1 positional argument but 2 were given
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/osc_lib/shell.py", line 134, in run
    ret_val = super(OpenStackShell, self).run(argv)
  File "/usr/lib/python3/dist-packages/cliff/app.py", line 279, in run
    result = self.run_subcommand(remainder)
  File "/usr/lib/python3/dist-packages/osc_lib/shell.py", line 169, in run_subcommand
    ret_value = super(OpenStackShell, self).run_subcommand(argv)
  File "/usr/lib/python3/dist-packages/cliff/app.py", line 400, in run_subcommand
    result = cmd.run(parsed_args)
  File "/usr/lib/python3/dist-packages/osc_lib/command/command.py", line 41, in run
    return super(Command, self).run(parsed_args)
  File "/usr/lib/python3/dist-packages/cliff/command.py", line 184, in run
    return_code = self.take_action(parsed_args) or 0
  File "/usr/lib/python3/dist-packages/openstackclient/volume/v2/volume_type.py", line 414, in take_action
    volume_client.volume_types, parsed_args.volume_type)
  File "/usr/lib/python3/dist-packages/osc_lib/utils/__init__.py", line 273, in find_resource
    if (resource.get('id') == name_or_id or
TypeError: get() takes 1 positional argument but 2 were given

END return value: 1

Revision history for this message
Thomas Goirand (thomas-goirand) wrote :

It is to be noted that this doesn't happen if I use cinder-api (ie: eventlet), it only happens if I am using uwsgi. So, likely, the client is behaving differently.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.