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

Annotate DIC-created DV for immediate binding #2650

Merged
merged 1 commit into from
Mar 22, 2023

Conversation

arnongilboa
Copy link
Collaborator

What this PR does / why we need it:
If the storage class binding mode is WaitForFirstConsumer, and the annotation was not explicitly added to the DIC DV template, the created DV will get stuck in WFFC phase.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes bz #2166394

Special notes for your reviewer:

Release note:

Annotate DataImportCron-created DataVolumes for immediate binding, so they will not get stuck in WaitForFirstConsumer phase.

@kubevirt-bot kubevirt-bot added release-note Denotes a PR that will be considered when it comes time to generate release notes. dco-signoff: yes Indicates the PR's author has DCO signed all their commits. labels Mar 21, 2023
@awels
Copy link
Member

awels commented Mar 21, 2023

/lgtm
/approve

@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Mar 21, 2023
@kubevirt-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: awels

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 Mar 21, 2023
@akalenyu
Copy link
Collaborator

akalenyu commented Mar 21, 2023

So we are okay doing this all the time?

I am struggling to name one, but, there may be some setups where someone wants these to schedule depending on some workload that mounts them read-only or something (we don't recommend mounting them at all)

@awels
Copy link
Member

awels commented Mar 21, 2023

Yeah, since this a DiC we don't care too much where they end up in this particular scenario. Note this only does anything in the case of WFFC storage.

@akalenyu
Copy link
Collaborator

Yeah, since this a DiC we don't care too much where they end up in this particular scenario. Note this only does anything in the case of WFFC storage.

So if someone wanted their WFFC golden image PVCs on a specific node, how can they achieve that?

@awels
Copy link
Member

awels commented Mar 21, 2023

With this it would not be possible, can't think of a reason why one would want to do that though.

@akalenyu
Copy link
Collaborator

akalenyu commented Mar 21, 2023

It may be easy to leave the door open for that by preferring the user's annotation value
Actually scratch that, the annotation existence is what signals immediate binding, it's value does not matter

Anway its fine if we don't pursue this just something that needed to be raised, can always implement later

@awels
Copy link
Member

awels commented Mar 21, 2023

Well that causes the bugzilla this is trying to solve. If someone forgets, and then tries to add it later it is not propagated on purpose. Until we get complaints from someone that they want their images on a particular node I don't think we should worry about that particular thing. It would be much more common for someone to forget to add the annotation

@akalenyu
Copy link
Collaborator

/lgtm

If the storage class binding mode is WaitForFirstConsumer, and the
annotation was not explicitly added to the DIC DV template, the created DV
will get stuck in WFFC phase.

Signed-off-by: Arnon Gilboa <agilboa@redhat.com>
@kubevirt-bot kubevirt-bot removed the lgtm Indicates that a PR is ready to be merged. label Mar 21, 2023
@awels
Copy link
Member

awels commented Mar 21, 2023

/lgtm

@kubevirt-bot kubevirt-bot added the lgtm Indicates that a PR is ready to be merged. label Mar 21, 2023
@akalenyu
Copy link
Collaborator

/test pull-containerized-data-importer-e2e-destructive
may go away after #2475
the theory is that one of the strict reconciliation tests is scaling down the controller deployment,
and that may be costing some time in the -1 check

@kubevirt-bot kubevirt-bot merged commit fc7f855 into kubevirt:main Mar 22, 2023
@arnongilboa
Copy link
Collaborator Author

/cherrypick release-v1.56

@kubevirt-bot
Copy link
Contributor

@arnongilboa: new pull request created: #2653

In response to this:

/cherrypick release-v1.56

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.

@arnongilboa
Copy link
Collaborator Author

/cherrypick release-v1.55

@kubevirt-bot
Copy link
Contributor

@arnongilboa: #2650 failed to apply on top of branch "release-v1.55":

Applying: Annotate DIC-created DV for immediate binding
Using index info to reconstruct a base tree...
M	pkg/controller/dataimportcron-controller.go
M	pkg/controller/dataimportcron-controller_test.go
M	tests/import_proxy_test.go
M	tests/utils/dataimportcron.go
Falling back to patching base and 3-way merge...
Auto-merging tests/utils/dataimportcron.go
CONFLICT (content): Merge conflict in tests/utils/dataimportcron.go
Auto-merging tests/import_proxy_test.go
Auto-merging pkg/controller/dataimportcron-controller_test.go
Auto-merging pkg/controller/dataimportcron-controller.go
CONFLICT (content): Merge conflict in pkg/controller/dataimportcron-controller.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 Annotate DIC-created DV for immediate binding
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherrypick release-v1.55

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.

arnongilboa added a commit to arnongilboa/containerized-data-importer that referenced this pull request Mar 22, 2023
Manual backport of kubevirt#2650

If the storage class binding mode is WaitForFirstConsumer, and the
annotation was not explicitly added to the DIC DV template, the created
DV will get stuck in WFFC phase.

Signed-off-by: Arnon Gilboa <agilboa@redhat.com>
kubevirt-bot pushed a commit that referenced this pull request Mar 23, 2023
Manual backport of #2650

If the storage class binding mode is WaitForFirstConsumer, and the
annotation was not explicitly added to the DIC DV template, the created
DV will get stuck in WFFC phase.

Signed-off-by: Arnon Gilboa <agilboa@redhat.com>
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/S
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants