This repository has been archived by the owner on Apr 11, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
feat: set default instance type for aws cp and worker nodes #51
Open
supershal
wants to merge
96
commits into
main
Choose a base branch
from
shalin/default_instance_type
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Missed when reorganising example kustomizations in previous PR.
- Defines a cluster-level variable for defining one or more users - Patches bootstrap templates for control plane and worker node pools with user configuration
Co-authored-by: Faiq <faiq.raza@nutanix.com> Signed-off-by: Deepak Muley <deepak.muley@nutanix.com>
Address review comments
Expand comments
Without this, defaults declared in the JSON schema are not included in validation steps, which can lead to invalid failures, while also not allowing for tests that target defaults.
Fix typo in lockPassword logic, and add unit test
feat: Add examples for Nutanix provider
Add unit test for empty hashed password
Change Sudo field from pointer to value The zero value (empty string) is not valid, so the field does not need to be a pointer.
Make username required
Explain why we do not validate hashed password input
Explain why we do not validate sudo input
Update type comments
Remove errant comment
Add users to the docs site
Manually wrap lines in doc
Also deploy infra provider versions that match the API.
CPI is a term unique to the vSphere CCM. Renaming to the more generic "CCM".
* refactor: combine PC host and port into a single url var This makes it simpler for clients to provide a single input field and not have to do any parsing to split the hostname and port. It also allows us to use API validation for bad input. * fixup! refactor: combine PC host and port into a single url var * fixup! refactor: combine PC host and port into a single url var * fixup! refactor: combine PC host and port into a single url var
The existing code created a ClusterResourceSet with the user provided Secret. However, that won't work unless that Secret has an embedded Secret in it.
* ci: adds tooling to create configmap * feat: use a configmap to get helmchart info * fix: precommit issues * fix: typo in cilium * fix: remove workspace files * build: template name for configmap * refactor: names for helm chart info getter * refactor: use nutanix-storage name instead of nutnaix-csi * refactor: move to globaloptions * fix: adds snapshot to helm config * fix: comments after review * fix: adds a warning and removes ebs csi * fix: typo * fix: adds missing script file * fix: precommit
* feat: Add patch to configure containerd metrics
This makes the deployment consistent as well as avoiding issues when providers are in the middle of a release.
* build: remove nutanix CCM from examples * build: add scripts to sync Nutanix CCM manifests * build: add CCM addon var to Nutanix examples * feat: deploy Nutanix CCM addon Aligns the method of deploying the CCM with all other addons. * fixup! build: add scripts to sync Nutanix CCM manifests * fixup! feat: deploy Nutanix CCM addon * build: remove unused CRS tooling for Nutanix CCM The CRS strategy is not supported for the Nutanix CCM, removing it until we actually need it.
supershal
force-pushed
the
shalin/default_instance_type
branch
from
April 10, 2024 20:17
481a55a
to
ffdff16
Compare
dkoshkin
approved these changes
Apr 10, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
supershal
force-pushed
the
shalin/default_instance_type
branch
from
April 10, 2024 21:52
ffdff16
to
c5067a4
Compare
faiq
approved these changes
Apr 11, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
elegant solution.
jimmidyson
reviewed
Apr 11, 2024
api/v1alpha1/aws_node_types.go
Outdated
Comment on lines
60
to
63
instanceType := InstanceType("") | ||
if a.InstanceType != nil { | ||
instanceType = *a.InstanceType | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggested change
instanceType := InstanceType("") | |
if a.InstanceType != nil { | |
instanceType = *a.InstanceType | |
} | |
instanceType := ptr.Deref(a.InstanceType, "") |
jimmidyson
reviewed
Apr 11, 2024
OpenAPIV3Schema: clusterv1.JSONSchemaProps{ | ||
Type: "string", | ||
Description: "The AWS instance type to use for the cluster Machines", | ||
Default: variables.MustMarshal(string(i)), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggested change
Default: variables.MustMarshal(string(i)), | |
Default: variables.MustMarshal(i), |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What problem does this PR solve?:
PLACEHOLDER
value as defaults inAWSMachineTemplates
becauseinstanceType
field is required by CAPA.NOTE
Once this PR is finalized, I will create follow up PR to set instance profile and some other changes in the API types that would ensure that it creates variable schema from the object instead of creating new one.
Which issue(s) this PR fixes:
Fixes # nutanix-cloud-native#485
How Has This Been Tested?:
Tried to test locally using
make e2e-test E2E_LABEL='provider:AWS && cni:Cilium'
but local environment timed outs during initializations. Looking into fixing local environment (colima +docker +kind on mac)Tested manually be creating AWS cluster.
and workers
Created AWS cluster without adding instanceType variable, CAREN patched AWSMachineTemplate with default instanceType.
Special notes for your reviewer:
The approach taken in this PR will be used as guide to set default for other variables.