Skip to content

Commit 2645388

Browse files
Merge pull request #2047 from timflannagan/avoid-graceperiod-delete-zero
Bug 1939294: Avoid setting metadata.GracePeriodSeconds to zero seconds
2 parents fdfda1e + 9c1b99b commit 2645388

File tree

5 files changed

+10
-7
lines changed

5 files changed

+10
-7
lines changed

pkg/api/wrappers/deployment_install_client.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package wrappers
33

44
import (
55
"context"
6+
67
"github.com/pkg/errors"
78
appsv1 "k8s.io/api/apps/v1"
89
corev1 "k8s.io/api/core/v1"
@@ -102,7 +103,8 @@ func (c *InstallStrategyDeploymentClientForNamespace) CreateDeployment(deploymen
102103

103104
func (c *InstallStrategyDeploymentClientForNamespace) DeleteDeployment(name string) error {
104105
foregroundDelete := metav1.DeletePropagationForeground // cascading delete
105-
immediate := int64(0)
106+
// Note(tflannag): See https://bugzilla.redhat.com/show_bug.cgi?id=1939294.
107+
immediate := int64(1)
106108
immediateForegroundDelete := &metav1.DeleteOptions{GracePeriodSeconds: &immediate, PropagationPolicy: &foregroundDelete}
107109
return c.opClient.DeleteDeployment(c.Namespace, name, immediateForegroundDelete)
108110
}

pkg/controller/operators/suite_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ var (
4949
ctx context.Context
5050

5151
scheme = runtime.NewScheme()
52-
gracePeriod int64 = 0
52+
gracePeriod int64 = 1
5353
propagation = metav1.DeletePropagationForeground
5454
deleteOpts = &client.DeleteOptions{
5555
GracePeriodSeconds: &gracePeriod,

pkg/controller/registry/reconciler/configmap.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ func (c *ConfigMapRegistryReconciler) ensurePod(source configMapCatalogSourceDec
354354
return nil
355355
}
356356
for _, p := range currentPods {
357-
if err := c.OpClient.KubernetesInterface().CoreV1().Pods(pod.GetNamespace()).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(0)); err != nil {
357+
if err := c.OpClient.KubernetesInterface().CoreV1().Pods(pod.GetNamespace()).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(1)); err != nil {
358358
return errors.Wrapf(err, "error deleting old pod: %s", p.GetName())
359359
}
360360
}

pkg/controller/registry/reconciler/grpc.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ func (c *GrpcRegistryReconciler) ensurePod(source grpcCatalogSourceDecorator, sa
226226
return nil
227227
}
228228
for _, p := range currentLivePods {
229-
if err := c.OpClient.KubernetesInterface().CoreV1().Pods(source.GetNamespace()).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(0)); err != nil {
229+
if err := c.OpClient.KubernetesInterface().CoreV1().Pods(source.GetNamespace()).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(1)); err != nil {
230230
return errors.Wrapf(err, "error deleting old pod: %s", p.GetName())
231231
}
232232
}
@@ -307,6 +307,7 @@ func (c *GrpcRegistryReconciler) ensureService(source grpcCatalogSourceDecorator
307307
if !overwrite && ServiceHashMatch(svc, service) {
308308
return nil
309309
}
310+
// TODO(tflannag): Do we care about force deleting services?
310311
if err := c.OpClient.DeleteService(service.GetNamespace(), service.GetName(), metav1.NewDeleteOptions(0)); err != nil {
311312
return err
312313
}
@@ -402,7 +403,7 @@ func imageID(pod *corev1.Pod) string {
402403

403404
func (c *GrpcRegistryReconciler) removePods(pods []*corev1.Pod, namespace string) error {
404405
for _, p := range pods {
405-
err := c.OpClient.KubernetesInterface().CoreV1().Pods(namespace).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(0))
406+
err := c.OpClient.KubernetesInterface().CoreV1().Pods(namespace).Delete(context.TODO(), p.GetName(), *metav1.NewDeleteOptions(1))
406407
if err != nil {
407408
return errors.Wrapf(err, "error deleting pod: %s", p.GetName())
408409
}

test/rh-operators/operator_util.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"testing"
88
"time"
99

10-
"github.com/operator-framework/api/pkg/operators/v1"
10+
v1 "github.com/operator-framework/api/pkg/operators/v1"
1111
"github.com/operator-framework/api/pkg/operators/v1alpha1"
1212
"github.com/operator-framework/operator-lifecycle-manager/pkg/api/client/clientset/versioned"
1313
"github.com/operator-framework/operator-lifecycle-manager/pkg/lib/operatorclient"
@@ -26,7 +26,7 @@ var (
2626
pollDuration = 20 * time.Minute
2727
terminationDuration = 5 * time.Minute
2828

29-
immediate = int64(0)
29+
immediate = int64(1)
3030
immediateDeleteOption = &metav1.DeleteOptions{GracePeriodSeconds: &immediate}
3131
)
3232

0 commit comments

Comments
 (0)