Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Persist VM's kubernetes and bootstrap data in ExtraConfig #213

Merged
merged 5 commits into from
Sep 18, 2023

Conversation

dilyar85
Copy link
Member

@dilyar85 dilyar85 commented Sep 6, 2023

What does this PR do, and why is it needed?
This PR updates the VirtualMachine Controller to store the VM's Kubernetes and bootstrap data YAML (compressed using gzip and base64-encoded) into the VM's ExtraConfig, if the corresponding FSS is enabled. This enables the VM to be restored by recreating the YAML from this backup data.

Are there any special notes for your reviewer:
The v1a2 VM Controller code has been updated with the new BackupVirtualMachine() function. However, the implementation of that function has not been added because the v1a2 VM provider code does not exist yet.

Please add a release note if necessary:

Persist VM's Kubernetes and bootstrap data in ExtraConfig

Testing Done

  • Added test code in both VM controller and provider.
  • Manually deployed this patch to a WCP testbed (with FSS enabled) and verified the expected backup data in the VM's ExtraConfig:
$ kubectl get vm -n sdiliyaer-test
NAME                          POWER-STATE   AGE
test-vm-no-bootstrap-data     poweredOn     64s
test-vm-with-bootstrap-data   poweredOn     18m

$ govc vm.info -e "test-vm-no-bootstrap-data"  | grep vmservice.virtualmachine
    vmservice.virtualmachine.kubedata: H4sIAAAAAAAA/8xWzW7jNhC+6ykInk2vZccbm8duUSCHdAs0yaG3kTiyCVMkS1IKvKnfvSAlO7JiB8kCBZpLrPnnN98MCVY+ofPSaE7a2lh0EIybtvUzOJyWpv7S5qDsFvJsJ7Xg5Em60IC6h3IrNWY1BhAQgGeEgNYmQJBG+/hJyK4psAxqGv87jQH9VJovCnxgYK2SKFhpdCU3jUtunPyT/Ah5oa+FUU7fr4xOaKyNcnpeHJ3QY3mUv9BBeZS/HCZUQ42U04A+sLZm2rDCmOCDA8uSU2fiLZTRzgup5B7QsehBDxPqLZYxcqnA+9+7aEWMhlVlXGC+BqXohMoaNtjr21qyYolYLeF2XRSI+c0ynsCaZ3R/BgjRKH2g+K7phPpgHGzwW8xBOX0u7UaZAhTrFcw6U0kVT9vW94PzBgfaW+MC5fSbMo240zLQw+GQMG47qOoOqullhCvpfEioMGE0ckKDa5BmhJQOE5QPskYfoLac0PlsvmCzNctvHmYLnq94nv8VbSupQckf6BIt2IdSZ4RsUOORF3lGiIICVc+sYKxRZrMfUetHKlKYGqRm5XKWEVKDhg2K3yQq0ef/BOdjriq5PuwtctKFeRoqnnLek7biw2k4yt5MRfc35eTlMPiu+Oen5RSg4pGKr+HPg1f8RNCR/ETMkTzx73tV3RtxUZV4OlK4yAMXLrgMGTxWNd6iFhecXrn8Pmonlp80XccdP64fViqJOjAvBSYk98ms63vC8dEKCNgRS0YwrlL5f0Keiv/c+J4hfD6W1xBuOf1ILjoKPhzWq617b4jHzex/fLp1a57P//PW+QCh8dfnr5DGPz7e/Toeyy3oDf6iTLl7cFDupN6MLYwWsmv/uWJrfBgPs/YBdIkXEmkMz8bt7nRAV0GJ42h2C/7Dg95o+XeDb3K09Z0diX62k74pHHrTuBI56bC93uH5jOeL1GGdFtnV67y3SNc5J+e3eUbIMeOJIvTranG7uI2RGyk4qW5vFsv5as6KfP2V3dx8FWwlcM7ms2Uu1svbclVW2XEPDzbumxdBRshg8V58EMRa3/QskbgXd7Rsvd2iQyakD04WTUCREXK+vbfgTsK+nafnxeDYfxgly31XEqWd4nWf90HON/nVp0i0HC723nu80ger+/Q+yfpRiqz5FwAA//8BAAD//8zNoh+cCgAA

