python-openstackclient 7.4.0__py3-none-any.whl → 8.1.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 (264) hide show
  1. openstackclient/common/availability_zone.py +3 -6
  2. openstackclient/common/clientmanager.py +2 -1
  3. openstackclient/common/envvars.py +57 -0
  4. openstackclient/common/extension.py +3 -11
  5. openstackclient/common/limits.py +1 -1
  6. openstackclient/common/project_cleanup.py +3 -2
  7. openstackclient/common/quota.py +54 -28
  8. openstackclient/compute/client.py +7 -5
  9. openstackclient/compute/v2/agent.py +5 -5
  10. openstackclient/compute/v2/aggregate.py +17 -15
  11. openstackclient/compute/v2/console.py +10 -4
  12. openstackclient/compute/v2/console_connection.py +48 -0
  13. openstackclient/compute/v2/flavor.py +14 -18
  14. openstackclient/compute/v2/host.py +3 -3
  15. openstackclient/compute/v2/hypervisor.py +10 -4
  16. openstackclient/compute/v2/hypervisor_stats.py +1 -1
  17. openstackclient/compute/v2/keypair.py +18 -13
  18. openstackclient/compute/v2/server.py +144 -121
  19. openstackclient/compute/v2/server_backup.py +1 -1
  20. openstackclient/compute/v2/server_event.py +8 -17
  21. openstackclient/compute/v2/server_group.py +6 -6
  22. openstackclient/compute/v2/server_image.py +1 -1
  23. openstackclient/compute/v2/server_migration.py +6 -6
  24. openstackclient/compute/v2/server_volume.py +4 -4
  25. openstackclient/compute/v2/service.py +9 -13
  26. openstackclient/compute/v2/usage.py +4 -6
  27. openstackclient/identity/client.py +2 -4
  28. openstackclient/identity/common.py +95 -17
  29. openstackclient/identity/v2_0/ec2creds.py +4 -3
  30. openstackclient/identity/v2_0/endpoint.py +12 -10
  31. openstackclient/identity/v2_0/project.py +6 -6
  32. openstackclient/identity/v2_0/role.py +1 -1
  33. openstackclient/identity/v2_0/service.py +7 -7
  34. openstackclient/identity/v2_0/user.py +6 -21
  35. openstackclient/identity/v3/access_rule.py +2 -5
  36. openstackclient/identity/v3/application_credential.py +2 -2
  37. openstackclient/identity/v3/consumer.py +4 -3
  38. openstackclient/identity/v3/credential.py +6 -7
  39. openstackclient/identity/v3/domain.py +63 -44
  40. openstackclient/identity/v3/ec2creds.py +4 -3
  41. openstackclient/identity/v3/endpoint.py +104 -88
  42. openstackclient/identity/v3/endpoint_group.py +1 -1
  43. openstackclient/identity/v3/group.py +116 -72
  44. openstackclient/identity/v3/identity_provider.py +1 -2
  45. openstackclient/identity/v3/limit.py +4 -9
  46. openstackclient/identity/v3/mapping.py +4 -3
  47. openstackclient/identity/v3/policy.py +5 -8
  48. openstackclient/identity/v3/project.py +23 -6
  49. openstackclient/identity/v3/region.py +2 -5
  50. openstackclient/identity/v3/registered_limit.py +4 -8
  51. openstackclient/identity/v3/role.py +15 -16
  52. openstackclient/identity/v3/service.py +8 -8
  53. openstackclient/identity/v3/service_provider.py +3 -6
  54. openstackclient/identity/v3/tag.py +2 -2
  55. openstackclient/identity/v3/token.py +1 -2
  56. openstackclient/identity/v3/trust.py +74 -25
  57. openstackclient/identity/v3/user.py +47 -11
  58. openstackclient/image/client.py +7 -5
  59. openstackclient/image/v1/image.py +11 -15
  60. openstackclient/image/v2/cache.py +2 -4
  61. openstackclient/image/v2/image.py +41 -48
  62. openstackclient/image/v2/metadef_namespaces.py +4 -3
  63. openstackclient/image/v2/metadef_resource_type_association.py +1 -2
  64. openstackclient/image/v2/metadef_resource_types.py +1 -2
  65. openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po +9 -1370
  66. openstackclient/network/client.py +4 -16
  67. openstackclient/network/common.py +16 -12
  68. openstackclient/network/utils.py +3 -3
  69. openstackclient/network/v2/address_group.py +5 -9
  70. openstackclient/network/v2/address_scope.py +2 -3
  71. openstackclient/network/v2/default_security_group_rule.py +1 -2
  72. openstackclient/network/v2/floating_ip.py +69 -47
  73. openstackclient/network/v2/floating_ip_port_forwarding.py +7 -7
  74. openstackclient/network/v2/ip_availability.py +1 -2
  75. openstackclient/network/v2/l3_conntrack_helper.py +8 -12
  76. openstackclient/network/v2/local_ip.py +24 -26
  77. openstackclient/network/v2/local_ip_association.py +4 -5
  78. openstackclient/network/v2/ndp_proxy.py +9 -10
  79. openstackclient/network/v2/network.py +12 -16
  80. openstackclient/network/v2/network_agent.py +29 -37
  81. openstackclient/network/v2/network_auto_allocated_topology.py +4 -5
  82. openstackclient/network/v2/network_flavor.py +1 -1
  83. openstackclient/network/v2/network_flavor_profile.py +5 -5
  84. openstackclient/network/v2/network_meter.py +3 -3
  85. openstackclient/network/v2/network_meter_rule.py +5 -8
  86. openstackclient/network/v2/network_qos_policy.py +4 -4
  87. openstackclient/network/v2/network_qos_rule.py +7 -16
  88. openstackclient/network/v2/network_rbac.py +4 -4
  89. openstackclient/network/v2/network_segment.py +6 -7
  90. openstackclient/network/v2/network_segment_range.py +16 -20
  91. openstackclient/network/v2/network_trunk.py +24 -16
  92. openstackclient/network/v2/port.py +28 -29
  93. openstackclient/network/v2/router.py +53 -42
  94. openstackclient/network/v2/security_group.py +13 -19
  95. openstackclient/network/v2/security_group_rule.py +10 -11
  96. openstackclient/network/v2/subnet.py +31 -30
  97. openstackclient/network/v2/subnet_pool.py +4 -4
  98. openstackclient/object/client.py +2 -3
  99. openstackclient/object/v1/container.py +2 -3
  100. openstackclient/object/v1/object.py +2 -9
  101. openstackclient/shell.py +22 -5
  102. openstackclient/tests/functional/base.py +7 -3
  103. openstackclient/tests/functional/common/test_quota.py +3 -1
  104. openstackclient/tests/functional/compute/v2/common.py +12 -6
  105. openstackclient/tests/functional/compute/v2/test_keypair.py +41 -5
  106. openstackclient/tests/functional/compute/v2/test_server.py +2 -3
  107. openstackclient/tests/functional/compute/v2/test_server_event.py +1 -1
  108. openstackclient/tests/functional/identity/v2/test_user.py +1 -1
  109. openstackclient/tests/functional/identity/v3/common.py +3 -8
  110. openstackclient/tests/functional/identity/v3/test_application_credential.py +10 -10
  111. openstackclient/tests/functional/identity/v3/test_endpoint.py +3 -3
  112. openstackclient/tests/functional/identity/v3/test_group.py +3 -3
  113. openstackclient/tests/functional/identity/v3/test_idp.py +3 -7
  114. openstackclient/tests/functional/identity/v3/test_limit.py +4 -4
  115. openstackclient/tests/functional/identity/v3/test_project.py +5 -14
  116. openstackclient/tests/functional/identity/v3/test_region.py +1 -3
  117. openstackclient/tests/functional/identity/v3/test_registered_limit.py +3 -3
  118. openstackclient/tests/functional/identity/v3/test_role.py +1 -1
  119. openstackclient/tests/functional/identity/v3/test_role_assignment.py +13 -31
  120. openstackclient/tests/functional/identity/v3/test_service_provider.py +3 -7
  121. openstackclient/tests/functional/identity/v3/test_user.py +8 -8
  122. openstackclient/tests/functional/network/v2/common.py +7 -3
  123. openstackclient/tests/functional/network/v2/test_address_group.py +4 -0
  124. openstackclient/tests/functional/network/v2/test_l3_conntrack_helper.py +15 -11
  125. openstackclient/tests/functional/network/v2/test_local_ip.py +4 -0
  126. openstackclient/tests/functional/network/v2/test_network_meter_rule.py +2 -2
  127. openstackclient/tests/functional/network/v2/test_network_ndp_proxy.py +2 -3
  128. openstackclient/tests/functional/network/v2/test_network_rbac.py +2 -2
  129. openstackclient/tests/functional/network/v2/test_network_trunk.py +1 -1
  130. openstackclient/tests/functional/network/v2/test_port.py +17 -7
  131. openstackclient/tests/functional/network/v2/test_router.py +42 -0
  132. openstackclient/tests/functional/network/v2/test_subnet_pool.py +4 -0
  133. openstackclient/tests/unit/api/test_compute_v2.py +67 -87
  134. openstackclient/tests/unit/common/test_availability_zone.py +6 -14
  135. openstackclient/tests/unit/common/test_command.py +1 -1
  136. openstackclient/tests/unit/common/test_extension.py +5 -7
  137. openstackclient/tests/unit/common/test_limits.py +1 -1
  138. openstackclient/tests/unit/common/test_project_cleanup.py +5 -6
  139. openstackclient/tests/unit/common/test_quota.py +51 -28
  140. openstackclient/tests/unit/compute/v2/fakes.py +85 -315
  141. openstackclient/tests/unit/compute/v2/test_agent.py +16 -16
  142. openstackclient/tests/unit/compute/v2/test_aggregate.py +56 -60
  143. openstackclient/tests/unit/compute/v2/test_console.py +34 -17
  144. openstackclient/tests/unit/compute/v2/test_console_connection.py +72 -0
  145. openstackclient/tests/unit/compute/v2/test_flavor.py +72 -72
  146. openstackclient/tests/unit/compute/v2/test_host.py +8 -8
  147. openstackclient/tests/unit/compute/v2/test_hypervisor.py +22 -30
  148. openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +2 -2
  149. openstackclient/tests/unit/compute/v2/test_keypair.py +36 -29
  150. openstackclient/tests/unit/compute/v2/test_server.py +693 -606
  151. openstackclient/tests/unit/compute/v2/test_server_backup.py +36 -77
  152. openstackclient/tests/unit/compute/v2/test_server_event.py +18 -20
  153. openstackclient/tests/unit/compute/v2/test_server_group.py +25 -31
  154. openstackclient/tests/unit/compute/v2/test_server_image.py +37 -78
  155. openstackclient/tests/unit/compute/v2/test_server_migration.py +41 -41
  156. openstackclient/tests/unit/compute/v2/test_server_volume.py +12 -12
  157. openstackclient/tests/unit/compute/v2/test_service.py +39 -45
  158. openstackclient/tests/unit/compute/v2/test_usage.py +5 -5
  159. openstackclient/tests/unit/identity/v2_0/fakes.py +1 -1
  160. openstackclient/tests/unit/identity/v3/test_access_rule.py +1 -3
  161. openstackclient/tests/unit/identity/v3/test_application_credential.py +48 -26
  162. openstackclient/tests/unit/identity/v3/test_domain.py +115 -105
  163. openstackclient/tests/unit/identity/v3/test_endpoint.py +167 -172
  164. openstackclient/tests/unit/identity/v3/test_group.py +353 -202
  165. openstackclient/tests/unit/identity/v3/test_mappings.py +2 -2
  166. openstackclient/tests/unit/identity/v3/test_project.py +16 -0
  167. openstackclient/tests/unit/identity/v3/test_trust.py +5 -2
  168. openstackclient/tests/unit/identity/v3/test_user.py +102 -6
  169. openstackclient/tests/unit/image/v1/fakes.py +2 -2
  170. openstackclient/tests/unit/image/v1/test_image.py +8 -9
  171. openstackclient/tests/unit/image/v2/test_image.py +84 -46
  172. openstackclient/tests/unit/integ/cli/test_shell.py +1 -2
  173. openstackclient/tests/unit/network/test_common.py +2 -2
  174. openstackclient/tests/unit/network/v2/fakes.py +405 -485
  175. openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +8 -14
  176. openstackclient/tests/unit/network/v2/test_floating_ip_network.py +62 -54
  177. openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +1 -1
  178. openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +2 -2
  179. openstackclient/tests/unit/network/v2/test_ndp_proxy.py +1 -3
  180. openstackclient/tests/unit/network/v2/test_network.py +4 -4
  181. openstackclient/tests/unit/network/v2/test_network_agent.py +15 -29
  182. openstackclient/tests/unit/network/v2/test_network_compute.py +11 -11
  183. openstackclient/tests/unit/network/v2/test_network_qos_policy.py +16 -19
  184. openstackclient/tests/unit/network/v2/test_network_qos_rule.py +79 -152
  185. openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +4 -6
  186. openstackclient/tests/unit/network/v2/test_network_rbac.py +2 -2
  187. openstackclient/tests/unit/network/v2/test_network_trunk.py +2 -2
  188. openstackclient/tests/unit/network/v2/test_port.py +21 -22
  189. openstackclient/tests/unit/network/v2/test_router.py +130 -51
  190. openstackclient/tests/unit/network/v2/test_security_group_compute.py +11 -19
  191. openstackclient/tests/unit/network/v2/test_security_group_network.py +25 -27
  192. openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +15 -17
  193. openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +33 -39
  194. openstackclient/tests/unit/object/v1/test_object_all.py +4 -3
  195. openstackclient/tests/unit/test_shell.py +16 -13
  196. openstackclient/tests/unit/volume/v2/fakes.py +1 -2
  197. openstackclient/tests/unit/volume/v2/test_service.py +57 -91
  198. openstackclient/tests/unit/volume/v2/test_volume.py +109 -106
  199. openstackclient/tests/unit/volume/v2/test_volume_backup.py +141 -148
  200. openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +293 -283
  201. openstackclient/tests/unit/volume/v2/test_volume_transfer_request.py +1 -1
  202. openstackclient/tests/unit/volume/v3/fakes.py +2 -8
  203. openstackclient/tests/unit/volume/v3/test_block_storage_log_level.py +61 -71
  204. openstackclient/tests/unit/volume/v3/test_service.py +221 -141
  205. openstackclient/tests/unit/volume/v3/test_volume.py +131 -120
  206. openstackclient/tests/unit/volume/v3/test_volume_attachment.py +4 -4
  207. openstackclient/tests/unit/volume/v3/test_volume_backup.py +198 -203
  208. openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +683 -49
  209. openstackclient/tests/unit/volume/v3/test_volume_transfer_request.py +1 -1
  210. openstackclient/volume/client.py +1 -3
  211. openstackclient/volume/v2/consistency_group.py +4 -8
  212. openstackclient/volume/v2/consistency_group_snapshot.py +1 -2
  213. openstackclient/volume/v2/qos_specs.py +1 -2
  214. openstackclient/volume/v2/service.py +41 -38
  215. openstackclient/volume/v2/volume.py +71 -53
  216. openstackclient/volume/v2/volume_backup.py +15 -10
  217. openstackclient/volume/v2/volume_snapshot.py +129 -93
  218. openstackclient/volume/v2/volume_transfer_request.py +0 -3
  219. openstackclient/volume/v2/volume_type.py +10 -21
  220. openstackclient/volume/v3/block_storage_cluster.py +3 -3
  221. openstackclient/volume/v3/block_storage_log_level.py +22 -28
  222. openstackclient/volume/v3/block_storage_manage.py +1 -3
  223. openstackclient/volume/v3/service.py +105 -14
  224. openstackclient/volume/v3/volume.py +218 -58
  225. openstackclient/volume/v3/volume_attachment.py +3 -2
  226. openstackclient/volume/v3/volume_backup.py +31 -27
  227. openstackclient/volume/v3/volume_group.py +2 -1
  228. openstackclient/volume/v3/volume_group_snapshot.py +2 -1
  229. openstackclient/volume/v3/volume_snapshot.py +489 -13
  230. openstackclient/volume/v3/volume_type.py +10 -21
  231. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/AUTHORS +11 -0
  232. python_openstackclient-8.1.0.dist-info/METADATA +264 -0
  233. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/RECORD +238 -259
  234. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/WHEEL +1 -1
  235. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/entry_points.txt +7 -47
  236. python_openstackclient-8.1.0.dist-info/pbr.json +1 -0
  237. openstackclient/tests/functional/volume/v1/__init__.py +0 -0
  238. openstackclient/tests/functional/volume/v1/common.py +0 -35
  239. openstackclient/tests/functional/volume/v1/test_qos.py +0 -100
  240. openstackclient/tests/functional/volume/v1/test_service.py +0 -76
  241. openstackclient/tests/functional/volume/v1/test_snapshot.py +0 -232
  242. openstackclient/tests/functional/volume/v1/test_transfer_request.py +0 -111
  243. openstackclient/tests/functional/volume/v1/test_volume.py +0 -228
  244. openstackclient/tests/functional/volume/v1/test_volume_type.py +0 -213
  245. openstackclient/tests/unit/volume/v1/__init__.py +0 -0
  246. openstackclient/tests/unit/volume/v1/fakes.py +0 -615
  247. openstackclient/tests/unit/volume/v1/test_qos_specs.py +0 -471
  248. openstackclient/tests/unit/volume/v1/test_service.py +0 -295
  249. openstackclient/tests/unit/volume/v1/test_transfer_request.py +0 -380
  250. openstackclient/tests/unit/volume/v1/test_type.py +0 -633
  251. openstackclient/tests/unit/volume/v1/test_volume.py +0 -1447
  252. openstackclient/tests/unit/volume/v1/test_volume_backup.py +0 -435
  253. openstackclient/volume/v1/__init__.py +0 -0
  254. openstackclient/volume/v1/qos_specs.py +0 -377
  255. openstackclient/volume/v1/service.py +0 -136
  256. openstackclient/volume/v1/volume.py +0 -734
  257. openstackclient/volume/v1/volume_backup.py +0 -302
  258. openstackclient/volume/v1/volume_snapshot.py +0 -433
  259. openstackclient/volume/v1/volume_transfer_request.py +0 -200
  260. openstackclient/volume/v1/volume_type.py +0 -520
  261. python_openstackclient-7.4.0.dist-info/METADATA +0 -172
  262. python_openstackclient-7.4.0.dist-info/pbr.json +0 -1
  263. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/LICENSE +0 -0
  264. {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.1.0.dist-info}/top_level.txt +0 -0
@@ -241,7 +241,7 @@ class TestTransferDelete(TestTransfer):
241
241
  self.fail('CommandError should be raised.')
242
242
  except exceptions.CommandError as e:
243
243
  self.assertEqual(
244
- '1 of 2 volume transfer requests failed ' 'to delete',
244
+ '1 of 2 volume transfer requests failed to delete',
245
245
  str(e),
246
246
  )
247
247
 
@@ -129,14 +129,8 @@ class TestVolume(
129
129
 
130
130
  # avoid circular imports by defining this manually rather than using
131
131
  # openstackclient.tests.unit.compute.v2.fakes.FakeClientMixin
132
- # TODO(stephenfin): Rename to 'compute_client' once all commands are
133
- # migrated to SDK
134
- self.app.client_manager.sdk_connection.compute = mock.Mock(
135
- _compute_proxy.Proxy
136
- )
137
- self.compute_sdk_client = (
138
- self.app.client_manager.sdk_connection.compute
139
- )
132
+ self.app.client_manager.compute = mock.Mock(_compute_proxy.Proxy)
133
+ self.compute_client = self.app.client_manager.compute
140
134
 
141
135
  # avoid circular imports by defining this manually rather than using
142
136
  # openstackclient.tests.unit.image.v2.fakes.FakeClientMixin
@@ -10,9 +10,10 @@
10
10
  # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
11
11
  # License for the specific language governing permissions and limitations
12
12
  # under the License.
13
- #
14
13
 
15
14
  import ddt
15
+ from openstack.block_storage.v3 import service as _service
16
+ from openstack.test import fakes as sdk_fakes
16
17
  from osc_lib import exceptions
17
18
 
18
19
  from openstackclient.tests.unit import utils as tests_utils
@@ -20,24 +21,17 @@ from openstackclient.tests.unit.volume.v3 import fakes as volume_fakes
20
21
  from openstackclient.volume.v3 import block_storage_log_level as service
21
22
 
22
23
 
23
- class TestService(volume_fakes.TestVolume):
24
- def setUp(self):
25
- super().setUp()
26
-
27
- # Get a shortcut to the ServiceManager Mock
28
- self.service_mock = self.volume_client.services
29
- self.service_mock.reset_mock()
30
-
31
-
32
- class TestBlockStorageLogLevelList(TestService):
33
- service_log = volume_fakes.create_service_log_level_entry()
34
-
24
+ class TestBlockStorageLogLevelList(volume_fakes.TestVolume):
35
25
  def setUp(self):
36
26
  super().setUp()
37
27
 
38
- self.service_mock.get_log_levels.return_value = [self.service_log]
28
+ self.log_level = sdk_fakes.generate_fake_resource(
29
+ _service.LogLevel, binary='cinder-scheduler'
30
+ )
31
+ self.volume_sdk_client.get_service_log_levels.return_value = [
32
+ self.log_level
33
+ ]
39
34
 
40
- # Get the command object to test
41
35
  self.cmd = service.BlockStorageLogLevelList(self.app, None)
42
36
 
43
37
  def test_block_storage_log_level_list(self):
@@ -45,16 +39,16 @@ class TestBlockStorageLogLevelList(TestService):
45
39
 
46
40
  arglist = [
47
41
  '--host',
48
- self.service_log.host,
42
+ self.log_level.host,
49
43
  '--service',
50
- self.service_log.binary,
44
+ self.log_level.binary,
51
45
  '--log-prefix',
52
- self.service_log.prefix,
46
+ 'cinder.',
53
47
  ]
54
48
  verifylist = [
55
- ('host', self.service_log.host),
56
- ('service', self.service_log.binary),
57
- ('log_prefix', self.service_log.prefix),
49
+ ('host', self.log_level.host),
50
+ ('service', self.log_level.binary),
51
+ ('log_prefix', 'cinder.'),
58
52
  ]
59
53
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
60
54
 
@@ -66,40 +60,35 @@ class TestBlockStorageLogLevelList(TestService):
66
60
  'Prefix',
67
61
  'Level',
68
62
  ]
