tree e3b8dd0c303922248aae1d12a8cd280f7acf915e
parent d4038b4f99fa421edfe7f3e8ac580194638410bb
author ghanshyam <ghanshyam.mann@nectechnologies.in> 1440404978 +0900
committer ghanshyam <ghanshyam.mann@nectechnologies.in> 1440410441 +0900

Return complete resp from security_groups_client

Currently compute security_groups_client returns Response by
removing top key from Response.
For example-
 return service_client.ResponseBody(resp, body['security_group'])

As service clients are in direction to move to Tempest-lib, all
service clients should return Response without any truncation.
One good example is Resource pagination links which are lost with current
way of return value. Resource pagination links are present in parallel
(not inside) to top key of Response.

This patch makes compute security_groups_client to return
complete Response body.

Change-Id: I8cfd1845be221ae2e3629cc79ab5fdfd14ac48d4
Implements: blueprint method-return-value-and-move-service-clients-to-lib
