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",