You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Story
As a VIC developer I want to be able to rely on the infrastructure/code to enforce consistency between portlayer.Commit operations
Detail
Currently we are using the VM changeVersion to enforce consistency between operations on the same VM. This is accomplished by setting the changeVersion when we first get the handle, meaning that we have a record of the VM and configuration state on which decisions have been based when modifying the handle. If that changeVersion is not current when we come to commit then it's rejected as a concurrent operation. Because guestinfo is modified as part of the VM spec it is guarded by the changeVersion.
We require a similar guarantee when the configuration is stored in NamespaceDB - whether that's provided transparently via namespaceDB implementation, or whether we achieve it via other means.
We need to confirm:
Lifecycle of namespaces and keys when VMs are powered on/off (i.e. confirm that we don't have the same issues as with guestinfo)
Do namespaceDB updates increment VM changeVersion?
If needed, a design for the portlayer.Commit logic for how we detect and reject a collision.
Acceptance
NamespaceDB keys, values and namespaces are persistent irrespective of VM power state during key creation/update
Either of:
Namespace updates changeVersion
Design for preventing update collisions
The text was updated successfully, but these errors were encountered:
Story
As a VIC developer I want to be able to rely on the infrastructure/code to enforce consistency between portlayer.Commit operations
Detail
Currently we are using the VM changeVersion to enforce consistency between operations on the same VM. This is accomplished by setting the changeVersion when we first get the handle, meaning that we have a record of the VM and configuration state on which decisions have been based when modifying the handle. If that changeVersion is not current when we come to commit then it's rejected as a concurrent operation. Because guestinfo is modified as part of the VM spec it is guarded by the changeVersion.
We require a similar guarantee when the configuration is stored in NamespaceDB - whether that's provided transparently via namespaceDB implementation, or whether we achieve it via other means.
We need to confirm:
If needed, a design for the portlayer.Commit logic for how we detect and reject a collision.
Acceptance
The text was updated successfully, but these errors were encountered: