python-openstackclient 7.4.0__py3-none-any.whl → 8.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.
- openstackclient/common/availability_zone.py +3 -6
- openstackclient/common/clientmanager.py +2 -1
- openstackclient/common/envvars.py +57 -0
- openstackclient/common/extension.py +3 -11
- openstackclient/common/limits.py +1 -1
- openstackclient/common/project_cleanup.py +3 -2
- openstackclient/common/quota.py +54 -28
- openstackclient/compute/client.py +2 -5
- openstackclient/compute/v2/agent.py +5 -5
- openstackclient/compute/v2/aggregate.py +17 -15
- openstackclient/compute/v2/console.py +3 -4
- openstackclient/compute/v2/flavor.py +14 -18
- openstackclient/compute/v2/host.py +3 -3
- openstackclient/compute/v2/hypervisor.py +10 -4
- openstackclient/compute/v2/hypervisor_stats.py +1 -1
- openstackclient/compute/v2/keypair.py +8 -10
- openstackclient/compute/v2/server.py +70 -112
- openstackclient/compute/v2/server_backup.py +1 -1
- openstackclient/compute/v2/server_event.py +7 -16
- openstackclient/compute/v2/server_group.py +6 -6
- openstackclient/compute/v2/server_image.py +1 -1
- openstackclient/compute/v2/server_migration.py +6 -6
- openstackclient/compute/v2/server_volume.py +4 -4
- openstackclient/compute/v2/service.py +9 -13
- openstackclient/compute/v2/usage.py +4 -6
- openstackclient/identity/client.py +2 -4
- openstackclient/identity/common.py +16 -17
- openstackclient/identity/v2_0/ec2creds.py +4 -3
- openstackclient/identity/v2_0/endpoint.py +12 -10
- openstackclient/identity/v2_0/project.py +6 -6
- openstackclient/identity/v2_0/role.py +1 -1
- openstackclient/identity/v2_0/service.py +7 -7
- openstackclient/identity/v2_0/user.py +6 -21
- openstackclient/identity/v3/access_rule.py +2 -5
- openstackclient/identity/v3/consumer.py +4 -3
- openstackclient/identity/v3/credential.py +6 -7
- openstackclient/identity/v3/domain.py +1 -1
- openstackclient/identity/v3/ec2creds.py +4 -3
- openstackclient/identity/v3/endpoint.py +104 -88
- openstackclient/identity/v3/endpoint_group.py +1 -1
- openstackclient/identity/v3/group.py +3 -4
- openstackclient/identity/v3/identity_provider.py +1 -2
- openstackclient/identity/v3/limit.py +4 -9
- openstackclient/identity/v3/mapping.py +4 -3
- openstackclient/identity/v3/policy.py +5 -8
- openstackclient/identity/v3/project.py +6 -6
- openstackclient/identity/v3/region.py +2 -5
- openstackclient/identity/v3/registered_limit.py +4 -8
- openstackclient/identity/v3/role.py +15 -16
- openstackclient/identity/v3/service.py +8 -8
- openstackclient/identity/v3/service_provider.py +3 -6
- openstackclient/identity/v3/tag.py +2 -2
- openstackclient/identity/v3/token.py +1 -2
- openstackclient/identity/v3/trust.py +74 -25
- openstackclient/identity/v3/user.py +9 -6
- openstackclient/image/client.py +2 -5
- openstackclient/image/v1/image.py +11 -15
- openstackclient/image/v2/cache.py +2 -4
- openstackclient/image/v2/image.py +30 -37
- openstackclient/image/v2/metadef_namespaces.py +4 -3
- openstackclient/image/v2/metadef_resource_type_association.py +1 -2
- openstackclient/image/v2/metadef_resource_types.py +1 -2
- openstackclient/locale/tr_TR/LC_MESSAGES/openstackclient.po +9 -1370
- openstackclient/network/client.py +4 -10
- openstackclient/network/common.py +16 -12
- openstackclient/network/utils.py +3 -3
- openstackclient/network/v2/address_group.py +5 -9
- openstackclient/network/v2/address_scope.py +2 -3
- openstackclient/network/v2/default_security_group_rule.py +1 -2
- openstackclient/network/v2/floating_ip.py +14 -21
- openstackclient/network/v2/floating_ip_port_forwarding.py +7 -7
- openstackclient/network/v2/ip_availability.py +1 -2
- openstackclient/network/v2/l3_conntrack_helper.py +8 -12
- openstackclient/network/v2/local_ip.py +24 -26
- openstackclient/network/v2/local_ip_association.py +4 -5
- openstackclient/network/v2/ndp_proxy.py +9 -10
- openstackclient/network/v2/network.py +12 -16
- openstackclient/network/v2/network_agent.py +29 -37
- openstackclient/network/v2/network_auto_allocated_topology.py +4 -5
- openstackclient/network/v2/network_flavor.py +1 -1
- openstackclient/network/v2/network_flavor_profile.py +5 -5
- openstackclient/network/v2/network_meter.py +3 -3
- openstackclient/network/v2/network_meter_rule.py +5 -8
- openstackclient/network/v2/network_qos_policy.py +4 -4
- openstackclient/network/v2/network_qos_rule.py +4 -5
- openstackclient/network/v2/network_rbac.py +4 -4
- openstackclient/network/v2/network_segment.py +6 -7
- openstackclient/network/v2/network_segment_range.py +16 -20
- openstackclient/network/v2/network_trunk.py +24 -16
- openstackclient/network/v2/port.py +28 -29
- openstackclient/network/v2/router.py +52 -41
- openstackclient/network/v2/security_group.py +8 -15
- openstackclient/network/v2/security_group_rule.py +9 -10
- openstackclient/network/v2/subnet.py +31 -30
- openstackclient/network/v2/subnet_pool.py +4 -4
- openstackclient/object/client.py +2 -3
- openstackclient/object/v1/container.py +2 -3
- openstackclient/object/v1/object.py +2 -9
- openstackclient/shell.py +22 -5
- openstackclient/tests/functional/base.py +2 -2
- openstackclient/tests/functional/common/test_quota.py +3 -1
- openstackclient/tests/functional/compute/v2/common.py +12 -6
- openstackclient/tests/functional/compute/v2/test_server.py +2 -3
- openstackclient/tests/functional/compute/v2/test_server_event.py +1 -1
- openstackclient/tests/functional/identity/v2/test_user.py +1 -1
- openstackclient/tests/functional/identity/v3/common.py +3 -8
- openstackclient/tests/functional/identity/v3/test_application_credential.py +10 -10
- openstackclient/tests/functional/identity/v3/test_endpoint.py +3 -3
- openstackclient/tests/functional/identity/v3/test_group.py +3 -3
- openstackclient/tests/functional/identity/v3/test_idp.py +3 -7
- openstackclient/tests/functional/identity/v3/test_limit.py +4 -4
- openstackclient/tests/functional/identity/v3/test_project.py +5 -14
- openstackclient/tests/functional/identity/v3/test_region.py +1 -3
- openstackclient/tests/functional/identity/v3/test_registered_limit.py +3 -3
- openstackclient/tests/functional/identity/v3/test_role.py +1 -1
- openstackclient/tests/functional/identity/v3/test_role_assignment.py +13 -31
- openstackclient/tests/functional/identity/v3/test_service_provider.py +3 -7
- openstackclient/tests/functional/identity/v3/test_user.py +8 -8
- openstackclient/tests/functional/network/v2/common.py +7 -3
- openstackclient/tests/functional/network/v2/test_address_group.py +4 -0
- openstackclient/tests/functional/network/v2/test_l3_conntrack_helper.py +15 -11
- openstackclient/tests/functional/network/v2/test_local_ip.py +4 -0
- openstackclient/tests/functional/network/v2/test_network_meter_rule.py +2 -2
- openstackclient/tests/functional/network/v2/test_network_ndp_proxy.py +2 -3
- openstackclient/tests/functional/network/v2/test_network_rbac.py +2 -2
- openstackclient/tests/functional/network/v2/test_network_trunk.py +1 -1
- openstackclient/tests/functional/network/v2/test_port.py +17 -7
- openstackclient/tests/functional/network/v2/test_router.py +42 -0
- openstackclient/tests/functional/network/v2/test_subnet_pool.py +4 -0
- openstackclient/tests/unit/api/test_compute_v2.py +67 -87
- openstackclient/tests/unit/common/test_availability_zone.py +6 -14
- openstackclient/tests/unit/common/test_command.py +1 -1
- openstackclient/tests/unit/common/test_extension.py +5 -7
- openstackclient/tests/unit/common/test_limits.py +1 -1
- openstackclient/tests/unit/common/test_project_cleanup.py +5 -6
- openstackclient/tests/unit/common/test_quota.py +51 -28
- openstackclient/tests/unit/compute/v2/fakes.py +4 -10
- openstackclient/tests/unit/compute/v2/test_agent.py +16 -16
- openstackclient/tests/unit/compute/v2/test_aggregate.py +56 -60
- openstackclient/tests/unit/compute/v2/test_console.py +16 -16
- openstackclient/tests/unit/compute/v2/test_flavor.py +71 -71
- openstackclient/tests/unit/compute/v2/test_host.py +8 -8
- openstackclient/tests/unit/compute/v2/test_hypervisor.py +22 -30
- openstackclient/tests/unit/compute/v2/test_hypervisor_stats.py +2 -2
- openstackclient/tests/unit/compute/v2/test_keypair.py +24 -24
- openstackclient/tests/unit/compute/v2/test_server.py +524 -560
- openstackclient/tests/unit/compute/v2/test_server_backup.py +5 -7
- openstackclient/tests/unit/compute/v2/test_server_event.py +16 -18
- openstackclient/tests/unit/compute/v2/test_server_group.py +25 -31
- openstackclient/tests/unit/compute/v2/test_server_image.py +6 -8
- openstackclient/tests/unit/compute/v2/test_server_migration.py +37 -37
- openstackclient/tests/unit/compute/v2/test_server_volume.py +12 -12
- openstackclient/tests/unit/compute/v2/test_service.py +39 -45
- openstackclient/tests/unit/compute/v2/test_usage.py +5 -5
- openstackclient/tests/unit/identity/v2_0/fakes.py +1 -1
- openstackclient/tests/unit/identity/v3/test_access_rule.py +1 -3
- openstackclient/tests/unit/identity/v3/test_application_credential.py +1 -1
- openstackclient/tests/unit/identity/v3/test_endpoint.py +167 -172
- openstackclient/tests/unit/identity/v3/test_mappings.py +2 -2
- openstackclient/tests/unit/identity/v3/test_trust.py +5 -2
- openstackclient/tests/unit/identity/v3/test_user.py +16 -0
- openstackclient/tests/unit/image/v1/fakes.py +2 -2
- openstackclient/tests/unit/image/v2/test_image.py +39 -1
- openstackclient/tests/unit/integ/cli/test_shell.py +1 -2
- openstackclient/tests/unit/network/test_common.py +2 -2
- openstackclient/tests/unit/network/v2/test_floating_ip_compute.py +8 -14
- openstackclient/tests/unit/network/v2/test_floating_ip_network.py +49 -35
- openstackclient/tests/unit/network/v2/test_floating_ip_pool_compute.py +1 -1
- openstackclient/tests/unit/network/v2/test_network_compute.py +11 -11
- openstackclient/tests/unit/network/v2/test_network_trunk.py +2 -2
- openstackclient/tests/unit/network/v2/test_port.py +4 -5
- openstackclient/tests/unit/network/v2/test_router.py +63 -0
- openstackclient/tests/unit/network/v2/test_security_group_compute.py +11 -19
- openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py +14 -14
- openstackclient/tests/unit/object/v1/test_object_all.py +4 -3
- openstackclient/tests/unit/test_shell.py +16 -13
- openstackclient/tests/unit/volume/v2/test_volume.py +1 -1
- openstackclient/tests/unit/volume/v2/test_volume_transfer_request.py +1 -1
- openstackclient/tests/unit/volume/v3/fakes.py +2 -8
- openstackclient/tests/unit/volume/v3/test_volume.py +1 -1
- openstackclient/tests/unit/volume/v3/test_volume_attachment.py +3 -3
- openstackclient/tests/unit/volume/v3/test_volume_snapshot.py +1 -2
- openstackclient/tests/unit/volume/v3/test_volume_transfer_request.py +1 -1
- openstackclient/volume/client.py +1 -3
- openstackclient/volume/v2/consistency_group.py +4 -8
- openstackclient/volume/v2/consistency_group_snapshot.py +1 -2
- openstackclient/volume/v2/qos_specs.py +1 -2
- openstackclient/volume/v2/volume.py +8 -16
- openstackclient/volume/v2/volume_backup.py +6 -7
- openstackclient/volume/v2/volume_snapshot.py +8 -9
- openstackclient/volume/v2/volume_transfer_request.py +0 -3
- openstackclient/volume/v2/volume_type.py +10 -21
- openstackclient/volume/v3/block_storage_cluster.py +3 -3
- openstackclient/volume/v3/block_storage_manage.py +1 -3
- openstackclient/volume/v3/volume.py +18 -19
- openstackclient/volume/v3/volume_attachment.py +3 -2
- openstackclient/volume/v3/volume_backup.py +7 -8
- openstackclient/volume/v3/volume_group.py +2 -1
- openstackclient/volume/v3/volume_group_snapshot.py +2 -1
- openstackclient/volume/v3/volume_snapshot.py +4 -3
- openstackclient/volume/v3/volume_type.py +10 -21
- {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.0.0.dist-info}/AUTHORS +3 -0
- {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.0.0.dist-info}/METADATA +7 -13
- {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.0.0.dist-info}/RECORD +209 -232
- {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.0.0.dist-info}/WHEEL +1 -1
- {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.0.0.dist-info}/entry_points.txt +0 -41
- python_openstackclient-8.0.0.dist-info/pbr.json +1 -0
- openstackclient/tests/functional/volume/v1/__init__.py +0 -0
- openstackclient/tests/functional/volume/v1/common.py +0 -35
- openstackclient/tests/functional/volume/v1/test_qos.py +0 -100
- openstackclient/tests/functional/volume/v1/test_service.py +0 -76
- openstackclient/tests/functional/volume/v1/test_snapshot.py +0 -232
- openstackclient/tests/functional/volume/v1/test_transfer_request.py +0 -111
- openstackclient/tests/functional/volume/v1/test_volume.py +0 -228
- openstackclient/tests/functional/volume/v1/test_volume_type.py +0 -213
- openstackclient/tests/unit/volume/v1/__init__.py +0 -0
- openstackclient/tests/unit/volume/v1/fakes.py +0 -615
- openstackclient/tests/unit/volume/v1/test_qos_specs.py +0 -471
- openstackclient/tests/unit/volume/v1/test_service.py +0 -295
- openstackclient/tests/unit/volume/v1/test_transfer_request.py +0 -380
- openstackclient/tests/unit/volume/v1/test_type.py +0 -633
- openstackclient/tests/unit/volume/v1/test_volume.py +0 -1447
- openstackclient/tests/unit/volume/v1/test_volume_backup.py +0 -435
- openstackclient/volume/v1/__init__.py +0 -0
- openstackclient/volume/v1/qos_specs.py +0 -377
- openstackclient/volume/v1/service.py +0 -136
- openstackclient/volume/v1/volume.py +0 -734
- openstackclient/volume/v1/volume_backup.py +0 -302
- openstackclient/volume/v1/volume_snapshot.py +0 -433
- openstackclient/volume/v1/volume_transfer_request.py +0 -200
- openstackclient/volume/v1/volume_type.py +0 -520
- python_openstackclient-7.4.0.dist-info/pbr.json +0 -1
- {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.0.0.dist-info}/LICENSE +0 -0
- {python_openstackclient-7.4.0.dist-info → python_openstackclient-8.0.0.dist-info}/top_level.txt +0 -0
|
@@ -66,10 +66,8 @@ class TestAggregateAddHost(TestAggregate):
|
|
|
66
66
|
def setUp(self):
|
|
67
67
|
super().setUp()
|
|
68
68
|
|
|
69
|
-
self.
|
|
70
|
-
self.
|
|
71
|
-
self.fake_ag
|
|
72
|
-
)
|
|
69
|
+
self.compute_client.find_aggregate.return_value = self.fake_ag
|
|
70
|
+
self.compute_client.add_host_to_aggregate.return_value = self.fake_ag
|
|
73
71
|
self.cmd = aggregate.AddAggregateHost(self.app, None)
|
|
74
72
|
|
|
75
73
|
def test_aggregate_add_host(self):
|
|
@@ -83,10 +81,10 @@ class TestAggregateAddHost(TestAggregate):
|
|
|
83
81
|
]
|
|
84
82
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
85
83
|
columns, data = self.cmd.take_action(parsed_args)
|
|
86
|
-
self.
|
|
84
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
87
85
|
parsed_args.aggregate, ignore_missing=False
|
|
88
86
|
)
|
|
89
|
-
self.
|
|
87
|
+
self.compute_client.add_host_to_aggregate.assert_called_once_with(
|
|
90
88
|
self.fake_ag.id, parsed_args.host
|
|
91
89
|
)
|
|
92
90
|
self.assertEqual(self.columns, columns)
|
|
@@ -97,10 +95,8 @@ class TestAggregateCreate(TestAggregate):
|
|
|
97
95
|
def setUp(self):
|
|
98
96
|
super().setUp()
|
|
99
97
|
|
|
100
|
-
self.
|
|
101
|
-
self.
|
|
102
|
-
self.fake_ag
|
|
103
|
-
)
|
|
98
|
+
self.compute_client.create_aggregate.return_value = self.fake_ag
|
|
99
|
+
self.compute_client.set_aggregate_metadata.return_value = self.fake_ag
|
|
104
100
|
self.cmd = aggregate.CreateAggregate(self.app, None)
|
|
105
101
|
|
|
106
102
|
def test_aggregate_create(self):
|
|
@@ -112,7 +108,7 @@ class TestAggregateCreate(TestAggregate):
|
|
|
112
108
|
]
|
|
113
109
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
114
110
|
columns, data = self.cmd.take_action(parsed_args)
|
|
115
|
-
self.
|
|
111
|
+
self.compute_client.create_aggregate.assert_called_once_with(
|
|
116
112
|
name=parsed_args.name
|
|
117
113
|
)
|
|
118
114
|
self.assertEqual(self.columns, columns)
|
|
@@ -131,7 +127,7 @@ class TestAggregateCreate(TestAggregate):
|
|
|
131
127
|
|
|
132
128
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
133
129
|
columns, data = self.cmd.take_action(parsed_args)
|
|
134
|
-
self.
|
|
130
|
+
self.compute_client.create_aggregate.assert_called_once_with(
|
|
135
131
|
name=parsed_args.name, availability_zone=parsed_args.zone
|
|
136
132
|
)
|
|
137
133
|
self.assertEqual(self.columns, columns)
|
|
@@ -151,10 +147,10 @@ class TestAggregateCreate(TestAggregate):
|
|
|
151
147
|
]
|
|
152
148
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
153
149
|
columns, data = self.cmd.take_action(parsed_args)
|
|
154
|
-
self.
|
|
150
|
+
self.compute_client.create_aggregate.assert_called_once_with(
|
|
155
151
|
name=parsed_args.name
|
|
156
152
|
)
|
|
157
|
-
self.
|
|
153
|
+
self.compute_client.set_aggregate_metadata.assert_called_once_with(
|
|
158
154
|
self.fake_ag.id, parsed_args.properties
|
|
159
155
|
)
|
|
160
156
|
self.assertEqual(self.columns, columns)
|
|
@@ -169,7 +165,7 @@ class TestAggregateDelete(TestAggregate):
|
|
|
169
165
|
sdk_fakes.generate_fake_resources(_aggregate.Aggregate, 2)
|
|
170
166
|
)
|
|
171
167
|
|
|
172
|
-
self.
|
|
168
|
+
self.compute_client.find_aggregate = mock.Mock(
|
|
173
169
|
side_effect=[self.fake_ags[0], self.fake_ags[1]]
|
|
174
170
|
)
|
|
175
171
|
self.cmd = aggregate.DeleteAggregate(self.app, None)
|
|
@@ -181,10 +177,10 @@ class TestAggregateDelete(TestAggregate):
|
|
|
181
177
|
]
|
|
182
178
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
183
179
|
self.cmd.take_action(parsed_args)
|
|
184
|
-
self.
|
|
180
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
185
181
|
self.fake_ags[0].id, ignore_missing=False
|
|
186
182
|
)
|
|
187
|
-
self.
|
|
183
|
+
self.compute_client.delete_aggregate.assert_called_once_with(
|
|
188
184
|
self.fake_ags[0].id, ignore_missing=False
|
|
189
185
|
)
|
|
190
186
|
|
|
@@ -202,8 +198,8 @@ class TestAggregateDelete(TestAggregate):
|
|
|
202
198
|
calls = []
|
|
203
199
|
for a in self.fake_ags:
|
|
204
200
|
calls.append(call(a.id, ignore_missing=False))
|
|
205
|
-
self.
|
|
206
|
-
self.
|
|
201
|
+
self.compute_client.find_aggregate.assert_has_calls(calls)
|
|
202
|
+
self.compute_client.delete_aggregate.assert_has_calls(calls)
|
|
207
203
|
|
|
208
204
|
def test_delete_multiple_agggregates_with_exception(self):
|
|
209
205
|
arglist = [
|
|
@@ -216,7 +212,7 @@ class TestAggregateDelete(TestAggregate):
|
|
|
216
212
|
|
|
217
213
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
218
214
|
|
|
219
|
-
self.
|
|
215
|
+
self.compute_client.find_aggregate.side_effect = [
|
|
220
216
|
self.fake_ags[0],
|
|
221
217
|
sdk_exceptions.NotFoundException,
|
|
222
218
|
]
|
|
@@ -229,8 +225,8 @@ class TestAggregateDelete(TestAggregate):
|
|
|
229
225
|
calls = []
|
|
230
226
|
for a in arglist:
|
|
231
227
|
calls.append(call(a, ignore_missing=False))
|
|
232
|
-
self.
|
|
233
|
-
self.
|
|
228
|
+
self.compute_client.find_aggregate.assert_has_calls(calls)
|
|
229
|
+
self.compute_client.delete_aggregate.assert_called_with(
|
|
234
230
|
self.fake_ags[0].id, ignore_missing=False
|
|
235
231
|
)
|
|
236
232
|
|
|
@@ -239,7 +235,7 @@ class TestAggregateList(TestAggregate):
|
|
|
239
235
|
def setUp(self):
|
|
240
236
|
super().setUp()
|
|
241
237
|
|
|
242
|
-
self.
|
|
238
|
+
self.compute_client.aggregates.return_value = [self.fake_ag]
|
|
243
239
|
self.cmd = aggregate.ListAggregate(self.app, None)
|
|
244
240
|
|
|
245
241
|
def test_aggregate_list(self):
|
|
@@ -333,8 +329,8 @@ class TestAggregateRemoveHost(TestAggregate):
|
|
|
333
329
|
def setUp(self):
|
|
334
330
|
super().setUp()
|
|
335
331
|
|
|
336
|
-
self.
|
|
337
|
-
self.
|
|
332
|
+
self.compute_client.find_aggregate.return_value = self.fake_ag
|
|
333
|
+
self.compute_client.remove_host_from_aggregate.return_value = (
|
|
338
334
|
self.fake_ag
|
|
339
335
|
)
|
|
340
336
|
self.cmd = aggregate.RemoveAggregateHost(self.app, None)
|
|
@@ -350,10 +346,10 @@ class TestAggregateRemoveHost(TestAggregate):
|
|
|
350
346
|
]
|
|
351
347
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
352
348
|
columns, data = self.cmd.take_action(parsed_args)
|
|
353
|
-
self.
|
|
349
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
354
350
|
parsed_args.aggregate, ignore_missing=False
|
|
355
351
|
)
|
|
356
|
-
self.
|
|
352
|
+
self.compute_client.remove_host_from_aggregate.assert_called_once_with(
|
|
357
353
|
self.fake_ag.id, parsed_args.host
|
|
358
354
|
)
|
|
359
355
|
self.assertEqual(self.columns, columns)
|
|
@@ -364,7 +360,7 @@ class TestAggregateSet(TestAggregate):
|
|
|
364
360
|
def setUp(self):
|
|
365
361
|
super().setUp()
|
|
366
362
|
|
|
367
|
-
self.
|
|
363
|
+
self.compute_client.find_aggregate.return_value = self.fake_ag
|
|
368
364
|
self.cmd = aggregate.SetAggregate(self.app, None)
|
|
369
365
|
|
|
370
366
|
def test_aggregate_set_no_option(self):
|
|
@@ -377,11 +373,11 @@ class TestAggregateSet(TestAggregate):
|
|
|
377
373
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
378
374
|
result = self.cmd.take_action(parsed_args)
|
|
379
375
|
|
|
380
|
-
self.
|
|
376
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
381
377
|
parsed_args.aggregate, ignore_missing=False
|
|
382
378
|
)
|
|
383
|
-
self.assertNotCalled(self.
|
|
384
|
-
self.assertNotCalled(self.
|
|
379
|
+
self.assertNotCalled(self.compute_client.update_aggregate)
|
|
380
|
+
self.assertNotCalled(self.compute_client.set_aggregate_metadata)
|
|
385
381
|
self.assertIsNone(result)
|
|
386
382
|
|
|
387
383
|
def test_aggregate_set_with_name(self):
|
|
@@ -397,13 +393,13 @@ class TestAggregateSet(TestAggregate):
|
|
|
397
393
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
398
394
|
result = self.cmd.take_action(parsed_args)
|
|
399
395
|
|
|
400
|
-
self.
|
|
396
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
401
397
|
parsed_args.aggregate, ignore_missing=False
|
|
402
398
|
)
|
|
403
|
-
self.
|
|
399
|
+
self.compute_client.update_aggregate.assert_called_once_with(
|
|
404
400
|
self.fake_ag.id, name=parsed_args.name
|
|
405
401
|
)
|
|
406
|
-
self.assertNotCalled(self.
|
|
402
|
+
self.assertNotCalled(self.compute_client.set_aggregate_metadata)
|
|
407
403
|
self.assertIsNone(result)
|
|
408
404
|
|
|
409
405
|
def test_aggregate_set_with_zone(self):
|
|
@@ -419,13 +415,13 @@ class TestAggregateSet(TestAggregate):
|
|
|
419
415
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
420
416
|
result = self.cmd.take_action(parsed_args)
|
|
421
417
|
|
|
422
|
-
self.
|
|
418
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
423
419
|
parsed_args.aggregate, ignore_missing=False
|
|
424
420
|
)
|
|
425
|
-
self.
|
|
421
|
+
self.compute_client.update_aggregate.assert_called_once_with(
|
|
426
422
|
self.fake_ag.id, availability_zone=parsed_args.zone
|
|
427
423
|
)
|
|
428
|
-
self.assertNotCalled(self.
|
|
424
|
+
self.assertNotCalled(self.compute_client.set_aggregate_metadata)
|
|
429
425
|
self.assertIsNone(result)
|
|
430
426
|
|
|
431
427
|
def test_aggregate_set_with_property(self):
|
|
@@ -443,11 +439,11 @@ class TestAggregateSet(TestAggregate):
|
|
|
443
439
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
444
440
|
result = self.cmd.take_action(parsed_args)
|
|
445
441
|
|
|
446
|
-
self.
|
|
442
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
447
443
|
parsed_args.aggregate, ignore_missing=False
|
|
448
444
|
)
|
|
449
|
-
self.assertNotCalled(self.
|
|
450
|
-
self.
|
|
445
|
+
self.assertNotCalled(self.compute_client.update_aggregate)
|
|
446
|
+
self.compute_client.set_aggregate_metadata.assert_called_once_with(
|
|
451
447
|
self.fake_ag.id, parsed_args.properties
|
|
452
448
|
)
|
|
453
449
|
self.assertIsNone(result)
|
|
@@ -466,11 +462,11 @@ class TestAggregateSet(TestAggregate):
|
|
|
466
462
|
]
|
|
467
463
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
468
464
|
result = self.cmd.take_action(parsed_args)
|
|
469
|
-
self.
|
|
465
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
470
466
|
parsed_args.aggregate, ignore_missing=False
|
|
471
467
|
)
|
|
472
|
-
self.assertNotCalled(self.
|
|
473
|
-
self.
|
|
468
|
+
self.assertNotCalled(self.compute_client.update_aggregate)
|
|
469
|
+
self.compute_client.set_aggregate_metadata.assert_called_once_with(
|
|
474
470
|
self.fake_ag.id, {'key1': None, 'key2': 'value2'}
|
|
475
471
|
)
|
|
476
472
|
self.assertIsNone(result)
|
|
@@ -486,11 +482,11 @@ class TestAggregateSet(TestAggregate):
|
|
|
486
482
|
]
|
|
487
483
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
488
484
|
result = self.cmd.take_action(parsed_args)
|
|
489
|
-
self.
|
|
485
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
490
486
|
parsed_args.aggregate, ignore_missing=False
|
|
491
487
|
)
|
|
492
|
-
self.assertNotCalled(self.
|
|
493
|
-
self.
|
|
488
|
+
self.assertNotCalled(self.compute_client.update_aggregate)
|
|
489
|
+
self.compute_client.set_aggregate_metadata.assert_called_once_with(
|
|
494
490
|
self.fake_ag.id, {'key1': None}
|
|
495
491
|
)
|
|
496
492
|
self.assertIsNone(result)
|
|
@@ -509,13 +505,13 @@ class TestAggregateSet(TestAggregate):
|
|
|
509
505
|
]
|
|
510
506
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
511
507
|
result = self.cmd.take_action(parsed_args)
|
|
512
|
-
self.
|
|
508
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
513
509
|
parsed_args.aggregate, ignore_missing=False
|
|
514
510
|
)
|
|
515
|
-
self.
|
|
511
|
+
self.compute_client.update_aggregate.assert_called_once_with(
|
|
516
512
|
self.fake_ag.id, availability_zone=parsed_args.zone
|
|
517
513
|
)
|
|
518
|
-
self.
|
|
514
|
+
self.compute_client.set_aggregate_metadata.assert_called_once_with(
|
|
519
515
|
self.fake_ag.id, {'key1': None}
|
|
520
516
|
)
|
|
521
517
|
self.assertIsNone(result)
|
|
@@ -538,7 +534,7 @@ class TestAggregateShow(TestAggregate):
|
|
|
538
534
|
def setUp(self):
|
|
539
535
|
super().setUp()
|
|
540
536
|
|
|
541
|
-
self.
|
|
537
|
+
self.compute_client.find_aggregate.return_value = self.fake_ag
|
|
542
538
|
self.cmd = aggregate.ShowAggregate(self.app, None)
|
|
543
539
|
|
|
544
540
|
self.data = (
|
|
@@ -563,7 +559,7 @@ class TestAggregateShow(TestAggregate):
|
|
|
563
559
|
]
|
|
564
560
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
565
561
|
columns, data = self.cmd.take_action(parsed_args)
|
|
566
|
-
self.
|
|
562
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
567
563
|
parsed_args.aggregate, ignore_missing=False
|
|
568
564
|
)
|
|
569
565
|
|
|
@@ -575,7 +571,7 @@ class TestAggregateUnset(TestAggregate):
|
|
|
575
571
|
def setUp(self):
|
|
576
572
|
super().setUp()
|
|
577
573
|
|
|
578
|
-
self.
|
|
574
|
+
self.compute_client.find_aggregate.return_value = self.fake_ag
|
|
579
575
|
self.cmd = aggregate.UnsetAggregate(self.app, None)
|
|
580
576
|
|
|
581
577
|
def test_aggregate_unset(self):
|
|
@@ -591,7 +587,7 @@ class TestAggregateUnset(TestAggregate):
|
|
|
591
587
|
|
|
592
588
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
593
589
|
result = self.cmd.take_action(parsed_args)
|
|
594
|
-
self.
|
|
590
|
+
self.compute_client.set_aggregate_metadata.assert_called_once_with(
|
|
595
591
|
self.fake_ag.id, {'unset_key': None}
|
|
596
592
|
)
|
|
597
593
|
self.assertIsNone(result)
|
|
@@ -611,7 +607,7 @@ class TestAggregateUnset(TestAggregate):
|
|
|
611
607
|
|
|
612
608
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
613
609
|
result = self.cmd.take_action(parsed_args)
|
|
614
|
-
self.
|
|
610
|
+
self.compute_client.set_aggregate_metadata.assert_called_once_with(
|
|
615
611
|
self.fake_ag.id, {'unset_key1': None, 'unset_key2': None}
|
|
616
612
|
)
|
|
617
613
|
self.assertIsNone(result)
|
|
@@ -626,7 +622,7 @@ class TestAggregateUnset(TestAggregate):
|
|
|
626
622
|
]
|
|
627
623
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
628
624
|
result = self.cmd.take_action(parsed_args)
|
|
629
|
-
self.assertNotCalled(self.
|
|
625
|
+
self.assertNotCalled(self.compute_client.set_aggregate_metadata)
|
|
630
626
|
self.assertIsNone(result)
|
|
631
627
|
|
|
632
628
|
|
|
@@ -636,7 +632,7 @@ class TestAggregateCacheImage(TestAggregate):
|
|
|
636
632
|
def setUp(self):
|
|
637
633
|
super().setUp()
|
|
638
634
|
|
|
639
|
-
self.
|
|
635
|
+
self.compute_client.find_aggregate.return_value = self.fake_ag
|
|
640
636
|
self.find_image_mock = mock.Mock(side_effect=self.images)
|
|
641
637
|
self.app.client_manager.sdk_connection.image.find_image = (
|
|
642
638
|
self.find_image_mock
|
|
@@ -667,10 +663,10 @@ class TestAggregateCacheImage(TestAggregate):
|
|
|
667
663
|
]
|
|
668
664
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
669
665
|
self.cmd.take_action(parsed_args)
|
|
670
|
-
self.
|
|
666
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
671
667
|
parsed_args.aggregate, ignore_missing=False
|
|
672
668
|
)
|
|
673
|
-
self.
|
|
669
|
+
self.compute_client.aggregate_precache_images.assert_called_once_with(
|
|
674
670
|
self.fake_ag.id, [self.images[0].id]
|
|
675
671
|
)
|
|
676
672
|
|
|
@@ -688,9 +684,9 @@ class TestAggregateCacheImage(TestAggregate):
|
|
|
688
684
|
]
|
|
689
685
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
690
686
|
self.cmd.take_action(parsed_args)
|
|
691
|
-
self.
|
|
687
|
+
self.compute_client.find_aggregate.assert_called_once_with(
|
|
692
688
|
parsed_args.aggregate, ignore_missing=False
|
|
693
689
|
)
|
|
694
|
-
self.
|
|
690
|
+
self.compute_client.aggregate_precache_images.assert_called_once_with(
|
|
695
691
|
self.fake_ag.id, [self.images[0].id, self.images[1].id]
|
|
696
692
|
)
|
|
@@ -28,7 +28,7 @@ class TestConsoleLog(compute_fakes.TestComputev2):
|
|
|
28
28
|
super().setUp()
|
|
29
29
|
|
|
30
30
|
self._server = sdk_fakes.generate_fake_resource(_server.Server)
|
|
31
|
-
self.
|
|
31
|
+
self.compute_client.find_server.return_value = self._server
|
|
32
32
|
|
|
33
33
|
self.cmd = console.ShowConsoleLog(self.app, None)
|
|
34
34
|
|
|
@@ -49,13 +49,13 @@ class TestConsoleLog(compute_fakes.TestComputev2):
|
|
|
49
49
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
50
50
|
|
|
51
51
|
output = {'output': '1st line\n2nd line\n'}
|
|
52
|
-
self.
|
|
52
|
+
self.compute_client.get_server_console_output.return_value = output
|
|
53
53
|
self.cmd.take_action(parsed_args)
|
|
54
54
|
|
|
55
|
-
self.
|
|
55
|
+
self.compute_client.find_server.assert_called_with(
|
|
56
56
|
name_or_id='fake_server', ignore_missing=False
|
|
57
57
|
)
|
|
58
|
-
self.
|
|
58
|
+
self.compute_client.get_server_console_output.assert_called_with(
|
|
59
59
|
self._server.id, length=None
|
|
60
60
|
)
|
|
61
61
|
stdout = self.app.stdout.content
|
|
@@ -67,13 +67,13 @@ class TestConsoleLog(compute_fakes.TestComputev2):
|
|
|
67
67
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
68
68
|
|
|
69
69
|
output = {'output': '1st line\n2nd line'}
|
|
70
|
-
self.
|
|
70
|
+
self.compute_client.get_server_console_output.return_value = output
|
|
71
71
|
self.cmd.take_action(parsed_args)
|
|
72
72
|
|
|
73
|
-
self.
|
|
73
|
+
self.compute_client.find_server.assert_called_with(
|
|
74
74
|
name_or_id='fake_server', ignore_missing=False
|
|
75
75
|
)
|
|
76
|
-
self.
|
|
76
|
+
self.compute_client.get_server_console_output.assert_called_with(
|
|
77
77
|
self._server.id, length=15
|
|
78
78
|
)
|
|
79
79
|
|
|
@@ -83,14 +83,14 @@ class TestConsoleUrlShow(compute_fakes.TestComputev2):
|
|
|
83
83
|
super().setUp()
|
|
84
84
|
|
|
85
85
|
self._server = sdk_fakes.generate_fake_resource(_server.Server)
|
|
86
|
-
self.
|
|
86
|
+
self.compute_client.find_server.return_value = self._server
|
|
87
87
|
|
|
88
88
|
fake_console_data = {
|
|
89
89
|
'url': 'http://localhost',
|
|
90
90
|
'protocol': 'fake_protocol',
|
|
91
91
|
'type': 'fake_type',
|
|
92
92
|
}
|
|
93
|
-
self.
|
|
93
|
+
self.compute_client.create_console = mock.Mock(
|
|
94
94
|
return_value=fake_console_data
|
|
95
95
|
)
|
|
96
96
|
|
|
@@ -117,7 +117,7 @@ class TestConsoleUrlShow(compute_fakes.TestComputev2):
|
|
|
117
117
|
]
|
|
118
118
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
119
119
|
columns, data = self.cmd.take_action(parsed_args)
|
|
120
|
-
self.
|
|
120
|
+
self.compute_client.create_console.assert_called_once_with(
|
|
121
121
|
self._server.id, console_type='novnc'
|
|
122
122
|
)
|
|
123
123
|
self.assertEqual(self.columns, columns)
|
|
@@ -134,7 +134,7 @@ class TestConsoleUrlShow(compute_fakes.TestComputev2):
|
|
|
134
134
|
]
|
|
135
135
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
136
136
|
columns, data = self.cmd.take_action(parsed_args)
|
|
137
|
-
self.
|
|
137
|
+
self.compute_client.create_console.assert_called_once_with(
|
|
138
138
|
self._server.id, console_type='novnc'
|
|
139
139
|
)
|
|
140
140
|
self.assertEqual(self.columns, columns)
|
|
@@ -151,7 +151,7 @@ class TestConsoleUrlShow(compute_fakes.TestComputev2):
|
|
|
151
151
|
]
|
|
152
152
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
153
153
|
columns, data = self.cmd.take_action(parsed_args)
|
|
154
|
-
self.
|
|
154
|
+
self.compute_client.create_console.assert_called_once_with(
|
|
155
155
|
self._server.id, console_type='xvpvnc'
|
|
156
156
|
)
|
|
157
157
|
self.assertEqual(self.columns, columns)
|
|
@@ -168,7 +168,7 @@ class TestConsoleUrlShow(compute_fakes.TestComputev2):
|
|
|
168
168
|
]
|
|
169
169
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
170
170
|
columns, data = self.cmd.take_action(parsed_args)
|
|
171
|
-
self.
|
|
171
|
+
self.compute_client.create_console.assert_called_once_with(
|
|
172
172
|
self._server.id, console_type='spice-html5'
|
|
173
173
|
)
|
|
174
174
|
self.assertEqual(self.columns, columns)
|
|
@@ -185,7 +185,7 @@ class TestConsoleUrlShow(compute_fakes.TestComputev2):
|
|
|
185
185
|
]
|
|
186
186
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
187
187
|
columns, data = self.cmd.take_action(parsed_args)
|
|
188
|
-
self.
|
|
188
|
+
self.compute_client.create_console.assert_called_once_with(
|
|
189
189
|
self._server.id, console_type='rdp-html5'
|
|
190
190
|
)
|
|
191
191
|
self.assertEqual(self.columns, columns)
|
|
@@ -202,7 +202,7 @@ class TestConsoleUrlShow(compute_fakes.TestComputev2):
|
|
|
202
202
|
]
|
|
203
203
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
204
204
|
columns, data = self.cmd.take_action(parsed_args)
|
|
205
|
-
self.
|
|
205
|
+
self.compute_client.create_console.assert_called_once_with(
|
|
206
206
|
self._server.id, console_type='serial'
|
|
207
207
|
)
|
|
208
208
|
self.assertEqual(self.columns, columns)
|
|
@@ -219,7 +219,7 @@ class TestConsoleUrlShow(compute_fakes.TestComputev2):
|
|
|
219
219
|
]
|
|
220
220
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
221
221
|
columns, data = self.cmd.take_action(parsed_args)
|
|
222
|
-
self.
|
|
222
|
+
self.compute_client.create_console.assert_called_once_with(
|
|
223
223
|
self._server.id, console_type='webmks'
|
|
224
224
|
)
|
|
225
225
|
self.assertEqual(self.columns, columns)
|