69
-
70
- # confirming if all expected columns are present in the result.
71
- self.assertEqual(expected_columns, columns)
72
-
73
- datalist = (
63
+ datalist = tuple(
74
64
  (
75
- self.service_log.binary,
76
- self.service_log.host,
77
- self.service_log.prefix,
78
- self.service_log.level,
79
- ),
65
+ self.log_level.binary,
66
+ self.log_level.host,
67
+ prefix,
68
+ level,
69
+ )
70
+ for prefix, level in self.log_level.levels.values()
80
71
  )
81
-
82
- # confirming if all expected values are present in the result.
72
+ self.assertEqual(expected_columns, columns)
83
73
  self.assertEqual(datalist, tuple(data))
84
74
 
85
- # checking if proper call was made to get log level of services
86
- self.service_mock.get_log_levels.assert_called_with(
87
- server=self.service_log.host,
88
- binary=self.service_log.binary,
89
- prefix=self.service_log.prefix,
75
+ self.volume_sdk_client.get_service_log_levels.assert_called_with(
76
+ server=self.log_level.host,
77
+ binary=self.log_level.binary,
78
+ prefix='cinder.',
90
79
  )
91
80
 
92
81
  def test_block_storage_log_level_list_pre_332(self):
93
82
  arglist = [
94
83
  '--host',
95
- self.service_log.host,
84
+ self.log_level.host,
96
85
  '--service',
97
86
  'cinder-api',
98
87
  '--log-prefix',
99
88
  'cinder_test.api.common',
100
89
  ]
101
90
  verifylist = [
102
- ('host', self.service_log.host),
91
+ ('host', self.log_level.host),
103
92
  ('service', 'cinder-api'),
104
93
  ('log_prefix', 'cinder_test.api.common'),
105
94
  ]
@@ -117,14 +106,14 @@ class TestBlockStorageLogLevelList(TestService):
117
106
 
118
107
  arglist = [
119
108
  '--host',
120
- self.service_log.host,
109
+ self.log_level.host,
121
110
  '--service',
122
111
  'nova-api',
123
112
  '--log-prefix',
124
113
  'cinder_test.api.common',
125
114
  ]
126
115
  verifylist = [
127
- ('host', self.service_log.host),
116
+ ('host', self.log_level.host),
128
117
  ('service', 'nova-api'),
129
118
  ('log_prefix', 'cinder_test.api.common'),
130
119
  ]
@@ -139,13 +128,15 @@ class TestBlockStorageLogLevelList(TestService):
139
128
 
140
129
 
141
130
  @ddt.ddt
142
- class TestBlockStorageLogLevelSet(TestService):
143
- service_log = volume_fakes.create_service_log_level_entry()
144
-
131
+ class TestBlockStorageLogLevelSet(volume_fakes.TestVolume):
145
132
  def setUp(self):
146
133
  super().setUp()
147
134
 
148
- # Get the command object to test
135
+ self.log_level = sdk_fakes.generate_fake_resource(
136
+ _service.LogLevel, binary='cinder-api'
137
+ )
138
+ self.volume_sdk_client.set_service_log_levels.return_value = None
139
+
149
140
  self.cmd = service.BlockStorageLogLevelSet(self.app, None)
150
141
 
151
142
  def test_block_storage_log_level_set(self):
@@ -154,45 +145,45 @@ class TestBlockStorageLogLevelSet(TestService):
154
145
  arglist = [
155
146
  'ERROR',
156
147
  '--host',
157
- self.service_log.host,
148
+ self.log_level.host,
158
149
  '--service',
159
- self.service_log.binary,
150
+ self.log_level.binary,
160
151
  '--log-prefix',
161
- self.service_log.prefix,
152
+ 'cinder.api.common',
162
153
  ]
163
154
  verifylist = [
164
155
  ('level', 'ERROR'),
165
- ('host', self.service_log.host),
166
- ('service', self.service_log.binary),
167
- ('log_prefix', self.service_log.prefix),
156
+ ('host', self.log_level.host),
157
+ ('service', self.log_level.binary),
158
+ ('log_prefix', 'cinder.api.common'),
168
159
  ]
169
160
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
170
161
 
171
- self.cmd.take_action(parsed_args)
162
+ ret = self.cmd.take_action(parsed_args)
172
163
 
173
- # checking if proper call was made to set log level of services
174
- self.service_mock.set_log_levels.assert_called_with(
164
+ self.assertIsNone(ret)
165
+ self.volume_sdk_client.set_service_log_levels.assert_called_with(
175
166
  level='ERROR',
176
- server=self.service_log.host,
177
- binary=self.service_log.binary,
178
- prefix=self.service_log.prefix,
167
+ server=self.log_level.host,
168
+ binary=self.log_level.binary,
169
+ prefix='cinder.api.common',
179
170
  )
180
171
 
181
172
  def test_block_storage_log_level_set_pre_332(self):
182
173
  arglist = [
183
174
  'ERROR',
184
175
  '--host',
185
- self.service_log.host,
176
+ self.log_level.host,
186
177
  '--service',
187
178
  'cinder-api',
188
179
  '--log-prefix',
189
- 'cinder_test.api.common',
180
+ 'cinder.api.common',
190
181
  ]
191
182
  verifylist = [
192
183
  ('level', 'ERROR'),
193
- ('host', self.service_log.host),
184
+ ('host', self.log_level.host),
194
185
  ('service', 'cinder-api'),
195
- ('log_prefix', 'cinder_test.api.common'),
186
+ ('log_prefix', 'cinder.api.common'),
196
187
  ]
197
188
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
198
189
 
@@ -209,7 +200,7 @@ class TestBlockStorageLogLevelSet(TestService):
209
200
  arglist = [
210
201
  'ERROR',
211
202
  '--host',
212
- self.service_log.host,
203
+ self.log_level.host,
213
204
  '--service',
214
205
  'nova-api',
215
206
  '--log-prefix',
@@ -217,7 +208,7 @@ class TestBlockStorageLogLevelSet(TestService):
217
208
  ]
218
209
  verifylist = [
219
210
  ('level', 'ERROR'),
220
- ('host', self.service_log.host),
211
+ ('host', self.log_level.host),
221
212
  ('service', 'nova-api'),
222
213
  ('log_prefix', 'cinder.api.common'),
223
214
  ]
@@ -237,7 +228,7 @@ class TestBlockStorageLogLevelSet(TestService):
237
228
  arglist = [
238
229
  log_level,
239
230
  '--host',
240
- self.service_log.host,
231
+ self.log_level.host,
241
232
  '--service',
242
233
  'cinder-api',
243
234
  '--log-prefix',
@@ -245,7 +236,7 @@ class TestBlockStorageLogLevelSet(TestService):
245
236
  ]
246
237
  verifylist = [
247
238
  ('level', log_level.upper()),
248
- ('host', self.service_log.host),
239
+ ('host', self.log_level.host),
249
240
  ('service', 'cinder-api'),
250
241
  ('log_prefix', 'cinder.api.common'),
251
242
  ]
@@ -263,10 +254,9 @@ class TestBlockStorageLogLevelSet(TestService):
263
254
 
264
255
  self.cmd.take_action(parsed_args)
265
256
 
266
- # checking if proper call was made to set log level of services
267
- self.service_mock.set_log_levels.assert_called_with(
257
+ self.volume_sdk_client.set_service_log_levels.assert_called_with(
268
258
  level=log_level.upper(),
269
- server=self.service_log.host,
270
- binary=self.service_log.binary,
271
- prefix=self.service_log.prefix,
259
+ server=self.log_level.host,
260
+ binary=self.log_level.binary,
261
+ prefix='cinder.api.common',
272
262
  )