func()

in shardingsphere-operator/pkg/controllers/chaos_controller.go [225:255]


func (r *ChaosReconciler) deleteExternalResources(ctx context.Context, chao *v1alpha1.Chaos) error {
	nameSpacedName := types.NamespacedName{Namespace: chao.Namespace, Name: chao.Name}
	if chao.Spec.EmbedChaos.PodChaos != nil {
		switch chao.Spec.EmbedChaos.PodChaos.Action {
		case v1alpha1.CPUStress:
			fallthrough
		case v1alpha1.MemoryStress:
			if err := r.deleteStressChaos(ctx, nameSpacedName); err != nil {
				return err
			}
		case v1alpha1.PodFailure:
			fallthrough
		case v1alpha1.PodKill:
			fallthrough
		case v1alpha1.ContainerKill:
			if err := r.deletePodChaos(ctx, nameSpacedName); err != nil {
				return err
			}
		}
		return nil
	}

	if chao.Spec.EmbedChaos.NetworkChaos != nil {
		if err := r.deleteNetworkChaos(ctx, nameSpacedName); err != nil {
			return err
		}
		return nil
	}

	return nil
}