Driver Internal Info¶
https://blueprints.launchpad.net/ironic/+spec/driver-internal-info
Problem description¶
Driver should have its own infos which cannot manipulated by user/admin. These infos are not input from admin like driver_info and they may vary during the deployment process. They can only be used by driver itself.
One example is ipmitool. Not all IPMI firmware support set boot device persistent, so we need to save this locally.
Proposed change¶
Add a new internal attribute
driver_internal_info
in nodes table, which cannot modify by Admin/user by calling node.update APIModify node.update to clear
driver_internal_info
when update driver via node.update API.
Alternatives¶
Saving these infos in a new table named driver_interal_info.
Data model impact¶
Add a new internal attribute driver_internal_info
in node
table. This
field is a json dict.
REST API impact¶
The driver_internal_info
field should be added to the node details API.
RPC API impact¶
None
Driver API impact¶
None
Nova driver impact¶
None
Security impact¶
None
Other end user impact¶
None
Scalability impact¶
None
Performance Impact¶
None
Other deployer impact¶
None
Developer impact¶
Other drivers should save their own infos into the new attribute.
Implementation¶
Assignee(s)¶
- Primary assignee:
tan-lin-good
Work Items¶
Add
driver_internal_info
to the nodes table with a migration.Update object Node.
Support clean a node’s driver_internal_infos when it changes its driver.
Update some drivers with this feature.
Dependencies¶
None
Testing¶
Add unit tests.
Upgrades and Backwards Compatibility¶
Add a migration script for DB.
Documentation Impact¶
Update the developer documentation.
References¶
None