Description of problem: inappropriate value type in json communication to openstack liberty during provisioning Version-Release number of selected component (if applicable): 5.7.0.17-1 openstack liberty How reproducible: customer environment Steps to Reproduce: 1.provision against the provider 2. 3. Actual results: [----] E, [2017-01-26T19:17:42.998746 #13173:af1130] ERROR -- : Q-task_id([miq_provision_21000000000214]) excon.error #<Excon::Error::InternalServerError: Expected([200, 202]) <=> Actual(500 InternalServerError) excon.error.response :body => "{\"computeFault\": {\"message\": \"Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.\\n<type 'exceptions.ValueError'>\", \"code\": 500}}" Expected results: data in the correct form for the openstack instance Additional info: it seems CF creates the following json to boot an instance from a pre-created volume. The issue is that volume_size is an int and fails on nova api. But since this is a pre-created volume the size should not be specified at all. # cat tmp/new_server.post002.json { "server": { "flavorRef": "1001", "name": "isblcsrheld0050", "availability_zone": "CANS-2", "security_groups": [ ], "networks": [ { "uuid": "7d7c2207-4307-4355-b0a5-561b2a995148" }, { "uuid": "c572d47c-8cfb-44bd-a76f-02b2ebe58427" } ], "block_device_mapping_v2": [ { "boot_index": 0, "delete_on_termination": false, "destination_type": "volume", "source_type": "volume", "uuid": "96dada81-15c1-42b6-b921-9e8d023b8bde", "volume_size": "" }, { "boot_index": 1, "delete_on_termination": false, "destination_type": "volume", "source_type": "volume", "uuid": "42f2ceae-bc3d-4ddc-86d8-29e2ee1841c4", "volume_size": "" } ] } } Same can be reproduced # nova --debug boot --flavor m1.small --block-device source=volume,id=251fbaa4-9717-4c07-90ea-8369d0b14603,dest=volume,size=,shutdown=false,bootindex=0 --nic net-id=765bdb5a-db96-4701-b2d3-70a414695153 my-testvm Result is the 500 In newer OSP9 release we do not receive a 500, but still input validation fails with: BadRequest: Invalid input for field/attribute volume_size. Value: . u'' does not match '^[0-9]+$' (HTTP 400) (Request-ID: req-eb576670-6707-4338-970a-2904cf1ae920) ERROR (BadRequest): Invalid input for field/attribute volume_size. Value: . u'' does not match '^[0-9]+$' (HTTP 400) (Request-ID: req-eb576670-6707-4338-970a-2904cf1ae920)
Please assess the importance of this issue and update the priority accordingly. Somewhere it was missed in the bug triage process. Please refer to https://bugzilla.redhat.com/page.cgi?id=fields.html#priority for a reminder on each priority's definition. If it's something like a tracker bug where it doesn't matter, please set it to Low/Low.
https://github.com/ManageIQ/manageiq-providers-openstack/pull/289 (merged) https://github.com/ManageIQ/manageiq-ui-classic/pull/3928 (still in progress)
Verified at CFME 5.10.0.24
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2019:0212