Skip to content

Commit f647b53

Browse files
committed
compute: Stop sending rxtx_factor when unset
Change-Id: Ic9c05dc176c9bac32ab2d3e81fec2bab73ab72e5 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
1 parent de81f47 commit f647b53

3 files changed

Lines changed: 45 additions & 4 deletions

File tree

openstackclient/compute/v2/flavor.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,7 @@ def get_parser(self, prog_name):
102102
"--rxtx-factor",
103103
type=float,
104104
metavar="<factor>",
105-
default=1.0,
106-
help=_("RX/TX factor (default 1.0)"),
105+
help=_("RX/TX factor"),
107106
)
108107
public_group = parser.add_mutually_exclusive_group()
109108
public_group.add_argument(
@@ -177,10 +176,19 @@ def take_action(self, parsed_args):
177176
'id': flavor_id,
178177
'ephemeral': parsed_args.ephemeral,
179178
'swap': parsed_args.swap,
180-
'rxtx_factor': parsed_args.rxtx_factor,
181179
'is_public': parsed_args.public,
182180
}
183181

182+
if parsed_args.rxtx_factor:
183+
if sdk_utils.supports_microversion(compute_client, '2.102'):
184+
msg = _(
185+
'The --rxtx-factor parameter is only supported until '
186+
'API microversion 2.101'
187+
)
188+
raise exceptions.CommandError(msg)
189+
190+
args['rxtx_factor'] = parsed_args.rxtx_factor
191+
184192
if parsed_args.description:
185193
if not sdk_utils.supports_microversion(compute_client, '2.55'):
186194
msg = _(
@@ -206,6 +214,7 @@ def take_action(self, parsed_args):
206214
"Failed to add project %(project)s access to flavor: %(e)s"
207215
)
208216
LOG.error(msg, {'project': parsed_args.project, 'e': e})
217+
209218
if parsed_args.properties:
210219
try:
211220
flavor = compute_client.create_flavor_extra_specs(

openstackclient/tests/unit/compute/v2/test_flavor.py

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,6 @@ def test_flavor_create_default_options(self):
106106
'id': None,
107107
'ephemeral': 0,
108108
'swap': 0,
109-
'rxtx_factor': 1.0,
110109
'is_public': True,
111110
}
112111

@@ -395,6 +394,32 @@ def test_flavor_create_with_description_pre_v255(self):
395394
exceptions.CommandError, self.cmd.take_action, parsed_args
396395
)
397396

397+
def test_flavor_create_with_rxtx_factor_post_v2102(self):
398+
self.set_compute_api_version('2.102')
399+
400+
arglist = [
401+
'--id',
402+
self.flavor.id,
403+
'--ram',
404+
str(self.flavor.ram),
405+
'--vcpus',
406+
str(self.flavor.vcpus),
407+
'--rxtx-factor',
408+
'1.0',
409+
self.flavor.name,
410+
]
411+
verifylist = [
412+
('ram', self.flavor.ram),
413+
('vcpus', self.flavor.vcpus),
414+
('rxtx_factor', 1.0),
415+
('name', self.flavor.name),
416+
]
417+
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
418+
419+
self.assertRaises(
420+
exceptions.CommandError, self.cmd.take_action, parsed_args
421+
)
422+
398423

399424
class TestFlavorDelete(TestFlavor):
400425
def setUp(self):
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
upgrade:
3+
- |
4+
The ``flavor create`` command will no longer provide a default value for
5+
``rxtx_factor``, following the removal of this field in Nova API
6+
microversion v2.102. This field was a no-op for all supported virt
7+
drivers so this should not affect any users.

0 commit comments

Comments
 (0)