Fix share server info in CGs created from CGs

Currently when a POST request is made to /consistency-groups
with a source cg-snapshot, the API does not register the share
network information (share_server_id and share_network_id) in
the database row newly created for the CG being created.

This information is essential to any shares that are being created
along with the consistency group.

- Disallow providing a share_network_id when using a source cg_snapshot_id
- Copy share network information from the parent CG
- Fix the share_server_id that was incorrect in the API response

 APIImpact

 Closes-Bug: #1571594
 Closes-Bug: #1572742

Change-Id: I1c3581c81e0b845f46eef3cd0acddb55850447a5
diff --git a/manila_tempest_tests/tests/api/base.py b/manila_tempest_tests/tests/api/base.py
index 387b5d5..6a75bee 100644
--- a/manila_tempest_tests/tests/api/base.py
+++ b/manila_tempest_tests/tests/api/base.py
@@ -431,8 +431,9 @@
     def create_consistency_group(cls, client=None, cleanup_in_class=True,
                                  share_network_id=None, **kwargs):
         client = client or cls.shares_v2_client
-        kwargs['share_network_id'] = (share_network_id or
-                                      client.share_network_id or None)
+        if kwargs.get('source_cgsnapshot_id') is None:
+            kwargs['share_network_id'] = (share_network_id or
+                                          client.share_network_id or None)
         consistency_group = client.create_consistency_group(**kwargs)
         resource = {
             "type": "consistency_group",