cluster-api-provider-vsphere icon indicating copy to clipboard operation
cluster-api-provider-vsphere copied to clipboard

Add Ignition support

Open johananl opened this issue 3 years ago • 38 comments

What this PR does / why we need it:

This PR adds Ignition support to CAPV and implements the first workload cluster flavor which uses Ignition based on Flatcar Container Linux.

Supersedes #1093.

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 #1006

Special notes for your reviewer:

TODO:

  • [x] Update to latest API version?
  • [x] Add Ignition flavor?
  • [x] Add/update e2e tests
  • [x] Figure out how to specify Flatcar image version in CI
  • [x] Push Flatcar e2e image to test infra
  • [ ] ~Once https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/pull/1618 is merged, run make generate and commit the new generated template~ Let's not block on this. We can fix it in another PR.
  • [ ] ~Add a feature gate?~
  • [x] Document usage
  • [x] Remove TMP commits
  • [ ] Squash commits

Release note:

Add support for Ignition bootstrap as well as a Flatcar-based cluster flavor.

johananl avatar Feb 10 '22 17:02 johananl

Skipping CI for Draft Pull Request. If you want CI signal for your change, please convert it to an actual PR. You can still manually trigger a test run with /test all

k8s-ci-robot avatar Feb 10 '22 17:02 k8s-ci-robot

/test all

johananl avatar Feb 10 '22 17:02 johananl

@johananl: The specified target(s) for /test were not found. The following commands are available to trigger required jobs:

  • /test pull-cluster-api-provider-vsphere-e2e
  • /test pull-cluster-api-provider-vsphere-integration-test
  • /test pull-cluster-api-provider-vsphere-test
  • /test pull-cluster-api-provider-vsphere-verify-crds
  • /test pull-cluster-api-provider-vsphere-verify-lint
  • /test pull-cluster-api-provider-vsphere-verify-markdown
  • /test pull-cluster-api-provider-vsphere-verify-shell

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

  • pull-cluster-api-provider-vsphere-e2e
  • pull-cluster-api-provider-vsphere-integration-test
  • pull-cluster-api-provider-vsphere-test
  • pull-cluster-api-provider-vsphere-verify-crds
  • pull-cluster-api-provider-vsphere-verify-lint

In response to this:

/test pull-cluster-api-provider-vsphere-e2e-all

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 avatar Feb 10 '22 17:02 k8s-ci-robot

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla

k8s-triage-robot avatar Feb 10 '22 19:02 k8s-triage-robot

I will take sometime to go through the entire PR, but for starters, this will require an explicit E2E test which should be run periodically, and we can talk about to make it PR Blocking or not.

srm09 avatar Feb 10 '22 19:02 srm09

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla

k8s-triage-robot avatar Feb 10 '22 22:02 k8s-triage-robot

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla

k8s-triage-robot avatar Feb 11 '22 00:02 k8s-triage-robot

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla

k8s-triage-robot avatar Feb 11 '22 02:02 k8s-triage-robot

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla

k8s-triage-robot avatar Feb 11 '22 04:02 k8s-triage-robot

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla

k8s-triage-robot avatar Feb 11 '22 06:02 k8s-triage-robot

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla

k8s-triage-robot avatar Feb 11 '22 08:02 k8s-triage-robot

I will take sometime to go through the entire PR, but for starters, this will require an explicit E2E test which should be run periodically, and we can talk about to make it PR Blocking or not.

Yes, definitely. There is a TODO for adding tests in the description.

johananl avatar Feb 11 '22 10:02 johananl

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla

k8s-triage-robot avatar Feb 11 '22 12:02 k8s-triage-robot

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla

k8s-triage-robot avatar Feb 11 '22 14:02 k8s-triage-robot

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla

k8s-triage-robot avatar Feb 11 '22 16:02 k8s-triage-robot

Unknown CLA label state. Rechecking for CLA labels.

Send feedback to sig-contributor-experience at kubernetes/community.

/check-cla /easycla

k8s-triage-robot avatar Feb 11 '22 18:02 k8s-triage-robot

/test all

johananl avatar Feb 17 '22 13:02 johananl

@johananl Could you also add a readme about how to utilize ignition support. Reference https://cluster-api.sigs.k8s.io/tasks/experimental-features/ignition.html

geetikabatra avatar Feb 23 '22 09:02 geetikabatra

@johananl Could you also add a readme about how to utilize ignition support. Reference https://cluster-api.sigs.k8s.io/tasks/experimental-features/ignition.html

Sure. By the way, do we have a docs website for CAPV?

johananl avatar Feb 23 '22 09:02 johananl

Not yet. I am filing an issue for the same. Meanwhile, you can add it inside of docs. We will use it later.

geetikabatra avatar Feb 23 '22 09:02 geetikabatra

/test all

johananl avatar Feb 24 '22 11:02 johananl

/test all

johananl avatar Feb 24 '22 11:02 johananl

/test all

johananl avatar Feb 24 '22 13:02 johananl

/test pull-cluster-api-provider-vsphere-e2e

johananl avatar Feb 24 '22 13:02 johananl

/retest

johananl avatar Feb 24 '22 13:02 johananl

/retest

johananl avatar Feb 24 '22 18:02 johananl

/test pull-cluster-api-provider-vsphere-e2e

johananl avatar Feb 24 '22 19:02 johananl

Current status: waiting for https://github.com/kubernetes-sigs/image-builder/pull/817 (~which is in turn blocked by https://github.com/kubernetes-sigs/image-builder/pull/827~) so that we can execute the e2e tests I added which require Flatcar VMs.

johananl avatar Mar 31 '22 14:03 johananl

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please assign frapposelli for approval by writing /assign @frapposelli in a comment. For more information see:The Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found 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 avatar Aug 02 '22 10:08 k8s-ci-robot

CLA Signed

The committers listed above are authorized under a signed CLA.

  • :white_check_mark: login: alexander-demichev / name: Alexander Demichev (add6d4a091dacaf3e4c6bc30e4c9c88dfac07d23)
  • :white_check_mark: login: johananl / name: Johanan Liebermann (d2fe2800213da08460dec613fc53a48a589f9d38, a8a0f7098143f620f08c64ec5caa53cf60fbca92, 843fa48d7675a2a949e0e9e43e2af88aa8827549, 240196f679c0c2129b6e59d90ec13371e6ba38e8, c2a7f97d4b1740e829d01db47cc8798c75fd48bf, 37a6325fbc7bb26e3a5bda5144d661da8d764a91)

Hi @alexander-demichev.

In this PR I've cherry-picked a commit (https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/pull/1093/commits/061e3a49f67df8cca6403235e28880b453b4d00e) you've authored in https://github.com/kubernetes-sigs/cluster-api-provider-vsphere/pull/1093. This commit has been authored with [email protected] as the email address.

Looking at the EasyCLA error above, I suspect this address isn't associated with your GitHub account. Could you please provide an email address that is so that we can merge this PR and you can be listed as a contributor to it?

Thanks in advance 🙂

johananl avatar Sep 02 '22 12:09 johananl