python-openstackclient 7.3.1__py3-none-any.whl → 7.4.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/identity/v3/credential.py +2 -2
- openstackclient/network/v2/port.py +14 -2
- openstackclient/network/v2/router.py +3 -0
- openstackclient/tests/unit/identity/v3/test_credential.py +4 -4
- openstackclient/tests/unit/network/v2/test_port.py +29 -0
- openstackclient/tests/unit/network/v2/test_router.py +57 -7
- {python_openstackclient-7.3.1.dist-info → python_openstackclient-7.4.0.dist-info}/AUTHORS +1 -0
- {python_openstackclient-7.3.1.dist-info → python_openstackclient-7.4.0.dist-info}/METADATA +1 -1
- {python_openstackclient-7.3.1.dist-info → python_openstackclient-7.4.0.dist-info}/RECORD +14 -14
- python_openstackclient-7.4.0.dist-info/pbr.json +1 -0
- python_openstackclient-7.3.1.dist-info/pbr.json +0 -1
- {python_openstackclient-7.3.1.dist-info → python_openstackclient-7.4.0.dist-info}/LICENSE +0 -0
- {python_openstackclient-7.3.1.dist-info → python_openstackclient-7.4.0.dist-info}/WHEEL +0 -0
- {python_openstackclient-7.3.1.dist-info → python_openstackclient-7.4.0.dist-info}/entry_points.txt +0 -0
- {python_openstackclient-7.3.1.dist-info → python_openstackclient-7.4.0.dist-info}/top_level.txt +0 -0
|
@@ -88,10 +88,10 @@ class CreateCredential(command.ShowOne):
|
|
|
88
88
|
else:
|
|
89
89
|
project = None
|
|
90
90
|
credential = identity_client.create_credential(
|
|
91
|
-
|
|
91
|
+
user_id=user_id,
|
|
92
92
|
type=parsed_args.type,
|
|
93
93
|
blob=parsed_args.data,
|
|
94
|
-
|
|
94
|
+
project_id=project,
|
|
95
95
|
)
|
|
96
96
|
|
|
97
97
|
return _format_credential(credential)
|
|
@@ -538,12 +538,12 @@ class CreatePort(command.ShowOne, common.NeutronCommandWithExtraArgs):
|
|
|
538
538
|
uplink_status_group.add_argument(
|
|
539
539
|
'--enable-uplink-status-propagation',
|
|
540
540
|
action='store_true',
|
|
541
|
-
help=_("Enable uplink status
|
|
541
|
+
help=_("Enable uplink status propagation (default)"),
|
|
542
542
|
)
|
|
543
543
|
uplink_status_group.add_argument(
|
|
544
544
|
'--disable-uplink-status-propagation',
|
|
545
545
|
action='store_true',
|
|
546
|
-
help=_("Disable uplink status
|
|
546
|
+
help=_("Disable uplink status propagation"),
|
|
547
547
|
)
|
|
548
548
|
parser.add_argument(
|
|
549
549
|
'--project',
|
|
@@ -1103,6 +1103,18 @@ class SetPort(common.NeutronCommandWithExtraArgs):
|
|
|
1103
1103
|
"(requires data plane status extension)"
|
|
1104
1104
|
),
|
|
1105
1105
|
)
|
|
1106
|
+
uplink_status_group = parser.add_mutually_exclusive_group()
|
|
1107
|
+
uplink_status_group.add_argument(
|
|
1108
|
+
'--enable-uplink-status-propagation',
|
|
1109
|
+
action='store_true',
|
|
1110
|
+
help=_('Enable uplink status propagation'),
|
|
1111
|
+
)
|
|
1112
|
+
uplink_status_group.add_argument(
|
|
1113
|
+
'--disable-uplink-status-propagation',
|
|
1114
|
+
action='store_true',
|
|
1115
|
+
help=_('Disable uplink status propagation'),
|
|
1116
|
+
)
|
|
1117
|
+
|
|
1106
1118
|
_tag.add_tag_option_to_parser_for_set(parser, _('port'))
|
|
1107
1119
|
|
|
1108
1120
|
return parser
|
|
@@ -237,6 +237,9 @@ def _get_attrs(client_manager, parsed_args):
|
|
|
237
237
|
if 'flavor_id' in parsed_args and parsed_args.flavor_id is not None:
|
|
238
238
|
flavor = n_client.find_flavor(parsed_args.flavor_id)
|
|
239
239
|
attrs['flavor_id'] = flavor.id
|
|
240
|
+
elif 'flavor' in parsed_args and parsed_args.flavor is not None:
|
|
241
|
+
flavor = n_client.find_flavor(parsed_args.flavor, ignore_missing=False)
|
|
242
|
+
attrs['flavor_id'] = flavor.id
|
|
240
243
|
|
|
241
244
|
for attr in ('enable_default_route_bfd', 'enable_default_route_ecmp'):
|
|
242
245
|
value = getattr(parsed_args, attr, None)
|
|
@@ -73,10 +73,10 @@ class TestCredentialCreate(identity_fakes.TestIdentityv3):
|
|
|
73
73
|
columns, data = self.cmd.take_action(parsed_args)
|
|
74
74
|
|
|
75
75
|
kwargs = {
|
|
76
|
-
'
|
|
76
|
+
'user_id': self.credential.user_id,
|
|
77
77
|
'type': self.credential.type,
|
|
78
78
|
'blob': self.credential.blob,
|
|
79
|
-
'
|
|
79
|
+
'project_id': None,
|
|
80
80
|
}
|
|
81
81
|
self.identity_sdk_client.create_credential.assert_called_once_with(
|
|
82
82
|
**kwargs
|
|
@@ -105,10 +105,10 @@ class TestCredentialCreate(identity_fakes.TestIdentityv3):
|
|
|
105
105
|
columns, data = self.cmd.take_action(parsed_args)
|
|
106
106
|
|
|
107
107
|
kwargs = {
|
|
108
|
-
'
|
|
108
|
+
'user_id': self.credential.user_id,
|
|
109
109
|
'type': self.credential.type,
|
|
110
110
|
'blob': self.credential.blob,
|
|
111
|
-
'
|
|
111
|
+
'project_id': self.credential.project_id,
|
|
112
112
|
}
|
|
113
113
|
self.identity_sdk_client.create_credential.assert_called_once_with(
|
|
114
114
|
**kwargs
|
|
@@ -2633,6 +2633,35 @@ class TestSetPort(TestPort):
|
|
|
2633
2633
|
def test_set_trusted_false(self):
|
|
2634
2634
|
self._test_set_trusted_field(False)
|
|
2635
2635
|
|
|
2636
|
+
def _test_set_uplink_status_propagation(self, uspropagation):
|
|
2637
|
+
arglist = [self._port.id]
|
|
2638
|
+
if uspropagation:
|
|
2639
|
+
arglist += ['--enable-uplink-status-propagation']
|
|
2640
|
+
else:
|
|
2641
|
+
arglist += ['--disable-uplink-status-propagation']
|
|
2642
|
+
|
|
2643
|
+
verifylist = [
|
|
2644
|
+
('port', self._port.id),
|
|
2645
|
+
]
|
|
2646
|
+
if uspropagation:
|
|
2647
|
+
verifylist.append(('enable_uplink_status_propagation', True))
|
|
2648
|
+
else:
|
|
2649
|
+
verifylist.append(('enable_uplink_status_propagation', False))
|
|
2650
|
+
|
|
2651
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
2652
|
+
|
|
2653
|
+
result = self.cmd.take_action(parsed_args)
|
|
2654
|
+
self.network_client.update_port.assert_called_once_with(
|
|
2655
|
+
self._port, **{'propagate_uplink_status': uspropagation}
|
|
2656
|
+
)
|
|
2657
|
+
self.assertIsNone(result)
|
|
2658
|
+
|
|
2659
|
+
def test_set_uplink_status_propagation_true(self):
|
|
2660
|
+
self._test_set_uplink_status_propagation(True)
|
|
2661
|
+
|
|
2662
|
+
def test_set_uplink_status_propagation_false(self):
|
|
2663
|
+
self._test_set_uplink_status_propagation(False)
|
|
2664
|
+
|
|
2636
2665
|
|
|
2637
2666
|
class TestShowPort(TestPort):
|
|
2638
2667
|
# The port to show.
|
|
@@ -384,7 +384,7 @@ class TestCreateRouter(TestRouter):
|
|
|
384
384
|
def test_create_with_no_tag(self):
|
|
385
385
|
self._test_create_with_tag(add_tags=False)
|
|
386
386
|
|
|
387
|
-
def
|
|
387
|
+
def test_create_with_flavor_id_id(self):
|
|
388
388
|
_flavor = network_fakes.create_one_network_flavor()
|
|
389
389
|
self.network_client.find_flavor = mock.Mock(return_value=_flavor)
|
|
390
390
|
arglist = [
|
|
@@ -392,7 +392,6 @@ class TestCreateRouter(TestRouter):
|
|
|
392
392
|
'--flavor-id',
|
|
393
393
|
_flavor.id,
|
|
394
394
|
]
|
|
395
|
-
arglist_with_name = [self.new_router.name, '--flavor-id', _flavor.name]
|
|
396
395
|
verifylist = [
|
|
397
396
|
('name', self.new_router.name),
|
|
398
397
|
('enable', True),
|
|
@@ -412,18 +411,69 @@ class TestCreateRouter(TestRouter):
|
|
|
412
411
|
self.assertEqual(self.columns, columns)
|
|
413
412
|
self.assertCountEqual(self.data, data)
|
|
414
413
|
|
|
415
|
-
|
|
416
|
-
|
|
414
|
+
def test_create_with_flavor_id_name(self):
|
|
415
|
+
_flavor = network_fakes.create_one_network_flavor()
|
|
416
|
+
self.network_client.find_flavor = mock.Mock(return_value=_flavor)
|
|
417
|
+
arglist = [self.new_router.name, '--flavor-id', _flavor.name]
|
|
418
|
+
verifylist = [
|
|
417
419
|
('name', self.new_router.name),
|
|
418
420
|
('enable', True),
|
|
419
421
|
('distributed', False),
|
|
420
422
|
('ha', False),
|
|
421
423
|
('flavor_id', _flavor.name),
|
|
422
424
|
]
|
|
423
|
-
|
|
424
|
-
|
|
425
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
426
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
427
|
+
self.network_client.create_router.assert_called_once_with(
|
|
428
|
+
**{
|
|
429
|
+
'admin_state_up': True,
|
|
430
|
+
'name': self.new_router.name,
|
|
431
|
+
'flavor_id': _flavor.id,
|
|
432
|
+
}
|
|
433
|
+
)
|
|
434
|
+
self.assertEqual(self.columns, columns)
|
|
435
|
+
self.assertCountEqual(self.data, data)
|
|
436
|
+
|
|
437
|
+
def test_create_with_flavor_id(self):
|
|
438
|
+
_flavor = network_fakes.create_one_network_flavor()
|
|
439
|
+
self.network_client.find_flavor = mock.Mock(return_value=_flavor)
|
|
440
|
+
arglist = [
|
|
441
|
+
self.new_router.name,
|
|
442
|
+
'--flavor',
|
|
443
|
+
_flavor.id,
|
|
444
|
+
]
|
|
445
|
+
verifylist = [
|
|
446
|
+
('name', self.new_router.name),
|
|
447
|
+
('enable', True),
|
|
448
|
+
('distributed', False),
|
|
449
|
+
('ha', False),
|
|
450
|
+
('flavor', _flavor.id),
|
|
451
|
+
]
|
|
452
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
453
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
454
|
+
self.network_client.create_router.assert_called_once_with(
|
|
455
|
+
**{
|
|
456
|
+
'admin_state_up': True,
|
|
457
|
+
'name': self.new_router.name,
|
|
458
|
+
'flavor_id': _flavor.id,
|
|
459
|
+
}
|
|
425
460
|
)
|
|
426
|
-
columns,
|
|
461
|
+
self.assertEqual(self.columns, columns)
|
|
462
|
+
self.assertCountEqual(self.data, data)
|
|
463
|
+
|
|
464
|
+
def test_create_with_flavor_name(self):
|
|
465
|
+
_flavor = network_fakes.create_one_network_flavor()
|
|
466
|
+
self.network_client.find_flavor = mock.Mock(return_value=_flavor)
|
|
467
|
+
arglist = [self.new_router.name, '--flavor', _flavor.name]
|
|
468
|
+
verifylist = [
|
|
469
|
+
('name', self.new_router.name),
|
|
470
|
+
('enable', True),
|
|
471
|
+
('distributed', False),
|
|
472
|
+
('ha', False),
|
|
473
|
+
('flavor', _flavor.name),
|
|
474
|
+
]
|
|
475
|
+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
|
476
|
+
columns, data = self.cmd.take_action(parsed_args)
|
|
427
477
|
self.network_client.create_router.assert_called_once_with(
|
|
428
478
|
**{
|
|
429
479
|
'admin_state_up': True,
|
|
@@ -112,6 +112,7 @@ Dmitriy Rabotyagov <noonedeadpunk@ya.ru>
|
|
|
112
112
|
Dmitry Tantsur <dtantsur@protonmail.com>
|
|
113
113
|
Dolph Mathews <dolph.mathews@gmail.com>
|
|
114
114
|
Dongcan Ye <hellochosen@gmail.com>
|
|
115
|
+
Doug Goldstein <cardoe@cardoe.com>
|
|
115
116
|
Doug Hellmann <doug.hellmann@dreamhost.com>
|
|
116
117
|
Doug Hellmann <doug@doughellmann.com>
|
|
117
118
|
Doug Wiegley <dwiegley@salesforce.com>
|
|
@@ -57,7 +57,7 @@ openstackclient/identity/v3/access_rule.py,sha256=s1bQ-dQwnUYKPbovwqObhHLmjATsjK
|
|
|
57
57
|
openstackclient/identity/v3/application_credential.py,sha256=vCa4hAt7AhVtyZV1Ed_F3BuMtRK5JIxEzyRwXk-hJXA,11232
|
|
58
58
|
openstackclient/identity/v3/catalog.py,sha256=49jDO5w8AqGgQxRppYmfi8R6P0Es7tnIraQzzFmYFAc,3300
|
|
59
59
|
openstackclient/identity/v3/consumer.py,sha256=Fk1-wyUoTA638zHKf5KwTP4Os-RYctmBYkyen7fasIk,4845
|
|
60
|
-
openstackclient/identity/v3/credential.py,sha256=
|
|
60
|
+
openstackclient/identity/v3/credential.py,sha256=3VMohFrTEqK3hcmBEaXWXwO16n9WCwUYBeav8IEbqsQ,7941
|
|
61
61
|
openstackclient/identity/v3/domain.py,sha256=Hy_xsQd2tMNjlKsd-OY99XZTbys8XwSf3TOCqhX3YI8,7616
|
|
62
62
|
openstackclient/identity/v3/ec2creds.py,sha256=BrLcjP_3i6PuMvgIarnhGjx7BxZ4VUVLz6MkE4gZ50I,7278
|
|
63
63
|
openstackclient/identity/v3/endpoint.py,sha256=RPeAAiNBr6bMhhiCoNpPxanZVxjyiW2fhPxImi37Dks,13013
|
|
@@ -127,8 +127,8 @@ openstackclient/network/v2/network_segment.py,sha256=3bJFnFz4QOwgb_diuLZ-QJ9WOj3
|
|
|
127
127
|
openstackclient/network/v2/network_segment_range.py,sha256=phZ4h-tRPpHbFNA8s_IegdXKm8Y84kffV62RxVITAn0,17514
|
|
128
128
|
openstackclient/network/v2/network_service_provider.py,sha256=b0pKHxB5Qq1U2lfOCWHKJ8CMX661gBbKtv0jXvuE3Xg,1384
|
|
129
129
|
openstackclient/network/v2/network_trunk.py,sha256=2QUGXB4lUGv9BvKPErzFUlgU9Tm_6Agp2pljRx3vTVw,13846
|
|
130
|
-
openstackclient/network/v2/port.py,sha256=
|
|
131
|
-
openstackclient/network/v2/router.py,sha256=
|
|
130
|
+
openstackclient/network/v2/port.py,sha256=P9UvpFAV0JQsxk9m6pV7PdAXOoTF-lDRVEq5KUPYzb8,50825
|
|
131
|
+
openstackclient/network/v2/router.py,sha256=x6jC0qeeOwRAJbC9ZagWVkgcKtz_KX4MzQCYTU5Z_4w,50290
|
|
132
132
|
openstackclient/network/v2/security_group.py,sha256=XYOze-FQFJWtGxBc-6hiGViKVSi6fDPRWtjC9Keb1Pw,15488
|
|
133
133
|
openstackclient/network/v2/security_group_rule.py,sha256=UQwuJ2uOmdGpaxcmeKNf8c3ay8I5vVjzb4fSFT3liPg,22371
|
|
134
134
|
openstackclient/network/v2/subnet.py,sha256=CzW5uV3AQUaOW9gf5IMwJJXJQtk-22cLfNkmazF_LZw,31325
|
|
@@ -321,7 +321,7 @@ openstackclient/tests/unit/identity/v3/test_access_rule.py,sha256=g8sWxkRiUZiJr0
|
|
|
321
321
|
openstackclient/tests/unit/identity/v3/test_application_credential.py,sha256=o-1WAPU5PQ7xtNGj01zEpt2icB8sGXqCqXR0bG8IXaM,14851
|
|
322
322
|
openstackclient/tests/unit/identity/v3/test_catalog.py,sha256=u8PIs1shX4IYE3_nd8B8H4f3dV_nqmR59IEX_DgqkYo,4766
|
|
323
323
|
openstackclient/tests/unit/identity/v3/test_consumer.py,sha256=QcoK9U_Ce1XQMBRqhY2OJouPQXji0huykhehwM6kHlI,6693
|
|
324
|
-
openstackclient/tests/unit/identity/v3/test_credential.py,sha256=
|
|
324
|
+
openstackclient/tests/unit/identity/v3/test_credential.py,sha256=yTOl_7NnczmVNplhA8mrWiPnHOWX4AW_UwF5OvIqsro,11965
|
|
325
325
|
openstackclient/tests/unit/identity/v3/test_domain.py,sha256=Dvy-WTkWxwVfHCeIebdmsFuXETNTdccCKqWkAWRXrt4,16203
|
|
326
326
|
openstackclient/tests/unit/identity/v3/test_endpoint.py,sha256=kx9y_6XMvm6CQIejTX0zVvwisjoJ4hrpgE-tqtQOBKY,28478
|
|
327
327
|
openstackclient/tests/unit/identity/v3/test_endpoint_group.py,sha256=g3JGihRqj0jLzmEJXdyOh1PVXyI_48NdeBsGbl9f7e4,16211
|
|
@@ -397,8 +397,8 @@ openstackclient/tests/unit/network/v2/test_network_segment.py,sha256=D6MVB6eETA2
|
|
|
397
397
|
openstackclient/tests/unit/network/v2/test_network_segment_range.py,sha256=zLgAZdHqbWKn5tYYCUuDn9UA7BFOMYOowC3DQztrZyQ,23388
|
|
398
398
|
openstackclient/tests/unit/network/v2/test_network_service_provider.py,sha256=iHsMqAGuK3onjUI46uGKX1_DwGq-y6b_SOR2IU9PdfU,2047
|
|
399
399
|
openstackclient/tests/unit/network/v2/test_network_trunk.py,sha256=1VPt6Nzv92nRxLoDgwffmpTJ0sgYl4b5PmLO3qJ9INk,30556
|
|
400
|
-
openstackclient/tests/unit/network/v2/test_port.py,sha256=
|
|
401
|
-
openstackclient/tests/unit/network/v2/test_router.py,sha256=
|
|
400
|
+
openstackclient/tests/unit/network/v2/test_port.py,sha256=SxoL8Oft3NwlQOp7SV98FZ3dM6Ha9BdQwUqmTWBHzvk,95789
|
|
401
|
+
openstackclient/tests/unit/network/v2/test_router.py,sha256=TaYFuKeCcM_WzR5V_-FJo5w2Z8sNUsPiKLm1S4245pM,86272
|
|
402
402
|
openstackclient/tests/unit/network/v2/test_security_group_compute.py,sha256=725tUWOhxjWJwUXVdKfxD7eXMe7zrz7bKNdK_HvK624,12576
|
|
403
403
|
openstackclient/tests/unit/network/v2/test_security_group_network.py,sha256=PIE6TgW-bUGSAZLk0B60lPELIJsw_MTKxxcHw-E1fak,20916
|
|
404
404
|
openstackclient/tests/unit/network/v2/test_security_group_rule_compute.py,sha256=8z6OfGcA69LumFpxglE9MzJS267Co08DAwUf4NNC9RA,19155
|
|
@@ -494,11 +494,11 @@ openstackclient/volume/v3/volume_message.py,sha256=HBBxPEcYoNqGjEbzGIEnIJ1XTcQ2K
|
|
|
494
494
|
openstackclient/volume/v3/volume_snapshot.py,sha256=pZ4q_qCwqh4jaGhX28G59wsWDmEc3uXdbpeD176osZg,3186
|
|
495
495
|
openstackclient/volume/v3/volume_transfer_request.py,sha256=PthOJV2m-pTV1njFzwTpaekXZkET1c6alIJrpuN7R6Q,7530
|
|
496
496
|
openstackclient/volume/v3/volume_type.py,sha256=_nbmu6e87UAHRjh30fQIwScMubox_FpHcQKDUOxO4NA,33955
|
|
497
|
-
python_openstackclient-7.
|
|
498
|
-
python_openstackclient-7.
|
|
499
|
-
python_openstackclient-7.
|
|
500
|
-
python_openstackclient-7.
|
|
501
|
-
python_openstackclient-7.
|
|
502
|
-
python_openstackclient-7.
|
|
503
|
-
python_openstackclient-7.
|
|
504
|
-
python_openstackclient-7.
|
|
497
|
+
python_openstackclient-7.4.0.dist-info/AUTHORS,sha256=JEcKU3f-60jlNEfCB_U9elxEpvg-o-HNB_AFGF6zg7k,21598
|
|
498
|
+
python_openstackclient-7.4.0.dist-info/LICENSE,sha256=XfKg2H1sVi8OoRxoisUlMqoo10TKvHmU_wU39ks7MyA,10143
|
|
499
|
+
python_openstackclient-7.4.0.dist-info/METADATA,sha256=gc5mG6EMYbYGvHktTTd50EtNE9Frb_sgguIwo-Rjdso,6516
|
|
500
|
+
python_openstackclient-7.4.0.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
501
|
+
python_openstackclient-7.4.0.dist-info/entry_points.txt,sha256=VsZCw-6So3hkHuIiX-dGaMVL1PEqmfDynF37m1EwjCs,53260
|
|
502
|
+
python_openstackclient-7.4.0.dist-info/pbr.json,sha256=PIaHogvl-6SsHqyhVcnmyVjkEiRsEfltQ8jjvnwS8tA,47
|
|
503
|
+
python_openstackclient-7.4.0.dist-info/top_level.txt,sha256=htg7z9oZgysRuVUHn-m1Bk6XLGOeV65nMbZX9H8qhs0,16
|
|
504
|
+
python_openstackclient-7.4.0.dist-info/RECORD,,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"git_version": "4b7e32ca", "is_release": true}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"git_version": "0ba77e67", "is_release": true}
|
|
File without changes
|
|
File without changes
|
{python_openstackclient-7.3.1.dist-info → python_openstackclient-7.4.0.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{python_openstackclient-7.3.1.dist-info → python_openstackclient-7.4.0.dist-info}/top_level.txt
RENAMED
|
File without changes
|