python-openstackclient 7.1.3__py3-none-any.whl → 7.2.1__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/api/api.py +2 -1
- openstackclient/api/image_v2.py +1 -1
- openstackclient/api/object_store_v1.py +12 -20
- openstackclient/common/clientmanager.py +7 -2
- openstackclient/common/module.py +2 -2
- openstackclient/common/quota.py +4 -4
- openstackclient/compute/v2/flavor.py +1 -1
- openstackclient/compute/v2/server.py +122 -59
- openstackclient/compute/v2/server_backup.py +1 -1
- openstackclient/compute/v2/server_image.py +1 -1
- openstackclient/compute/v2/server_migration.py +11 -2
- openstackclient/compute/v2/usage.py +3 -3
- openstackclient/identity/common.py +1 -1
- openstackclient/identity/v2_0/project.py +1 -1
- openstackclient/identity/v2_0/role_assignment.py +1 -1
- openstackclient/identity/v2_0/user.py +2 -2
- openstackclient/identity/v3/access_rule.py +26 -14
- openstackclient/identity/v3/identity_provider.py +1 -1
- openstackclient/identity/v3/project.py +1 -1
- openstackclient/image/v2/image.py +13 -13
- openstackclient/image/v2/metadef_objects.py +6 -4
- openstackclient/network/common.py +8 -7
- openstackclient/network/v2/floating_ip.py +6 -2
- openstackclient/network/v2/floating_ip_port_forwarding.py +2 -2
- openstackclient/network/v2/l3_conntrack_helper.py +1 -1
- openstackclient/network/v2/ndp_proxy.py +1 -0
- openstackclient/network/v2/network_agent.py +2 -6
- openstackclient/network/v2/network_qos_rule.py +2 -5
- openstackclient/network/v2/network_trunk.py +5 -4
- openstackclient/network/v2/port.py +18 -3
- openstackclient/network/v2/router.py +7 -4
- openstackclient/network/v2/subnet_pool.py +2 -2
- openstackclient/shell.py +3 -2
- openstackclient/tests/functional/common/test_help.py +3 -9
- openstackclient/tests/functional/common/test_module.py +1 -1
- openstackclient/tests/functional/common/test_quota.py +2 -4
- openstackclient/tests/functional/compute/v2/common.py +1 -3
- openstackclient/tests/functional/compute/v2/test_hypervisor.py +3 -3
- openstackclient/tests/functional/compute/v2/test_keypair.py +2 -2
- openstackclient/tests/functional/compute/v2/test_server.py +1 -1
- openstackclient/tests/functional/identity/v2/common.py +31 -48
- openstackclient/tests/functional/identity/v2/test_catalog.py +1 -1
- openstackclient/tests/functional/identity/v2/test_ec2_credentials.py +2 -2
- openstackclient/tests/functional/identity/v2/test_endpoint.py +2 -2
- openstackclient/tests/functional/identity/v2/test_project.py +8 -8
- openstackclient/tests/functional/identity/v2/test_role.py +14 -34
- openstackclient/tests/functional/identity/v2/test_service.py +2 -2
- openstackclient/tests/functional/identity/v2/test_token.py +1 -1
- openstackclient/tests/functional/identity/v2/test_user.py +7 -9
- openstackclient/tests/functional/identity/v3/common.py +69 -110
- openstackclient/tests/functional/identity/v3/test_access_rule.py +86 -0
- openstackclient/tests/functional/identity/v3/test_application_credential.py +18 -44
- openstackclient/tests/functional/identity/v3/test_catalog.py +1 -1
- openstackclient/tests/functional/identity/v3/test_domain.py +9 -11
- openstackclient/tests/functional/identity/v3/test_endpoint.py +15 -27
- openstackclient/tests/functional/identity/v3/test_group.py +32 -93
- openstackclient/tests/functional/identity/v3/test_idp.py +3 -3
- openstackclient/tests/functional/identity/v3/test_limit.py +32 -32
- openstackclient/tests/functional/identity/v3/test_project.py +17 -26
- openstackclient/tests/functional/identity/v3/test_region.py +6 -7
- openstackclient/tests/functional/identity/v3/test_registered_limit.py +27 -36
- openstackclient/tests/functional/identity/v3/test_role.py +30 -60
- openstackclient/tests/functional/identity/v3/test_role_assignment.py +33 -80
- openstackclient/tests/functional/identity/v3/test_service.py +7 -13
- openstackclient/tests/functional/identity/v3/test_service_provider.py +3 -3
- openstackclient/tests/functional/identity/v3/test_user.py +17 -34
- openstackclient/tests/functional/image/v2/test_image.py +1 -3
- openstackclient/tests/functional/network/v2/common.py +1 -3
- openstackclient/tests/functional/network/v2/test_default_security_group_rule.py +3 -8
- openstackclient/tests/functional/network/v2/test_l3_conntrack_helper.py +27 -31
- openstackclient/tests/functional/network/v2/test_network.py +9 -12
- openstackclient/tests/functional/network/v2/test_network_agent.py +15 -20
- openstackclient/tests/functional/network/v2/test_network_flavor.py +2 -2
- openstackclient/tests/functional/network/v2/test_network_ndp_proxy.py +17 -39
- openstackclient/tests/functional/network/v2/test_network_qos_rule.py +48 -63
- openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py +1 -1
- openstackclient/tests/functional/network/v2/test_network_segment_range.py +2 -2
- openstackclient/tests/functional/network/v2/test_network_trunk.py +15 -25
- openstackclient/tests/functional/network/v2/test_port.py +28 -34
- openstackclient/tests/functional/network/v2/test_router.py +13 -19
- openstackclient/tests/functional/object/v1/test_object.py +4 -7
- openstackclient/tests/functional/volume/base.py +5 -17
- openstackclient/tests/functional/volume/v1/test_volume_type.py +11 -11
- openstackclient/tests/functional/volume/v2/test_volume_backup.py +1 -1
- openstackclient/tests/functional/volume/v2/test_volume_type.py +13 -15
- openstackclient/tests/functional/volume/v3/test_volume_type.py +13 -15
- openstackclient/tests/unit/api/test_compute_v2.py +0 -5
- openstackclient/tests/unit/api/test_object_store_v1.py +6 -4
- openstackclient/tests/unit/common/test_extension.py +24 -31
- openstackclient/tests/unit/compute/v2/test_host.py +0 -1
- openstackclient/tests/unit/compute/v2/test_server.py +123 -115
- openstackclient/tests/unit/identity/v3/test_access_rule.py +65 -64
- openstackclient/tests/unit/identity/v3/test_group.py +4 -10
- openstackclient/tests/unit/identity/v3/test_limit.py +2 -2
- openstackclient/tests/unit/image/v2/test_metadef_objects.py +1 -2
- openstackclient/tests/unit/image/v2/test_metadef_resource_type_association.py +2 -6
- openstackclient/tests/unit/integ/base.py +1 -1
- openstackclient/tests/unit/network/v2/test_default_security_group_rule.py +3 -3
- openstackclient/tests/unit/network/v2/test_floating_ip_port_forwarding.py +4 -4
- openstackclient/tests/unit/network/v2/test_local_ip_association.py +2 -2
- openstackclient/tests/unit/network/v2/test_network_qos_rule.py +12 -13
- openstackclient/tests/unit/network/v2/test_network_trunk.py +31 -35
- openstackclient/tests/unit/network/v2/test_port.py +40 -17
- openstackclient/tests/unit/network/v2/test_subnet_pool.py +1 -1
- openstackclient/tests/unit/object/v1/test_object.py +1 -1
- openstackclient/tests/unit/utils.py +2 -2
- openstackclient/volume/client.py +1 -1
- openstackclient/volume/v1/volume.py +2 -2
- openstackclient/volume/v1/volume_backup.py +2 -2
- openstackclient/volume/v1/volume_snapshot.py +2 -2
- openstackclient/volume/v2/volume.py +2 -2
- openstackclient/volume/v2/volume_backup.py +2 -2
- openstackclient/volume/v2/volume_snapshot.py +2 -2
- openstackclient/volume/v2/volume_type.py +4 -4
- openstackclient/volume/v3/service.py +0 -1
- openstackclient/volume/v3/volume.py +3 -3
- openstackclient/volume/v3/volume_backup.py +2 -2
- openstackclient/volume/v3/volume_group.py +3 -7
- openstackclient/volume/v3/volume_type.py +6 -6
- {python_openstackclient-7.1.3.dist-info → python_openstackclient-7.2.1.dist-info}/AUTHORS +3 -0
- {python_openstackclient-7.1.3.dist-info → python_openstackclient-7.2.1.dist-info}/METADATA +2 -3
- {python_openstackclient-7.1.3.dist-info → python_openstackclient-7.2.1.dist-info}/RECORD +127 -126
- python_openstackclient-7.2.1.dist-info/pbr.json +1 -0
- python_openstackclient-7.1.3.dist-info/pbr.json +0 -1
- {python_openstackclient-7.1.3.dist-info → python_openstackclient-7.2.1.dist-info}/LICENSE +0 -0
- {python_openstackclient-7.1.3.dist-info → python_openstackclient-7.2.1.dist-info}/WHEEL +0 -0
- {python_openstackclient-7.1.3.dist-info → python_openstackclient-7.2.1.dist-info}/entry_points.txt +0 -0
- {python_openstackclient-7.1.3.dist-info → python_openstackclient-7.2.1.dist-info}/top_level.txt +0 -0
|
@@ -179,7 +179,7 @@ class TestCreatePort(TestPort):
|
|
|
179
179
|
'--mac-address',
|
|
180
180
|
'aa:aa:aa:aa:aa:aa',
|
|
181
181
|
'--fixed-ip',
|
|
182
|
-
'subnet
|
|
182
|
+
f'subnet={self.fake_subnet.id},ip-address=10.0.0.2',
|
|
183
183
|
'--description',
|
|
184
184
|
self._port.description,
|
|
185
185
|
'--device',
|
|
@@ -866,7 +866,7 @@ class TestCreatePort(TestPort):
|
|
|
866
866
|
'test-port',
|
|
867
867
|
]
|
|
868
868
|
if policy:
|
|
869
|
-
arglist += ['--numa-policy
|
|
869
|
+
arglist += [f'--numa-policy-{policy}']
|
|
870
870
|
|
|
871
871
|
numa_affinity_policy = None if not policy else policy
|
|
872
872
|
verifylist = [
|
|
@@ -877,7 +877,7 @@ class TestCreatePort(TestPort):
|
|
|
877
877
|
('name', 'test-port'),
|
|
878
878
|
]
|
|
879
879
|
if policy:
|
|
880
|
-
verifylist.append(('numa_policy_
|
|
880
|
+
verifylist.append((f'numa_policy_{policy}', True))
|
|
881
881
|
|
|
882
882
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
883
883
|
|
|
@@ -1418,7 +1418,7 @@ class TestListPort(compute_fakes.FakeClientMixin, TestPort):
|
|
|
1418
1418
|
ip_address = self._ports[0].fixed_ips[0]['ip_address']
|
|
1419
1419
|
arglist = [
|
|
1420
1420
|
'--fixed-ip',
|
|
1421
|
-
"ip-address
|
|
1421
|
+
f"ip-address={ip_address}",
|
|
1422
1422
|
]
|
|
1423
1423
|
verifylist = [('fixed_ip', [{'ip-address': ip_address}])]
|
|
1424
1424
|
|
|
@@ -1428,7 +1428,7 @@ class TestListPort(compute_fakes.FakeClientMixin, TestPort):
|
|
|
1428
1428
|
|
|
1429
1429
|
self.network_client.ports.assert_called_once_with(
|
|
1430
1430
|
**{
|
|
1431
|
-
'fixed_ips': ['ip_address
|
|
1431
|
+
'fixed_ips': [f'ip_address={ip_address}'],
|
|
1432
1432
|
'fields': LIST_FIELDS_TO_RETRIEVE,
|
|
1433
1433
|
}
|
|
1434
1434
|
)
|
|
@@ -1439,7 +1439,7 @@ class TestListPort(compute_fakes.FakeClientMixin, TestPort):
|
|
|
1439
1439
|
ip_address_ss = self._ports[0].fixed_ips[0]['ip_address'][:-1]
|
|
1440
1440
|
arglist = [
|
|
1441
1441
|
'--fixed-ip',
|
|
1442
|
-
"ip-substring
|
|
1442
|
+
f"ip-substring={ip_address_ss}",
|
|
1443
1443
|
]
|
|
1444
1444
|
verifylist = [('fixed_ip', [{'ip-substring': ip_address_ss}])]
|
|
1445
1445
|
|
|
@@ -1449,7 +1449,7 @@ class TestListPort(compute_fakes.FakeClientMixin, TestPort):
|
|
|
1449
1449
|
|
|
1450
1450
|
self.network_client.ports.assert_called_once_with(
|
|
1451
1451
|
**{
|
|
1452
|
-
'fixed_ips': ['ip_address_substr
|
|
1452
|
+
'fixed_ips': [f'ip_address_substr={ip_address_ss}'],
|
|
1453
1453
|
'fields': LIST_FIELDS_TO_RETRIEVE,
|
|
1454
1454
|
}
|
|
1455
1455
|
)
|
|
@@ -1460,7 +1460,7 @@ class TestListPort(compute_fakes.FakeClientMixin, TestPort):
|
|
|
1460
1460
|
subnet_id = self._ports[0].fixed_ips[0]['subnet_id']
|
|
1461
1461
|
arglist = [
|
|
1462
1462
|
'--fixed-ip',
|
|
1463
|
-
"subnet
|
|
1463
|
+
f"subnet={subnet_id}",
|
|
1464
1464
|
]
|
|
1465
1465
|
verifylist = [('fixed_ip', [{'subnet': subnet_id}])]
|
|
1466
1466
|
|
|
@@ -1475,7 +1475,7 @@ class TestListPort(compute_fakes.FakeClientMixin, TestPort):
|
|
|
1475
1475
|
|
|
1476
1476
|
self.network_client.ports.assert_called_once_with(
|
|
1477
1477
|
**{
|
|
1478
|
-
'fixed_ips': ['subnet_id
|
|
1478
|
+
'fixed_ips': [f'subnet_id={subnet_id}'],
|
|
1479
1479
|
'fields': LIST_FIELDS_TO_RETRIEVE,
|
|
1480
1480
|
}
|
|
1481
1481
|
)
|
|
@@ -1505,8 +1505,8 @@ class TestListPort(compute_fakes.FakeClientMixin, TestPort):
|
|
|
1505
1505
|
self.network_client.ports.assert_called_once_with(
|
|
1506
1506
|
**{
|
|
1507
1507
|
'fixed_ips': [
|
|
1508
|
-
'subnet_id
|
|
1509
|
-
'ip_address
|
|
1508
|
+
f'subnet_id={subnet_id}',
|
|
1509
|
+
f'ip_address={ip_address}',
|
|
1510
1510
|
],
|
|
1511
1511
|
'fields': LIST_FIELDS_TO_RETRIEVE,
|
|
1512
1512
|
}
|
|
@@ -1519,9 +1519,9 @@ class TestListPort(compute_fakes.FakeClientMixin, TestPort):
|
|
|
1519
1519
|
ip_address = self._ports[0].fixed_ips[0]['ip_address']
|
|
1520
1520
|
arglist = [
|
|
1521
1521
|
'--fixed-ip',
|
|
1522
|
-
"subnet
|
|
1522
|
+
f"subnet={subnet_id}",
|
|
1523
1523
|
'--fixed-ip',
|
|
1524
|
-
"ip-address
|
|
1524
|
+
f"ip-address={ip_address}",
|
|
1525
1525
|
]
|
|
1526
1526
|
verifylist = [
|
|
1527
1527
|
('fixed_ip', [{'subnet': subnet_id}, {'ip-address': ip_address}])
|
|
@@ -1542,8 +1542,8 @@ class TestListPort(compute_fakes.FakeClientMixin, TestPort):
|
|
|
1542
1542
|
self.network_client.ports.assert_called_once_with(
|
|
1543
1543
|
**{
|
|
1544
1544
|
'fixed_ips': [
|
|
1545
|
-
'subnet_id
|
|
1546
|
-
'ip_address
|
|
1545
|
+
f'subnet_id={subnet_id}',
|
|
1546
|
+
f'ip_address={ip_address}',
|
|
1547
1547
|
],
|
|
1548
1548
|
'fields': LIST_FIELDS_TO_RETRIEVE,
|
|
1549
1549
|
}
|
|
@@ -1712,6 +1712,29 @@ class TestListPort(compute_fakes.FakeClientMixin, TestPort):
|
|
|
1712
1712
|
self.assertEqual(self.columns, columns)
|
|
1713
1713
|
self.assertCountEqual(self.data, list(data))
|
|
1714
1714
|
|
|
1715
|
+
def test_port_list_status(self):
|
|
1716
|
+
arglist = [
|
|
1717
|
+
'--status',
|
|
1718
|
+
'ACTIVE',
|
|
1719
|
+
]
|
|
1720
|
+
verifylist = [
|
|
1721
|
+
('status', 'ACTIVE'),
|
|
1722
|
+
]
|
|
1723
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
1724
|
+
|
|
1725
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
1726
|
+
filters = {
|
|
1727
|
+
'status': 'ACTIVE',
|
|
1728
|
+
'fields': LIST_FIELDS_TO_RETRIEVE,
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
self.network_client.ports.assert_called_once_with(**filters)
|
|
1732
|
+
self.assertEqual(self.columns, columns)
|
|
1733
|
+
self.assertEqual(
|
|
1734
|
+
self.data,
|
|
1735
|
+
list(data),
|
|
1736
|
+
)
|
|
1737
|
+
|
|
1715
1738
|
|
|
1716
1739
|
class TestSetPort(TestPort):
|
|
1717
1740
|
_port = network_fakes.create_one_port({'tags': ['green', 'red']})
|
|
@@ -2360,11 +2383,11 @@ class TestSetPort(TestPort):
|
|
|
2360
2383
|
|
|
2361
2384
|
def _test_create_with_numa_affinity_policy(self, policy):
|
|
2362
2385
|
arglist = [
|
|
2363
|
-
'--numa-policy
|
|
2386
|
+
f'--numa-policy-{policy}',
|
|
2364
2387
|
self._port.id,
|
|
2365
2388
|
]
|
|
2366
2389
|
verifylist = [
|
|
2367
|
-
('numa_policy_
|
|
2390
|
+
(f'numa_policy_{policy}', True),
|
|
2368
2391
|
(
|
|
2369
2392
|
'port',
|
|
2370
2393
|
self._port.id,
|
|
@@ -352,7 +352,7 @@ class TestObjectShow(TestObject):
|
|
|
352
352
|
c_mock.assert_called_with(
|
|
353
353
|
container=object_fakes.container_name,
|
|
354
354
|
object=object_fakes.object_name_1,
|
|
355
|
-
**kwargs
|
|
355
|
+
**kwargs,
|
|
356
356
|
)
|
|
357
357
|
|
|
358
358
|
collist = ('bytes', 'content_type', 'hash', 'last_modified', 'name')
|
|
@@ -62,7 +62,7 @@ class TestCase(testtools.TestCase):
|
|
|
62
62
|
|
|
63
63
|
if m.called:
|
|
64
64
|
if not msg:
|
|
65
|
-
msg = 'method
|
|
65
|
+
msg = f'method {m} should not have been called'
|
|
66
66
|
self.fail(msg)
|
|
67
67
|
|
|
68
68
|
|
|
@@ -90,7 +90,7 @@ class TestCommand(TestCase):
|
|
|
90
90
|
argparse.ArgumentError,
|
|
91
91
|
):
|
|
92
92
|
raise ParserException(
|
|
93
|
-
"Argument parse failed:
|
|
93
|
+
f"Argument parse failed: {stderr.getvalue()}"
|
|
94
94
|
)
|
|
95
95
|
for av in verify_args:
|
|
96
96
|
attr, value = av
|
openstackclient/volume/client.py
CHANGED
|
@@ -422,9 +422,9 @@ class ListVolume(command.Lister):
|
|
|
422
422
|
compute_client = self.app.client_manager.sdk_connection.compute
|
|
423
423
|
for s in compute_client.servers():
|
|
424
424
|
server_cache[s.id] = s
|
|
425
|
-
except Exception:
|
|
425
|
+
except Exception: # noqa: S110
|
|
426
426
|
# Just forget it if there's any trouble
|
|
427
|
-
pass
|
|
427
|
+
pass
|
|
428
428
|
AttachmentsColumnWithCache = functools.partial(
|
|
429
429
|
AttachmentsColumn, server_cache=server_cache
|
|
430
430
|
)
|
|
@@ -215,9 +215,9 @@ class ListVolumeBackup(command.Lister):
|
|
|
215
215
|
try:
|
|
216
216
|
for s in volume_client.volumes.list():
|
|
217
217
|
volume_cache[s.id] = s
|
|
218
|
-
except Exception:
|
|
218
|
+
except Exception: # noqa: S110
|
|
219
219
|
# Just forget it if there's any trouble
|
|
220
|
-
pass
|
|
220
|
+
pass
|
|
221
221
|
VolumeIdColumnWithCache = functools.partial(
|
|
222
222
|
VolumeIdColumn, volume_cache=volume_cache
|
|
223
223
|
)
|
|
@@ -242,9 +242,9 @@ class ListVolumeSnapshot(command.Lister):
|
|
|
242
242
|
try:
|
|
243
243
|
for s in volume_client.volumes.list():
|
|
244
244
|
volume_cache[s.id] = s
|
|
245
|
-
except Exception:
|
|
245
|
+
except Exception: # noqa: S110
|
|
246
246
|
# Just forget it if there's any trouble
|
|
247
|
-
pass
|
|
247
|
+
pass
|
|
248
248
|
VolumeIdColumnWithCache = functools.partial(
|
|
249
249
|
VolumeIdColumn, volume_cache=volume_cache
|
|
250
250
|
)
|
|
@@ -511,9 +511,9 @@ class ListVolume(command.Lister):
|
|
|
511
511
|
compute_client = self.app.client_manager.sdk_connection.compute
|
|
512
512
|
for s in compute_client.servers():
|
|
513
513
|
server_cache[s.id] = s
|
|
514
|
-
except sdk_exceptions.SDKException:
|
|
514
|
+
except sdk_exceptions.SDKException: # noqa: S110
|
|
515
515
|
# Just forget it if there's any trouble
|
|
516
|
-
pass
|
|
516
|
+
pass
|
|
517
517
|
AttachmentsColumnWithCache = functools.partial(
|
|
518
518
|
AttachmentsColumn, server_cache=server_cache
|
|
519
519
|
)
|
|
@@ -267,9 +267,9 @@ class ListVolumeBackup(command.Lister):
|
|
|
267
267
|
try:
|
|
268
268
|
for s in volume_client.volumes():
|
|
269
269
|
volume_cache[s.id] = s
|
|
270
|
-
except Exception:
|
|
270
|
+
except Exception: # noqa: S110
|
|
271
271
|
# Just forget it if there's any trouble
|
|
272
|
-
pass
|
|
272
|
+
pass
|
|
273
273
|
|
|
274
274
|
_VolumeIdColumn = functools.partial(
|
|
275
275
|
VolumeIdColumn, volume_cache=volume_cache
|
|
@@ -287,9 +287,9 @@ class ListVolumeSnapshot(command.Lister):
|
|
|
287
287
|
try:
|
|
288
288
|
for s in volume_client.volumes.list():
|
|
289
289
|
volume_cache[s.id] = s
|
|
290
|
-
except Exception:
|
|
290
|
+
except Exception: # noqa: S110
|
|
291
291
|
# Just forget it if there's any trouble
|
|
292
|
-
pass
|
|
292
|
+
pass
|
|
293
293
|
_VolumeIdColumn = functools.partial(
|
|
294
294
|
VolumeIdColumn, volume_cache=volume_cache
|
|
295
295
|
)
|
|
@@ -171,7 +171,7 @@ class CreateVolumeType(command.ShowOne):
|
|
|
171
171
|
default=False,
|
|
172
172
|
help=_(
|
|
173
173
|
"Enabled replication for this volume type "
|
|
174
|
-
"(this is an alias for '--property replication_enabled=<is> True') "
|
|
174
|
+
"(this is an alias for '--property replication_enabled=<is> True') "
|
|
175
175
|
"(requires driver support)"
|
|
176
176
|
),
|
|
177
177
|
)
|
|
@@ -181,7 +181,7 @@ class CreateVolumeType(command.ShowOne):
|
|
|
181
181
|
dest='availability_zones',
|
|
182
182
|
help=_(
|
|
183
183
|
"Set an availability zone for this volume type "
|
|
184
|
-
"(this is an alias for '--property RESKEY:availability_zones:<az>') "
|
|
184
|
+
"(this is an alias for '--property RESKEY:availability_zones:<az>') "
|
|
185
185
|
"(repeat option to set multiple availability zones)"
|
|
186
186
|
),
|
|
187
187
|
)
|
|
@@ -535,7 +535,7 @@ class SetVolumeType(command.Command):
|
|
|
535
535
|
default=False,
|
|
536
536
|
help=_(
|
|
537
537
|
"Enabled replication for this volume type "
|
|
538
|
-
"(this is an alias for '--property replication_enabled=<is> True') "
|
|
538
|
+
"(this is an alias for '--property replication_enabled=<is> True') "
|
|
539
539
|
"(requires driver support)"
|
|
540
540
|
),
|
|
541
541
|
)
|
|
@@ -545,7 +545,7 @@ class SetVolumeType(command.Command):
|
|
|
545
545
|
dest='availability_zones',
|
|
546
546
|
help=_(
|
|
547
547
|
"Set an availability zone for this volume type "
|
|
548
|
-
"(this is an alias for '--property RESKEY:availability_zones:<az>') "
|
|
548
|
+
"(this is an alias for '--property RESKEY:availability_zones:<az>') "
|
|
549
549
|
"(repeat option to set multiple availability zones)"
|
|
550
550
|
),
|
|
551
551
|
)
|
|
@@ -154,7 +154,7 @@ class CreateVolume(volume_v2.CreateVolume):
|
|
|
154
154
|
"Cinder cluster on which the existing volume resides; "
|
|
155
155
|
"takes the form: cluster@backend-name#pool. This is only "
|
|
156
156
|
"used along with the --remote-source option. "
|
|
157
|
-
"(supported by --os-volume-api-version 3.16 or above)"
|
|
157
|
+
"(supported by --os-volume-api-version 3.16 or above)"
|
|
158
158
|
),
|
|
159
159
|
)
|
|
160
160
|
return parser
|
|
@@ -526,9 +526,9 @@ class ListVolume(command.Lister):
|
|
|
526
526
|
compute_client = self.app.client_manager.sdk_connection.compute
|
|
527
527
|
for s in compute_client.servers():
|
|
528
528
|
server_cache[s.id] = s
|
|
529
|
-
except sdk_exceptions.SDKException:
|
|
529
|
+
except sdk_exceptions.SDKException: # noqa: S110
|
|
530
530
|
# Just forget it if there's any trouble
|
|
531
|
-
pass
|
|
531
|
+
pass
|
|
532
532
|
AttachmentsColumnWithCache = functools.partial(
|
|
533
533
|
AttachmentsColumn, server_cache=server_cache
|
|
534
534
|
)
|
|
@@ -323,9 +323,9 @@ class ListVolumeBackup(command.Lister):
|
|
|
323
323
|
try:
|
|
324
324
|
for s in volume_client.volumes():
|
|
325
325
|
volume_cache[s.id] = s
|
|
326
|
-
except Exception:
|
|
326
|
+
except Exception: # noqa: S110
|
|
327
327
|
# Just forget it if there's any trouble
|
|
328
|
-
pass
|
|
328
|
+
pass
|
|
329
329
|
|
|
330
330
|
_VolumeIdColumn = functools.partial(
|
|
331
331
|
VolumeIdColumn, volume_cache=volume_cache
|
|
@@ -288,7 +288,7 @@ class DeleteVolumeGroup(command.Command):
|
|
|
288
288
|
default=False,
|
|
289
289
|
help=_(
|
|
290
290
|
'Delete the volume group even if it contains volumes. '
|
|
291
|
-
'This will delete any remaining volumes in the group.'
|
|
291
|
+
'This will delete any remaining volumes in the group.'
|
|
292
292
|
),
|
|
293
293
|
)
|
|
294
294
|
return parser
|
|
@@ -582,18 +582,14 @@ class FailoverVolumeGroup(command.Command):
|
|
|
582
582
|
action='store_true',
|
|
583
583
|
dest='allow_attached_volume',
|
|
584
584
|
default=False,
|
|
585
|
-
help=_(
|
|
586
|
-
'Allow group with attached volumes to be failed over.',
|
|
587
|
-
),
|
|
585
|
+
help=_('Allow group with attached volumes to be failed over.'),
|
|
588
586
|
)
|
|
589
587
|
parser.add_argument(
|
|
590
588
|
'--disallow-attached-volume',
|
|
591
589
|
action='store_false',
|
|
592
590
|
dest='allow_attached_volume',
|
|
593
591
|
default=False,
|
|
594
|
-
help=_(
|
|
595
|
-
'Disallow group with attached volumes to be failed over.',
|
|
596
|
-
),
|
|
592
|
+
help=_('Disallow group with attached volumes to be failed over.'),
|
|
597
593
|
)
|
|
598
594
|
parser.add_argument(
|
|
599
595
|
'--secondary-backend-id',
|
|
@@ -172,7 +172,7 @@ class CreateVolumeType(command.ShowOne):
|
|
|
172
172
|
default=False,
|
|
173
173
|
help=_(
|
|
174
174
|
"Enabled replication for this volume type "
|
|
175
|
-
"(this is an alias for '--property replication_enabled=<is> True') "
|
|
175
|
+
"(this is an alias for '--property replication_enabled=<is> True') "
|
|
176
176
|
"(requires driver support)"
|
|
177
177
|
),
|
|
178
178
|
)
|
|
@@ -182,7 +182,7 @@ class CreateVolumeType(command.ShowOne):
|
|
|
182
182
|
dest='availability_zones',
|
|
183
183
|
help=_(
|
|
184
184
|
"Set an availability zone for this volume type "
|
|
185
|
-
"(this is an alias for '--property RESKEY:availability_zones:<az>') "
|
|
185
|
+
"(this is an alias for '--property RESKEY:availability_zones:<az>') "
|
|
186
186
|
"(repeat option to set multiple availability zones)"
|
|
187
187
|
),
|
|
188
188
|
)
|
|
@@ -448,7 +448,7 @@ class ListVolumeType(command.Lister):
|
|
|
448
448
|
default=False,
|
|
449
449
|
help=_(
|
|
450
450
|
"List only volume types with replication enabled "
|
|
451
|
-
"(this is an alias for '--property replication_enabled=<is> True') "
|
|
451
|
+
"(this is an alias for '--property replication_enabled=<is> True') "
|
|
452
452
|
"(supported by --os-volume-api-version 3.52 or above)"
|
|
453
453
|
),
|
|
454
454
|
)
|
|
@@ -458,7 +458,7 @@ class ListVolumeType(command.Lister):
|
|
|
458
458
|
dest='availability_zones',
|
|
459
459
|
help=_(
|
|
460
460
|
"List only volume types with this availability configured "
|
|
461
|
-
"(this is an alias for '--property RESKEY:availability_zones:<az>') "
|
|
461
|
+
"(this is an alias for '--property RESKEY:availability_zones:<az>') "
|
|
462
462
|
"(repeat option to filter on multiple availability zones)"
|
|
463
463
|
),
|
|
464
464
|
)
|
|
@@ -617,7 +617,7 @@ class SetVolumeType(command.Command):
|
|
|
617
617
|
default=False,
|
|
618
618
|
help=_(
|
|
619
619
|
"Enabled replication for this volume type "
|
|
620
|
-
"(this is an alias for '--property replication_enabled=<is> True') "
|
|
620
|
+
"(this is an alias for '--property replication_enabled=<is> True') "
|
|
621
621
|
"(requires driver support)"
|
|
622
622
|
),
|
|
623
623
|
)
|
|
@@ -627,7 +627,7 @@ class SetVolumeType(command.Command):
|
|
|
627
627
|
dest='availability_zones',
|
|
628
628
|
help=_(
|
|
629
629
|
"Set an availability zone for this volume type "
|
|
630
|
-
"(this is an alias for '--property RESKEY:availability_zones:<az>') "
|
|
630
|
+
"(this is an alias for '--property RESKEY:availability_zones:<az>') "
|
|
631
631
|
"(repeat option to set multiple availability zones)"
|
|
632
632
|
),
|
|
633
633
|
)
|
|
@@ -280,6 +280,7 @@ Miguel Lavalle <mlavalle@redhat.com>
|
|
|
280
280
|
Mike Fedosin <mfedosin@redhat.com>
|
|
281
281
|
Mikhail Feoktistov <mfeoktistov@virtuozzo.com>
|
|
282
282
|
Min Min Ren <rminmin@cn.ibm.com>
|
|
283
|
+
Mohammed Al-Dokimi <maldokim@redhat.com>
|
|
283
284
|
Mohammed Naser <mnaser@vexxhost.com>
|
|
284
285
|
Mohan Muppidi <mkumar2301@gmail.com>
|
|
285
286
|
Monty Taylor <mordred@inaugust.com>
|
|
@@ -289,6 +290,7 @@ Myeongchul Chae <cocahack@naver.com>
|
|
|
289
290
|
Nakul Dahiwade <nakul.dahiwade@intel.com>
|
|
290
291
|
Nam Nguyen Hoai <namnh@vn.fujitsu.com>
|
|
291
292
|
Natal Ngétal <hobbestigrou@erakis.eu>
|
|
293
|
+
Nate Johnston <nate.johnston@redhat.com>
|
|
292
294
|
Nathan Kinder <nkinder@redhat.com>
|
|
293
295
|
Navid Pustchi <npustchi@gmail.com>
|
|
294
296
|
Nguyen Phuong An <AnNP@vn.fujitsu.com>
|
|
@@ -561,6 +563,7 @@ zhang.xiuhua <zhang.xiuhua@99cloud.net>
|
|
|
561
563
|
zhangbailin <zhangbailin@inspur.com>
|
|
562
564
|
zhangboye <zhangboye@inspur.com>
|
|
563
565
|
zhanghongtao <zhanghongtao0826@126.com>
|
|
566
|
+
zhangoic <zhangoic@163.com>
|
|
564
567
|
zheng yin <yin.zheng@easystack.cn>
|
|
565
568
|
zhengsenyan <zhengsy_sean@126.com>
|
|
566
569
|
zhiyong.dai <zhiyong.dai@easystack.cn>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: python-openstackclient
|
|
3
|
-
Version: 7.1
|
|
3
|
+
Version: 7.2.1
|
|
4
4
|
Summary: OpenStack Command-line Client
|
|
5
5
|
Home-page: https://docs.openstack.org/python-openstackclient/latest/
|
|
6
6
|
Author: OpenStack
|
|
@@ -14,12 +14,11 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
14
14
|
Classifier: Operating System :: POSIX :: Linux
|
|
15
15
|
Classifier: Programming Language :: Python
|
|
16
16
|
Classifier: Programming Language :: Python :: 3
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
18
17
|
Classifier: Programming Language :: Python :: 3.9
|
|
19
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
20
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
21
20
|
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
-
Requires-Python: >=3.
|
|
21
|
+
Requires-Python: >=3.9
|
|
23
22
|
Requires-Dist: cliff (>=3.5.0)
|
|
24
23
|
Requires-Dist: cryptography (>=2.7)
|
|
25
24
|
Requires-Dist: iso8601 (>=0.1.11)
|