-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Add a WaitingForVolumeBinding printable status #6713
Conversation
Signed-off-by: Zvi Cahana <zvic@il.ibm.com>
Signed-off-by: Zvi Cahana <zvic@il.ibm.com>
/assign @davidvossel @awels |
9fbbb84
to
ffc0b87
Compare
if pvc.Status.Phase != k8score.ClaimBound { | ||
return true | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does waiting for first consumer need to be accounted for here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually no, since the WaitingForVolumeBinding
status is considered only when the VM is set to start:
func (c *VMController) isVirtualMachineStatusWaitingForVolumeBinding(vm *virtv1.VirtualMachine, vmi *virtv1.VirtualMachineInstance) bool {
if !isSetToStart(vm, vmi) {
return false
}
...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, there is some time period in which the VM is set to start, and the virt-launcher pod hasn't been scheduled yet. In this case, from the perspective of the storage subsystem, there's still no consumer for the PVC. But I think this is negligible enough and we can report that (typically very short) time period as WaitingForVolumeBinding
too. If we ever add a Scheduling
status, this can replace it then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ah, i see. So the running status will match the printable status first in this case. I think this is all still accurate even with WFFC.
Signed-off-by: Zvi Cahana <zvic@il.ibm.com>
Signed-off-by: Zvi Cahana <zvic@il.ibm.com>
ffc0b87
to
cc59019
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: davidvossel 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 |
/retest |
/retest |
8 similar comments
/retest |
/retest |
/retest |
/retest |
/retest |
/retest |
/retest |
/retest |
/retest |
What this PR does / why we need it:
This PR extends the VM status field (
.status.printableStatus
) with a newWaitingForVolumeBinding
status, reported when a VM with a PVC/DV type of volume is started, and the backing PVC is not bound.This PR replaces #6454 and #6605. In contrast to #6454, it avoids presenting the status as an error, as well as heuristics to detect when binding failures occur - and simply make it visible when the VM cannot start due to unbound volumes (be it a short intermediary state, or a long lasting state that requires intervention). Also, in line with the discussion in #6605, it ensures that stopped VMs don't report
WaitingForVolumeBinding
norProvisioning
.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 https://bugzilla.redhat.com/show_bug.cgi?id=2013160
Special notes for your reviewer:
Release note: