Nova API v2.1 error to specify multiple different_hosts.

Bug #1521928 reported by Yukinori Yagisawa
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
High
Ken'ichi Ohmichi
Liberty
Fix Released
High
Ken'ichi Ohmichi

Bug Description

1.rpm -qa | grep nova
openstack-novncproxy-12.0.0-1.el7.noarch
openstack-console-12.0.0-1.el7.noarch
openstack-common-12.0.0-1.el7.noarch
openstack-conductor-12.0.0-1.el7.noarch
openstack-cert-12.0.0-1.el7.noarch
openstack-nova-api-12.0.0-1.el7.noarch
openstack-nova-scheduler-12.0.0-1.el7.noarch
python-novaclient-2.30.1-1.el7.noarch
python-nova-12.0.0-1.el7.noarch

2.log
[server create request]
POST /v2/28983b2ce4354747a9958de57ea9c328/servers HTTP/1.1
Host: 220.xxx.xxx.xxx:8774
X-Auth-Token: 54fdf9becfcc4540b009a29618f13545
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 7c2f7922-7ac6-0667-0c09-a3a1587d60ba

{
    "os:scheduler_hints": {
        "different_host": [
            "099b8bee-9264-48fe-a745-45b22f7ff79f",
            "99644acc-8893-4656-9481-0114efdbc9b6"
        ]
    },
    "server": {
        "name": "ccc",
        "imageRef": "df4191a9-caa6-496b-bed0-eb57ec683fcf",
        "flavorRef": "1",
        "networks": [
            {
                "uuid": "fb0232ba-e9f0-423f-b928-aea3fd3741c7"
            }
        ],
        "availability_zone": "nova"
    }
}

[api response]
Status 400 OK
Time 768 ms

Connection →
Connection
Options that are desired for the connection
close
Content-Length → 283
Content-Type → application/json; charset=UTF-8
Date → Wed, 02 Dec 2015 09:21:43 GMT
Server → Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips
X-Compute-Request-Id → req-f3702257-76b1-4f32-b07c-a0d3608c014f

{
    "badRequest": {
        "message": "Invalid input for field/attribute different_host. Value: [u'099b8bee-9264-48fe-a745-45b22f7ff79f', u'99644acc-8893-4656-9481-0114efdbc9b6']. [u'099b8bee-9264-48fe-a745-45b22f7ff79f', u'99644acc-8893-4656-9481-0114efdbc9b6'] is not a 'uuid'",
        "code": 400
    }
}

[nova-api.log]
2015-12-02 09:21:43.975 22018 DEBUG nova.osapi_compute.wsgi.server [-] (22018) accepted ('192.168.0.22', 43272) server /usr/lib/python2.7/site-packages/eventlet/wsgi.py:826
2015-12-02 09:21:43.982 22018 DEBUG nova.api.openstack.wsgi [req-f3702257-76b1-4f32-b07c-a0d3608c014f 5c5696fa83854f7690e7fc36320bacd0 28983b2ce4354747a9958de57ea9c328 - - -] Action: 'create', calling method: <bound method ServersController.create of <nova.api.openstack.compute.servers.ServersController object at 0x79c6110>>, body: {
    "os:scheduler_hints": {
        "different_host": [
            "099b8bee-9264-48fe-a745-45b22f7ff79f",
            "99644acc-8893-4656-9481-0114efdbc9b6"
        ]
    },
    "server": {
        "name": "ccc",
        "imageRef": "df4191a9-caa6-496b-bed0-eb57ec683fcf",
        "flavorRef": "1",
        "networks": [
            {
                "uuid": "fb0232ba-e9f0-423f-b928-aea3fd3741c7"
            }
        ],
        "availability_zone": "nova"
    }
} _process_stack /usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py:789
2015-12-02 09:21:43.986 22018 DEBUG nova.api.openstack.wsgi [req-f3702257-76b1-4f32-b07c-a0d3608c014f 5c5696fa83854f7690e7fc36320bacd0 28983b2ce4354747a9958de57ea9c328 - - -] Returning 400 to user: Invalid input for field/attribute different_host. Value: [u'099b8bee-9264-48fe-a745-45b22f7ff79f', u'99644acc-8893-4656-9481-0114efdbc9b6']. [u'099b8bee-9264-48fe-a745-45b22f7ff79f', u'99644acc-8893-4656-9481-0114efdbc9b6'] is not a 'uuid' __call__ /usr/lib/python2.7/site-packages/nova/api/openstack/wsgi.py:1175
2015-12-02 09:21:43.987 22018 INFO nova.osapi_compute.wsgi.server [req-f3702257-76b1-4f32-b07c-a0d3608c014f 5c5696fa83854f7690e7fc36320bacd0 28983b2ce4354747a9958de57ea9c328 - - -] xxx.xxx.xxx.xxx,192.168.0.22 "POST /v2/28983b2ce4354747a9958de57ea9c328/servers HTTP/1.1" status: 400 len: 493 time: 0.0096600