$ govc vm.info -e "test-vm-with-bootstrap-data"  | grep vmservice.virtualmachine
    vmservice.virtualmachine.bootstrapdata:  H4sIAAAAAAAA/1SOsUoEMRBA+/2K4Wy0WK4fsFiwDCpcYRMIc8mcCRsnIZNw6tdLOC1s33vFG8ptDdQJ4XDncxlh9UUu6d2KanT1SqNHhN4GW5mxohWAFYQ+GKGS37lNAlAzJXGdP7urpHoNuMC/IBe//ym4UFa+cR2hIGzGPN5vxjzA88vrdjq9PeFmzG8ROWeE4znJ8UwarSwAdgqNbh6Wlr45uJ2/bn/z0Mph+QEAAP//AQAA///r//O/3wAAAA==
    vmservice.virtualmachine.kubedata: H4sIAAAAAAAA/7RVTW/jNhC961cQvtMr27HW5rFbFMgh3QJNcuhtRI5kwvwqOVKQLfrfC0pKaiv2IrtAbuLMcGY4b94TBP2IMWnvBOutDxiBfFz29gkiLqW3n/oVmHCAVXHUTgn2qCN1YO5AHrTDwiKBAgJRMAbOeQLS3qV8ZKwfY+0Yu7ycv9ExEa+9J668Q8EWFDtcFIzJiEO2e20xEdgg2GJdrje83PPVzX25EeuV2FR/5dhGOzD6G8ahNH9X6YKxFl02D89fFYwZqNFM3ZMP3vj2eXnsaowOCdNS+0/fhiaVt6Adl9uyYMyCgxbVbxqNmur/wFxzrWa4ev8cULAxzeOp43E1tsRYI1JA+XJibCnYP/++nhohDaT0O1ic2bWFFi/Yg3/C+LVp7ry66PqTgOaOmNGIdOFKIh+hxS+5ibmrSwGdunCpt3cnS3T5YTmOIrgUfKRXzzj3KFhGSJLhw8bg4BtHPsz/IagXK+k8gatb9JG42TePbMQbxlx7+88x6WzM5wy5VqoXi/fUWsySn/LmKn7f49Mc0enjh6Fci/Xuw6FMBNSl6ySstU8PD7e/zrl5ANfiL8bL430EedSunUd4p/S4DueOg080Z7RLBE7ihULhAOndbO6c/rvDNzl+FpbU1RGT76JEwcZBfQeujSj3A1xukCbCRLy33PlhjRNFCDyTZopIAYa0Shv9DBh5vlAw9lLxFe9Ftdtuq33O3GklWCNrWe22n/l61yC/wWrH611V8U1VVeUG1/sSyuJFWU80tM4NYdP4SDxZMKZg7ERKe6t5vUVstvB5X9eIq5ttXhqH9OTj8dYRxgYkTj+FyTzuWJ/CASNypRNFXXeEqmDsXI8PEF+NE3bDN6qv7uTZf3ij5fPY0mIxOv5X6CnJuTY/ydAaX4Phk52H6BttMohnUj3dnov0iRh/Mb5Tt05TMfEib81/AAAA//8BAAD//yWXs8lYCAAA
Decoding "vmservice.virtualmachine.bootstrapdata"
$ echo "H4sIAAAAAAAA/1SOsUoEMRBA+/2K4Wy0WK4fsFiwDCpcYRMIc8mcCRsnIZNw6tdLOC1s33vFG8ptDdQJ4XDncxlh9UUu6d2KanT1SqNHhN4GW5mxohWAFYQ+GKGS37lNAlAzJXGdP7urpHoNuMC/IBe//ym4UFa+cR2hIGzGPN5vxjzA88vrdjq9PeFmzG8ROWeE4znJ8UwarSwAdgqNbh6Wlr45uJ2/bn/z0Mph+QEAAP//AQAA///r//O/3wAAAA==" | base64 -d | gunzip
user-data: "#cloud-config\nssh_pwauth: true\nusers:\n  - name: packer\n    plain_text_passwd:
  packer\n    lock_passwd: false\n    sudo: ALL=(ALL) NOPASSWD:ALL\n    shell: /bin/bash\n
  \   ssh_authorized_keys:\n    - \n"
