Skip to content

Commit 3a1e016

Browse files
Merge pull request #1080 from ATGE/fix_issue-1059
Support for SoftLayer_Hardware_Server::toggleManagementInterface
2 parents dda8fad + b2a09e6 commit 3a1e016

File tree

4 files changed

+36
-0
lines changed

4 files changed

+36
-0
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
"""Toggle the IPMI interface on and off."""
2+
# :license: MIT, see LICENSE for more details.
3+
4+
import click
5+
6+
import SoftLayer
7+
from SoftLayer.CLI import environment
8+
from SoftLayer.CLI import helpers
9+
10+
11+
@click.command()
12+
@click.argument('identifier')
13+
@click.option('--enable/--disable', default=True,
14+
help="Whether enable (DEFAULT) or disable the interface.")
15+
@environment.pass_env
16+
def cli(env, identifier, enable):
17+
"""Toggle the IPMI interface on and off"""
18+
19+
mgr = SoftLayer.HardwareManager(env.client)
20+
hw_id = helpers.resolve_id(mgr.resolve_ids, identifier, 'hardware')
21+
result = env.client['Hardware_Server'].toggleManagementInterface(enable, id=hw_id)
22+
env.fout(result)

SoftLayer/CLI/routes.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@
237237
('hardware:update-firmware', 'SoftLayer.CLI.hardware.update_firmware:cli'),
238238
('hardware:rescue', 'SoftLayer.CLI.hardware.power:rescue'),
239239
('hardware:ready', 'SoftLayer.CLI.hardware.ready:cli'),
240+
('hardware:toggle-ipmi', 'SoftLayer.CLI.hardware.toggle_ipmi:cli'),
240241

241242
('securitygroup', 'SoftLayer.CLI.securitygroup'),
242243
('securitygroup:list', 'SoftLayer.CLI.securitygroup.list:cli'),

SoftLayer/fixtures/SoftLayer_Hardware_Server.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
setTags = True
7474
setPrivateNetworkInterfaceSpeed = True
7575
setPublicNetworkInterfaceSpeed = True
76+
toggleManagementInterface = True
7677
powerOff = True
7778
powerOn = True
7879
powerCycle = True

tests/CLI/modules/server_tests.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -580,3 +580,15 @@ def test_going_ready(self, _sleep):
580580
result = self.run_command(['hw', 'ready', '100', '--wait=100'])
581581
self.assert_no_fail(result)
582582
self.assertEqual(result.output, '"READY"\n')
583+
584+
def test_toggle_ipmi_on(self):
585+
mock.return_value = True
586+
result = self.run_command(['server', 'toggle-ipmi', '--enable', '12345'])
587+
self.assert_no_fail(result)
588+
self.assertEqual(result.output, 'True\n')
589+
590+
def test_toggle_ipmi_off(self):
591+
mock.return_value = True
592+
result = self.run_command(['server', 'toggle-ipmi', '--disable', '12345'])
593+
self.assert_no_fail(result)
594+
self.assertEqual(result.output, 'True\n')

0 commit comments

Comments
 (0)