Hi, As part of Openstack releases(Kilo+), V2.1 of the API's are being exposed.
2.1 supports stronger input validation. see here <https://specs.openstack.org/openstack/nova-specs/specs/kilo/implemented/v2-on-v3-api.html#rest-api-impact> Another impact is strong input validation of JSON-Schema. JSON-Schema contains the “additionalProperties” feature which can deny undefined properties in an input request. V2 API just ignored undefined properties if a request contain, but V2.1 API denies the request and returns a BadRequest response to a client. During V2.1 development, we found that Tempest also passed undefined properties to Nova API, and Nova V2 API just ignored them then tests succeeded. However Nova V2.1 API rejected these requests and tests failed. So that was Tempest bug, but we imagined this kind of problem would happen on the other SDKs. Before fixing this Tempest bug, *we investigated major SDKs(fog, jclouds)’s code and we confirmed these SDKs send a valid request without undefined properties and they don’t contain this kind of problem.* For creating flavors in openstack, Jcloud includes the links properties which were safely ignored in V2 API but causing issues in V2.1 API Is there a quick workaround for this issue? What is the solution? I can help with fixing this bug if i know how to fix this. 20:09:07.804 DEBUG o.j.o.k.v.s.RegionIdToURIFromAccessForTypeAndVersion - endpoints for apiType compute and version 2: { RegionOne=[Endpoint{ id=0bc801fadd374dc38750d0a3cb76fec9, region=RegionOne, publicURL=http: //192.168.56.101: 8774/v2.1/ad631219e6764c0380da57bcd88cba4c, internalURL=http: //192.168.56.101: 8774/v2.1/ad631219e6764c0380da57bcd88cba4c, adminURL=http: //192.168.56.101: 8774/v2.1/ad631219e6764c0380da57bcd88cba4c }] } 20:09:07.811 DEBUG o.j.rest.internal.InvokeHttpMethod - >> invoking flavor:create 20:09:07.811 DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - Sending request -1781028928: POST http://192.168.56.101:8774/v2.1/ad631219e6764c0380da57bcd88cba4c/flavors HTTP/1.1 20:09:07.811 DEBUG jclouds.wire - >> "{ "flavor": { "ram": 6144, "disk": 50, "vcpus": 4, "id": "arv-da-1_RegionOne", "name": "IPS-VM100-VSS-8.1.7.27-arv-da-1-sensorsw_vm100-vss_81727-disk1.qcow", "links": [] } }" 20:09:07.811 DEBUG jclouds.headers - >> POST http://192.168.56.101:8774/v2.1/ad631219e6764c0380da57bcd88cba4c/flavors HTTP/1.1 20:09:07.811 DEBUG jclouds.headers - >> Accept: application/json 20:09:07.811 DEBUG jclouds.headers - >> X-Auth-Token: 124ad0cc300f4efd837e40629aedced3 20:09:07.811 DEBUG jclouds.headers - >> Content-Type: application/json 20:09:07.811 DEBUG jclouds.headers - >> Content-Length: 157 20:09:07.845 DEBUG o.j.h.i.JavaUrlHttpCommandExecutorService - Receiving response -1781028928: HTTP/1.1 400 Bad Request 20:09:07.845 DEBUG jclouds.headers - << HTTP/1.1 400 Bad Request 20:09:07.845 DEBUG jclouds.headers - << Date: Wed, 15 Jun 2016 03:09:07 GMT 20:09:07.845 DEBUG jclouds.headers - << Vary: X-OpenStack-Nova-API-Version 20:09:07.845 DEBUG jclouds.headers - << X-Openstack-Nova-Api-Version: 2.1 20:09:07.845 DEBUG jclouds.headers - << Connection: keep-alive 20:09:07.845 DEBUG jclouds.headers - << X-Compute-Request-Id: req-4964d964-265c-496f-b509-c1636a1a2804 20:09:07.845 DEBUG jclouds.headers - << Content-Type: application/json; charset=UTF-8 20:09:07.845 DEBUG jclouds.headers - << Content-Length: 323 20:09:07.845 DEBUG jclouds.wire - << "{ "badRequest": { "message": "Invalid input for field/attribute flavor. Value: {u'name': u'IPS-VM100-VSS-8.1.7.27-arv-da-1-sensorsw_vm100-vss_81727-disk1.qcow', u'links': [], u'ram': 6144, u'vcpus': 4, u'disk': 50, u'id': u'arv-da-1_RegionOne'}. Additional properties are not allowed (u'links' was unexpected)", "code": 400 }" Thanks!! -- Arvind N