🐛 Allow non user-configurable properties in VM deployment
What does this PR do, and why is it needed? Currently, VM operator ignores any vApp properties that are not user configurable when patching with values specified in the bootstrap resources (VM metadata ConfigMap/Secret). There are some valid use-cases where users might want to patch hidden properties defined in an image. This change fixes this behavior.
Which issue(s) is/are addressed by this PR? Fixes #181.
Please add a release note if necessary:
Allow users to configure all properties defined in the OVF
| Package | Line Rate | Health |
|---|---|---|
| github.com/vmware-tanzu/vm-operator/controllers | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/contentlibrary | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/contentlibrary/v1alpha1 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/contentlibrary/v1alpha1/clustercontentlibraryitem | 83% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/contentlibrary/v1alpha1/contentlibraryitem | 82% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/contentlibrary/v1alpha1/contentsource | 88% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/contentlibrary/v1alpha1/utils | 97% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/contentlibrary/v1alpha2 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/contentlibrary/v1alpha2/clustercontentlibraryitem | 86% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/contentlibrary/v1alpha2/contentlibraryitem | 85% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/contentlibrary/v1alpha2/utils | 91% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/infracluster | 75% | ➖ |
| github.com/vmware-tanzu/vm-operator/controllers/infraprovider | 75% | ➖ |
| github.com/vmware-tanzu/vm-operator/controllers/providerconfigmap | 75% | ➖ |
| github.com/vmware-tanzu/vm-operator/controllers/util/encoding | 73% | ➖ |
| github.com/vmware-tanzu/vm-operator/controllers/util/remote | 41% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachine | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachine/v1alpha1 | 46% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachine/v1alpha2 | 70% | ➖ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineclass | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineclass/v1alpha1 | 31% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineclass/v1alpha2 | 71% | ➖ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachinepublishrequest | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachinepublishrequest/v1alpha1 | 83% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachinepublishrequest/v1alpha2 | 81% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineservice | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineservice/v1alpha1 | 81% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineservice/v1alpha1/providers | 96% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineservice/v1alpha1/providers/simplelb | 66% | ➖ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineservice/v1alpha1/utils | 84% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineservice/v1alpha2 | 82% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineservice/v1alpha2/providers | 96% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineservice/v1alpha2/providers/simplelb | 66% | ➖ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachineservice/v1alpha2/utils | 83% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachinesetresourcepolicy | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachinesetresourcepolicy/v1alpha1 | 80% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachinesetresourcepolicy/v1alpha2 | 80% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachinewebconsolerequest | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/virtualmachinewebconsolerequest/v1alpha1 | 72% | ➖ |
| github.com/vmware-tanzu/vm-operator/controllers/volume | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/controllers/volume/v1alpha1 | 87% | ✔ |
| github.com/vmware-tanzu/vm-operator/controllers/volume/v1alpha2 | 87% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/builder | 70% | ➖ |
| github.com/vmware-tanzu/vm-operator/pkg/conditions | 90% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/conditions2 | 89% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/context | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/pkg/context/fake | 100% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/lib | 80% | ➖ |
| github.com/vmware-tanzu/vm-operator/pkg/manager | 81% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/metrics | 90% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/metrics2 | 85% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/patch | 79% | ➖ |
| github.com/vmware-tanzu/vm-operator/pkg/patch2 | 78% | ➖ |
| github.com/vmware-tanzu/vm-operator/pkg/prober | 92% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober/context | 100% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober/fake | 85% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober/fake/probe | 83% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober/fake/worker | 88% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober/probe | 83% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober/worker | 86% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober2 | 94% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober2/context | 100% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober2/fake | 85% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober2/fake/probe | 83% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober2/fake/worker | 89% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober2/probe | 89% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/prober2/worker | 85% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/record | 89% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/topology | 85% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/util | 83% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/util/kube | 89% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/util/vsphere/vm | 74% | ➖ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/fake | 74% | ➖ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere | 72% | ➖ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/client | 74% | ➖ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/clustermodules | 85% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/config | 85% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/contentlibrary | 71% | ➖ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/credentials | 100% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/instancestorage | 92% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/internal | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/network | 87% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/placement | 83% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/resources | 47% | ❌ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/session | 82% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/storage | 77% | ➖ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/test | 98% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/vcenter | 80% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere/virtualmachine | 87% | ✔ |
| github.com/vmware-tanzu/vm-operator/pkg/webconsolevalidation | 53% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/common | 100% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/persistentvolumeclaim | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/persistentvolumeclaim/validation | 95% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachine | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachine/v1alpha1 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachine/v1alpha1/mutation | 86% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachine/v1alpha1/validation | 94% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachine/v1alpha2 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachine/v1alpha2/mutation | 83% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachine/v1alpha2/validation | 87% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineclass | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineclass/v1alpha1 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineclass/v1alpha1/mutation | 59% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineclass/v1alpha1/validation | 89% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineclass/v1alpha2 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineclass/v1alpha2/mutation | 59% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineclass/v1alpha2/validation | 89% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinepublishrequest | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinepublishrequest/v1alpha1 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinepublishrequest/v1alpha1/validation | 92% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinepublishrequest/v1alpha2 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinepublishrequest/v1alpha2/validation | 92% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineservice | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineservice/v1alpha1 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineservice/v1alpha1/mutation | 62% | ➖ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineservice/v1alpha1/validation | 91% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineservice/v1alpha2 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineservice/v1alpha2/mutation | 62% | ➖ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachineservice/v1alpha2/validation | 91% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinesetresourcepolicy | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinesetresourcepolicy/v1alpha1 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinesetresourcepolicy/v1alpha1/mutation | 62% | ➖ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinesetresourcepolicy/v1alpha1/validation | 89% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinesetresourcepolicy/v1alpha2 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinesetresourcepolicy/v1alpha2/validation | 89% | ✔ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinewebconsolerequest | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinewebconsolerequest/v1alpha1 | 0% | ❌ |
| github.com/vmware-tanzu/vm-operator/webhooks/virtualmachinewebconsolerequest/v1alpha1/validation | 92% | ✔ |
| Summary | 80% (8657 / 10844) | ➖ |
Minimum allowed line rate is 60%
TODO: We also need to update the official documentation to indicate that non user-configurable properties are also allowed now. https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-services-workloads/GUID-FB31603E-EE1D-4413-8567-DD2A5834929C.html
Excerpt from the doc:
Procedure
Make sure that for all properties to be configured, your OVF file includes the ovf:userConfigurable="true" entry.