[nova list]
[root@liberty-controll-1 ~(keystone_admin)]# nova list --all-tenants --fields name,host_id
+--------------------------------------+---------------------------+----------------------------------------------------------+
| ID | Name | Host Id |
+--------------------------------------+---------------------------+----------------------------------------------------------+
| 099b8bee-9264-48fe-a745-45b22f7ff79f | aa02 | 9962f246261aeb103a440fdd0141da24e15b383a05573f50ed201616 |
| 99644acc-8893-4656-9481-0114efdbc9b6 | aa03 | f8bc3b367d0efd50a587acebcc887a020f776a5a14f3f2e9689cd639 |
| 22bdd6e1-336b-4d74-a1c2-4d3eb1b776a2 | server-test2 | 9962f246261aeb103a440fdd0141da24e15b383a05573f50ed201616 |
| 474603c5-dc69-456e-b237-5a502d79b2d2 | server-test3/server-test4 | f8bc3b367d0efd50a587acebcc887a020f776a5a14f3f2e9689cd639 |
| 9205a464-6c81-475b-b632-7d0890b66e6e | test1 | 36b8822f9a58a1fa1da66ed61482e4c599311eb62b4a73e0eac0be63 |
| 25c1cebf-bbcd-4593-936d-79fe8af5b658 | test2 | 936afc22f57c1a3f6513e4cec1a3ad6c8527173c6580bee4c303900c |
| 8127f5a8-3a80-41ad-b937-ea1a3580f543 | test2 | 936afc22f57c1a3f6513e4cec1a3ad6c8527173c6580bee4c303900c |
| 118dfb58-3b46-4af4-ab59-77cdbdc2d4cb | test3 | 936afc22f57c1a3f6513e4cec1a3ad6c8527173c6580bee4c303900c |
| 5fc8378b-ad45-4af3-a317-2fc6c53fdd49 | test5 | 36b8822f9a58a1fa1da66ed61482e4c599311eb62b4a73e0eac0be63 |
| 525b845f-5edc-47b2-bd1a-172ab6efc7d8 | test6 | 936afc22f57c1a3f6513e4cec1a3ad6c8527173c6580bee4c303900c |
| 6d50a40b-3ca1-4861-8069-a3b20b4b158c | test7 | 8065a46dcb5f3b23e4deaa5cab9e08b4dcccf57fa2fc089d81d0332d |
| 351d9151-d616-4e29-996f-9be0fd2a87e8 | test8 | 936afc22f57c1a3f6513e4cec1a3ad6c8527173c6580bee4c303900c |
| ea909da4-5246-41cb-b070-5aab65214283 | test9 | 36b8822f9a58a1fa1da66ed61482e4c599311eb62b4a73e0eac0be63 |
+--------------------------------------+---------------------------+----------------------------------------------------------+

