eks-anywhere
eks-anywhere copied to clipboard
WIP: Nutanix provider code changes
Issue #, if available:
Description of changes:
Testing (if applicable):
Download bundle-release.yaml as follows:
wget https://dev-release-prod-pdx.s3.us-west-2.amazonaws.com/bundle-release.yaml
Also download latest eksa-components.yaml from by taking the latest url from above yaml and copy it to respective dir
wget https://dev-release-assets.eks-anywhere.model-rocket.aws.dev/artifacts/v0.0.0-dev-build.3556/eks-anywhere/manifests/cluster-controller/v0.10.1/eksa-components.yaml mv eksa-components.yaml config/manifest/eksa-components.yaml
Note: update following for all version of k8s in this file (total 3 times)
Eksa.components.uri: uri: https://raw.githubusercontent.com/aws/eks-anywhere/f0e321f210522f41fd5c5a67f395f4dda8c7adbc/config/manifest/eksa-components.yaml
And add following for all version of k8s in this file (total 3/4 times based on supported k8s version) in bundle-release.yaml
nutanix: clusterAPIController: arch: - amd64 description: Container image for cluster-api-nutanix-controller image imageDigest: sha256:49cb349b634d6ed66b443413bc3ac01290ea441bc3743003cbbc45f7bcff7b8b name: cluster-api-nutanix-controller os: linux uri: ghcr.io/nutanix-cloud-native/cluster-api-provider-nutanix/controller:v0.4.0 clusterTemplate: uri: https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v0.4.0/cluster-template.yaml components: uri: https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v0.4.0/infrastructure-components.yaml metadata: uri: https://github.com/nutanix-cloud-native/cluster-api-provider-nutanix/releases/download/v0.4.0/metadata.yaml version: v0.4.0
export GO111MODULE=on export GOPATH=/Users/deepak.muley/go make generate-manifests make manifests -C release make release-manifests BUNDLE_MANIFEST_URL=./bundle-release.yaml make eks-a export CLUSTER_NAME=nutanix-dev-cluster export CLUSTER_NS=eksa-system export NUTANIX_PROVIDER=true bin/eksctl-anywhere generate clusterconfig ${CLUSTER_NAME} --provider nutanix > ${CLUSTER_NAME}.yaml
Create Cluster
bin/eksctl-anywhere create cluster -f ./${CLUSTER_NAME}.yaml --bundles-override ./bundle-release.yaml Performing setup and validations Warning: The nutanix infrastructure provider is still in development and should not be used in production ✅ Nutanix Provider setup is valid ✅ Validate certificate for registry mirror ✅ Create preflight validations pass Creating new bootstrap cluster Installing cluster-api providers on bootstrap cluster Provider specific post-setup Creating new workload cluster Installing networking on workload cluster Installing storage class on workload cluster Installing cluster-api providers on workload cluster Installing EKS-A secrets on workload cluster Moving cluster management from bootstrap to workload cluster Installing EKS-A custom components (CRD and controller) on workload cluster Creating EKS-A CRDs instances on workload cluster Installing AddonManager and GitOps Toolkit on workload cluster GitOps field not specified, bootstrap flux skipped Writing cluster config file Deleting bootstrap cluster 🎉 Cluster created!
kubectl --kubeconfig ./${CLUSTER_NAME}/${CLUSTER_NAME}-eks-a-cluster.kubeconfig get nodes,ns kubectl --kubeconfig ./${CLUSTER_NAME}/${CLUSTER_NAME}-eks-a-cluster.kubeconfig get Cluster kubectl --kubeconfig ./${CLUSTER_NAME}/${CLUSTER_NAME}-eks-a-cluster.kubeconfig -n ${CLUSTER_NS} get Machine
To run tests locally for nutanix, set following env vars an then run test
export T_BUNDLES_OVERRIDE=true export NUTANIX_PROVIDER=true export T_NUTANIX_ENDPOINT= export T_NUTANIX_PORT=9440 export T_NUTANIX_USER=export T_NUTANIX_PASSWORD= export T_NUTANIX_INSECURE=true export T_NUTANIX_MACHINE_BOOT_TYPE=legacy export T_NUTANIX_MACHINE_MEMORY_SIZE=4Gi export T_NUTANIX_SYSTEMDISK_SIZE=40Gi export T_NUTANIX_MACHINE_VCPU_PER_SOCKET=1 export T_NUTANIX_MACHINE_VCPU_SOCKET=2 export T_NUTANIX_MACHINE_TEMPLATE_IMAGE_NAME=ubuntu-2004-kube-v1.21.10 export T_NUTANIX_PRISM_ELEMENT_CLUSTER_NAME= export T_NUTANIX_SSH_AUTHORIZED_KEY=" " export T_NUTANIX_SUBNET_NAME= export T_NUTANIX_CONTROL_PLANE_ENDPOINT_IP= export T_NUTANIX_POD_CIDR="172.20.0.0/16" export T_NUTANIX_SERVICE_CIDR="172.19.0.0/16" LOCAL_E2E_TESTS=TestNutanixKubernetes121SimpleFlow BUNDLE_MANIFEST_URL=./bundle-release.yaml make local-e2e
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Hi @deepakm-ntnx. 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.
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign ptrivedi after the PR has been reviewed.
You can assign the PR to them by writing /assign @ptrivedi
in a comment when ready.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve
in a comment
Approvers can cancel approval by writing /approve cancel
in a comment
different smaller PRs have been created from this PR and merged API: https://github.com/aws/eks-anywhere/pull/3116 : Merged GenerateConfig Cmd: https://github.com/aws/eks-anywhere/pull/3288 : Merged Reconciler: https://github.com/aws/eks-anywhere/pull/3289 : Merged Provider: https://github.com/aws/eks-anywhere/pull/3291 : TBR Release: https://github.com/aws/eks-anywhere/pull/3292 : RTC