Decoding "vmservice.virtualmachine.kubedata"
$ echo "H4sIAAAAAAAA/7xWz2/rNgy++68QcldefrlpddwbBvTQvQFre9iNlmlHiCxpFO2gb9j/PvhHWsdJu7wCW042SX0U+ZGfA8E8I0XjnRJN5QMSsKd5Ux2AcK599aVZgg07WCZ743Ilng1xDfYB9M44TCpkyIFBJUKAc56BjXexfRWi6WOrPnZ+Gb8wFFlm3rPMvUMlZkw1zhIhNGGH9mgqjAxVUGK2WqzWcnEnl5vHxVotNmq9/qONLYwDa74jdanlVakTIUp0rbkrf5kIYSFDO9w+gN4jySaGHRLKWAekxkRPMqJFzZ6UYIwsm0oeDO+6GiITBNl2pMNgH7z15ct8X2dIDhnj3Pgv37tCc1+BcVKni0SIChyUmP9i0OZDDT/ATZur6I4+vgRUood5Hjuel31ZQhRqzNrRNi69/82V+Ovv0XuhrmnJ65FCxYD6DfAUrlDaQoy/QoUTu6mgxAv24A9I34riwecXXb8z8NRBGH1NGn/z1uiXC6DUThbxBczInqDEr+0tp646BnT5hUNN9XDW2kuNjKgJ+ew+rYsJXAye+NXTjwap40QGW5fGHVnoQvrh6CblKeTAvZVNi//uzvzfE3amD+9153O6cULEqR68l6pRs2tyzSbg56tSqA83fUrk8PDD1KVqvf3PqYsMXMf39zYzPj493f88XecduBJ/sl7vHwn03rhyGuFdbnr6Tx07H3kqAi4yOI0XEjnkg6f9vWOkAjRO0cIO4tUCUTvzZ41nOZrqPkxMn2Uy1tlRhZToe/sBwzdqfdsx7Dpt+Pj70sbEAB1wbqx5ASTZHkmEOOZ8HZLZzTZdr7Ytdm1yJdJVVtzdbVFmer2QG7y9ldlG38obWOXpYrlJV8ssOSr4SKuz9kpYFJ5YxgqsTYQYSXZTGZmliEUK27ssQ1xu0nbSzlnrxngw94N5/K7kJjKZrGbMEyFOdX8H9GocCO2eMf/mRmWPBX826x1vQj+AnEr8QYfS+gysHOwykC+MbWk8Ufzh9FTrx5r+r/8L3kT+q/V1fu8MJ8PitTP2DwAAAP//AQAA///kfBUMlwkAAA==" | base64 -d | gunzip
apiVersion: vmoperator.vmware.com/v1alpha1
kind: VirtualMachine
metadata:
  annotations:
    virtualmachine.vmoperator.vmware.com/first-boot-done: "true"
  creationTimestamp: "2023-09-14T03:04:33Z"
  finalizers:
  - virtualmachine.vmoperator.vmware.com
  generation: 1
  labels:
    packer-vsphere-supervisor-selector: test-vm-with-bootstrap-data
    topology.kubernetes.io/zone: domain-c50
  managedFields:
  - apiVersion: vmoperator.vmware.com/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          .: {}
          f:packer-vsphere-supervisor-selector: {}
      f:spec:
        .: {}
        f:className: {}
        f:imageName: {}
        f:powerOffMode: {}
        f:powerState: {}
        f:resourcePolicyName: {}
        f:restartMode: {}
        f:storageClass: {}
        f:suspendMode: {}
        f:vmMetadata:
          .: {}
          f:secretName: {}
          f:transport: {}
    manager: packer-plugin-vsphere
    operation: Update
    time: "2023-09-14T03:04:33Z"
  - apiVersion: vmoperator.vmware.com/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:annotations:
          .: {}
          f:virtualmachine.vmoperator.vmware.com/first-boot-done: {}
        f:finalizers:
          .: {}
          v:"virtualmachine.vmoperator.vmware.com": {}
        f:labels:
          f:topology.kubernetes.io/zone: {}
    manager: manager
    operation: Update
    time: "2023-09-14T03:05:37Z"
  - apiVersion: vmoperator.vmware.com/v1alpha1
    fieldsType: FieldsV1
    fieldsV1:
      f:status:
        .: {}
        f:biosUUID: {}
        f:changeBlockTracking: {}
        f:conditions: {}
        f:host: {}
        f:instanceUUID: {}
        f:networkInterfaces: {}
        f:phase: {}
        f:powerState: {}
        f:uniqueID: {}
        f:vmIp: {}
        f:zone: {}
    manager: manager
    operation: Update
    subresource: status
    time: "2023-09-14T03:06:38Z"
  name: test-vm-with-bootstrap-data
  namespace: sdiliyaer-test
  resourceVersion: "675327"
  uid: 52bf997e-bc30-4e88-b4c8-6a2d5014521b
