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

V1alpha3 #54

Merged
merged 63 commits into from
May 14, 2020
Merged

V1alpha3 #54

merged 63 commits into from
May 14, 2020

Conversation

gianarb
Copy link
Contributor

@gianarb gianarb commented May 14, 2020

This feels official enough.

There are issues and things to do. But we would like to have our new code in master because the foundation is there.

We will stop opening PR targeting the wrong base branch and I will work on a release lifecycle, starting from what we have already in place.

deitch and others added 30 commits May 4, 2020 14:20
It does not look like the PacketMachine needs a ProjectID. It is a value
that we get from the PacketCluster.

It is not even generated from the `make examples` file and when applied
via kubectl it fails because PachetMachine.ProjectID is a required field
in openapi.
…ctID

remove the projectID from PacketMachine crd
update the cluster template with required fields
At the end of the story it took me an hour to understand the issue and 1
minutes to fix it. I suppose.

The kubebuilder installation process is already part of the Makefile,
but it was not used in CI.

now it should work.
It is cool that we cache the go dependency as a separate layer so images
will take care of caching for us! But it does not come for free!!
The types.Machine or Cluster from v1alpha3 where not right registered to
the manager
fix manager adding custerv1 schema types
fix annotations so the CRDs are correct
proper cluster reconcile loop, remove finalizers on delete
If we attempt to remove a machine that is not running on Packet (for any
reason), we are in a loop where the reconciler returns 404 from Packet
API and the source never gets deleted.

This code should check for a 404, and it should pass forward the
finalizer trigger a garbage collection.

I presume we do not need to check for the number of `instances` anymore,
because if they are `0` we never get over the `not found error`.
From v1alpha2 to v1alpha3 the Bootstrap.Data field got deprecated in
favour of Bootstrap.DataSecretName as you can see:

https://cluster-api.sigs.k8s.io/developer/providers/v1alpha2-to-v1alpha3.html#data-generated-from-a-bootstrap-provider-is-now-stored-in-a-secret
…-present

trigger finalizer even if the machine is already deleted from packet
gianarb and others added 26 commits May 8, 2020 13:30
add requeue timeouts for when machine cannot start because cluster or…
simplify manual install of a new cluster with make target
By default we mark a machine as failed when we receive an unrecognized
state. We were not handling the `provisioning` state.
because why not?
ensure controller-gen exists and is minimum right version
…ol-endpoint

move from APIEndpoint to control plane endpoint
with the userdata currently it place in this PR the master gets a
running kubelet.

As reported on Jira, the kubelet is not running because we do not
install a CNI yet, but this is not crucial at the moment.

The userdata has some fixed values that we have to remove, like the
ROLE. We will get there moving forward.

I would like to fix the certificate issue first
This is the generated code required to support a PacketMachineTemplate
add support for packetmachinetemplate types
The right way to go here is via MachineSet, MachineDeployment.
Those are almost the equivalent of ReplicaSet and Deployment for pod.

* MachineSet represents an immutable group of Machine
* MachineDeployment manage the lifecycle of MachineSet

I updated our example to use those for pod rollout.
By consequence the example also uses KubeadmConfigTemplate and
PacketMachineTemplate

Control Plane management will come in another PR.
update example to use MachineDeployment
This is the code that starts a kind cluster that can be used to e2e
tests.

We are blocked by using the "Getting Started" scenario they provide
because it uses KubeadmControlPlane
Remove PACKET_API_KEY fron cluster template
setup e2e using the cluster-api provided framework
@gianarb gianarb requested a review from deitch May 14, 2020 11:34
Copy link
Contributor

@deitch deitch left a comment

Choose a reason for hiding this comment

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

I reviewed every single one of the 3,600 files here. 😂

Really, I didn't.

The state of v1alpha3 branch is at least as good as the v1alpha1 (master). This is a good place to merge it in. There is work to do yet, but we are at a very good place.

@gianarb gianarb merged commit 5ef73c0 into master May 14, 2020
@cprivitere cprivitere deleted the v1alpha3 branch July 19, 2022 20:39
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.

None yet

2 participants