3.step
(1)create server aa02
(2)create server aa03 with DifferentHostFilter(different_host=aa02_ID) -> OK
(3)create server ccc with DifferentHostFilter(different_host=aa02,aa03 ID) -> NG
 Error:
  nvalid input for field/attribute different_host. Value: [u'099b8bee-9264-48fe-a745-45b22f7ff79f', u'99644acc-8893-4656-9481-0114efdbc9b6']. [u'099b8bee-9264-48fe-a745-45b22f7ff79f', u'99644acc-8893-4656-9481-0114efdbc9b6'] is not a 'uuid'

This error has not occured on "Kilo Compute v2" and "Juno Compute v2",but same error has occured on "Kilo Compute V2.1"

Tags: api scheduler
description: updated
tags: added: api
Changed in nova:
assignee: nobody → Yg03769 (yyagi)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/253012

Changed in nova:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Fix proposed to branch: master
Review: https://review.openstack.org/259247

Changed in nova:
assignee: Yukinori Yagisawa (yyagi) → Ken'ichi Ohmichi (oomichi)
Changed in nova:
importance: Undecided → Medium
tags: added: scheduler
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/259247
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=2841dd3de96792bd9172115945b5ffa5a1fe7c31
Submitter: Jenkins
Branch: master

commit 2841dd3de96792bd9172115945b5ffa5a1fe7c31
Author: Ken'ichi Ohmichi <email address hidden>
Date: Fri Dec 18 01:23:47 2015 +0000

    Make scheduler_hints schema allow list of id

    Nova v2.0 API allows a list of server_id, and the corresponding
    filter handles it. However, Nova v2.1 API doesn't do that now.
    That is backward incompatibile issue.
    This patch fixes this issue.

    NOTE: Tempest patch Ib3365ac2783a0578c7a1a1e72d9b6c9cfea340f5
          is for reproducing this problem on the gate.
          After this fixing, the Tempest patch can be merged and
          we will be able to block this problem.

    Change-Id: I1de7d184c590e84ab1b38880c8d784d38c37b820
    Closes-Bug: #1521928

Changed in nova:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/263567

Matt Riedemann (mriedem)
Changed in nova:
importance: Medium → High
Changed in nova:
milestone: none → mitaka-2
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (stable/liberty)

Reviewed: https://review.openstack.org/263567
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=9d47930c8d131b807cbb7f8392435ba54ff45b3c
Submitter: Jenkins
Branch: stable/liberty

commit 9d47930c8d131b807cbb7f8392435ba54ff45b3c
Author: Ken'ichi Ohmichi <email address hidden>
Date: Fri Dec 18 01:23:47 2015 +0000

    Make scheduler_hints schema allow list of id

    Nova v2.0 API allows a list of server_id, and the corresponding
    filter handles it. However, Nova v2.1 API doesn't do that now.
    That is backward incompatibile issue.
    This patch fixes this issue.

    NOTE: Tempest patch Ib3365ac2783a0578c7a1a1e72d9b6c9cfea340f5
          is for reproducing this problem on the gate.
          After this fixing, the Tempest patch can be merged and
          we will be able to block this problem.

    Change-Id: I1de7d184c590e84ab1b38880c8d784d38c37b820
    Closes-Bug: #1521928
    (cherry picked from commit 2841dd3de96792bd9172115945b5ffa5a1fe7c31)

Revision history for this message
Doug Hellmann (doug-hellmann) wrote : Fix included in openstack/nova 12.0.1

This issue was fixed in the openstack/nova 12.0.1 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on nova (master)

Change abandoned by Ken'ichi Ohmichi (<email address hidden>) on branch: master
Review: https://review.openstack.org/253012
Reason: Sorry, but this patch becomes unnecessary now and needs to be abandoned for making the review queue small.

Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/nova 13.0.0.0b2

This issue was fixed in the openstack/nova 13.0.0.0b2 development milestone.

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.