Skip to content

Commit 5aaee86

Browse files
Daniel Cabero BarriosDaniel Cabero Barrios
authored andcommitted
add the rebundant/degraded option
1 parent 3b54105 commit 5aaee86

File tree

4 files changed

+26
-12
lines changed

4 files changed

+26
-12
lines changed

SoftLayer/CLI/hardware/edit.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@
2222
help="Public port speed. -1 is best speed available")
2323
@click.option('--private-speed', default=None, type=click.Choice(['0', '10', '100', '1000', '10000', '-1']),
2424
help="Private port speed. -1 is best speed available")
25+
@click.option('--rebundant', is_flag=True,default=False, help="The desired state of redundancy for the interface(s)")
26+
@click.option('--degraded', is_flag=True,default=False, help="The desired state of degraded for the interface(s)")
2527
@environment.pass_env
26-
def cli(env, identifier, domain, userfile, tag, hostname, userdata, public_speed, private_speed):
28+
def cli(env, identifier, domain, userfile, tag, hostname, userdata, public_speed, private_speed, rebundant, degraded):
2729
"""Edit hardware details."""
2830

2931
if userdata and userfile:
@@ -51,7 +53,17 @@ def cli(env, identifier, domain, userfile, tag, hostname, userdata, public_speed
5153
raise exceptions.CLIAbort("Failed to update hardware")
5254

5355
if public_speed is not None:
54-
mgr.change_port_speed(hw_id, True, int(public_speed))
56+
if rebundant:
57+
mgr.change_port_speed(hw_id, True, int(public_speed), 'rebundant')
58+
if degraded:
59+
mgr.change_port_speed(hw_id, True, int(public_speed), 'degraded')
60+
if not rebundant and not degraded:
61+
raise exceptions.CLIAbort("Failed to update hardwar")
5562

5663
if private_speed is not None:
57-
mgr.change_port_speed(hw_id, False, int(private_speed))
64+
if rebundant:
65+
mgr.change_port_speed(hw_id, False, int(private_speed), 'rebundant')
66+
if degraded:
67+
mgr.change_port_speed(hw_id, False, int(private_speed), 'degraded')
68+
if not rebundant and not degraded:
69+
raise exceptions.CLIAbort("Failed to update hardware")

SoftLayer/managers/hardware.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ def rescue(self, hardware_id):
297297
"""
298298
return self.hardware.bootToRescueLayer(id=hardware_id)
299299

300-
def change_port_speed(self, hardware_id, public, speed):
300+
def change_port_speed(self, hardware_id, public, speed, rebundant):
301301
"""Allows you to change the port speed of a server's NICs.
302302
303303
:param int hardware_id: The ID of the server
@@ -319,11 +319,11 @@ def change_port_speed(self, hardware_id, public, speed):
319319
if public:
320320
return self.client.call('Hardware_Server',
321321
'setPublicNetworkInterfaceSpeed',
322-
speed, id=hardware_id)
322+
[rebundant, speed], id=hardware_id)
323323
else:
324324
return self.client.call('Hardware_Server',
325325
'setPrivateNetworkInterfaceSpeed',
326-
speed, id=hardware_id)
326+
[rebundant, speed], id=hardware_id)
327327

328328
def place_order(self, **kwargs):
329329
"""Places an order for a piece of hardware.

tests/CLI/modules/server_tests.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -526,7 +526,9 @@ def test_edit(self):
526526
'--tag=dev',
527527
'--tag=green',
528528
'--public-speed=10',
529+
'--rebundant',
529530
'--private-speed=100',
531+
'--degraded',
530532
'100'])
531533

532534
self.assert_no_fail(result)
@@ -544,12 +546,12 @@ def test_edit(self):
544546
)
545547
self.assert_called_with(
546548
'SoftLayer_Hardware_Server', 'setPublicNetworkInterfaceSpeed',
547-
args=(10,),
549+
args=(['rebundant', 10],),
548550
identifier=100,
549551
)
550552
self.assert_called_with(
551553
'SoftLayer_Hardware_Server', 'setPrivateNetworkInterfaceSpeed',
552-
args=(100,),
554+
args=(['degraded', 100],),
553555
identifier=100,
554556
)
555557

tests/managers/hardware_tests.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -335,20 +335,20 @@ def test_cancel_running_transaction(self):
335335
12345)
336336

337337
def test_change_port_speed_public(self):
338-
self.hardware.change_port_speed(2, True, 100)
338+
self.hardware.change_port_speed(2, True, 100, 'degraded')
339339

340340
self.assert_called_with('SoftLayer_Hardware_Server',
341341
'setPublicNetworkInterfaceSpeed',
342342
identifier=2,
343-
args=(100,))
343+
args=(['degraded', 100],))
344344

345345
def test_change_port_speed_private(self):
346-
self.hardware.change_port_speed(2, False, 10)
346+
self.hardware.change_port_speed(2, False, 10, 'rebundant')
347347

348348
self.assert_called_with('SoftLayer_Hardware_Server',
349349
'setPrivateNetworkInterfaceSpeed',
350350
identifier=2,
351-
args=(10,))
351+
args=(['rebundant', 10],))
352352

353353
def test_edit_meta(self):
354354
# Test editing user data

0 commit comments

Comments
 (0)