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

Support NVMe_FC protocol #39

Open
wants to merge 1 commit into
base: developing
Choose a base branch
from

Conversation

sushanthakumar
Copy link

This PR addresses the changes required in current code base to support NVMe over FC protocol.
Current framework already has code to handle some part of the support

Unit test to be added to this PR

Key scenarios tested:
Volume create/delete
POD create/delete
Volume expand
Volume clone
Volume snapshot
Support DM multipath and single path
Data write on pvc
Node restart scenarios

@sushanthakumar sushanthakumar changed the base branch from master to developing August 30, 2021 02:37
func RemoveNvmeFcDevice(device string) (string, error) {
var multiPathName string
var err error
if strings.HasPrefix(device, "dm") {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is valid only for DM multipath. If other multipath like Ultrapath or EMCPP comes then we will have to put other checks

// devices: nvme0n1, nvme2n1,
_, err = getDeviceFromDM(multiPathName)
if err != nil {
log.Warningf("Get the devices from the multipath %s error: %v", multiPathName, err)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As this is just warning, this means the sys class has issues and we are ignoring it. Further when you try to flush the device without having the sysfs entries, will it create issues?

return err
}

if multiPathName != "" {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this is multipath device, then the device flush attempt has already been done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants