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

Upgrade CAPI to v1alpha4 & CAPM3 to v1alpha5 for Bare Metal #518

Closed
eak13 opened this issue Apr 7, 2021 · 5 comments
Closed

Upgrade CAPI to v1alpha4 & CAPM3 to v1alpha5 for Bare Metal #518

eak13 opened this issue Apr 7, 2021 · 5 comments
Assignees
Labels
6-upstream/metal3-io Requires changes to upstream project, metal3-io enhancement New feature or request priority/critical Items critical to be implemented, usually by the next release size l
Milestone

Comments

@eak13
Copy link

eak13 commented Apr 7, 2021

Once it is been released for GA, upgrade CAPI components from v0.3.x to v0.4.x (aka v1alpha4). There will also be a need to uplift a corresponding version of CAPM3 from v0.4.2 to v0.5.0 (aka v1alpha5) at the same time.

When upgrading, the following need to be taken into consideration:

  • Are there breaking changes that require coding/configuration changes for the CAPI components?
  • Are there bug fixes in the upgrades that fix issues encountered when deploying? If so, are there workarounds in place today that would need to be removed or deprecated? May need input from @sb464f and others who have been running deployments.
  • Are there any new features in the upgrades that address missing capabilities which have hindered the deployments? In utilizing these new features, what workarounds are in place today that would need to be removed or deprecated? May need input from @sb464f and others who have been running deployments.

Sources
Cluster API

CAPM3

The goal of this issue is to upgrade the CAPI & CAPM3 components, but leave current functionality in place as much as possible. If there are new features in the upgrade that Airshipctl can take advantage of, these should be reviewed on the Design Call & new issues created to implement. This should occur after the CAPM3, BMO & Ironic upgrades being performed in #554

@eak13 eak13 added enhancement New feature or request triage Needs evaluation by project members labels Apr 7, 2021
@jezogwza jezogwza added the priority/critical Items critical to be implemented, usually by the next release label Apr 7, 2021
@jezogwza jezogwza added this to the v2.1 milestone Apr 7, 2021
@jezogwza jezogwza added 6-upstream/metal3-io Requires changes to upstream project, metal3-io epic Features or large improvements reflected as a list of issues and removed triage Needs evaluation by project members labels Apr 7, 2021
@eak13 eak13 changed the title Explore CAPI & Metal3 upgrade Spike: Investigate CAPI & Metal3 upgrade implications Apr 7, 2021
@Arvinderpal
Copy link
Contributor

Here are my notes from the PTG on upgrading. Please let me know if further info is needed.

Upgrade to v0.4 (aka v1alpha4)

Upgrading CAPI and Provider Components (e.g. v0.3.16 --> v0.4.0)

The clusterctl upgrade command can be used to upgrade the version of the Cluster API providers (CRDs, controllers) installed into a management cluster. See CAPI upgrade docs.

Upgrading API object (e.g. v1alpha3 --> v1alpha4)

clusterctl does not upgrade Cluster API objects (Clusters, MachineDeployments, Machine etc.); upgrading such objects are the responsibility of the provider’s controllers.
Controllers like CAPM3 have conversion functions built in, so conversion should be seamless.

Clusterctl Library

airshipctl consumes clusterctl as a library. As of Apirl, 16th, we are importing v0.3.13.

  • Unless we plan to adopt the CAPI Provider Operator (Proposal Doc), airshipctl code changes should be minimal with respect to clusterctl.

K Version Upgrades

  • CAPI / KCP v1alpha4 won't be able to manage Kubernetes clusters < v1.18
  • In general, supported versions will be limited. See thread here.
  • Requirement comes primarly through dependence on kubeadm. Currently kubeadm bootstrapper imports kubeadm API types.
  • CAPI/kubeadm do not handle users API objects (e.g. Deployments, ConfigMaps, etc). For example, if an API is depreciated, the user must either use kubectl or helm to update their manifests.

@eak13 eak13 modified the milestones: v2.1, Future May 12, 2021
@eak13 eak13 changed the title Spike: Investigate CAPI & Metal3 upgrade implications Upgrade CAPI (and CAPM3) to v1alpha4 Jun 8, 2021
@eak13 eak13 removed the epic Features or large improvements reflected as a list of issues label Jun 8, 2021
@eak13 eak13 modified the milestones: Future, v2.2 Jun 8, 2021
@SirishaGopigiri
Copy link
Contributor

please assign this to me

@eak13
Copy link
Author

eak13 commented Jun 24, 2021

@SirishaGopigiri done!

@SirishaGopigiri
Copy link
Contributor

Size would be 'L'

@eak13 eak13 added the size l label Jun 29, 2021
@jezogwza jezogwza modified the milestones: v2.2, v2.1 Jul 7, 2021
@Arvinderpal
Copy link
Contributor

v0.4.0 of CAPI has arrived. However, we should probably not rush to incorporate it. In particular, we should wait for the CAPM3 release -- v0.5.0 -- which will incorporate the required changes for v1alpha4 of CAPI.

airshipbot pushed a commit that referenced this issue Oct 14, 2021
The below PS has manifests files related to
capm3, bmo and ironic for v0.5.0 versions.

Relates-To: #518 #558 #560
Change-Id: Id9240320bc8dec32d5e5384c39e26ba04f55f9bd
airshipbot pushed a commit that referenced this issue Oct 14, 2021
The current PS adds manifests files to update CAPI components
to 0.4.2 version.

Relates-To: #518
Change-Id: Id6019ca0867a776902595308bfdbd554b2ffe54e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6-upstream/metal3-io Requires changes to upstream project, metal3-io enhancement New feature or request priority/critical Items critical to be implemented, usually by the next release size l
Projects
None yet
Development

No branches or pull requests

4 participants