mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 12:43:23 +00:00
Handle potential conflicts on service endpoint test deletion
Cleanup should ignore conflicts and notfound errors
This commit is contained in:
parent
815b340f8d
commit
f3d9ad678a
@ -54,6 +54,7 @@ go_library(
|
|||||||
"//pkg/client/clientset_generated/clientset/typed/rbac/v1beta1:go_default_library",
|
"//pkg/client/clientset_generated/clientset/typed/rbac/v1beta1:go_default_library",
|
||||||
"//pkg/client/clientset_generated/internalclientset:go_default_library",
|
"//pkg/client/clientset_generated/internalclientset:go_default_library",
|
||||||
"//pkg/client/conditions:go_default_library",
|
"//pkg/client/conditions:go_default_library",
|
||||||
|
"//pkg/client/retry:go_default_library",
|
||||||
"//pkg/client/unversioned/remotecommand:go_default_library",
|
"//pkg/client/unversioned/remotecommand:go_default_library",
|
||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
"//pkg/cloudprovider/providers/aws:go_default_library",
|
"//pkg/cloudprovider/providers/aws:go_default_library",
|
||||||
|
@ -37,6 +37,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/api/v1/service"
|
"k8s.io/kubernetes/pkg/api/v1/service"
|
||||||
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||||
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
||||||
|
"k8s.io/kubernetes/pkg/client/retry"
|
||||||
testutils "k8s.io/kubernetes/test/utils"
|
testutils "k8s.io/kubernetes/test/utils"
|
||||||
|
|
||||||
. "github.com/onsi/ginkgo"
|
. "github.com/onsi/ginkgo"
|
||||||
@ -843,16 +844,34 @@ func (t *ServiceTestFixture) Cleanup() []error {
|
|||||||
var errs []error
|
var errs []error
|
||||||
for rcName := range t.rcs {
|
for rcName := range t.rcs {
|
||||||
By("stopping RC " + rcName + " in namespace " + t.Namespace)
|
By("stopping RC " + rcName + " in namespace " + t.Namespace)
|
||||||
// First, resize the RC to 0.
|
err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
|
||||||
patch := `{"spec":{"replicas":0}}`
|
// First, resize the RC to 0.
|
||||||
_, err := t.Client.Core().ReplicationControllers(t.Namespace).Patch(rcName, types.StrategicMergePatchType, []byte(patch))
|
old, err := t.Client.Core().ReplicationControllers(t.Namespace).Get(rcName, metav1.GetOptions{})
|
||||||
|
if err != nil {
|
||||||
|
if errors.IsNotFound(err) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
x := int32(0)
|
||||||
|
old.Spec.Replicas = &x
|
||||||
|
if _, err := t.Client.Core().ReplicationControllers(t.Namespace).Update(old); err != nil {
|
||||||
|
if errors.IsNotFound(err) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = append(errs, err)
|
errs = append(errs, err)
|
||||||
}
|
}
|
||||||
// TODO(mikedanese): Wait.
|
// TODO(mikedanese): Wait.
|
||||||
// Then, delete the RC altogether.
|
// Then, delete the RC altogether.
|
||||||
if err := t.Client.Core().ReplicationControllers(t.Namespace).Delete(rcName, nil); err != nil {
|
if err := t.Client.Core().ReplicationControllers(t.Namespace).Delete(rcName, nil); err != nil {
|
||||||
errs = append(errs, err)
|
if !errors.IsNotFound(err) {
|
||||||
|
errs = append(errs, err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -860,7 +879,9 @@ func (t *ServiceTestFixture) Cleanup() []error {
|
|||||||
By("deleting service " + serviceName + " in namespace " + t.Namespace)
|
By("deleting service " + serviceName + " in namespace " + t.Namespace)
|
||||||
err := t.Client.Core().Services(t.Namespace).Delete(serviceName, nil)
|
err := t.Client.Core().Services(t.Namespace).Delete(serviceName, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
errs = append(errs, err)
|
if !errors.IsNotFound(err) {
|
||||||
|
errs = append(errs, err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user