python-openstackclient 6.3.0__py3-none-any.whl → 6.5.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. openstackclient/common/availability_zone.py +4 -4
  2. openstackclient/common/pagination.py +82 -0
  3. openstackclient/compute/v2/flavor.py +2 -16
  4. openstackclient/compute/v2/hypervisor.py +2 -21
  5. openstackclient/compute/v2/keypair.py +2 -9
  6. openstackclient/compute/v2/server.py +220 -131
  7. openstackclient/compute/v2/server_event.py +30 -19
  8. openstackclient/compute/v2/server_group.py +2 -23
  9. openstackclient/compute/v2/server_migration.py +2 -22
  10. openstackclient/compute/v2/usage.py +4 -6
  11. openstackclient/identity/v3/mapping.py +25 -3
  12. openstackclient/identity/v3/policy.py +3 -1
  13. openstackclient/image/v2/cache.py +218 -0
  14. openstackclient/image/v2/image.py +40 -17
  15. openstackclient/image/v2/metadef_namespaces.py +25 -21
  16. openstackclient/image/v2/metadef_objects.py +189 -0
  17. openstackclient/image/v2/metadef_properties.py +284 -0
  18. openstackclient/network/utils.py +100 -0
  19. openstackclient/network/v2/default_security_group_rule.py +418 -0
  20. openstackclient/network/v2/local_ip_association.py +1 -1
  21. openstackclient/network/v2/ndp_proxy.py +7 -3
  22. openstackclient/network/v2/network.py +2 -2
  23. openstackclient/network/v2/port.py +65 -19
  24. openstackclient/network/v2/security_group_rule.py +18 -111
  25. openstackclient/network/v2/subnet.py +1 -0
  26. openstackclient/object/v1/container.py +2 -12
  27. openstackclient/object/v1/object.py +2 -11
  28. openstackclient/tests/functional/base.py +13 -6
  29. openstackclient/tests/functional/identity/v3/test_role.py +11 -3
  30. openstackclient/tests/functional/network/v2/common.py +7 -1
  31. openstackclient/tests/functional/network/v2/test_address_group.py +2 -4
  32. openstackclient/tests/functional/network/v2/test_address_scope.py +0 -6
  33. openstackclient/tests/functional/network/v2/test_default_security_group_rule.py +67 -0
  34. openstackclient/tests/functional/network/v2/test_floating_ip.py +3 -6
  35. openstackclient/tests/functional/network/v2/test_ip_availability.py +3 -8
  36. openstackclient/tests/functional/network/v2/test_l3_conntrack_helper.py +3 -4
  37. openstackclient/tests/functional/network/v2/test_local_ip.py +2 -4
  38. openstackclient/tests/functional/network/v2/test_network.py +18 -17
  39. openstackclient/tests/functional/network/v2/test_network_agent.py +24 -21
  40. openstackclient/tests/functional/network/v2/test_network_flavor.py +0 -6
  41. openstackclient/tests/functional/network/v2/test_network_flavor_profile.py +0 -6
  42. openstackclient/tests/functional/network/v2/test_network_meter.py +6 -6
  43. openstackclient/tests/functional/network/v2/test_network_meter_rule.py +7 -8
  44. openstackclient/tests/functional/network/v2/test_network_ndp_proxy.py +1 -3
  45. openstackclient/tests/functional/network/v2/test_network_qos_policy.py +4 -4
  46. openstackclient/tests/functional/network/v2/test_network_qos_rule.py +16 -20
  47. openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py +4 -4
  48. openstackclient/tests/functional/network/v2/test_network_rbac.py +1 -4
  49. openstackclient/tests/functional/network/v2/test_network_segment.py +7 -12
  50. openstackclient/tests/functional/network/v2/test_network_segment_range.py +3 -4
  51. openstackclient/tests/functional/network/v2/test_network_service_provider.py +2 -4
  52. openstackclient/tests/functional/network/v2/test_network_trunk.py +3 -3
  53. openstackclient/tests/functional/network/v2/test_port.py +2 -8
  54. openstackclient/tests/functional/network/v2/test_router.py +0 -6
  55. openstackclient/tests/functional/network/v2/test_security_group.py +1 -4
  56. openstackclient/tests/functional/network/v2/test_security_group_rule.py +1 -4
  57. openstackclient/tests/functional/network/v2/test_subnet.py +4 -22
  58. openstackclient/tests/functional/network/v2/test_subnet_pool.py +0 -6
  59. openstackclient/tests/unit/common/test_availability_zone.py +28 -30
  60. openstackclient/tests/unit/common/test_extension.py +1 -4
  61. openstackclient/tests/unit/common/test_limits.py +2 -4
  62. openstackclient/tests/unit/common/test_project_cleanup.py +3 -10
  63. openstackclient/tests/unit/common/test_quota.py +18 -24
  64. openstackclient/tests/unit/compute/v2/fakes.py +24 -11
  65. openstackclient/tests/unit/compute/v2/test_agent.py +1 -1
  66. openstackclient/tests/unit/compute/v2/test_aggregate.py +62 -72
  67. openstackclient/tests/unit/compute/v2/test_console.py +18 -30
  68. openstackclient/tests/unit/compute/v2/test_flavor.py +85 -89
  69. openstackclient/tests/unit/compute/v2/test_host.py +12 -19
  70. openstackclient/tests/unit/compute/v2/test_hypervisor.py +23 -25
  71. openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +2 -6
  72. openstackclient/tests/unit/compute/v2/test_keypair.py +25 -39
  73. openstackclient/tests/unit/compute/v2/test_server.py +316 -365
  74. openstackclient/tests/unit/compute/v2/test_server_backup.py +5 -17
  75. openstackclient/tests/unit/compute/v2/test_server_event.py +23 -25
  76. openstackclient/tests/unit/compute/v2/test_server_group.py +41 -33
  77. openstackclient/tests/unit/compute/v2/test_server_image.py +6 -18
  78. openstackclient/tests/unit/compute/v2/test_server_migration.py +45 -45
  79. openstackclient/tests/unit/compute/v2/test_server_volume.py +15 -31
  80. openstackclient/tests/unit/compute/v2/test_service.py +51 -56
  81. openstackclient/tests/unit/compute/v2/test_usage.py +10 -13
  82. openstackclient/tests/unit/fakes.py +4 -0
  83. openstackclient/tests/unit/identity/v3/test_mappings.py +9 -4
  84. openstackclient/tests/unit/identity/v3/test_trust.py +0 -2
  85. openstackclient/tests/unit/image/v1/fakes.py +2 -1
  86. openstackclient/tests/unit/image/v1/test_image.py +1 -1
  87. openstackclient/tests/unit/image/v2/fakes.py +82 -0
  88. openstackclient/tests/unit/image/v2/test_cache.py +214 -0
  89. openstackclient/tests/unit/image/v2/test_image.py +62 -4
  90. openstackclient/tests/unit/image/v2/test_metadef_namespaces.py +5 -19
  91. openstackclient/tests/unit/image/v2/test_metadef_objects.py +162 -0
  92. openstackclient/tests/unit/image/v2/test_metadef_properties.py +227 -0
  93. openstackclient/tests/unit/integ/cli/test_shell.py +0 -2
  94. openstackclient/tests/unit/network/test_common.py +3 -3
  95. openstackclient/tests/unit/network/v2/fakes.py +1 -0
  96. openstackclient/tests/unit/network/v2/test_default_security_group_rule.py +1133 -0
  97. openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +5 -13
  98. openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +1 -9
  99. openstackclient/tests/unit/network/v2/test_network.py +33 -0
  100. openstackclient/tests/unit/network/v2/test_network_compute.py +5 -11
  101. openstackclient/tests/unit/network/v2/test_network_trunk.py +6 -8
  102. openstackclient/tests/unit/network/v2/test_port.py +83 -38
  103. openstackclient/tests/unit/network/v2/test_security_group_compute.py +7 -15
  104. openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +19 -27
  105. openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +3 -6
  106. openstackclient/tests/unit/network/v2/test_subnet.py +92 -0
  107. openstackclient/tests/unit/network/v2/test_subnet_pool.py +11 -13
  108. openstackclient/tests/unit/test_shell.py +1 -7
  109. openstackclient/tests/unit/utils.py +10 -4
  110. openstackclient/tests/unit/volume/v1/fakes.py +7 -1
  111. openstackclient/tests/unit/volume/v1/test_qos_specs.py +2 -2
  112. openstackclient/tests/unit/volume/v1/test_service.py +1 -1
  113. openstackclient/tests/unit/volume/v1/test_transfer_request.py +2 -2
  114. openstackclient/tests/unit/volume/v1/test_type.py +2 -4
  115. openstackclient/tests/unit/volume/v1/test_volume.py +5 -7
  116. openstackclient/tests/unit/volume/v1/test_volume_backup.py +4 -4
  117. openstackclient/tests/unit/volume/v2/fakes.py +32 -12
  118. openstackclient/tests/unit/volume/v2/test_backup_record.py +1 -1
  119. openstackclient/tests/unit/volume/v2/test_consistency_group.py +4 -6
  120. openstackclient/tests/unit/volume/v2/test_consistency_group_snapshot.py +2 -4
  121. openstackclient/tests/unit/volume/v2/test_qos_specs.py +2 -2
  122. openstackclient/tests/unit/volume/v2/test_service.py +1 -1
  123. openstackclient/tests/unit/volume/v2/test_volume.py +78 -16
  124. openstackclient/tests/unit/volume/v2/test_volume_backend.py +10 -22
  125. openstackclient/tests/unit/volume/v2/test_volume_backup.py +76 -89
  126. openstackclient/tests/unit/volume/v2/test_volume_host.py +1 -1
  127. openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +5 -7
  128. openstackclient/tests/unit/volume/v2/test_volume_transfer_request.py +4 -8
  129. openstackclient/tests/unit/volume/v2/test_volume_type.py +164 -24
  130. openstackclient/tests/unit/volume/v3/fakes.py +91 -15
  131. openstackclient/tests/unit/volume/v3/test_block_storage_cleanup.py +3 -7
  132. openstackclient/tests/unit/volume/v3/test_block_storage_cluster.py +11 -31
  133. openstackclient/tests/unit/volume/v3/test_block_storage_log_level.py +6 -16
  134. openstackclient/tests/unit/volume/v3/test_block_storage_manage.py +219 -157
  135. openstackclient/tests/unit/volume/v3/test_block_storage_resource_filter.py +32 -23
  136. openstackclient/tests/unit/volume/v3/test_volume.py +50 -48
  137. openstackclient/tests/unit/volume/v3/test_volume_attachment.py +17 -47
  138. openstackclient/tests/unit/volume/v3/test_volume_group.py +23 -65
  139. openstackclient/tests/unit/volume/v3/test_volume_group_snapshot.py +88 -77
  140. openstackclient/tests/unit/volume/v3/test_volume_group_type.py +14 -42
  141. openstackclient/tests/unit/volume/v3/test_volume_message.py +10 -28
  142. openstackclient/volume/v1/volume.py +2 -14
  143. openstackclient/volume/v2/volume.py +30 -15
  144. openstackclient/volume/v2/volume_backend.py +10 -18
  145. openstackclient/volume/v2/volume_backup.py +18 -15
  146. openstackclient/volume/v2/volume_snapshot.py +2 -12
  147. openstackclient/volume/v2/volume_type.py +211 -14
  148. openstackclient/volume/v3/block_storage_manage.py +72 -11
  149. openstackclient/volume/v3/block_storage_resource_filter.py +33 -11
  150. openstackclient/volume/v3/volume_attachment.py +2 -14
  151. openstackclient/volume/v3/volume_group_snapshot.py +27 -27
  152. openstackclient/volume/v3/volume_message.py +2 -13
  153. {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/AUTHORS +11 -0
  154. {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/METADATA +6 -5
  155. {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/RECORD +160 -151
  156. {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/entry_points.txt +23 -5
  157. python_openstackclient-6.5.0.dist-info/pbr.json +1 -0
  158. openstackclient/tests/unit/common/test_parseractions.py +0 -233
  159. python_openstackclient-6.3.0.dist-info/pbr.json +0 -1
  160. {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/LICENSE +0 -0
  161. {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/WHEEL +0 -0
  162. {python_openstackclient-6.3.0.dist-info → python_openstackclient-6.5.0.dist-info}/top_level.txt +0 -0
@@ -27,19 +27,13 @@ class TestServerMigration(compute_fakes.TestComputev2):
27
27
  super().setUp()
28
28
 
29
29
  # Get a shortcut to the compute client ServerManager Mock
30
- self.servers_mock = self.app.client_manager.compute.servers
30
+ self.servers_mock = self.compute_client.servers
31
31
  self.servers_mock.reset_mock()
32
32
 
33
33
  # Get a shortcut to the compute client ServerMigrationsManager Mock
34
- self.server_migrations_mock = (
35
- self.app.client_manager.compute.server_migrations
36
- )
34
+ self.server_migrations_mock = self.compute_client.server_migrations
37
35
  self.server_migrations_mock.reset_mock()
38
36
 
39
- self.app.client_manager.sdk_connection = mock.Mock()
40
- self.app.client_manager.sdk_connection.compute = mock.Mock()
41
- self.sdk_client = self.app.client_manager.sdk_connection.compute
42
-
43
37
  patcher = mock.patch.object(
44
38
  sdk_utils, 'supports_microversion', return_value=True
45
39
  )
@@ -92,10 +86,10 @@ class TestListMigration(TestServerMigration):
92
86
  self._set_mock_microversion('2.1')
93
87
 
94
88
  self.server = compute_fakes.create_one_sdk_server()
95
- self.sdk_client.find_server.return_value = self.server
89
+ self.compute_sdk_client.find_server.return_value = self.server
96
90
 
97
91
  self.migrations = compute_fakes.create_migrations(count=3)
98
- self.sdk_client.migrations.return_value = self.migrations
92
+ self.compute_sdk_client.migrations.return_value = self.migrations
99
93
 
100
94
  self.data = (
101
95
  common_utils.get_item_properties(s, self.MIGRATION_FIELDS)
@@ -115,7 +109,7 @@ class TestListMigration(TestServerMigration):
115
109
  # Set expected values
116
110
  kwargs = {}
117
111
 
118
- self.sdk_client.migrations.assert_called_with(**kwargs)
112
+ self.compute_sdk_client.migrations.assert_called_with(**kwargs)
119
113
 
120
114
  self.assertEqual(self.MIGRATION_COLUMNS, columns)
121
115
  self.assertEqual(tuple(self.data), tuple(data))
@@ -147,8 +141,8 @@ class TestListMigration(TestServerMigration):
147
141
  'migration_type': 'migration',
148
142
  }
149
143
 
150
- self.sdk_client.find_server.assert_called_with('server1')
151
- self.sdk_client.migrations.assert_called_with(**kwargs)
144
+ self.compute_sdk_client.find_server.assert_called_with('server1')
145
+ self.compute_sdk_client.migrations.assert_called_with(**kwargs)
152
146
 
153
147
  self.assertEqual(self.MIGRATION_COLUMNS, columns)
154
148
  self.assertEqual(tuple(self.data), tuple(data))
@@ -206,7 +200,7 @@ class TestListMigrationV223(TestListMigration):
206
200
  'status': 'migrating',
207
201
  }
208
202
 
209
- self.sdk_client.migrations.assert_called_with(**kwargs)
203
+ self.compute_sdk_client.migrations.assert_called_with(**kwargs)
210
204
 
211
205
  self.assertEqual(self.MIGRATION_COLUMNS, columns)
212
206
  self.assertEqual(tuple(self.data), tuple(data))
@@ -284,7 +278,7 @@ class TestListMigrationV259(TestListMigration):
284
278
  'changes_since': '2019-08-09T08:03:25Z',
285
279
  }
286
280
 
287
- self.sdk_client.migrations.assert_called_with(**kwargs)
281
+ self.compute_sdk_client.migrations.assert_called_with(**kwargs)
288
282
 
289
283
  self.assertEqual(self.MIGRATION_COLUMNS, columns)
290
284
  self.assertEqual(tuple(self.data), tuple(data))
@@ -410,7 +404,7 @@ class TestListMigrationV266(TestListMigration):
410
404
  'changes_before': '2019-08-09T08:03:25Z',
411
405
  }
412
406
 
413
- self.sdk_client.migrations.assert_called_with(**kwargs)
407
+ self.compute_sdk_client.migrations.assert_called_with(**kwargs)
414
408
 
415
409
  self.assertEqual(self.MIGRATION_COLUMNS, columns)
416
410
  self.assertEqual(tuple(self.data), tuple(data))
@@ -528,7 +522,7 @@ class TestListMigrationV280(TestListMigration):
528
522
  'changes_before': "2019-08-09T08:03:25Z",
529
523
  }
530
524
 
531
- self.sdk_client.migrations.assert_called_with(**kwargs)
525
+ self.compute_sdk_client.migrations.assert_called_with(**kwargs)
532
526
 
533
527
  self.MIGRATION_COLUMNS.insert(
534
528
  len(self.MIGRATION_COLUMNS) - 2, "Project"
@@ -604,7 +598,7 @@ class TestListMigrationV280(TestListMigration):
604
598
  'changes_before': "2019-08-09T08:03:25Z",
605
599
  }
606
600
 
607
- self.sdk_client.migrations.assert_called_with(**kwargs)
601
+ self.compute_sdk_client.migrations.assert_called_with(**kwargs)
608
602
 
609
603
  self.MIGRATION_COLUMNS.insert(len(self.MIGRATION_COLUMNS) - 2, "User")
610
604
  self.MIGRATION_FIELDS.insert(len(self.MIGRATION_FIELDS) - 2, "user_id")
@@ -675,7 +669,7 @@ class TestListMigrationV280(TestListMigration):
675
669
  'changes_before': "2019-08-09T08:03:25Z",
676
670
  }
677
671
 
678
- self.sdk_client.migrations.assert_called_with(**kwargs)
672
+ self.compute_sdk_client.migrations.assert_called_with(**kwargs)
679
673
 
680
674
  self.MIGRATION_COLUMNS.insert(
681
675
  len(self.MIGRATION_COLUMNS) - 2, "Project"
@@ -725,13 +719,13 @@ class TestServerMigrationShow(TestServerMigration):
725
719
  super().setUp()
726
720
 
727
721
  self.server = compute_fakes.create_one_sdk_server()
728
- self.sdk_client.find_server.return_value = self.server
722
+ self.compute_sdk_client.find_server.return_value = self.server
729
723
 
730
724
  self.server_migration = compute_fakes.create_one_server_migration()
731
- self.sdk_client.get_server_migration.return_value = (
725
+ self.compute_sdk_client.get_server_migration.return_value = (
732
726
  self.server_migration
733
727
  )
734
- self.sdk_client.server_migrations.return_value = iter(
728
+ self.compute_sdk_client.server_migrations.return_value = iter(
735
729
  [self.server_migration]
736
730
  )
737
731
 
@@ -789,10 +783,10 @@ class TestServerMigrationShow(TestServerMigration):
789
783
  self.assertEqual(self.columns, columns)
790
784
  self.assertEqual(self.data, data)
791
785
 
792
- self.sdk_client.find_server.assert_called_with(
786
+ self.compute_sdk_client.find_server.assert_called_with(
793
787
  self.server.id, ignore_missing=False
794
788
  )
795
- self.sdk_client.get_server_migration.assert_called_with(
789
+ self.compute_sdk_client.get_server_migration.assert_called_with(
796
790
  self.server.id, '2', ignore_missing=False
797
791
  )
798
792
 
@@ -841,7 +835,7 @@ class TestServerMigrationShow(TestServerMigration):
841
835
  def test_server_migration_show_by_uuid(self):
842
836
  self._set_mock_microversion('2.59')
843
837
 
844
- self.sdk_client.server_migrations.return_value = iter(
838
+ self.compute_sdk_client.server_migrations.return_value = iter(
845
839
  [self.server_migration]
846
840
  )
847
841
 
@@ -860,15 +854,17 @@ class TestServerMigrationShow(TestServerMigration):
860
854
  self.assertEqual(self.columns, columns)
861
855
  self.assertEqual(self.data, data)
862
856
 
863
- self.sdk_client.find_server.assert_called_with(
857
+ self.compute_sdk_client.find_server.assert_called_with(
864
858
  self.server.id, ignore_missing=False
865
859
  )
866
- self.sdk_client.server_migrations.assert_called_with(self.server.id)
867
- self.sdk_client.get_server_migration.assert_not_called()
860
+ self.compute_sdk_client.server_migrations.assert_called_with(
861
+ self.server.id
862
+ )
863
+ self.compute_sdk_client.get_server_migration.assert_not_called()
868
864
 
869
865
  def test_server_migration_show_by_uuid_no_matches(self):
870
866
  self._set_mock_microversion('2.59')
871
- self.sdk_client.server_migrations.return_value = iter([])
867
+ self.compute_sdk_client.server_migrations.return_value = iter([])
872
868
 
873
869
  arglist = [
874
870
  self.server.id,
@@ -927,7 +923,7 @@ class TestServerMigrationAbort(TestServerMigration):
927
923
  self.server = compute_fakes.create_one_sdk_server()
928
924
 
929
925
  # Return value for utils.find_resource for server.
930
- self.sdk_client.find_server.return_value = self.server
926
+ self.compute_sdk_client.find_server.return_value = self.server
931
927
 
932
928
  # Get the command object to test
933
929
  self.cmd = server_migration.AbortMigration(self.app, None)
@@ -944,10 +940,10 @@ class TestServerMigrationAbort(TestServerMigration):
944
940
 
945
941
  result = self.cmd.take_action(parsed_args)
946
942
 
947
- self.sdk_client.find_server.assert_called_with(
943
+ self.compute_sdk_client.find_server.assert_called_with(
948
944
  self.server.id, ignore_missing=False
949
945
  )
950
- self.sdk_client.abort_server_migration.assert_called_with(
946
+ self.compute_sdk_client.abort_server_migration.assert_called_with(
951
947
  '2', self.server.id, ignore_missing=False
952
948
  )
953
949
  self.assertIsNone(result)
@@ -973,7 +969,7 @@ class TestServerMigrationAbort(TestServerMigration):
973
969
  self._set_mock_microversion('2.59')
974
970
 
975
971
  self.server_migration = compute_fakes.create_one_server_migration()
976
- self.sdk_client.server_migrations.return_value = iter(
972
+ self.compute_sdk_client.server_migrations.return_value = iter(
977
973
  [self.server_migration]
978
974
  )
979
975
 
@@ -986,11 +982,13 @@ class TestServerMigrationAbort(TestServerMigration):
986
982
 
987
983
  result = self.cmd.take_action(parsed_args)
988
984
 
989
- self.sdk_client.find_server.assert_called_with(
985
+ self.compute_sdk_client.find_server.assert_called_with(
990
986
  self.server.id, ignore_missing=False
991
987
  )
992
- self.sdk_client.server_migrations.assert_called_with(self.server.id)
993
- self.sdk_client.abort_server_migration.assert_called_with(
988
+ self.compute_sdk_client.server_migrations.assert_called_with(
989
+ self.server.id
990
+ )
991
+ self.compute_sdk_client.abort_server_migration.assert_called_with(
994
992
  self.server_migration.id, self.server.id, ignore_missing=False
995
993
  )
996
994
  self.assertIsNone(result)
@@ -998,7 +996,7 @@ class TestServerMigrationAbort(TestServerMigration):
998
996
  def test_server_migration_abort_by_uuid_no_matches(self):
999
997
  self._set_mock_microversion('2.59')
1000
998
 
1001
- self.sdk_client.server_migrations.return_value = iter([])
999
+ self.compute_sdk_client.server_migrations.return_value = iter([])
1002
1000
 
1003
1001
  arglist = [
1004
1002
  self.server.id,
@@ -1040,7 +1038,7 @@ class TestServerMigrationForceComplete(TestServerMigration):
1040
1038
  self.server = compute_fakes.create_one_sdk_server()
1041
1039
 
1042
1040
  # Return value for utils.find_resource for server.
1043
- self.sdk_client.find_server.return_value = self.server
1041
+ self.compute_sdk_client.find_server.return_value = self.server
1044
1042
 
1045
1043
  # Get the command object to test
1046
1044
  self.cmd = server_migration.ForceCompleteMigration(self.app, None)
@@ -1057,10 +1055,10 @@ class TestServerMigrationForceComplete(TestServerMigration):
1057
1055
 
1058
1056
  result = self.cmd.take_action(parsed_args)
1059
1057
 
1060
- self.sdk_client.find_server.assert_called_with(
1058
+ self.compute_sdk_client.find_server.assert_called_with(
1061
1059
  self.server.id, ignore_missing=False
1062
1060
  )
1063
- self.sdk_client.force_complete_server_migration.assert_called_with(
1061
+ self.compute_sdk_client.force_complete_server_migration.assert_called_with(
1064
1062
  '2', self.server.id
1065
1063
  )
1066
1064
  self.assertIsNone(result)
@@ -1086,7 +1084,7 @@ class TestServerMigrationForceComplete(TestServerMigration):
1086
1084
  self._set_mock_microversion('2.59')
1087
1085
 
1088
1086
  self.server_migration = compute_fakes.create_one_server_migration()
1089
- self.sdk_client.server_migrations.return_value = iter(
1087
+ self.compute_sdk_client.server_migrations.return_value = iter(
1090
1088
  [self.server_migration]
1091
1089
  )
1092
1090
 
@@ -1099,11 +1097,13 @@ class TestServerMigrationForceComplete(TestServerMigration):
1099
1097
 
1100
1098
  result = self.cmd.take_action(parsed_args)
1101
1099
 
1102
- self.sdk_client.find_server.assert_called_with(
1100
+ self.compute_sdk_client.find_server.assert_called_with(
1103
1101
  self.server.id, ignore_missing=False
1104
1102
  )
1105
- self.sdk_client.server_migrations.assert_called_with(self.server.id)
1106
- self.sdk_client.force_complete_server_migration.assert_called_with(
1103
+ self.compute_sdk_client.server_migrations.assert_called_with(
1104
+ self.server.id
1105
+ )
1106
+ self.compute_sdk_client.force_complete_server_migration.assert_called_with(
1107
1107
  self.server_migration.id, self.server.id
1108
1108
  )
1109
1109
  self.assertIsNone(result)
@@ -1111,7 +1111,7 @@ class TestServerMigrationForceComplete(TestServerMigration):
1111
1111
  def test_server_migration_force_complete_by_uuid_no_matches(self):
1112
1112
  self._set_mock_microversion('2.59')
1113
1113
 
1114
- self.sdk_client.server_migrations.return_value = iter([])
1114
+ self.compute_sdk_client.server_migrations.return_value = iter([])
1115
1115
 
1116
1116
  arglist = [
1117
1117
  self.server.id,
@@ -9,11 +9,9 @@
9
9
  # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
10
10
  # License for the specific language governing permissions and limitations
11
11
  # under the License.
12
- #
13
12
 
14
13
  from unittest import mock
15
14
 
16
- from novaclient import api_versions
17
15
  from openstack import utils as sdk_utils
18
16
  from osc_lib import exceptions
19
17
 
@@ -22,26 +20,15 @@ from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes
22
20
  from openstackclient.tests.unit.volume.v2 import fakes as volume_fakes
23
21
 
24
22
 
25
- class TestServerVolume(compute_fakes.TestComputev2):
26
- def setUp(self):
27
- super().setUp()
28
-
29
- self.app.client_manager.sdk_connection = mock.Mock()
30
- self.app.client_manager.sdk_connection.compute = mock.Mock()
31
- self.app.client_manager.sdk_connection.volume = mock.Mock()
32
- self.compute_client = self.app.client_manager.sdk_connection.compute
33
- self.volume_client = self.app.client_manager.sdk_connection.volume
34
-
35
-
36
- class TestServerVolumeList(TestServerVolume):
23
+ class TestServerVolumeList(compute_fakes.TestComputev2):
37
24
  def setUp(self):
38
25
  super().setUp()
39
26
 
40
27
  self.server = compute_fakes.create_one_sdk_server()
41
28
  self.volume_attachments = compute_fakes.create_volume_attachments()
42
29
 
43
- self.compute_client.find_server.return_value = self.server
44
- self.compute_client.volume_attachments.return_value = (
30
+ self.compute_sdk_client.find_server.return_value = self.server
31
+ self.compute_sdk_client.volume_attachments.return_value = (
45
32
  self.volume_attachments
46
33
  )
47
34
 
@@ -50,9 +37,6 @@ class TestServerVolumeList(TestServerVolume):
50
37
 
51
38
  @mock.patch.object(sdk_utils, 'supports_microversion')
52
39
  def test_server_volume_list(self, sm_mock):
53
- self.app.client_manager.compute.api_version = api_versions.APIVersion(
54
- '2.1'
55
- )
56
40
  sm_mock.side_effect = [False, False, False, False]
57
41
 
58
42
  arglist = [
@@ -83,7 +67,7 @@ class TestServerVolumeList(TestServerVolume):
83
67
  ),
84
68
  tuple(data),
85
69
  )
86
- self.compute_client.volume_attachments.assert_called_once_with(
70
+ self.compute_sdk_client.volume_attachments.assert_called_once_with(
87
71
  self.server,
88
72
  )
89
73
 
@@ -130,7 +114,7 @@ class TestServerVolumeList(TestServerVolume):
130
114
  ),
131
115
  tuple(data),
132
116
  )
133
- self.compute_client.volume_attachments.assert_called_once_with(
117
+ self.compute_sdk_client.volume_attachments.assert_called_once_with(
134
118
  self.server,
135
119
  )
136
120
 
@@ -179,7 +163,7 @@ class TestServerVolumeList(TestServerVolume):
179
163
  ),
180
164
  tuple(data),
181
165
  )
182
- self.compute_client.volume_attachments.assert_called_once_with(
166
+ self.compute_sdk_client.volume_attachments.assert_called_once_with(
183
167
  self.server,
184
168
  )
185
169
 
@@ -231,20 +215,20 @@ class TestServerVolumeList(TestServerVolume):
231
215
  ),
232
216
  tuple(data),
233
217
  )
234
- self.compute_client.volume_attachments.assert_called_once_with(
218
+ self.compute_sdk_client.volume_attachments.assert_called_once_with(
235
219
  self.server,
236
220
  )
237
221
 
238
222
 
239
- class TestServerVolumeUpdate(TestServerVolume):
223
+ class TestServerVolumeUpdate(compute_fakes.TestComputev2):
240
224
  def setUp(self):
241
225
  super().setUp()
242
226
 
243
227
  self.server = compute_fakes.create_one_sdk_server()
244
- self.compute_client.find_server.return_value = self.server
228
+ self.compute_sdk_client.find_server.return_value = self.server
245
229
 
246
230
  self.volume = volume_fakes.create_one_sdk_volume()
247
- self.volume_client.find_volume.return_value = self.volume
231
+ self.volume_sdk_client.find_volume.return_value = self.volume
248
232
 
249
233
  # Get the command object to test
250
234
  self.cmd = server_volume.UpdateServerVolume(self.app, None)
@@ -264,7 +248,7 @@ class TestServerVolumeUpdate(TestServerVolume):
264
248
  result = self.cmd.take_action(parsed_args)
265
249
 
266
250
  # This is a no-op
267
- self.compute_client.update_volume_attachment.assert_not_called()
251
+ self.compute_sdk_client.update_volume_attachment.assert_not_called()
268
252
  self.assertIsNone(result)
269
253
 
270
254
  @mock.patch.object(sdk_utils, 'supports_microversion')
@@ -285,7 +269,7 @@ class TestServerVolumeUpdate(TestServerVolume):
285
269
 
286
270
  result = self.cmd.take_action(parsed_args)
287
271
 
288
- self.compute_client.update_volume_attachment.assert_called_once_with(
272
+ self.compute_sdk_client.update_volume_attachment.assert_called_once_with(
289
273
  self.server,
290
274
  self.volume,
291
275
  delete_on_termination=True,
@@ -310,7 +294,7 @@ class TestServerVolumeUpdate(TestServerVolume):
310
294
 
311
295
  result = self.cmd.take_action(parsed_args)
312
296
 
313
- self.compute_client.update_volume_attachment.assert_called_once_with(
297
+ self.compute_sdk_client.update_volume_attachment.assert_called_once_with(
314
298
  self.server, self.volume, delete_on_termination=False
315
299
  )
316
300
  self.assertIsNone(result)
@@ -339,7 +323,7 @@ class TestServerVolumeUpdate(TestServerVolume):
339
323
  self.cmd.take_action,
340
324
  parsed_args,
341
325
  )
342
- self.compute_client.update_volume_attachment.assert_not_called()
326
+ self.compute_sdk_client.update_volume_attachment.assert_not_called()
343
327
 
344
328
  @mock.patch.object(sdk_utils, 'supports_microversion')
345
329
  def test_server_volume_update_with_preserve_on_termination_pre_v285(
@@ -365,4 +349,4 @@ class TestServerVolumeUpdate(TestServerVolume):
365
349
  self.cmd.take_action,
366
350
  parsed_args,
367
351
  )
368
- self.compute_client.update_volume_attachment.assert_not_called()
352
+ self.compute_sdk_client.update_volume_attachment.assert_not_called()