Manage firmware settings for a baremetal node using ironic
It is possible to fine tune the server for the deployment needs, processor performance and power optimization by changing the firmware settings of the baremetal node.
Currently Ironic do not provide any mechanism to retrive and update the firmware settings. These firmware settings could be broadly classified as:-
1. Boot settings. Some examples:-
a. Supported boot mode
b. Boot mode
b. Next boot moode
c. Boot Device
d. iSCSI boot configurations
2. Network Settings. Some examples:-
a. NIC settings
b. Changing boot preference. PXE, iSCSI etc.
3. Processor Settings. Some examples:-
a. Enabling fixed number of cores
b. Processor performace settings
c. Enabling processor level virtualization technologies
4. Power settings. Some examples:-
a. Power saving modes
b. Power management options
5. Other Vendor specific settings. Some examples:-
a. Remote access/Enclosure IP address
b. HP Smart array configuration
c. One time boot
d. Run diagnostic on next boot
Apart from vendor specific firmware settings, most of the boot, network, processor and power settings are applicable to most of the hardware vendors. It would be useful if these firmware settings are made available through standard interface through base.Management
The base.Management
get_supported_
set_boot_device() -- Set the boot device for a node.
get_boot_device() -- Get the current boot device for a node.
We propose to add following additional interfaces to this class to get individual firmware setting which are standard in nature:-
1. get_supported_
2. get_current_
3. get_pending_
4. set_pending_
5. get_one_
6. set_one_
7. get_nic_
8. set_nic_
9. get_boot_
10. set_boot_
Also it would be helpful if we add one pair of interface to retrieve and update the vendor specific firmware settings. We propose following set of APIs to retrive/update such settings.
11. get_firmware_
12. set_firmware_
It would be useful if the all the vendors support single nomenclature for names of the standard firmware settings like "supported_
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Shivanand Tendulker
- Direction:
- Needs approval
- Assignee:
- Shivanand Tendulker
- Definition:
- New
- Series goal:
- None
- Implementation:
-
Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Design spec for firmware settings feature.