INNER CODE UNIT · Go

continuouslySyncConfigChanges

NVIDIA/k8s-device-plugin · cmd/config-manager/main.go:258

func continuouslySyncConfigChanges(clientset *kubernetes.Clientset, config *SyncableConfig, f *Flags) chan struct{} {
	listWatch := cache.NewListWatchFromClient(
		clientset.CoreV1().RESTClient(),
		ResourceNodes,
		v1.NamespaceAll,
		fields.OneTermEqualSelector("metadata.name", f.NodeName),
	)

	_, controller := cache.NewInformerWithOptions(
		cache.InformerOptions{
			ListerWatcher: listWatch,
			ObjectType:    &v1.Node{},
			Handler: cache.ResourceEventHandlerFuncs{
				AddFunc: func(obj any) {
					config.Set(obj.(*v1.Node).Labels[f.NodeLabel])
				},
				UpdateFunc: func(oldObj, newObj any) {
					oldLabel := oldObj.(*v1.Node).Labels[f.NodeLabel]

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…