-
Notifications
You must be signed in to change notification settings - Fork 374
[RFC] baseline persist data for live-upgrade #803
Comments
This is quite import and I think it's prioprity 1 in my head. So ping @kata-containers/runtime for attention. |
Basically this is another description of kata-containers/kata-containers#25 , let's keep two issue for more attention. 😛 |
We should do it. It saves disk IO and makes adding other persistent storage easier.
Yes, I agree. We should revisit all persistent data fields, remove unnecessary bits and then define a v1 of it. And we should maintain the compatibility of the persistent data the same way as we maintain release compatibility. |
@bergwolf /cc @WeiZhang555 |
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Upload a slides for AC meeting. |
@WeiZhang555 sweet, it would be nice to see them in a public gdrive |
@devimc I'll make a copy in google docs. China has a Great Firewall which blocks google, that's why I uploaded the slides here instead of gdocs :-) |
Slides uploaded to Google slides: |
Fixes kata-containers#803 The disk persist data should be "versioned" and baselined, any modification in persist data should be considered potential break of backward compatibility. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Merge "hypervisor.json" into "persist.json", so the new store can take care of hypervisor data now. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Merge "hypervisor.json" into "persist.json", so the new store can take care of hypervisor data now. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Merge "hypervisor.json" into "persist.json", so the new store can take care of hypervisor data now. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Store the configuration data in persist.json. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Store the configuration data in persist.json. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Store the configuration data in persist.json. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Store the configuration data in persist.json. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Store the configuration data in persist.json. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Store the configuration data in persist.json. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Store the configuration data in persist.json. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Test if FC Jenkins job is stable or not. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Test if FC Jenkins job is stable or not. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
Fixes kata-containers#803 Move "newstore" features out of experimental feature list, from this commit "newstore" will be default enabled. Signed-off-by: Wei Zhang <[email protected]>
As part of discussion: #492
The disk persist data should be "versioned" or baselined, and has a good rule for future modification. Currently we modify the data quite casually which is bad.
The persist data can include data under "/run/vc/sbs", "/var/lib/vc/sbs/" and "/run/kata-containers/", among them the "/run/vc/sbs" should be most important and difficult part.
These files including:
Based on this description, I have this proposal:
1. combine these files to one file
Currently we have many files here, and I think
agent.json
,devices.json
,hypervisor.json
,network.json
andstate.json
can be combined to one. I don't think seperating them into several files can bring many benefits, this may bring some discussions or argues about performance penalty caused by disk writting, let's discuss whether this is real necessary.2. baseline the persist data format.
Let me take #32 as an example, persist data format should be regarded as one kind of exported APIs.
We can create a dir
virtcontainers/persist/types.go
containing persist data format:e.g.
We should define all the data we want to export in a consolidated dir, and keeps an eye on any change to this dir.
And we can have a
Dump()
andRestore()
function to convert internal structure to exported data structure and vise versa,RunV
gives a good example: https://github.com/hyperhq/runv/blob/master/hypervisor/persistence.goThe text was updated successfully, but these errors were encountered: