** Changed in: nova
       Status: Fix Committed => Fix Released

** Changed in: nova
    Milestone: None => juno-3

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1358818

Title:
  extra_specs string check breaks backward compatibility

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  We've found that while with Icehouse we were able to specify
  extra_specs values as ints or floats, in Juno the command fails unless
  we make these values strings by quoting them. This breaks backward
  compatibility.

  compare Icehouse:

  curl -k -i -X POST 
http://127.0.0.1:8774/v2/982607a6a1134514abac252fc25384ad/flavors/1/os-extra_specs
 -H "X-Auth-Token: *****" -H "Accept: application/json" -H "Content-Type: 
application/json" -d 
'{"extra_specs":{"powervm:proc_units":"0.2","powervm:processor_compatibility":"default","powervm:min_proc_units":"0.1","powervm:max_proc_units":"0.5","powervm:min_vcpu":1,"powervm:max_vcpu":5,"powervm:min_mem":1024,"powervm:max_mem":4096,"powervm:availability_priority":127,"powervm:dedicated_proc":"false","powervm:uncapped":"true","powervm:shared_weight":128}}';
 echo
  HTTP/1.1 200 OK
  Content-Type: application/json
  Content-Length: 385
  X-Compute-Request-Id: req-9132922d-c703-4573-9822-9ca7a6bf7b0d
  Date: Thu, 14 Aug 2014 18:25:02 GMT

  {"extra_specs": {"powervm:processor_compatibility": "default",
  "powervm:max_proc_units": "0.5", "powervm:shared_weight": 128,
  "powervm:min_mem": 1024, "powervm:max_mem": 4096, "powervm:uncapped":
  "true", "powervm:proc_units": "0.2", "powervm:dedicated_proc":
  "false", "powervm:max_vcpu": 5, "powervm:availability_priority": 127,
  "powervm:min_proc_units": "0.1", "powervm:min_vcpu": 1}}

  
  to Juno:

  curl -k -i -X POST 
http://127.0.0.1:8774/v2/be2ffade1e0b4bed83619e00482317d1/flavors/1/os-extra_specs
 -H "X-Auth-Token: *****" -H "Accept: application/json" -H "Content-Type: 
application/json" -d 
'{"extra_specs":{"powervm:proc_units":"0.2","powervm:processor_compatibility":"default","powervm:min_proc_units":"0.1","powervm:max_proc_units":"0.5","powervm:min_vcpu":1,"powervm:max_vcpu":5,"powervm:min_mem":1024,"powervm:max_mem":4096,"powervm:availability_priority":127,"powervm:dedicated_proc":"false","powervm:uncapped":"true","powervm:shared_weight":128}}';
 echo
  HTTP/1.1 400 Bad Request
  Content-Length: 88
  Content-Type: application/json; charset=UTF-8
  Date: Thu, 14 Aug 2014 18:25:46 GMT

  {"badRequest": {"message": "extra_specs value is not a string or
  unicode", "code": 400}}

  
  if I modify the data sent so that everything is a string, it will work for 
Juno:

  curl -k -i -X POST 
http://127.0.0.1:8774/v2/be2ffade1e0b4bed83619e00482317d1/flavors/1/os-extra_specs
 -H "X-Auth-Token: *****" -H "Accept: application/json" -H "Content-Type: 
application/json" -d 
'{"extra_specs":{"powervm:proc_units":"0.2","powervm:processor_compatibility":"default","powervm:min_proc_units":"0.1","powervm:max_proc_units":"0.5","powervm:min_vcpu":"1","powervm:max_vcpu":"5","powervm:min_mem":"1024","powervm:max_mem":"4096","powervm:availability_priority":"127","powervm:dedicated_proc":"false","powervm:uncapped":"true","powervm:shared_weight":"128"}}';
 echo
  HTTP/1.1 200 OK
  Content-Type: application/json
  Content-Length: 397
  Date: Thu, 14 Aug 2014 18:26:27 GMT

  {"extra_specs": {"powervm:processor_compatibility": "default",
  "powervm:max_proc_units": "0.5", "powervm:shared_weight": "128",
  "powervm:min_mem": "1024", "powervm:max_mem": "4096",
  "powervm:uncapped": "true", "powervm:proc_units": "0.2",
  "powervm:dedicated_proc": "false", "powervm:max_vcpu": "5",
  "powervm:availability_priority": "127", "powervm:min_proc_units":
  "0.1", "powervm:min_vcpu": "1"}}

  
  The API change guidelines 
(https://wiki.openstack.org/wiki/APIChangeGuidelines) describe as "generally 
not acceptable": "A change such that a request which was successful before now 
results in an error response (unless the success reported previously was hiding 
an existing error condition)". That is exactly what this is.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1358818/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to