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

✨ New CRD + controller for OpenStackServer (v1alpha1)

Open EmilienM opened this issue 1 year ago • 15 comments

What this PR does / why we need it:

A new CRD and controller which will manage the OpenStack servers in the cluster.

#2020 #2021

TODOs:

  • [x] OpenStackServer API && make generate
  • [x] openstackserver webook (MVP)
  • [x] openstackserver_controller: create/delete/adopt instances & ports (MVP)
  • [x] Migrating Bastion to use the new controller (MVP)
  • [x] Migrating OpenStackMachine to the new controller (MVP)
  • [x] Stop storing the bastion spec hash into the OpenStackCluster annotations and watch for changes in Bastion spec, where any change would trigger a bastionDelete.
  • [x] Switch UserData as a ref
  • [x] adds unit tests
  • [x] includes documentation
  • [ ] squashed commits

Future work that can happen outside this PR:

  • Stop populating server related status fields for both OpenStackCluster and OpenStackMachine objects, since they now live in OpenStackServer. The fields will be removed for a potential v1.
  • Optimize SetupWithManager when watching for OpenStackServer, since we are only interested in certain state transition: when the server is deleted, and when the server is ready. For that we probably want to write Predicate functions.

EmilienM avatar May 07 '24 18:05 EmilienM

Deploy Preview for kubernetes-sigs-cluster-api-openstack ready!

Name Link
Latest commit fb3779cdb1d72a02f03ddf5eaa21d96c912a2cf5
Latest deploy log https://app.netlify.com/sites/kubernetes-sigs-cluster-api-openstack/deploys/66990e7fdf2bc80008aef505
Deploy Preview https://deploy-preview-2067--kubernetes-sigs-cluster-api-openstack.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

netlify[bot] avatar May 07 '24 18:05 netlify[bot]

maybe I'm a bit out of context but why do we move to OpenStackServer instead of OpenStackMachine ?

mnaser avatar May 20 '24 19:05 mnaser

maybe I'm a bit out of context but why do we move to OpenStackServer instead of OpenStackMachine ?

Hey @mnaser, have a look at https://github.com/kubernetes-sigs/cluster-api-provider-openstack/pull/2021/ and let us know what you think.

EmilienM avatar May 20 '24 19:05 EmilienM

Oh, very interesting. Makes a lot of sense. Thanks @EmilienM

mnaser avatar May 20 '24 19:05 mnaser

/test pull-cluster-api-provider-openstack-e2e-full-test pull-cluster-api-provider-openstack-e2e-test

e2e jobs passed, I want to see if they pass again a few times to ensure I didn't miss any race.

EmilienM avatar Jun 11 '24 19:06 EmilienM

/test pull-cluster-api-provider-openstack-e2e-full-test pull-cluster-api-provider-openstack-e2e-test

EmilienM avatar Jun 11 '24 22:06 EmilienM

Two successful CI jobs in a row. Let's try a third and stop the rechecks, letting others to review.

EmilienM avatar Jun 11 '24 22:06 EmilienM

/test pull-cluster-api-provider-openstack-e2e-full-test pull-cluster-api-provider-openstack-e2e-test

EmilienM avatar Jun 24 '24 17:06 EmilienM

/test pull-cluster-api-provider-openstack-e2e-full-test pull-cluster-api-provider-openstack-e2e-test

EmilienM avatar Jun 24 '24 17:06 EmilienM

/test pull-cluster-api-provider-openstack-e2e-full-test pull-cluster-api-provider-openstack-e2e-test

EmilienM avatar Jul 02 '24 13:07 EmilienM

/test pull-cluster-api-provider-openstack-e2e-full-test pull-cluster-api-provider-openstack-e2e-test

EmilienM avatar Jul 02 '24 19:07 EmilienM

/test pull-cluster-api-provider-openstack-e2e-full-test pull-cluster-api-provider-openstack-e2e-test

EmilienM avatar Jul 03 '24 14:07 EmilienM

/test pull-cluster-api-provider-openstack-e2e-full-test pull-cluster-api-provider-openstack-e2e-test

EmilienM avatar Jul 03 '24 19:07 EmilienM

/test pull-cluster-api-provider-openstack-e2e-full-test pull-cluster-api-provider-openstack-e2e-test

EmilienM avatar Jul 03 '24 19:07 EmilienM

Just a (clean) rebase on main.

EmilienM avatar Jul 17 '24 12:07 EmilienM

/test pull-cluster-api-provider-openstack-e2e-full-test pull-cluster-api-provider-openstack-e2e-test for sanity, this is ready to merge

EmilienM avatar Jul 18 '24 12:07 EmilienM

/lgtm /approve

Let's do this!

mdbooth avatar Jul 18 '24 14:07 mdbooth

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mdbooth

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 avatar Jul 18 '24 14:07 k8s-ci-robot