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

Change Nutanix CAPX to v1.3.0 #7534

Merged
merged 4 commits into from
Feb 9, 2024
Merged

Change Nutanix CAPX to v1.3.0 #7534

merged 4 commits into from
Feb 9, 2024

Conversation

adiantum
Copy link
Contributor

@adiantum adiantum commented Feb 9, 2024

Description of changes:
Nutanix CAPX changed to version v1.3.0 with default CCM component. Changed code, manifests and tests.
The change unblock ability to implement external etcd feature for Nutanix provider.

Testing (if applicable):

Create cluster:

$ eksctl anywhere create cluster -f ./eksa-test-add-ccm.yaml --bundles-override bin/local-bundle-release.yaml
Performing setup and validations
odd number of arguments passed as key-value pairs for logging	{"ignored key": "test-add-ccm"}
ValidateClusterSpec for Nutanix datacenter
Warning: Skipping TLS validation for insecure connection to Nutanix Prism Central; this is not recommended for production use
✅ Nutanix Provider setup is valid
✅ Validate OS is compatible with registry mirror configuration
✅ Validate certificate for registry mirror
✅ Validate authentication for git provider
✅ Validate cluster's eksaVersion matches EKS-A version
Creating new bootstrap cluster
Provider specific pre-capi-install-setup on bootstrap cluster
Installing cluster-api providers on bootstrap cluster
Provider specific post-setup
Creating new workload cluster
Installing networking on workload cluster
Creating EKS-A namespace
Installing cluster-api providers on workload cluster
Installing EKS-A secrets on workload cluster
Installing resources on management cluster
Moving cluster management from bootstrap to workload cluster
Installing EKS-A custom components (CRD and controller) on workload cluster
Installing EKS-D components on workload cluster
Creating EKS-A CRDs instances on workload cluster
Installing GitOps Toolkit on workload cluster
GitOps field not specified, bootstrap flux skipped
Writing cluster config file
Deleting bootstrap cluster
🎉 Cluster created!
--------------------------------------------------------------------------------------
The Amazon EKS Anywhere Curated Packages are only available to customers with the
Amazon EKS Anywhere Enterprise Subscription
--------------------------------------------------------------------------------------
Enabling curated packages on the cluster
Installing helm chart on cluster	{"chart": "eks-anywhere-packages", "version": "0.0.0-3b5440427449629eeb5c981bdd5743d37096c4c5"}

$ kubectl get clusterresourceset -n eksa-system
NAME                           AGE
test-add-ccm-nutanix-ccm-crs   9m32s

$ kubectl get nodes
NAME                            STATUS   ROLES           AGE   VERSION
test-add-ccm-25g7c              Ready    control-plane   11m   v1.28.4-eks-d91a302
test-add-ccm-4slvd              Ready    control-plane   12m   v1.28.4-eks-d91a302
test-add-ccm-hq4z5              Ready    control-plane   14m   v1.28.4-eks-d91a302
test-add-ccm-md-0-vld5n-p7zq8   Ready    <none>          13m   v1.28.4-eks-d91a302
test-add-ccm-md-0-vld5n-qvbxh   Ready    <none>          13m   v1.28.4-eks-d91a302
test-add-ccm-md-0-vld5n-vx7ls   Ready    <none>          13m   v1.28.4-eks-d91a302

Upgrade cluster from v0.18.6:

$ eksctl anywhere upgrade cluster -f ./test-update/eksa-test-update-ccm.yaml --bundles-override bin/local-bundle-release.yaml
Performing setup and validations
✅ Nutanix provider validation
✅ SSH Keys present
✅ Validate OS is compatible with registry mirror configuration
✅ Validate certificate for registry mirror
✅ Control plane ready
✅ Worker nodes ready
✅ Nodes ready
✅ Cluster CRDs ready
✅ Cluster object present on workload cluster
✅ Upgrade cluster kubernetes version increment
✅ Upgrade cluster worker node group kubernetes version increment
✅ Validate authentication for git provider
✅ Validate immutable fields
✅ Validate cluster's eksaVersion matches EKS-Anywhere Version
✅ Validate pod disruption budgets
✅ Validate eksaVersion skew is one minor version
Ensuring etcd CAPI providers exist on management cluster before upgrade
Pausing GitOps cluster resources reconcile
Upgrading core components
Backing up management cluster's resources before upgrading
Upgrading management cluster
Updating Git Repo with new EKS-A cluster spec
GitOps field not specified, update git repo skipped
Forcing reconcile Git repo with latest commit
GitOps not configured, force reconcile flux git repo skipped
Resuming GitOps cluster resources kustomization
Writing cluster config file
🎉 Cluster upgraded!
Cleaning up backup resources

