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

feat: expose additional eks bootstrap options #2965

Merged
merged 1 commit into from
Dec 10, 2021
Merged

feat: expose additional eks bootstrap options #2965

merged 1 commit into from
Dec 10, 2021

Conversation

richardcase
Copy link
Member

What type of PR is this?

/kind feature
/kind api-change

What this PR does / why we need it:

Added additional options to EKSConfig so that additional configuration
options have be set when bootstrapping a node when it joins an eks
cluster.

Note: the IPv6 services cidr is deliberately not exposed as this will be
done when we come to do the IPv6 work. There are some comments left
in on purpose for this.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #2853

Special notes for your reviewer:

Checklist:

  • squashed commits
  • adds unit tests

Release note:

Expose additional EKS node bootstrap configuration options via EKSConfig.

@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. kind/feature Categorizes issue or PR as related to a new feature. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-priority labels Nov 16, 2021
@k8s-ci-robot
Copy link
Contributor

@richardcase: This issue is currently awaiting triage.

If CAPA/CAPI contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

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.

@k8s-ci-robot k8s-ci-robot added needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Nov 16, 2021
@sedefsavas
Copy link
Contributor

sedefsavas commented Nov 16, 2021

@richardcase do you want this in before v1.1.0 release or is it okay to merge this after we make the release?

Feel free to add a milestone when you decide.

@k8s-ci-robot k8s-ci-robot added this to the v1.2.0 milestone Nov 16, 2021
@richardcase richardcase removed this from the v1.2.0 milestone Nov 16, 2021
@richardcase
Copy link
Member Author

/test ?

@k8s-ci-robot
Copy link
Contributor

@richardcase: The following commands are available to trigger required jobs:

  • /test pull-cluster-api-provider-aws-build
  • /test pull-cluster-api-provider-aws-test
  • /test pull-cluster-api-provider-aws-verify

The following commands are available to trigger optional jobs:

  • /test pull-cluster-api-provider-aws-e2e
  • /test pull-cluster-api-provider-aws-e2e-blocking
  • /test pull-cluster-api-provider-aws-e2e-conformance
  • /test pull-cluster-api-provider-aws-e2e-conformance-with-ci-artifacts
  • /test pull-cluster-api-provider-aws-e2e-eks

Use /test all to run the following jobs that were automatically triggered:

  • pull-cluster-api-provider-aws-build
  • pull-cluster-api-provider-aws-test
  • pull-cluster-api-provider-aws-verify

In response to this:

/test ?

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.

@richardcase
Copy link
Member Author

/test pull-cluster-api-provider-aws-e2e-eks

Copy link
Contributor

@sedefsavas sedefsavas left a comment

Choose a reason for hiding this comment

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

Non-blocking comments. LGTM.

PauseContainerVersion *string
UseMaxPods *bool
IPFamily *string
ServiceIPV6Cidr *string
Copy link
Contributor

Choose a reason for hiding this comment

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

It'd be good to have a note here for both ServiceIPV6Cidr and IPFamily as this is not implemented yet and no-op.

Copy link
Member Author

Choose a reason for hiding this comment

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

Added a comment

// TODO(richardcase): uncomment when we support ipv6 / dual stack
/*if config.Spec.ServiceIPV6Cidr != nil && *config.Spec.ServiceIPV6Cidr != "" {
nodeInput.ServiceIPV6Cidr = config.Spec.ServiceIPV6Cidr
nodeInput.IPFamily = pointer.String("ipv6")
Copy link
Contributor

Choose a reason for hiding this comment

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

For future implementation:
If setting IPFamily without setting ServiceIPV6Cidr possible during EKS bootstrap, then I think having IPFamily as a separate field is needed.

Copy link
Member Author

Choose a reason for hiding this comment

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

It is possible to set IPFamily without setting ServiceIPV6Cidr but i think we should hide this detail based on whether the user has supplied ipv4 or 6

@sedefsavas
Copy link
Contributor

/test?

@k8s-ci-robot
Copy link
Contributor

@sedefsavas: The following commands are available to trigger required jobs:

  • /test pull-cluster-api-provider-aws-build
  • /test pull-cluster-api-provider-aws-test
  • /test pull-cluster-api-provider-aws-verify

The following commands are available to trigger optional jobs:

  • /test pull-cluster-api-provider-aws-e2e
  • /test pull-cluster-api-provider-aws-e2e-blocking
  • /test pull-cluster-api-provider-aws-e2e-conformance
  • /test pull-cluster-api-provider-aws-e2e-conformance-with-ci-artifacts
  • /test pull-cluster-api-provider-aws-e2e-eks

Use /test all to run the following jobs that were automatically triggered:

  • pull-cluster-api-provider-aws-build
  • pull-cluster-api-provider-aws-test
  • pull-cluster-api-provider-aws-verify

In response to this:

/test?

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.

@sedefsavas
Copy link
Contributor

/test pull-cluster-api-provider-aws-e2e-eks

1 similar comment
@sedefsavas
Copy link
Contributor

/test pull-cluster-api-provider-aws-e2e-eks

)

// ConvertTo converts the v1alpha4 EKSConfig receiver to a v1beta1 EKSConfig.
func (r *EKSConfig) ConvertTo(dstRaw conversion.Hub) error {
dst := dstRaw.(*v1beta1.EKSConfig)

return Convert_v1alpha4_EKSConfig_To_v1beta1_EKSConfig(r, dst, nil)
if err := Convert_v1alpha4_EKSConfig_To_v1beta1_EKSConfig(r, dst, nil); err != nil {
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need to do the same for v1alpha3?

Copy link
Member Author

Choose a reason for hiding this comment

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

We do, added.

Added additional options to `EKSConfig` so that additional configuration
options have be set when bootstrapping a node when it joins an eks
cluster.

Note: the IPv6 services cidr is deliberately not exposed as this will be
done when we come to do the IPv6 work. There are some comments left
in on purpose for this.

Signed-off-by: Richard Case <richard@weave.works>
@k8s-ci-robot k8s-ci-robot added size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Dec 10, 2021
@sedefsavas
Copy link
Contributor

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Dec 10, 2021
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sedefsavas

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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 10, 2021
@k8s-ci-robot k8s-ci-robot merged commit c356b7e into kubernetes-sigs:main Dec 10, 2021
@k8s-ci-robot k8s-ci-robot added this to the v1.x milestone Dec 10, 2021
richardchen-db pushed a commit to databricks/cluster-api-provider-aws-1 that referenced this pull request Jan 14, 2023
…fig_options

feat: expose additional eks bootstrap options
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/api-change Categorizes issue or PR as related to adding, removing, or otherwise changing an API kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support additional EKS config options
3 participants