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

Watch required CRDs, and restart operator if they are removed #417

Merged
merged 3 commits into from Oct 10, 2022

Conversation

akrejcir
Copy link
Collaborator

@akrejcir akrejcir commented Sep 27, 2022

What this PR does / why we need it:
Previously, the operator did not start before all needed CRDs were installed. This meant that it was not possible to remove an SSP resource if CDI was not installed.

This PR adds a CrdWatch component, which restarts the operator, if some needed CRDs are deleted while it is running.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2122236

Release note:

Operator properly handles missing CRDs.

Signed-off-by: Andrej Krejcir <akrejcir@redhat.com>
@kubevirt-bot kubevirt-bot added the dco-signoff: yes Indicates the PR's author has DCO signed all their commits. label Sep 27, 2022
@openshift-ci
Copy link

openshift-ci bot commented Sep 27, 2022

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@kubevirt-bot kubevirt-bot added release-note-none Denotes a PR that doesn't merit a release note. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. labels Sep 27, 2022
This will make it easier to create cancellation context
in the next commit.

Signed-off-by: Andrej Krejcir <akrejcir@redhat.com>
@akrejcir akrejcir marked this pull request as ready for review October 3, 2022 14:02
@kubevirt-bot kubevirt-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Oct 3, 2022
@kubevirt-bot kubevirt-bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note-none Denotes a PR that doesn't merit a release note. labels Oct 3, 2022
@akrejcir
Copy link
Collaborator Author

akrejcir commented Oct 3, 2022

/cc @ksimon1 @0xFelix

Added a new component, CrdWatch, that watches CRDs in cluster.

If some of the needed CRDs are missing, the SSP reconciler runs
in a "cleanup only" mode, and does not reconcile any resources,
only deletes resources when a SSP resource is deleted.

Signed-off-by: Andrej Krejcir <akrejcir@redhat.com>
@sonarcloud
Copy link

sonarcloud bot commented Oct 4, 2022

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

No Coverage information No Coverage information
0.0% 0.0% Duplication

@akrejcir
Copy link
Collaborator Author

akrejcir commented Oct 4, 2022

CI will fail until #418 is merged.

/hold

@kubevirt-bot kubevirt-bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 4, 2022
@akrejcir
Copy link
Collaborator Author

akrejcir commented Oct 5, 2022

/retest
/unhold

@kubevirt-bot kubevirt-bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Oct 5, 2022
@akrejcir
Copy link
Collaborator Author

akrejcir commented Oct 5, 2022

/retest

@ksimon1
Copy link
Member

ksimon1 commented Oct 10, 2022

/lgtm

@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Oct 10, 2022
@akrejcir
Copy link
Collaborator Author

/approve

@kubevirt-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: akrejcir

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

@kubevirt-bot kubevirt-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 10, 2022
@kubevirt-bot kubevirt-bot merged commit c336c0b into kubevirt:master Oct 10, 2022
@akrejcir akrejcir deleted the watch-crds branch October 10, 2022 13:07
@akrejcir
Copy link
Collaborator Author

/cherry-pick release-v0.16

@kubevirt-bot
Copy link
Contributor

@akrejcir: new pull request created: #420

In response to this:

/cherry-pick release-v0.16

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants