Pickup Snapshot Provisioner from the snapshot class "driver" info.

When using FromFile or FromExisitingClass options, snapshot provisioner
should be picked up from the "driver" tag of VolumeSnapshotClass object.
This commit is contained in:
Saikat Roychowdhury 2020-05-08 02:48:49 +00:00
parent 87e5d4e4de
commit dcfaaefc60

View File

@ -339,6 +339,10 @@ func (d *driverDefinition) GetSnapshotClass(e2econfig *testsuites.PerTestConfig)
parameters[k] = v.(string) parameters[k] = v.(string)
} }
} }
if snapshotProvider, ok := snapshotClass.Object["driver"]; ok {
snapshotter = snapshotProvider.(string)
}
case d.SnapshotClass.FromFile != "": case d.SnapshotClass.FromFile != "":
snapshotClass, err := loadSnapshotClass(d.SnapshotClass.FromFile) snapshotClass, err := loadSnapshotClass(d.SnapshotClass.FromFile)
framework.ExpectNoError(err, "load snapshot class from %s", d.SnapshotClass.FromFile) framework.ExpectNoError(err, "load snapshot class from %s", d.SnapshotClass.FromFile)
@ -348,6 +352,10 @@ func (d *driverDefinition) GetSnapshotClass(e2econfig *testsuites.PerTestConfig)
parameters[k] = v.(string) parameters[k] = v.(string)
} }
} }
if snapshotProvider, ok := snapshotClass.Object["driver"]; ok {
snapshotter = snapshotProvider.(string)
}
} }
return testsuites.GetSnapshotClass(snapshotter, parameters, ns, suffix) return testsuites.GetSnapshotClass(snapshotter, parameters, ns, suffix)