Driver Internal Info¶
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.
Add a new internal attribute driver_internal_info in nodes table, which cannot modify by Admin/user by calling node.update API
Modify node.update to clear driver_internal_info when update driver via node.update API.
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¶
Driver API impact¶
Nova driver impact¶
Other end user impact¶
Other deployer impact¶
Other drivers should save their own infos into the new attribute.
- Primary assignee:
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.
Add unit tests.
Upgrades and Backwards Compatibility¶
Add a migration script for DB.
Update the developer documentation.