$ kubectl get clusterresourceset -n eksa-system
NAME                              AGE
test-update-ccm-nutanix-ccm-crs   18m

$ kubectl get nodes
NAME                               STATUS   ROLES           AGE     VERSION
test-update-ccm-2wtjs              Ready    control-plane   12m     v1.28.4-eks-d91a302
test-update-ccm-dhqcp              Ready    control-plane   16m     v1.28.4-eks-d91a302
test-update-ccm-jtllt              Ready    control-plane   17m     v1.28.4-eks-d91a302
test-update-ccm-md-0-9dbsk-ktpbh   Ready    <none>          7m25s   v1.28.4-eks-d91a302
test-update-ccm-md-0-9dbsk-lb7hj   Ready    <none>          6m32s   v1.28.4-eks-d91a302
test-update-ccm-md-0-9dbsk-mggsb   Ready    <none>          8m40s   v1.28.4-eks-d91a302

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@eks-distro-bot
Copy link
Collaborator

Hi @adiantum. Thanks for your PR.

I'm waiting for a aws member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@eks-distro-bot eks-distro-bot added needs-ok-to-test size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Feb 9, 2024
@abhinavmpandey08
Copy link
Member

/ok-to-test

Copy link

codecov bot commented Feb 9, 2024

Codecov Report

Attention: 5 lines in your changes are missing coverage. Please review.

Comparison is base (4583834) 73.48% compared to head (e47aee3) 73.56%.
Report is 32 commits behind head on main.

Files Patch % Lines
release/api/v1alpha1/artifacts.go 0.00% 3 Missing ⚠️
pkg/providers/nutanix/controlplane.go 92.00% 1 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #7534      +/-   ##
==========================================
+ Coverage   73.48%   73.56%   +0.07%     
==========================================
  Files         579      580       +1     
  Lines       36357    36471     +114     
==========================================
+ Hits        26718    26830     +112     
- Misses       7875     7879       +4     
+ Partials     1764     1762       -2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@adiantum adiantum changed the title [WIP] Change Nutanix CAPX to v1.3.0 Change Nutanix CAPX to v1.3.0 Feb 9, 2024
@adiantum adiantum force-pushed the ntnx_ccm branch 3 times, most recently from 4ef6c24 to 9e95ff4 Compare February 9, 2024 17:29
@adiantum
Copy link
Contributor Author

adiantum commented Feb 9, 2024

/retest

 - bump up version
 - change manifests
 - change tests
Copy link
Member

@abhinavmpandey08 abhinavmpandey08 left a comment

Choose a reason for hiding this comment

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

awesome work! PR looks mostly good, let a few small comments.
Also, can you add the CCM image to NutanixImages here? https://github.com/abhinavmpandey08/eks-anywhere/blob/664bac4a90e20e440105fb03862e83e108841bd1/release/api/v1alpha1/artifacts.go#L154-L160

go.mod Outdated Show resolved Hide resolved
.github/workflows/go-coverage.yml Outdated Show resolved Hide resolved
.github/workflows/golangci-lint.yml Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
Makefile Outdated Show resolved Hide resolved
pkg/providers/nutanix/config/cp-template.yaml Show resolved Hide resolved
pkg/providers/nutanix/config/cp-template.yaml Outdated Show resolved Hide resolved
pkg/providers/nutanix/config/secret-template.yaml Outdated Show resolved Hide resolved
Copy link
Member

@abhinavmpandey08 abhinavmpandey08 left a comment

Choose a reason for hiding this comment

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

/approve
/lgtm

@eks-distro-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abhinavmpandey08

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@eks-distro-bot eks-distro-bot merged commit 6586fc0 into aws:main Feb 9, 2024
13 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved lgtm ok-to-test size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants