Skip to content

Conversation

@prziborowski
Copy link
Contributor

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 CONTRIBUTION guidelines of this project.

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 <[email protected]>
@prziborowski prziborowski marked this pull request as draft January 7, 2026 00:04
@prziborowski
Copy link
Contributor Author

Marking this as draft as I may need to do a similar thing for more properties.
I just tested with vSAN (which has a non-empty string of backingObjectId) and hostd is still blocking the reconfigure, meaning there are more properties that it thinks want to be changed. Unfortunately this environment isn't logged that, so I need a new environment, so likely won't have an update until tomorrow.

@prziborowski prziborowski marked this pull request as ready for review January 7, 2026 05:19
@prziborowski
Copy link
Contributor Author

Marking this as draft as I may need to do a similar thing for more properties. I just tested with vSAN (which has a non-empty string of backingObjectId) and hostd is still blocking the reconfigure, meaning there are more properties that it thinks want to be changed. Unfortunately this environment isn't logged that, so I need a new environment, so likely won't have an update until tomorrow.

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.

@akutz akutz merged commit a618411 into vmware:main Jan 8, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants