Conversation
BackingObjectId is an optional value which means there is a distinction between unset and empty value. The serialization process treats empty value as unset, which means it is changing the content between serialize/deserialize. Hostd differientiates between these 2 values and if it notices it changes will reject modifications when the VM is powered on, even though our intent was not to modify the content. This change uses *string value to distinguish all the states. Clients that care about this value will have to do similar changes as I made to the tests. BREAKING: Change backingObjectId from string to *string Signed-off-by: Nathan Prziborowski <prziborowski@gmail.com>
|
Marking this as draft as I may need to do a similar thing for more properties. |
It was due to a new property that doesn't exist in govmomi. I'd advocate that whenever it is added that it is also *string, but I'll try to deal with that one elsewhere and proceed with requesting this fix. |
Description
BackingObjectId is an optional value which means there is a distinction between unset and empty value.
The serialization process treats empty value as unset, which means it is changing the content between serialize/deserialize. Hostd differientiates between these 2 values and if it notices it changes will reject modifications when the VM is powered on, even though our intent was not to modify the content.
This change uses *string value to distinguish all the states. Clients that care about this value will have to do similar changes as I made to the tests.
Closes: #(issue-number)
How Has This Been Tested?
I deployed this change in our environment where a vm.Reconfigure was consistently failing. With the change the operation succeeded.
Guidelines
Please read and follow the
CONTRIBUTIONguidelines of this project.