Image boot server backup with data¶
https://storyboard.openstack.org/#!/story/1712059
Problem description¶
Currently, we only protect the original images when protecting image boot servers. Original images means that the data that generated by the users after the servers has been created is not included. So when restore it from the backup, a new server with same original image will be created, but users’ data was not included. In some of our product environment, we use image boot instance, fox example using distributed file system or DRBD as the backend. So IMO, this is not suitable and we should protect the users’ data as well.
I suggest adding ‘image-create’ step before doing image backup and using the new created image id as the backup image id when the image backup is the child resource in doing server backup.
Use Cases¶
As explained, users may use distributed file system or DRBD as their backend for booting servers.
Proposed change¶
Image Protectable Plugin: When return a protectable instance, a new field would be added to extra-info. This field must be in the format of:
{
"server_id": "value1",
}
This can tell the image protection plugin the id of the parent server and do special treatment.
Image Protection Plugin: Add a new configuration named ‘enable_server_snapshot’ to enable create a snapshot of the server if the resource contains extra_info and the server_id in extra_info is valid. Then using the new created image id replace with the resource id and do the final backup.
Alternatives¶
Do nothing, this is not a mission critical feature.
Data model impact¶
None.
REST API impact¶
None
Security impact¶
None
Notifications impact¶
None
Other end user impact¶
None
Performance Impact¶
The image protection plugin may become slower because new step added.
Other deployer impact¶
The default configuration value of ‘enable_server_snapshot’ is True, users can set it to False to disable this feature.
Developer impact¶
None
Implementation¶
Assignee(s)¶
Pengju Jiao (jiaopengju@cmss.chinamobile.com)
Work Items¶
Add extra_info in getting instances.
Update the image protection plugin to support doing snapshot in protection.
Dependencies¶
None
Testing¶
Unit tests in Karbor.
Documentation Impact¶
New docs to explain how to use and configure the new added options.
References¶
None