diff options
author | Cenne <cennedee+opendev@protonmail.com> | 2021-08-09 19:32:53 +0200 |
---|---|---|
committer | Cenne <cennedee+opendev@protonmail.com> | 2021-08-13 18:24:58 +0200 |
commit | 00808631c1ffa3a9ec2cecafd5ea9f7447f440a8 (patch) | |
tree | 035d6232e171c2940a80f6fa5e8e4c87f0a09251 /ironicclient/osc/v1/baremetal_node.py | |
parent | a5a3d4e4426ce8700f193aae77688cd63ac26b05 (diff) | |
download | python-ironicclient-00808631c1ffa3a9ec2cecafd5ea9f7447f440a8.tar.gz |
Add support for changing 'boot_mode' and 'secure_boot' states
Story: 2008567
Task: 41709
depends-on: https://review.opendev.org/c/openstack/ironic/+/800084
Change-Id: I2937ea924ccc4ca6e9ab5599aa02e3c078c166b3
Diffstat (limited to 'ironicclient/osc/v1/baremetal_node.py')
-rwxr-xr-x | ironicclient/osc/v1/baremetal_node.py | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/ironicclient/osc/v1/baremetal_node.py b/ironicclient/osc/v1/baremetal_node.py index 45b3b30..2229ac0 100755 --- a/ironicclient/osc/v1/baremetal_node.py +++ b/ironicclient/osc/v1/baremetal_node.py @@ -242,6 +242,38 @@ class BootdeviceShowBaremetalNode(command.ShowOne): return zip(*sorted(info.items())) +class BootmodeSetBaremetalNode(command.Command): + """Set boot mode for baremetal node""" + + log = logging.getLogger(__name__ + ".BootmodeSetBaremetalNode") + + def get_parser(self, prog_name): + parser = super(BootmodeSetBaremetalNode, self).get_parser(prog_name) + + parser.add_argument( + 'node', + metavar='<node>', + help=_("Name or UUID of the node.") + ) + parser.add_argument( + 'boot_mode', + choices=['uefi', 'bios'], + metavar='<boot_mode>', + help=_('The boot mode to set for node (uefi/bios)') + ) + + return parser + + def take_action(self, parsed_args): + self.log.debug("take_action(%s)", parsed_args) + + baremetal_client = self.app.client_manager.baremetal + + baremetal_client.node.set_boot_mode( + parsed_args.node, + parsed_args.boot_mode) + + class CleanBaremetalNode(ProvisionStateWithWait): """Set provision state of baremetal node to 'clean'""" @@ -1086,6 +1118,50 @@ class RescueBaremetalNode(ProvisionStateWithWait): return parser +class SecurebootOnBaremetalNode(command.Command): + """Turn secure boot on""" + + log = logging.getLogger(__name__ + ".SecurebootOnBaremetalNode") + + def get_parser(self, prog_name): + parser = super(SecurebootOnBaremetalNode, self).get_parser(prog_name) + + parser.add_argument( + 'node', + metavar='<node>', + help=_("Name or UUID of the node") + ) + return parser + + def take_action(self, parsed_args): + self.log.debug("take_action(%s)", parsed_args) + + baremetal_client = self.app.client_manager.baremetal + baremetal_client.node.set_secure_boot(parsed_args.node, 'on') + + +class SecurebootOffBaremetalNode(command.Command): + """Turn secure boot off""" + + log = logging.getLogger(__name__ + ".SecurebootOffBaremetalNode") + + def get_parser(self, prog_name): + parser = super(SecurebootOffBaremetalNode, self).get_parser(prog_name) + + parser.add_argument( + 'node', + metavar='<node>', + help=_("Name or UUID of the node") + ) + return parser + + def take_action(self, parsed_args): + self.log.debug("take_action(%s)", parsed_args) + + baremetal_client = self.app.client_manager.baremetal + baremetal_client.node.set_secure_boot(parsed_args.node, 'off') + + class SetBaremetalNode(command.Command): """Set baremetal properties""" |