Tags: nutanix-cloud-native/cluster-api-provider-nutanix
Tags
fix(bug): Remove FIQL based filters from list calls (#485) * fix(bug): Remove FIQL based filters from list calls FIQL filtering has been deprecated by the APIs for some time now. We should avoid using it altogether. * use strings.EqualFold for string comparison after list calls
fix(controller): Optimize logic for detach VG from VM for cases with … …large number of VGs (#477) * fix(controller): Fail waitForV4Task on context timeout and terminal states The polling will now fail after 1 minute or if task returned has a terminal state of FAILED or CANCELLED. * parallelize waiting * switch polling logic out of goroutines and check them all in a loop * Stop waiting on detachVG altogether * Add a log for the requeue
fix(controller): Move v4 client instantiation to reconcileDelete (#465) * fix(controller): Move v4 client instantiation to reconcileDelete In order to reduce the number of calls made to /prism_central to establish whether a v4 client can be created, we move the v4 client creation to reconcileDelete function as currently that's the only place where we need to make v4 VG detach calls. * address review comments * address more review comments * Mark condition on detach or delete error * Add some unit tests * fix lint issues
Detach volume groups before deleting machine (#460) * Detach volume groups before deleting machine This commit is a workaround to a known problem with hypervisor attached volumes that are created by CSI 3.0. Hypervisor attached volumes result in a volume group disk being attached to the VM on which the pod consuming the PV is running. When a cluster is deleted before deleting the PVC, the prism task fails to delete the VM because an existing volume group is attached to the VM. Since this problem is restricted to CSI 3.0 which relies on a minimum PC version of 2024.1 and the solution requires the volume group detach v4 API which is also available starting 2024.1, we make a v3 get prism central info call to fetch the PC version. If PC version is 2024 or greater we create a v4 client for the cluster as well. Before a machine is deleted, we check if the VM backing the machine has any disks backed by volume groups. If it does, we detach those volume groups before deleting the machine. * Handle internal PC Version names in v4 compatibility check * Address review comments * Address more comments * go mod tidy
Cherry-pick PR #415 to release-v1.3 (#433) * Introduce a nutanix prism client cache (#415) * Introduce a nutanix prism client cache The cache stores a prismgoclient.V3 client instance for each NutanixCluster instance. The cache is shared between nutanixcluster and nutanixmachine controllers. * Address review comments * Build fixes to keep the build passing Changes to fix linting issues and version dependencies to keep the build passing
Cherry-pick PR #4013, #406, and #415 to release-v1.2 (#430) * Ensure fallback config is only read when prismCentral is absent (#403) Skip reading fallback config file from /etc/nutanix/config/prismCentral if NutanixCluster has prismCentral set. Co-authored-by: Sid Shukla <[email protected]> * Add a provision for handling image based bootstrap (#406) * Add a provision for handling image based bootstrap AHV has a limit of 32KB for cloud-init userdata. In Openshift, the ignition can be rather large (a magnitude over the limit). In order to support larger userdata files, we allow mounting the customization as an image. * Only set guestcustomization explicitly when bootstrap ref is secret * Use lowercase for data_source_reference kind. --------- Co-authored-by: Sid Shukla <[email protected]> * Introduce a nutanix prism client cache (#415) * Introduce a nutanix prism client cache The cache stores a prismgoclient.V3 client instance for each NutanixCluster instance. The cache is shared between nutanixcluster and nutanixmachine controllers. * Address review comments * Update CAPI version in go.mod This is to ensure newer versions of interfaces from SharedIndexInformers don't cause compile failures. Update go version to v1.22 becasue cmp.Or is only available in go v1.22 update prism-go-client --------- Co-authored-by: Deepak Muley <[email protected]> Co-authored-by: Yanhua Li <[email protected]>
PreviousNext