api icon indicating copy to clipboard operation
api copied to clipboard

Introduce machineconfiguration types

Open cdoern opened this issue 2 years ago • 5 comments

With the introduction of the MCO API to the greater openshift/api, we created the machineconfiguration type which is unused.

This PR serves as a sibling to openshift/api#1596 in that: as that PR tracks upgrade-progression this PR tracks MCO component progression outside of upgrades.

In this PR I will be introducing a ProgressionHistory and ProgressionCondition tracking mechanism that for each CR in the MCO (MachineConfigController, MachineConfigOperator, MachineConfigDaemon) will track the progress of the component and the objects it modifies

MostRecentState is a 1:1 mapping of objects->an event meaning that only one entry for an object can exist at a time per each component of the MCO.

ProgressionHistory tracks the last ~20 events for the given component. An example MachineConfiguration as well as The output of oc get machineconfigurations will look as follows

apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfiguration
metadata:
  name: machineconfigcontroller
  labels:
    "component.operator.machineconfiguration.openshift.io/controller": ""
spec:
  component: controller
  mode: in-cluster

Using this structure allows for ease of understanding both in oc describe as well as oc get where I will add additional printer columns that will outline the operator state like the following:

$ oc get machineconfiguration
NAME                      HEALTH    PROGRESS                      OBJECT                        OBJECTTYPE                       ACTION                                ERROR
machineconfigcontroller   Healthy   SyncingMCC                    worker                        MachineConfigPool                UpdatingStatus
machineconfigdaemon       Healthy   SyncingMCD                    ip-10-0-21-151.ec2.internal   Node   			         ApplyingAnnotations
machineconfigoperator     Healthy   OperatorSyncController        machine-config-controller     ControllerConfig		 Updating Certs in controller config

cdoern avatar Oct 12 '23 19:10 cdoern

Hello @cdoern! Some important instructions when contributing to openshift/api: API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

openshift-ci[bot] avatar Oct 12 '23 19:10 openshift-ci[bot]

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: cdoern Once this PR has been reviewed and has the lgtm label, please assign soltysh for approval. 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

openshift-ci[bot] avatar Oct 12 '23 19:10 openshift-ci[bot]

PR needs rebase.

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.

openshift-merge-robot avatar Jan 15 '24 10:01 openshift-merge-robot

@cdoern: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/integration dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test integration
ci/prow/e2e-aws-serial dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-aws-serial
ci/prow/e2e-upgrade dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-upgrade
ci/prow/e2e-aws-ovn dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-aws-ovn
ci/prow/e2e-aws-ovn-techpreview dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-aws-ovn-techpreview
ci/prow/e2e-aws-serial-techpreview dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-aws-serial-techpreview
ci/prow/e2e-upgrade-minor dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-upgrade-minor

Full PR test history. Your PR dashboard.

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. I understand the commands that are listed here.

openshift-ci[bot] avatar Mar 19 '24 13:03 openshift-ci[bot]

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close. Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

openshift-bot avatar Jun 18 '24 01:06 openshift-bot

Stale issues rot after 30d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle rotten. Rotten issues close after an additional 30d of inactivity. Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle rotten /remove-lifecycle stale

openshift-bot avatar Aug 11 '24 00:08 openshift-bot

@cdoern: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/integration dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test integration
ci/prow/e2e-aws-serial-techpreview dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-aws-serial-techpreview
ci/prow/e2e-aws-serial dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-aws-serial
ci/prow/e2e-upgrade-minor dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-upgrade-minor
ci/prow/e2e-aws-ovn-techpreview dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-aws-ovn-techpreview
ci/prow/e2e-upgrade dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-upgrade
ci/prow/e2e-aws-ovn-hypershift dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-aws-ovn-hypershift
ci/prow/e2e-aws-ovn dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test e2e-aws-ovn
ci/prow/minor-e2e-upgrade-minor dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test minor-e2e-upgrade-minor
ci/prow/minor-images dd2e31858ceaf52fe0d78c30427f73fe41909daa link true /test minor-images

Full PR test history. Your PR dashboard.

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-sigs/prow repository. I understand the commands that are listed here.

openshift-ci[bot] avatar Aug 15 '24 15:08 openshift-ci[bot]

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen. Mark the issue as fresh by commenting /remove-lifecycle rotten. Exclude this issue from closing again by commenting /lifecycle frozen.

/close

openshift-bot avatar Sep 15 '24 08:09 openshift-bot

@openshift-bot: Closed this PR.

In response to this:

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen. Mark the issue as fresh by commenting /remove-lifecycle rotten. Exclude this issue from closing again by commenting /lifecycle frozen.

/close

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-sigs/prow repository.

openshift-ci[bot] avatar Sep 15 '24 08:09 openshift-ci[bot]