kubernetes/test/e2e/storage/utils/deployment.go

// PatchCSIDeployment modifies the CSI driver deployment:
// - replaces the provisioner name
// - forces pods onto a specific host
//
// All of that is optional, see PatchCSIOptions. Just beware
// that not renaming the CSI driver deployment can be problematic:
//   - when multiple tests deploy the driver, they need
//     to run sequentially
//   - might conflict with manual deployments
//
// This function is written so that it works for CSI driver deployments
// that follow these conventions:
//   - driver and provisioner names are identical
//   - the driver binary accepts a --drivername parameter
//   - the paths inside the container are either fixed
//     and don't need to be patch (for example, --csi-address=/csi/csi.sock is
//     okay) or are specified directly in a parameter (for example,
//     --kubelet-registration-path=/var/lib/kubelet/plugins/csi-hostpath/csi.sock)
//
// Driver deployments that are different will have to do the patching
// without this function, or skip patching entirely.
func PatchCSIDeployment(f *e2eframework.Framework, o PatchCSIOptions, object interface{}

type PatchCSIOptions