python-openstackclient 6.6.0__py3-none-any.whl → 7.0.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 (337) hide show
  1. openstackclient/api/api.py +7 -8
  2. openstackclient/api/compute_v2.py +352 -638
  3. openstackclient/api/image_v1.py +1 -1
  4. openstackclient/api/object_store_v1.py +3 -4
  5. openstackclient/common/availability_zone.py +1 -1
  6. openstackclient/common/clientmanager.py +16 -4
  7. openstackclient/common/configuration.py +1 -1
  8. openstackclient/common/extension.py +1 -1
  9. openstackclient/common/limits.py +66 -32
  10. openstackclient/common/module.py +3 -3
  11. openstackclient/common/progressbar.py +2 -2
  12. openstackclient/common/project_cleanup.py +5 -2
  13. openstackclient/common/quota.py +281 -410
  14. openstackclient/common/versions.py +1 -1
  15. openstackclient/compute/client.py +7 -116
  16. openstackclient/compute/v2/agent.py +75 -49
  17. openstackclient/compute/v2/aggregate.py +9 -9
  18. openstackclient/compute/v2/console.py +2 -2
  19. openstackclient/compute/v2/flavor.py +6 -6
  20. openstackclient/compute/v2/host.py +38 -33
  21. openstackclient/compute/v2/hypervisor.py +4 -3
  22. openstackclient/compute/v2/keypair.py +7 -8
  23. openstackclient/compute/v2/server.py +478 -396
  24. openstackclient/compute/v2/server_backup.py +1 -1
  25. openstackclient/compute/v2/server_group.py +4 -4
  26. openstackclient/compute/v2/server_image.py +1 -1
  27. openstackclient/compute/v2/server_migration.py +3 -4
  28. openstackclient/compute/v2/service.py +4 -4
  29. openstackclient/compute/v2/usage.py +3 -3
  30. openstackclient/identity/common.py +34 -0
  31. openstackclient/identity/v2_0/catalog.py +2 -2
  32. openstackclient/identity/v2_0/ec2creds.py +4 -4
  33. openstackclient/identity/v2_0/endpoint.py +4 -4
  34. openstackclient/identity/v2_0/project.py +6 -6
  35. openstackclient/identity/v2_0/role.py +5 -5
  36. openstackclient/identity/v2_0/role_assignment.py +1 -1
  37. openstackclient/identity/v2_0/service.py +4 -4
  38. openstackclient/identity/v2_0/token.py +2 -2
  39. openstackclient/identity/v2_0/user.py +7 -7
  40. openstackclient/identity/v3/access_rule.py +3 -3
  41. openstackclient/identity/v3/application_credential.py +127 -45
  42. openstackclient/identity/v3/catalog.py +2 -2
  43. openstackclient/identity/v3/consumer.py +4 -4
  44. openstackclient/identity/v3/credential.py +5 -5
  45. openstackclient/identity/v3/domain.py +5 -5
  46. openstackclient/identity/v3/ec2creds.py +4 -4
  47. openstackclient/identity/v3/endpoint.py +7 -7
  48. openstackclient/identity/v3/endpoint_group.py +8 -10
  49. openstackclient/identity/v3/federation_protocol.py +5 -5
  50. openstackclient/identity/v3/group.py +8 -8
  51. openstackclient/identity/v3/identity_provider.py +5 -5
  52. openstackclient/identity/v3/implied_role.py +3 -3
  53. openstackclient/identity/v3/limit.py +5 -5
  54. openstackclient/identity/v3/mapping.py +5 -5
  55. openstackclient/identity/v3/policy.py +5 -5
  56. openstackclient/identity/v3/project.py +5 -5
  57. openstackclient/identity/v3/region.py +5 -5
  58. openstackclient/identity/v3/registered_limit.py +5 -5
  59. openstackclient/identity/v3/role.py +7 -7
  60. openstackclient/identity/v3/role_assignment.py +92 -140
  61. openstackclient/identity/v3/service.py +64 -34
  62. openstackclient/identity/v3/service_provider.py +4 -4
  63. openstackclient/identity/v3/tag.py +2 -2
  64. openstackclient/identity/v3/token.py +5 -5
  65. openstackclient/identity/v3/trust.py +3 -3
  66. openstackclient/identity/v3/user.py +144 -80
  67. openstackclient/image/client.py +4 -4
  68. openstackclient/image/v1/image.py +8 -9
  69. openstackclient/image/v2/cache.py +12 -10
  70. openstackclient/image/v2/metadef_objects.py +44 -0
  71. openstackclient/image/v2/metadef_resource_type_association.py +189 -0
  72. openstackclient/image/v2/task.py +1 -1
  73. openstackclient/network/common.py +6 -5
  74. openstackclient/network/utils.py +2 -2
  75. openstackclient/network/v2/address_group.py +6 -6
  76. openstackclient/network/v2/address_scope.py +5 -5
  77. openstackclient/network/v2/default_security_group_rule.py +1 -1
  78. openstackclient/network/v2/floating_ip.py +8 -10
  79. openstackclient/network/v2/floating_ip_pool.py +6 -15
  80. openstackclient/network/v2/floating_ip_port_forwarding.py +5 -13
  81. openstackclient/network/v2/ip_availability.py +2 -2
  82. openstackclient/network/v2/l3_conntrack_helper.py +5 -5
  83. openstackclient/network/v2/network.py +8 -8
  84. openstackclient/network/v2/network_agent.py +8 -8
  85. openstackclient/network/v2/network_auto_allocated_topology.py +2 -2
  86. openstackclient/network/v2/network_flavor.py +6 -8
  87. openstackclient/network/v2/network_flavor_profile.py +4 -4
  88. openstackclient/network/v2/network_meter.py +3 -3
  89. openstackclient/network/v2/network_meter_rule.py +3 -3
  90. openstackclient/network/v2/network_qos_policy.py +5 -5
  91. openstackclient/network/v2/network_qos_rule.py +9 -9
  92. openstackclient/network/v2/network_qos_rule_type.py +1 -1
  93. openstackclient/network/v2/network_rbac.py +5 -5
  94. openstackclient/network/v2/network_segment.py +5 -5
  95. openstackclient/network/v2/network_segment_range.py +7 -7
  96. openstackclient/network/v2/network_trunk.py +7 -7
  97. openstackclient/network/v2/port.py +26 -12
  98. openstackclient/network/v2/router.py +403 -54
  99. openstackclient/network/v2/security_group.py +18 -14
  100. openstackclient/network/v2/security_group_rule.py +18 -15
  101. openstackclient/network/v2/subnet.py +15 -8
  102. openstackclient/network/v2/subnet_pool.py +6 -6
  103. openstackclient/object/v1/account.py +2 -2
  104. openstackclient/object/v1/container.py +7 -7
  105. openstackclient/object/v1/object.py +7 -7
  106. openstackclient/shell.py +4 -6
  107. openstackclient/tests/functional/base.py +1 -1
  108. openstackclient/tests/functional/common/test_extension.py +1 -1
  109. openstackclient/tests/functional/common/test_help.py +2 -2
  110. openstackclient/tests/functional/common/test_module.py +1 -1
  111. openstackclient/tests/functional/common/test_quota.py +43 -61
  112. openstackclient/tests/functional/compute/v2/common.py +2 -2
  113. openstackclient/tests/functional/compute/v2/test_flavor.py +2 -2
  114. openstackclient/tests/functional/compute/v2/test_keypair.py +1 -1
  115. openstackclient/tests/functional/compute/v2/test_server.py +5 -5
  116. openstackclient/tests/functional/compute/v2/test_server_event.py +1 -1
  117. openstackclient/tests/functional/identity/v2/common.py +3 -3
  118. openstackclient/tests/functional/identity/v3/common.py +14 -6
  119. openstackclient/tests/functional/identity/v3/test_application_credential.py +13 -19
  120. openstackclient/tests/functional/identity/v3/test_domain.py +1 -3
  121. openstackclient/tests/functional/identity/v3/test_endpoint.py +1 -1
  122. openstackclient/tests/functional/identity/v3/test_idp.py +1 -1
  123. openstackclient/tests/functional/identity/v3/test_limit.py +2 -2
  124. openstackclient/tests/functional/identity/v3/test_region.py +1 -3
  125. openstackclient/tests/functional/identity/v3/test_registered_limit.py +1 -1
  126. openstackclient/tests/functional/identity/v3/test_role.py +2 -2
  127. openstackclient/tests/functional/identity/v3/test_role_assignment.py +210 -0
  128. openstackclient/tests/functional/identity/v3/test_service.py +4 -6
  129. openstackclient/tests/functional/identity/v3/test_service_provider.py +1 -3
  130. openstackclient/tests/functional/image/base.py +1 -1
  131. openstackclient/tests/functional/image/v2/test_image.py +1 -1
  132. openstackclient/tests/functional/image/v2/test_info.py +1 -1
  133. openstackclient/tests/functional/network/v2/common.py +4 -6
  134. openstackclient/tests/functional/network/v2/test_network.py +5 -3
  135. openstackclient/tests/functional/network/v2/test_network_agent.py +7 -5
  136. openstackclient/tests/functional/network/v2/test_network_qos_rule.py +4 -4
  137. openstackclient/tests/functional/network/v2/test_port.py +11 -7
  138. openstackclient/tests/functional/network/v2/test_router.py +2 -2
  139. openstackclient/tests/functional/object/v1/common.py +1 -1
  140. openstackclient/tests/functional/object/v1/test_container.py +3 -3
  141. openstackclient/tests/functional/object/v1/test_object.py +9 -13
  142. openstackclient/tests/functional/volume/base.py +1 -1
  143. openstackclient/tests/functional/volume/v1/test_service.py +1 -1
  144. openstackclient/tests/functional/volume/v1/test_snapshot.py +2 -2
  145. openstackclient/tests/functional/volume/v1/test_transfer_request.py +2 -2
  146. openstackclient/tests/functional/volume/v1/test_volume_type.py +1 -1
  147. openstackclient/tests/functional/volume/v2/test_service.py +2 -2
  148. openstackclient/tests/functional/volume/v2/test_volume_backup.py +2 -2
  149. openstackclient/tests/functional/volume/v2/test_volume_snapshot.py +2 -2
  150. openstackclient/tests/functional/volume/v2/test_volume_type.py +1 -1
  151. openstackclient/tests/functional/volume/v3/test_volume_snapshot.py +2 -2
  152. openstackclient/tests/functional/volume/v3/test_volume_type.py +1 -1
  153. openstackclient/tests/unit/api/fakes.py +1 -1
  154. openstackclient/tests/unit/api/test_api.py +2 -2
  155. openstackclient/tests/unit/api/test_compute_v2.py +522 -707
  156. openstackclient/tests/unit/api/test_image_v1.py +1 -1
  157. openstackclient/tests/unit/api/test_image_v2.py +1 -1
  158. openstackclient/tests/unit/api/test_object_store_v1.py +4 -4
  159. openstackclient/tests/unit/common/test_limits.py +73 -35
  160. openstackclient/tests/unit/common/test_logs.py +2 -2
  161. openstackclient/tests/unit/common/test_module.py +4 -2
  162. openstackclient/tests/unit/common/test_project_cleanup.py +31 -6
  163. openstackclient/tests/unit/common/test_quota.py +490 -630
  164. openstackclient/tests/unit/compute/v2/fakes.py +37 -286
  165. openstackclient/tests/unit/compute/v2/test_agent.py +189 -147
  166. openstackclient/tests/unit/compute/v2/test_aggregate.py +18 -16
  167. openstackclient/tests/unit/compute/v2/test_console.py +4 -5
  168. openstackclient/tests/unit/compute/v2/test_flavor.py +59 -68
  169. openstackclient/tests/unit/compute/v2/test_host.py +83 -54
  170. openstackclient/tests/unit/compute/v2/test_hypervisor.py +28 -31
  171. openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +2 -2
  172. openstackclient/tests/unit/compute/v2/test_keypair.py +65 -50
  173. openstackclient/tests/unit/compute/v2/test_server.py +2895 -2459
  174. openstackclient/tests/unit/compute/v2/test_server_backup.py +1 -1
  175. openstackclient/tests/unit/compute/v2/test_server_event.py +14 -39
  176. openstackclient/tests/unit/compute/v2/test_server_group.py +28 -29
  177. openstackclient/tests/unit/compute/v2/test_server_migration.py +43 -68
  178. openstackclient/tests/unit/compute/v2/test_server_volume.py +17 -34
  179. openstackclient/tests/unit/compute/v2/test_service.py +34 -52
  180. openstackclient/tests/unit/compute/v2/test_usage.py +4 -4
  181. openstackclient/tests/unit/fakes.py +11 -11
  182. openstackclient/tests/unit/identity/v2_0/fakes.py +27 -10
  183. openstackclient/tests/unit/identity/v2_0/test_catalog.py +3 -3
  184. openstackclient/tests/unit/identity/v2_0/test_endpoint.py +7 -7
  185. openstackclient/tests/unit/identity/v2_0/test_project.py +8 -8
  186. openstackclient/tests/unit/identity/v2_0/test_role.py +10 -10
  187. openstackclient/tests/unit/identity/v2_0/test_role_assignment.py +4 -4
  188. openstackclient/tests/unit/identity/v2_0/test_service.py +6 -6
  189. openstackclient/tests/unit/identity/v2_0/test_token.py +4 -4
  190. openstackclient/tests/unit/identity/v2_0/test_user.py +8 -8
  191. openstackclient/tests/unit/identity/v3/fakes.py +59 -20
  192. openstackclient/tests/unit/identity/v3/test_access_rule.py +5 -5
  193. openstackclient/tests/unit/identity/v3/test_application_credential.py +212 -235
  194. openstackclient/tests/unit/identity/v3/test_catalog.py +3 -3
  195. openstackclient/tests/unit/identity/v3/test_consumer.py +7 -8
  196. openstackclient/tests/unit/identity/v3/test_credential.py +9 -9
  197. openstackclient/tests/unit/identity/v3/test_domain.py +8 -8
  198. openstackclient/tests/unit/identity/v3/test_endpoint.py +13 -13
  199. openstackclient/tests/unit/identity/v3/test_endpoint_group.py +12 -14
  200. openstackclient/tests/unit/identity/v3/test_group.py +12 -12
  201. openstackclient/tests/unit/identity/v3/test_identity_provider.py +8 -8
  202. openstackclient/tests/unit/identity/v3/test_implied_role.py +5 -5
  203. openstackclient/tests/unit/identity/v3/test_limit.py +7 -7
  204. openstackclient/tests/unit/identity/v3/test_mappings.py +7 -7
  205. openstackclient/tests/unit/identity/v3/test_oauth.py +5 -5
  206. openstackclient/tests/unit/identity/v3/test_project.py +16 -16
  207. openstackclient/tests/unit/identity/v3/test_protocol.py +7 -7
  208. openstackclient/tests/unit/identity/v3/test_region.py +7 -7
  209. openstackclient/tests/unit/identity/v3/test_registered_limit.py +12 -13
  210. openstackclient/tests/unit/identity/v3/test_role.py +13 -13
  211. openstackclient/tests/unit/identity/v3/test_role_assignment.py +410 -331
  212. openstackclient/tests/unit/identity/v3/test_service.py +93 -97
  213. openstackclient/tests/unit/identity/v3/test_service_provider.py +7 -7
  214. openstackclient/tests/unit/identity/v3/test_token.py +4 -4
  215. openstackclient/tests/unit/identity/v3/test_trust.py +9 -9
  216. openstackclient/tests/unit/identity/v3/test_unscoped_saml.py +4 -4
  217. openstackclient/tests/unit/identity/v3/test_user.py +299 -327
  218. openstackclient/tests/unit/image/v1/test_image.py +6 -6
  219. openstackclient/tests/unit/image/v2/fakes.py +46 -9
  220. openstackclient/tests/unit/image/v2/test_cache.py +2 -2
  221. openstackclient/tests/unit/image/v2/test_image.py +3 -3
  222. openstackclient/tests/unit/image/v2/test_metadef_objects.py +62 -0
  223. openstackclient/tests/unit/image/v2/test_metadef_resource_type_association.py +131 -0
  224. openstackclient/tests/unit/integ/base.py +1 -1
  225. openstackclient/tests/unit/integ/cli/test_project.py +4 -4
  226. openstackclient/tests/unit/integ/cli/test_shell.py +7 -7
  227. openstackclient/tests/unit/network/test_common.py +12 -21
  228. openstackclient/tests/unit/network/v2/fakes.py +64 -130
  229. openstackclient/tests/unit/network/v2/test_address_group.py +15 -15
  230. openstackclient/tests/unit/network/v2/test_address_scope.py +13 -13
  231. openstackclient/tests/unit/network/v2/test_default_security_group_rule.py +49 -27
  232. openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +40 -38
  233. openstackclient/tests/unit/network/v2/test_floating_ip_network.py +15 -15
  234. openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +4 -7
  235. openstackclient/tests/unit/network/v2/test_floating_ip_pool_network.py +3 -5
  236. openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +11 -11
  237. openstackclient/tests/unit/network/v2/test_ip_availability.py +6 -6
  238. openstackclient/tests/unit/network/v2/test_l3_conntrack_helper.py +11 -21
  239. openstackclient/tests/unit/network/v2/test_local_ip.py +7 -7
  240. openstackclient/tests/unit/network/v2/test_local_ip_association.py +3 -5
  241. openstackclient/tests/unit/network/v2/test_ndp_proxy.py +13 -13
  242. openstackclient/tests/unit/network/v2/test_network.py +23 -28
  243. openstackclient/tests/unit/network/v2/test_network_agent.py +17 -21
  244. openstackclient/tests/unit/network/v2/test_network_auto_allocated_topology.py +8 -8
  245. openstackclient/tests/unit/network/v2/test_network_compute.py +66 -65
  246. openstackclient/tests/unit/network/v2/test_network_flavor.py +17 -19
  247. openstackclient/tests/unit/network/v2/test_network_flavor_profile.py +13 -13
  248. openstackclient/tests/unit/network/v2/test_network_meter.py +11 -11
  249. openstackclient/tests/unit/network/v2/test_network_meter_rule.py +11 -11
  250. openstackclient/tests/unit/network/v2/test_network_qos_policy.py +11 -21
  251. openstackclient/tests/unit/network/v2/test_network_qos_rule.py +51 -77
  252. openstackclient/tests/unit/network/v2/test_network_qos_rule_type.py +5 -9
  253. openstackclient/tests/unit/network/v2/test_network_rbac.py +12 -12
  254. openstackclient/tests/unit/network/v2/test_network_segment.py +11 -15
  255. openstackclient/tests/unit/network/v2/test_network_segment_range.py +11 -13
  256. openstackclient/tests/unit/network/v2/test_network_service_provider.py +3 -5
  257. openstackclient/tests/unit/network/v2/test_network_trunk.py +11 -11
  258. openstackclient/tests/unit/network/v2/test_port.py +22 -25
  259. openstackclient/tests/unit/network/v2/test_router.py +721 -51
  260. openstackclient/tests/unit/network/v2/test_security_group_compute.py +65 -49
  261. openstackclient/tests/unit/network/v2/test_security_group_network.py +15 -15
  262. openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +57 -45
  263. openstackclient/tests/unit/network/v2/test_security_group_rule_network.py +11 -19
  264. openstackclient/tests/unit/network/v2/test_subnet.py +29 -25
  265. openstackclient/tests/unit/network/v2/test_subnet_pool.py +15 -15
  266. openstackclient/tests/unit/object/v1/fakes.py +1 -1
  267. openstackclient/tests/unit/object/v1/test_container.py +5 -5
  268. openstackclient/tests/unit/object/v1/test_container_all.py +6 -6
  269. openstackclient/tests/unit/object/v1/test_object.py +3 -3
  270. openstackclient/tests/unit/object/v1/test_object_all.py +5 -5
  271. openstackclient/tests/unit/test_shell.py +5 -5
  272. openstackclient/tests/unit/utils.py +4 -1
  273. openstackclient/tests/unit/volume/test_find_resource.py +2 -2
  274. openstackclient/tests/unit/volume/v1/fakes.py +5 -6
  275. openstackclient/tests/unit/volume/v1/test_volume.py +5 -4
  276. openstackclient/tests/unit/volume/v2/fakes.py +39 -259
  277. openstackclient/tests/unit/volume/v2/test_consistency_group_snapshot.py +5 -5
  278. openstackclient/tests/unit/volume/v2/test_qos_specs.py +9 -9
  279. openstackclient/tests/unit/volume/v2/test_volume.py +21 -87
  280. openstackclient/tests/unit/volume/v2/test_volume_backup.py +7 -368
  281. openstackclient/tests/unit/volume/v2/test_volume_snapshot.py +1 -1
  282. openstackclient/tests/unit/volume/v2/test_volume_transfer_request.py +0 -44
  283. openstackclient/tests/unit/volume/v2/test_volume_type.py +6 -87
  284. openstackclient/tests/unit/volume/v3/fakes.py +505 -22
  285. openstackclient/tests/unit/volume/v3/test_block_storage_cleanup.py +2 -3
  286. openstackclient/tests/unit/volume/v3/test_block_storage_cluster.py +10 -11
  287. openstackclient/tests/unit/volume/v3/test_block_storage_log_level.py +10 -6
  288. openstackclient/tests/unit/volume/v3/test_block_storage_manage.py +25 -17
  289. openstackclient/tests/unit/volume/v3/test_block_storage_resource_filter.py +6 -32
  290. openstackclient/tests/unit/volume/v3/test_service.py +271 -0
  291. openstackclient/tests/unit/volume/v3/test_volume.py +2177 -33
  292. openstackclient/tests/unit/volume/v3/test_volume_attachment.py +48 -52
  293. openstackclient/tests/unit/volume/v3/test_volume_backup.py +892 -0
  294. openstackclient/tests/unit/volume/v3/test_volume_group.py +19 -20
  295. openstackclient/tests/unit/volume/v3/test_volume_group_snapshot.py +14 -34
  296. openstackclient/tests/unit/volume/v3/test_volume_group_type.py +13 -16
  297. openstackclient/tests/unit/volume/v3/test_volume_message.py +10 -11
  298. openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +161 -0
  299. openstackclient/tests/unit/volume/v3/test_volume_transfer_request.py +425 -0
  300. openstackclient/tests/unit/volume/v3/test_volume_type.py +1109 -0
  301. openstackclient/volume/v1/qos_specs.py +7 -7
  302. openstackclient/volume/v1/service.py +2 -2
  303. openstackclient/volume/v1/volume.py +12 -12
  304. openstackclient/volume/v1/volume_backup.py +7 -7
  305. openstackclient/volume/v1/volume_snapshot.py +8 -8
  306. openstackclient/volume/v1/volume_transfer_request.py +5 -5
  307. openstackclient/volume/v1/volume_type.py +7 -7
  308. openstackclient/volume/v2/backup_record.py +2 -2
  309. openstackclient/volume/v2/consistency_group.py +7 -9
  310. openstackclient/volume/v2/consistency_group_snapshot.py +4 -12
  311. openstackclient/volume/v2/qos_specs.py +7 -7
  312. openstackclient/volume/v2/service.py +2 -2
  313. openstackclient/volume/v2/volume.py +80 -80
  314. openstackclient/volume/v2/volume_backend.py +2 -2
  315. openstackclient/volume/v2/volume_backup.py +7 -217
  316. openstackclient/volume/v2/volume_host.py +2 -2
  317. openstackclient/volume/v2/volume_snapshot.py +8 -8
  318. openstackclient/volume/v2/volume_transfer_request.py +5 -37
  319. openstackclient/volume/v2/volume_type.py +7 -89
  320. openstackclient/volume/v3/service.py +56 -0
  321. openstackclient/volume/v3/volume.py +971 -0
  322. openstackclient/volume/v3/volume_attachment.py +31 -29
  323. openstackclient/volume/v3/volume_backup.py +670 -0
  324. openstackclient/volume/v3/volume_message.py +1 -1
  325. openstackclient/volume/v3/volume_snapshot.py +97 -0
  326. openstackclient/volume/v3/volume_transfer_request.py +233 -0
  327. openstackclient/volume/v3/volume_type.py +967 -0
  328. {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/AUTHORS +4 -0
  329. {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/METADATA +3 -3
  330. python_openstackclient-7.0.0.dist-info/RECORD +502 -0
  331. {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/entry_points.txt +33 -27
  332. python_openstackclient-7.0.0.dist-info/pbr.json +1 -0
  333. python_openstackclient-6.6.0.dist-info/RECORD +0 -489
  334. python_openstackclient-6.6.0.dist-info/pbr.json +0 -1
  335. {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/LICENSE +0 -0
  336. {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/WHEEL +0 -0
  337. {python_openstackclient-6.6.0.dist-info → python_openstackclient-7.0.0.dist-info}/top_level.txt +0 -0
@@ -11,153 +11,162 @@
11
11
  # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
12
  # License for the specific language governing permissions and limitations
13
13
  # under the License.
14
- #
15
14
 
15
+ import http
16
+ import random
16
17
  from unittest import mock
17
- from unittest.mock import call
18
+ import uuid
18
19
 
19
20
  from osc_lib import exceptions
20
21
 
21
22
  from openstackclient.compute.v2 import agent
22
23
  from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes
24
+ from openstackclient.tests.unit import fakes
23
25
  from openstackclient.tests.unit import utils as tests_utils
24
26
 
25
27
 
26
- class TestAgent(compute_fakes.TestComputev2):
27
- attr = {}
28
- attr['agent_id'] = 1
29
- fake_agent = compute_fakes.create_one_agent(attr)
30
-
31
- columns = (
32
- 'agent_id',
33
- 'architecture',
34
- 'hypervisor',
35
- 'md5hash',
36
- 'os',
37
- 'url',
38
- 'version',
39
- )
40
-
41
- data = (
42
- fake_agent.agent_id,
43
- fake_agent.architecture,
44
- fake_agent.hypervisor,
45
- fake_agent.md5hash,
46
- fake_agent.os,
47
- fake_agent.url,
48
- fake_agent.version,
49
- )
50
-
51
- def setUp(self):
52
- super(TestAgent, self).setUp()
28
+ def _generate_fake_agent():
29
+ return {
30
+ 'agent_id': random.randint(1, 1000),
31
+ 'os': 'agent-os-' + uuid.uuid4().hex,
32
+ 'architecture': 'agent-architecture',
33
+ 'version': '8.0',
34
+ 'url': 'http://127.0.0.1',
35
+ 'md5hash': 'agent-md5hash',
36
+ 'hypervisor': 'hypervisor',
37
+ }
53
38
 
54
- self.agents_mock = self.compute_client.agents
55
- self.agents_mock.reset_mock()
56
39
 
57
-
58
- class TestAgentCreate(TestAgent):
40
+ class TestAgentCreate(compute_fakes.TestComputev2):
59
41
  def setUp(self):
60
- super(TestAgentCreate, self).setUp()
42
+ super().setUp()
61
43
 
62
- self.agents_mock.create.return_value = self.fake_agent
44
+ self._agent = _generate_fake_agent()
45
+ self.columns = (
46
+ 'agent_id',
47
+ 'architecture',
48
+ 'hypervisor',
49
+ 'md5hash',
50
+ 'os',
51
+ 'url',
52
+ 'version',
53
+ )
54
+ self.data = (
55
+ self._agent['agent_id'],
56
+ self._agent['architecture'],
57
+ self._agent['hypervisor'],
58
+ self._agent['md5hash'],
59
+ self._agent['os'],
60
+ self._agent['url'],
61
+ self._agent['version'],
62
+ )
63
+
64
+ self.compute_sdk_client.post.return_value = fakes.FakeResponse(
65
+ data={'agent': self._agent}
66
+ )
63
67
  self.cmd = agent.CreateAgent(self.app, None)
64
68
 
65
69
  def test_agent_create(self):
66
70
  arglist = [
67
- self.fake_agent.os,
68
- self.fake_agent.architecture,
69
- self.fake_agent.version,
70
- self.fake_agent.url,
71
- self.fake_agent.md5hash,
72
- self.fake_agent.hypervisor,
71
+ self._agent['os'],
72
+ self._agent['architecture'],
73
+ self._agent['version'],
74
+ self._agent['url'],
75
+ self._agent['md5hash'],
76
+ self._agent['hypervisor'],
73
77
  ]
74
-
75
78
  verifylist = [
76
- ('os', self.fake_agent.os),
77
- ('architecture', self.fake_agent.architecture),
78
- ('version', self.fake_agent.version),
79
- ('url', self.fake_agent.url),
80
- ('md5hash', self.fake_agent.md5hash),
81
- ('hypervisor', self.fake_agent.hypervisor),
79
+ ('os', self._agent['os']),
80
+ ('architecture', self._agent['architecture']),
81
+ ('version', self._agent['version']),
82
+ ('url', self._agent['url']),
83
+ ('md5hash', self._agent['md5hash']),
84
+ ('hypervisor', self._agent['hypervisor']),
82
85
  ]
86
+
83
87
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
84
88
  columns, data = self.cmd.take_action(parsed_args)
85
- self.agents_mock.create.assert_called_with(
86
- parsed_args.os,
87
- parsed_args.architecture,
88
- parsed_args.version,
89
- parsed_args.url,
90
- parsed_args.md5hash,
91
- parsed_args.hypervisor,
89
+
90
+ self.compute_sdk_client.post.assert_called_with(
91
+ '/os-agents',
92
+ json={
93
+ 'agent': {
94
+ 'hypervisor': parsed_args.hypervisor,
95
+ 'os': parsed_args.os,
96
+ 'architecture': parsed_args.architecture,
97
+ 'version': parsed_args.version,
98
+ 'url': parsed_args.url,
99
+ 'md5hash': parsed_args.md5hash,
100
+ },
101
+ },
102
+ microversion='2.1',
92
103
  )
93
104
 
94
105
  self.assertEqual(self.columns, columns)
95
106
  self.assertEqual(self.data, data)
96
107
 
97
108
 
98
- class TestAgentDelete(TestAgent):
99
- fake_agents = compute_fakes.create_agents(count=2)
100
-
109
+ class TestAgentDelete(compute_fakes.TestComputev2):
101
110
  def setUp(self):
102
- super(TestAgentDelete, self).setUp()
111
+ super().setUp()
112
+
113
+ self.compute_sdk_client.delete.return_value = fakes.FakeResponse(
114
+ status_code=http.HTTPStatus.NO_CONTENT
115
+ )
103
116
 
104
- self.agents_mock.get.return_value = self.fake_agents
105
117
  self.cmd = agent.DeleteAgent(self.app, None)
106
118
 
107
119
  def test_delete_one_agent(self):
108
- arglist = [self.fake_agents[0].agent_id]
109
-
120
+ arglist = ['123']
110
121
  verifylist = [
111
- ('id', [self.fake_agents[0].agent_id]),
122
+ ('id', ['123']),
112
123
  ]
113
124
 
114
125
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
115
126
  result = self.cmd.take_action(parsed_args)
116
- self.agents_mock.delete.assert_called_with(
117
- self.fake_agents[0].agent_id
127
+
128
+ self.compute_sdk_client.delete.assert_called_once_with(
129
+ '/os-agents/123',
130
+ microversion='2.1',
118
131
  )
119
132
  self.assertIsNone(result)
120
133
 
121
134
  def test_delete_multiple_agents(self):
122
- arglist = []
123
- for n in self.fake_agents:
124
- arglist.append(n.agent_id)
135
+ arglist = ['1', '2', '3']
125
136
  verifylist = [
126
- ('id', arglist),
137
+ ('id', ['1', '2', '3']),
127
138
  ]
128
139
 
129
140
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
130
141
  result = self.cmd.take_action(parsed_args)
131
142
 
132
- calls = []
133
- for n in self.fake_agents:
134
- calls.append(call(n.agent_id))
135
- self.agents_mock.delete.assert_has_calls(calls)
143
+ calls = [
144
+ mock.call(f'/os-agents/{x}', microversion='2.1') for x in arglist
145
+ ]
146
+ self.compute_sdk_client.delete.assert_has_calls(calls)
136
147
  self.assertIsNone(result)
137
148
 
138
149
  def test_delete_multiple_agents_exception(self):
139
- arglist = [
140
- self.fake_agents[0].agent_id,
141
- self.fake_agents[1].agent_id,
142
- 'x-y-z',
143
- ]
150
+ arglist = ['1', '2', '999']
144
151
  verifylist = [
145
- ('id', arglist),
152
+ ('id', ['1', '2', '999']),
146
153
  ]
147
154
 
148
155
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
149
156
 
150
- ret_delete = [None, None, exceptions.NotFound('404')]
151
- self.agents_mock.delete = mock.Mock(side_effect=ret_delete)
157
+ self.compute_sdk_client.delete.side_effect = [
158
+ fakes.FakeResponse(status_code=http.HTTPStatus.NO_CONTENT),
159
+ fakes.FakeResponse(status_code=http.HTTPStatus.NO_CONTENT),
160
+ fakes.FakeResponse(status_code=http.HTTPStatus.NOT_FOUND),
161
+ ]
152
162
 
153
163
  self.assertRaises(
154
164
  exceptions.CommandError, self.cmd.take_action, parsed_args
155
165
  )
156
166
  calls = [
157
- call(self.fake_agents[0].agent_id),
158
- call(self.fake_agents[1].agent_id),
167
+ mock.call(f'/os-agents/{x}', microversion='2.1') for x in arglist
159
168
  ]
160
- self.agents_mock.delete.assert_has_calls(calls)
169
+ self.compute_sdk_client.delete.assert_has_calls(calls)
161
170
 
162
171
  def test_agent_delete_no_input(self):
163
172
  arglist = []
@@ -171,36 +180,37 @@ class TestAgentDelete(TestAgent):
171
180
  )
172
181
 
173
182
 
174
- class TestAgentList(TestAgent):
175
- agents = compute_fakes.create_agents(count=3)
176
- list_columns = (
177
- "Agent ID",
178
- "Hypervisor",
179
- "OS",
180
- "Architecture",
181
- "Version",
182
- "Md5Hash",
183
- "URL",
184
- )
185
-
186
- list_data = []
187
- for _agent in agents:
188
- list_data.append(
183
+ class TestAgentList(compute_fakes.TestComputev2):
184
+ def setUp(self):
185
+ super().setUp()
186
+
187
+ _agents = [_generate_fake_agent() for _ in range(3)]
188
+
189
+ self.columns = (
190
+ "Agent ID",
191
+ "Hypervisor",
192
+ "OS",
193
+ "Architecture",
194
+ "Version",
195
+ "Md5Hash",
196
+ "URL",
197
+ )
198
+ self.data = [
189
199
  (
190
- _agent.agent_id,
191
- _agent.hypervisor,
192
- _agent.os,
193
- _agent.architecture,
194
- _agent.version,
195
- _agent.md5hash,
196
- _agent.url,
200
+ _agent['agent_id'],
201
+ _agent['hypervisor'],
202
+ _agent['os'],
203
+ _agent['architecture'],
204
+ _agent['version'],
205
+ _agent['md5hash'],
206
+ _agent['url'],
197
207
  )
198
- )
199
-
200
- def setUp(self):
201
- super(TestAgentList, self).setUp()
208
+ for _agent in _agents
209
+ ]
202
210
 
203
- self.agents_mock.list.return_value = self.agents
211
+ self.compute_sdk_client.get.return_value = fakes.FakeResponse(
212
+ data={'agents': _agents},
213
+ )
204
214
  self.cmd = agent.ListAgent(self.app, None)
205
215
 
206
216
  def test_agent_list(self):
@@ -210,8 +220,12 @@ class TestAgentList(TestAgent):
210
220
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
211
221
  columns, data = self.cmd.take_action(parsed_args)
212
222
 
213
- self.assertEqual(self.list_columns, columns)
214
- self.assertEqual(self.list_data, list(data))
223
+ self.assertEqual(self.columns, columns)
224
+ self.assertEqual(self.data, list(data))
225
+ self.compute_sdk_client.get.assert_called_once_with(
226
+ '/os-agents',
227
+ microversion='2.1',
228
+ )
215
229
 
216
230
  def test_agent_list_with_hypervisor(self):
217
231
  arglist = [
@@ -225,101 +239,129 @@ class TestAgentList(TestAgent):
225
239
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
226
240
  columns, data = self.cmd.take_action(parsed_args)
227
241
 
228
- self.assertEqual(self.list_columns, columns)
229
- self.assertEqual(self.list_data, list(data))
242
+ self.assertEqual(self.columns, columns)
243
+ self.assertEqual(self.data, list(data))
244
+ self.compute_sdk_client.get.assert_called_once_with(
245
+ '/os-agents?hypervisor=hypervisor',
246
+ microversion='2.1',
247
+ )
230
248
 
231
249
 
232
- class TestAgentSet(TestAgent):
250
+ class TestAgentSet(compute_fakes.TestComputev2):
233
251
  def setUp(self):
234
- super(TestAgentSet, self).setUp()
252
+ super().setUp()
253
+
254
+ self.agent = _generate_fake_agent()
255
+ self.compute_sdk_client.get.return_value = fakes.FakeResponse(
256
+ data={'agents': [self.agent]},
257
+ )
258
+ self.compute_sdk_client.put.return_value = fakes.FakeResponse()
235
259
 
236
- self.agents_mock.update.return_value = self.fake_agent
237
- self.agents_mock.list.return_value = [self.fake_agent]
238
260
  self.cmd = agent.SetAgent(self.app, None)
239
261
 
240
262
  def test_agent_set_nothing(self):
241
263
  arglist = [
242
- '1',
264
+ str(self.agent['agent_id']),
243
265
  ]
244
266
  verifylist = [
245
- ('id', '1'),
267
+ ('id', self.agent['agent_id']),
246
268
  ]
247
269
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
248
270
  result = self.cmd.take_action(parsed_args)
249
271
 
250
- self.agents_mock.update.assert_called_with(
251
- parsed_args.id,
252
- self.fake_agent.version,
253
- self.fake_agent.url,
254
- self.fake_agent.md5hash,
272
+ self.compute_sdk_client.put.assert_called_once_with(
273
+ f'/os-agents/{self.agent["agent_id"]}',
274
+ json={
275
+ 'para': {
276
+ 'version': self.agent['version'],
277
+ 'url': self.agent['url'],
278
+ 'md5hash': self.agent['md5hash'],
279
+ },
280
+ },
281
+ microversion='2.1',
255
282
  )
256
283
  self.assertIsNone(result)
257
284
 
258
285
  def test_agent_set_version(self):
259
286
  arglist = [
260
- '1',
287
+ str(self.agent['agent_id']),
261
288
  '--agent-version',
262
289
  'new-version',
263
290
  ]
264
291
 
265
292
  verifylist = [
266
- ('id', '1'),
293
+ ('id', self.agent['agent_id']),
267
294
  ('version', 'new-version'),
268
295
  ]
269
296
 
270
297
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
271
298
  result = self.cmd.take_action(parsed_args)
272
299
 
273
- self.agents_mock.update.assert_called_with(
274
- parsed_args.id,
275
- parsed_args.version,
276
- self.fake_agent.url,
277
- self.fake_agent.md5hash,
300
+ self.compute_sdk_client.put.assert_called_once_with(
301
+ f'/os-agents/{self.agent["agent_id"]}',
302
+ json={
303
+ 'para': {
304
+ 'version': parsed_args.version,
305
+ 'url': self.agent['url'],
306
+ 'md5hash': self.agent['md5hash'],
307
+ },
308
+ },
309
+ microversion='2.1',
278
310
  )
279
311
  self.assertIsNone(result)
280
312
 
281
313
  def test_agent_set_url(self):
282
314
  arglist = [
283
- '1',
315
+ str(self.agent['agent_id']),
284
316
  '--url',
285
317
  'new-url',
286
318
  ]
287
319
 
288
320
  verifylist = [
289
- ('id', '1'),
321
+ ('id', self.agent['agent_id']),
290
322
  ('url', 'new-url'),
291
323
  ]
292
324
 
293
325
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
294
326
  result = self.cmd.take_action(parsed_args)
295
327
 
296
- self.agents_mock.update.assert_called_with(
297
- parsed_args.id,
298
- self.fake_agent.version,
299
- parsed_args.url,
300
- self.fake_agent.md5hash,
328
+ self.compute_sdk_client.put.assert_called_once_with(
329
+ f'/os-agents/{self.agent["agent_id"]}',
330
+ json={
331
+ 'para': {
332
+ 'version': self.agent['version'],
333
+ 'url': parsed_args.url,
334
+ 'md5hash': self.agent['md5hash'],
335
+ },
336
+ },
337
+ microversion='2.1',
301
338
  )
302
339
  self.assertIsNone(result)
303
340
 
304
341
  def test_agent_set_md5hash(self):
305
342
  arglist = [
306
- '1',
343
+ str(self.agent['agent_id']),
307
344
  '--md5hash',
308
345
  'new-md5hash',
309
346
  ]
310
347
 
311
348
  verifylist = [
312
- ('id', '1'),
349
+ ('id', self.agent['agent_id']),
313
350
  ('md5hash', 'new-md5hash'),
314
351
  ]
315
352
 
316
353
  parsed_args = self.check_parser(self.cmd, arglist, verifylist)
317
354
  result = self.cmd.take_action(parsed_args)
318
355
 
319
- self.agents_mock.update.assert_called_with(
320
- parsed_args.id,
321
- self.fake_agent.version,
322
- self.fake_agent.url,
323
- parsed_args.md5hash,
356
+ self.compute_sdk_client.put.assert_called_once_with(
357
+ f'/os-agents/{self.agent["agent_id"]}',
358
+ json={
359
+ 'para': {
360
+ 'version': self.agent['version'],
361
+ 'url': self.agent['url'],
362
+ 'md5hash': parsed_args.md5hash,
363
+ },
364
+ },
365
+ microversion='2.1',
324
366
  )
325
367
  self.assertIsNone(result)
@@ -17,7 +17,6 @@ from unittest import mock
17
17
  from unittest.mock import call
18
18
 
19
19
  from openstack import exceptions as sdk_exceptions
20
- from openstack import utils as sdk_utils
21
20
  from osc_lib.cli import format_columns
22
21
  from osc_lib import exceptions
23
22
 
@@ -58,7 +57,7 @@ class TestAggregate(compute_fakes.TestComputev2):
58
57
 
59
58
  class TestAggregateAddHost(TestAggregate):
60
59
  def setUp(self):
61
- super(TestAggregateAddHost, self).setUp()
60
+ super().setUp()
62
61
 
63
62
  self.compute_sdk_client.find_aggregate.return_value = self.fake_ag
64
63
  self.compute_sdk_client.add_host_to_aggregate.return_value = (
@@ -89,7 +88,7 @@ class TestAggregateAddHost(TestAggregate):
89
88
 
90
89
  class TestAggregateCreate(TestAggregate):
91
90
  def setUp(self):
92
- super(TestAggregateCreate, self).setUp()
91
+ super().setUp()
93
92
 
94
93
  self.compute_sdk_client.create_aggregate.return_value = self.fake_ag
95
94
  self.compute_sdk_client.set_aggregate_metadata.return_value = (
@@ -159,7 +158,7 @@ class TestAggregateDelete(TestAggregate):
159
158
  fake_ags = compute_fakes.create_aggregates(count=2)
160
159
 
161
160
  def setUp(self):
162
- super(TestAggregateDelete, self).setUp()
161
+ super().setUp()
163
162
 
164
163
  self.compute_sdk_client.find_aggregate = compute_fakes.get_aggregates(
165
164
  self.fake_ags
@@ -267,7 +266,7 @@ class TestAggregateList(TestAggregate):
267
266
  )
268
267
 
269
268
  def setUp(self):
270
- super(TestAggregateList, self).setUp()
269
+ super().setUp()
271
270
 
272
271
  self.compute_sdk_client.aggregates.return_value = [self.fake_ag]
273
272
  self.cmd = aggregate.ListAggregate(self.app, None)
@@ -295,7 +294,7 @@ class TestAggregateList(TestAggregate):
295
294
 
296
295
  class TestAggregateRemoveHost(TestAggregate):
297
296
  def setUp(self):
298
- super(TestAggregateRemoveHost, self).setUp()
297
+ super().setUp()
299
298
 
300
299
  self.compute_sdk_client.find_aggregate.return_value = self.fake_ag
301
300
  self.compute_sdk_client.remove_host_from_aggregate.return_value = (
@@ -326,7 +325,7 @@ class TestAggregateRemoveHost(TestAggregate):
326
325
 
327
326
  class TestAggregateSet(TestAggregate):
328
327
  def setUp(self):
329
- super(TestAggregateSet, self).setUp()
328
+ super().setUp()
330
329
 
331
330
  self.compute_sdk_client.find_aggregate.return_value = self.fake_ag
332
331
  self.cmd = aggregate.SetAggregate(self.app, None)
@@ -513,7 +512,7 @@ class TestAggregateShow(TestAggregate):
513
512
  )
514
513
 
515
514
  def setUp(self):
516
- super(TestAggregateShow, self).setUp()
515
+ super().setUp()
517
516
 
518
517
  self.compute_sdk_client.find_aggregate.return_value = self.fake_ag
519
518
  self.cmd = aggregate.ShowAggregate(self.app, None)
@@ -537,7 +536,7 @@ class TestAggregateShow(TestAggregate):
537
536
 
538
537
  class TestAggregateUnset(TestAggregate):
539
538
  def setUp(self):
540
- super(TestAggregateUnset, self).setUp()
539
+ super().setUp()
541
540
 
542
541
  self.compute_sdk_client.find_aggregate.return_value = self.fake_ag
543
542
  self.cmd = aggregate.UnsetAggregate(self.app, None)
@@ -598,7 +597,7 @@ class TestAggregateCacheImage(TestAggregate):
598
597
  images = image_fakes.create_images(count=2)
599
598
 
600
599
  def setUp(self):
601
- super(TestAggregateCacheImage, self).setUp()
600
+ super().setUp()
602
601
 
603
602
  self.compute_sdk_client.find_aggregate.return_value = self.fake_ag
604
603
  self.find_image_mock = mock.Mock(side_effect=self.images)
@@ -608,8 +607,9 @@ class TestAggregateCacheImage(TestAggregate):
608
607
 
609
608
  self.cmd = aggregate.CacheImageForAggregate(self.app, None)
610
609
 
611
- @mock.patch.object(sdk_utils, 'supports_microversion', return_value=False)
612
- def test_aggregate_not_supported(self, sm_mock):
610
+ def test_aggregate_cache_pre_v281(self):
611
+ self.set_compute_api_version('2.80')
612
+
613
613
  arglist = ['ag1', 'im1']
614
614
  verifylist = [
615
615
  ('aggregate', 'ag1'),
@@ -620,8 +620,9 @@ class TestAggregateCacheImage(TestAggregate):
620
620
  exceptions.CommandError, self.cmd.take_action, parsed_args
621
621
  )
622
622
 
623
- @mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
624
- def test_aggregate_add_single_image(self, sm_mock):
623
+ def test_aggregate_cache_add_single_image(self):
624
+ self.set_compute_api_version('2.81')
625
+
625
626
  arglist = ['ag1', 'im1']
626
627
  verifylist = [
627
628
  ('aggregate', 'ag1'),
@@ -636,8 +637,9 @@ class TestAggregateCacheImage(TestAggregate):
636
637
  self.fake_ag.id, [self.images[0].id]
637
638
  )
638
639
 
639
- @mock.patch.object(sdk_utils, 'supports_microversion', return_value=True)
640
- def test_aggregate_add_multiple_images(self, sm_mock):
640
+ def test_aggregate_cache_add_multiple_images(self):
641
+ self.set_compute_api_version('2.81')
642
+
641
643
  arglist = [
642
644
  'ag1',
643
645
  'im1',
@@ -21,11 +21,10 @@ from openstackclient.tests.unit import utils
21
21
 
22
22
 
23
23
  class TestConsoleLog(compute_fakes.TestComputev2):
24
- _server = compute_fakes.create_one_server()
25
-
26
24
  def setUp(self):
27
- super(TestConsoleLog, self).setUp()
25
+ super().setUp()
28
26
 
27
+ self._server = compute_fakes.create_one_sdk_server()
29
28
  self.compute_sdk_client.find_server.return_value = self._server
30
29
 
31
30
  self.cmd = console.ShowConsoleLog(self.app, None)
@@ -77,10 +76,10 @@ class TestConsoleLog(compute_fakes.TestComputev2):
77
76
 
78
77
 
79
78
  class TestConsoleUrlShow(compute_fakes.TestComputev2):
80
- _server = compute_fakes.create_one_server()
79
+ _server = compute_fakes.create_one_sdk_server()
81
80
 
82
81
  def setUp(self):
83
- super(TestConsoleUrlShow, self).setUp()
82
+ super().setUp()
84
83
  self.compute_sdk_client.find_server.return_value = self._server
85
84
  fake_console_data = {
86
85
  'url': 'http://localhost',