Revisit (add|remove)_subports request body
The neutronclient [1] expects to serialize a dictionary any
time there is a body in the request. The (add|remove)_subports
methods were expecting a list of dicts instead.
This patch rectifies the issue by assuming a dict in the
body of the format {'sub_ports': [<my-subports]}. This is
indeed the most conventional way to pass request data to
Neutron server, and it was overlooked during a past review.
This was discovered during development of the client side
patch [2].
[1] https://github.com/openstack/python-neutronclient/blob/master/neutronclient/v2_0/client.py#L292
[2] https://review.openstack.org/#/c/340624/
Partially-implements: blueprint vlan-aware-vms
Change-Id: I8d36c61dd877d0ccb73c18702ed64897b71f001b
diff --git a/neutron/tests/tempest/services/network/json/network_client.py b/neutron/tests/tempest/services/network/json/network_client.py
index 36a7f5b..12ba685 100644
--- a/neutron/tests/tempest/services/network/json/network_client.py
+++ b/neutron/tests/tempest/services/network/json/network_client.py
@@ -713,7 +713,7 @@
def _subports_action(self, action, trunk_id, subports):
uri = '%s/trunks/%s/%s' % (self.uri_prefix, trunk_id, action)
- resp, body = self.put(uri, jsonutils.dumps(subports))
+ resp, body = self.put(uri, jsonutils.dumps({'sub_ports': subports}))
body = self.deserialize_single(body)
self.expected_success(200, resp.status)
return service_client.ResponseBody(resp, body)