spec:
  className: best-effort-small
  imageName: vmi-b5eef5a79bbee1451
  networkInterfaces:
  - networkType: vsphere-distributed
  powerOffMode: hard
  powerState: poweredOn
  resourcePolicyName: ""
  restartMode: hard
  storageClass: wcpglobal-storage-profile
  suspendMode: hard
  vmMetadata:
    secretName: test-vm-with-bootstrap-data
    transport: CloudInit
status: {}

@github-actions github-actions bot added testing-needed-e2e-fast size/XL Denotes a PR that changes 500-999 lines. labels Sep 6, 2023
@dilyar85 dilyar85 force-pushed the feature/vm-backup branch 3 times, most recently from c5f9fa1 to 0bc8e24 Compare September 6, 2023 21:14
pkg/util/enc.go Outdated Show resolved Hide resolved
pkg/vmprovider/providers/vsphere/constants/constants.go Outdated Show resolved Hide resolved
pkg/vmprovider/providers/vsphere/virtualmachine/backup.go Outdated Show resolved Hide resolved
@dilyar85 dilyar85 added the testing-done-e2e-fast Indicates the fast, low-cost e2e testing has been used to validate a PR label Sep 6, 2023
@aruneshpa
Copy link
Contributor

Can you also include a decoded and uncompressed boostrap ConfigMap/Secret resource in the Testing Done section like you have for a VM?

@aruneshpa
Copy link
Contributor

@akutz , FYI, your investigation in the design doc indicated that using gzip with a level of 6 is the optimal compression level. However, I am not enforcing that here since our discovery that the GuestInfo size limits are only applicable for messages originating in the guest. Let me know if you disagree.

@github-actions github-actions bot added size/L Denotes a PR that changes 100-499 lines. and removed size/XL Denotes a PR that changes 500-999 lines. labels Sep 14, 2023
@github-actions
Copy link

Code Coverage

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 83%
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 45%
github.com/vmware-tanzu/vm-operator/controllers/virtualmachine/v1alpha2 69%
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 83%
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 84%
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/virtualmachinewebconsolerequest/v1alpha2 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 84%
github.com/vmware-tanzu/vm-operator/pkg/manager 81%
github.com/vmware-tanzu/vm-operator/pkg/metrics 89%
github.com/vmware-tanzu/vm-operator/pkg/metrics2 85%
github.com/vmware-tanzu/vm-operator/pkg/patch 78%
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 76%
github.com/vmware-tanzu/vm-operator/pkg/vmprovider/providers/vsphere 71%
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 83%
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 85%
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% (8737 / 10980)

Minimum allowed line rate is 60%

Copy link
Contributor

@aruneshpa aruneshpa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

@dilyar85 dilyar85 merged commit e552bc9 into vmware-tanzu:main Sep 18, 2023
sreyasn added a commit to sreyasn/vm-operator that referenced this pull request Sep 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-not-required size/L Denotes a PR that changes 100-499 lines. testing-done-e2e-fast Indicates the fast, low-cost e2e testing has been used to validate a PR testing-needed-e2e-fast
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants