mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 18:28:13 +00:00 
			
		
		
		
	Merge pull request #44108 from csbell/fed-disable-orphan
Automatic merge from submit-queue [Federation] Use cascading deletion when deleting resources in underlying clusters The Federation control plane issues a delete command unless it wants to orphan the underlying per-cluster resource. When issuing that command, always set the orphanDependents to false. /release-note-none /sig-federation
This commit is contained in:
		| @@ -169,7 +169,8 @@ func NewConfigMapController(client federationclientset.Interface) *ConfigMapCont | ||||
| 		}, | ||||
| 		func(client kubeclientset.Interface, obj pkgruntime.Object) error { | ||||
| 			configmap := obj.(*apiv1.ConfigMap) | ||||
| 			err := client.Core().ConfigMaps(configmap.Namespace).Delete(configmap.Name, &metav1.DeleteOptions{}) | ||||
| 			orphanDependents := false | ||||
| 			err := client.Core().ConfigMaps(configmap.Namespace).Delete(configmap.Name, &metav1.DeleteOptions{OrphanDependents: &orphanDependents}) | ||||
| 			return err | ||||
| 		}) | ||||
|  | ||||
|   | ||||
| @@ -182,7 +182,8 @@ func NewDaemonSetController(client federationclientset.Interface) *DaemonSetCont | ||||
| 		func(client kubeclientset.Interface, obj pkgruntime.Object) error { | ||||
| 			daemonset := obj.(*extensionsv1.DaemonSet) | ||||
| 			glog.V(4).Infof("Attempting to delete daemonset: %s/%s", daemonset.Namespace, daemonset.Name) | ||||
| 			err := client.Extensions().DaemonSets(daemonset.Namespace).Delete(daemonset.Name, &metav1.DeleteOptions{}) | ||||
| 			orphanDependents := false | ||||
| 			err := client.Extensions().DaemonSets(daemonset.Namespace).Delete(daemonset.Name, &metav1.DeleteOptions{OrphanDependents: &orphanDependents}) | ||||
| 			if err != nil { | ||||
| 				glog.Errorf("Error deleting daemonset %s/%s/: %v", daemonset.Namespace, daemonset.Name, err) | ||||
| 			} else { | ||||
|   | ||||
| @@ -201,7 +201,8 @@ func NewDeploymentController(federationClient fedclientset.Interface) *Deploymen | ||||
| 		}, | ||||
| 		func(client kubeclientset.Interface, obj runtime.Object) error { | ||||
| 			rs := obj.(*extensionsv1.Deployment) | ||||
| 			err := client.Extensions().Deployments(rs.Namespace).Delete(rs.Name, &metav1.DeleteOptions{}) | ||||
| 			orphanDependents := false | ||||
| 			err := client.Extensions().Deployments(rs.Namespace).Delete(rs.Name, &metav1.DeleteOptions{OrphanDependents: &orphanDependents}) | ||||
| 			return err | ||||
| 		}) | ||||
|  | ||||
|   | ||||
| @@ -255,7 +255,8 @@ func NewIngressController(client federationclientset.Interface) *IngressControll | ||||
| 		func(client kubeclientset.Interface, obj pkgruntime.Object) error { | ||||
| 			ingress := obj.(*extensionsv1beta1.Ingress) | ||||
| 			glog.V(4).Infof("Attempting to delete Ingress: %v", ingress) | ||||
| 			err := client.Extensions().Ingresses(ingress.Namespace).Delete(ingress.Name, &metav1.DeleteOptions{}) | ||||
| 			orphanDependents := false | ||||
| 			err := client.Extensions().Ingresses(ingress.Namespace).Delete(ingress.Name, &metav1.DeleteOptions{OrphanDependents: &orphanDependents}) | ||||
| 			return err | ||||
| 		}) | ||||
|  | ||||
|   | ||||
| @@ -169,7 +169,8 @@ func NewNamespaceController(client federationclientset.Interface, dynamicClientP | ||||
| 		}, | ||||
| 		func(client kubeclientset.Interface, obj runtime.Object) error { | ||||
| 			namespace := obj.(*apiv1.Namespace) | ||||
| 			err := client.Core().Namespaces().Delete(namespace.Name, &metav1.DeleteOptions{}) | ||||
| 			orphanDependents := false | ||||
| 			err := client.Core().Namespaces().Delete(namespace.Name, &metav1.DeleteOptions{OrphanDependents: &orphanDependents}) | ||||
| 			// IsNotFound error is fine since that means the object is deleted already. | ||||
| 			if errors.IsNotFound(err) { | ||||
| 				return nil | ||||
|   | ||||
| @@ -209,7 +209,8 @@ func NewReplicaSetController(federationClient fedclientset.Interface) *ReplicaSe | ||||
| 		}, | ||||
| 		func(client kubeclientset.Interface, obj runtime.Object) error { | ||||
| 			rs := obj.(*extensionsv1.ReplicaSet) | ||||
| 			err := client.Extensions().ReplicaSets(rs.Namespace).Delete(rs.Name, &metav1.DeleteOptions{}) | ||||
| 			orphanDependents := false | ||||
| 			err := client.Extensions().ReplicaSets(rs.Namespace).Delete(rs.Name, &metav1.DeleteOptions{OrphanDependents: &orphanDependents}) | ||||
| 			return err | ||||
| 		}) | ||||
|  | ||||
|   | ||||
| @@ -168,7 +168,8 @@ func NewSecretController(client federationclientset.Interface) *SecretController | ||||
| 		}, | ||||
| 		func(client kubeclientset.Interface, obj pkgruntime.Object) error { | ||||
| 			secret := obj.(*apiv1.Secret) | ||||
| 			err := client.Core().Secrets(secret.Namespace).Delete(secret.Name, &metav1.DeleteOptions{}) | ||||
| 			orphanDependents := false | ||||
| 			err := client.Core().Secrets(secret.Namespace).Delete(secret.Name, &metav1.DeleteOptions{OrphanDependents: &orphanDependents}) | ||||
| 			return err | ||||
| 		}) | ||||
|  | ||||
|   | ||||
| @@ -291,7 +291,8 @@ func New(federationClient fedclientset.Interface, dns dnsprovider.Interface, | ||||
| 		}, | ||||
| 		func(client kubeclientset.Interface, obj pkgruntime.Object) error { | ||||
| 			svc := obj.(*v1.Service) | ||||
| 			err := client.Core().Services(svc.Namespace).Delete(svc.Name, &metav1.DeleteOptions{}) | ||||
| 			orphanDependents := false | ||||
| 			err := client.Core().Services(svc.Namespace).Delete(svc.Name, &metav1.DeleteOptions{OrphanDependents: &orphanDependents}) | ||||
| 			return err | ||||
| 		}) | ||||
|  | ||||
|   | ||||
| @@ -194,7 +194,8 @@ func deleteConfigMapFromCluster(hostClientset internalclientset.Interface, secre | ||||
| // deleteSecret deletes the secret with the given name from the host | ||||
| // cluster. | ||||
| func deleteSecret(clientset internalclientset.Interface, name, namespace string) error { | ||||
| 	return clientset.Core().Secrets(namespace).Delete(name, &metav1.DeleteOptions{}) | ||||
| 	orphanDependents := false | ||||
| 	return clientset.Core().Secrets(namespace).Delete(name, &metav1.DeleteOptions{OrphanDependents: &orphanDependents}) | ||||
| } | ||||
|  | ||||
| // isNotFound checks if the given error is a NotFound status error. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Kubernetes Submit Queue
					Kubernetes Submit Queue