Pass snapshot metadata to CSI driver

This commit is contained in:
Chris Henzie
2020-09-11 15:28:45 -07:00
parent fff475cd5f
commit f705b23bbd
8 changed files with 59 additions and 24 deletions

View File

@@ -40,11 +40,12 @@ import (
)
type csiSnapshotSideCarController struct {
clientset clientset.Interface
client kubernetes.Interface
driverName string
eventRecorder record.EventRecorder
contentQueue workqueue.RateLimitingInterface
clientset clientset.Interface
client kubernetes.Interface
driverName string
eventRecorder record.EventRecorder
contentQueue workqueue.RateLimitingInterface
extraCreateMetadata bool
contentLister storagelisters.VolumeSnapshotContentLister
contentListerSynced cache.InformerSynced
@@ -70,6 +71,7 @@ func NewCSISnapshotSideCarController(
resyncPeriod time.Duration,
snapshotNamePrefix string,
snapshotNameUUIDLength int,
extraCreateMetadata bool,
) *csiSnapshotSideCarController {
broadcaster := record.NewBroadcaster()
broadcaster.StartLogging(klog.Infof)
@@ -78,14 +80,15 @@ func NewCSISnapshotSideCarController(
eventRecorder = broadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: fmt.Sprintf("csi-snapshotter %s", driverName)})
ctrl := &csiSnapshotSideCarController{
clientset: clientset,
client: client,
driverName: driverName,
eventRecorder: eventRecorder,
handler: NewCSIHandler(snapshotter, timeout, snapshotNamePrefix, snapshotNameUUIDLength),
resyncPeriod: resyncPeriod,
contentStore: cache.NewStore(cache.DeletionHandlingMetaNamespaceKeyFunc),
contentQueue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "csi-snapshotter-content"),
clientset: clientset,
client: client,
driverName: driverName,
eventRecorder: eventRecorder,
handler: NewCSIHandler(snapshotter, timeout, snapshotNamePrefix, snapshotNameUUIDLength),
resyncPeriod: resyncPeriod,
contentStore: cache.NewStore(cache.DeletionHandlingMetaNamespaceKeyFunc),
contentQueue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "csi-snapshotter-content"),
extraCreateMetadata: extraCreateMetadata,
}
volumeSnapshotContentInformer.Informer().AddEventHandlerWithResyncPeriod(