-
Notifications
You must be signed in to change notification settings - Fork 38.7k
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
Fix reconstruction of FC volumes #74023
Fix reconstruction of FC volumes #74023
Conversation
It should reconstruct all WWNs or WWIDs instead of just the first one. On-disk directory name format had to be changed to contain all WWNs/WWIDs.
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jsafrane 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 |
cc: @mtanino, PTAL. |
@@ -131,20 +132,47 @@ func scsiHostRescan(io ioHandler) { | |||
} | |||
} | |||
|
|||
// make a directory like /var/lib/kubelet/plugins/kubernetes.io/fc/target-lun-0 | |||
// make a directory like /var/lib/kubelet/plugins/kubernetes.io/fc/target1-target2-lun-0 | |||
func makePDNameInternal(host volume.VolumeHost, wwns []string, lun string, wwids []string) string { |
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.
How will this work for existing FC mounts? I assume this only fixes new mounts right? Existing mounts that did not store all information will still be broken?
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.
Yes, only the first WWN / WWID will be restored from mounts created by old kubelet. That's equal to behaviour before this PR, i.e. it won't re-introduce any regression (tested on my FC machine).
/retest |
/lgtm |
Currently, Fibre Channel volume stores only the first WWN / WWID in global mount directory name. This is not enough to reconstruct a volume after kubelet restart.
This PR stores all WWNs / WWIDs in the global path name and parses it from there.
/kind bug
/sig storage
Does this PR introduce a user-facing change?:
/assign @rootfs @gnufied @tsmetana