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

Update to use image-builder based images #51

Merged
merged 8 commits into from
Apr 16, 2021

Conversation

detiber
Copy link
Contributor

@detiber detiber commented Mar 23, 2021

Description

Update cluster-api-provider-tinkerbell to use image-builder based images rather than trying to bootstrap everything at runtime.

How Has This Been Tested?

Testing is ongoing

@detiber detiber changed the title [WIP] Update to use image-builder based images Update to use image-builder based images Apr 13, 2021
@@ -166,7 +166,7 @@ KUSTOMIZE_VER := v3.9.2
KUSTOMIZE_BIN := kustomize
KUSTOMIZE := $(TOOLS_BIN_DIR)/$(KUSTOMIZE_BIN)-$(KUSTOMIZE_VER)

CONTROLLER_GEN_VER := v0.4.1
CONTROLLER_GEN_VER := v0.2.9
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This aligns more closely with CAPI v1alpha3

bootstrapped.
As it is now it is able to bootstrap single Control Plane instance clusters using hardware
managed by Tinkerbell. Support for upgrades and multi-instance Control Plane clusters is
still outstanding.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Updated to be more reflective of the current state of the project, and link to the development environment docs

Copy link
Contributor

@gianarb gianarb Apr 13, 2021

Choose a reason for hiding this comment

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

Is it worth mentioning what people should expect from v0.1.0?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I was mostly planning on doing the release after getting this PR sorted out, which would allow for cleaning up some of the current docs around creating a template and deploying.

I think the HA support is likely to be a bit of a longer tail and may be easier to implement along with CAPI v1alpha4 (assuming the load balancer provider proposal makes it in)

@@ -6,18 +6,21 @@ If you have Tinkerbell running in your environment, you can use it for CAPT.

Here is the list of required components to use CAPT:

- Existing Tinkerbell installation running at least versions mentioned in [sandbox](https://github.com/tinkerbell/sandbox/commit/be40a7b371fdab947a413e190cfe99b692651d8e).
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Documentation updates to reflect changes needed to run image-builder based configuration

k8s.io/api v0.17.16
k8s.io/apimachinery v0.17.16
k8s.io/client-go v0.17.16
k8s.io/klog v1.0.0
k8s.io/utils v0.0.0-20201110183641-67b214c5f920
sigs.k8s.io/cluster-api v0.3.14
sigs.k8s.io/cluster-api v0.3.15
Copy link
Contributor Author

Choose a reason for hiding this comment

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

These bumps incorporate the changes from the automated dependabot PRs, I was able to do an end-to-end test to verify that they didn't break anything.

- `git` binary
- `tilt` binary
- `kubectl` binary
- `clusterctl` binary
- `go` binary

Required metadata for hardware:
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we specify why those fields are mandatory?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I created #56 to follow up on this

- metadata.instance.id is set (should match the hardware's id)
- metadata.instance.hostname is set
- metadata.instance.storage.disks is set and contains at least one device matching an available disk on the system

### Workaround for 8000 bytes template limit
Copy link
Contributor

Choose a reason for hiding this comment

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

This can be removed since we removed events from tink-server tinkerbell/tink#468

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, was planning on updating the docs (and implementation) to reflect that once there is a sandbox release that includes that PR

@detiber detiber merged commit 544f586 into tinkerbell:main Apr 16, 2021
@detiber detiber deleted the withImages branch April 16, 2021 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants