mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-19 18:02:01 +00:00
unify alias of api errors under test
This commit is contained in:
parent
2914ba8e04
commit
fc738cbb1d
@ -28,7 +28,7 @@ import (
|
|||||||
appsv1 "k8s.io/api/apps/v1"
|
appsv1 "k8s.io/api/apps/v1"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
rbacv1 "k8s.io/api/rbac/v1"
|
rbacv1 "k8s.io/api/rbac/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||||
unstructuredv1 "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
unstructuredv1 "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||||
@ -367,7 +367,7 @@ func TestSampleAPIServer(f *framework.Framework, aggrclient *aggregatorclient.Cl
|
|||||||
request.SetHeader("Accept", "application/json")
|
request.SetHeader("Accept", "application/json")
|
||||||
_, err := request.DoRaw()
|
_, err := request.DoRaw()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
status, ok := err.(*apierrs.StatusError)
|
status, ok := err.(*apierrors.StatusError)
|
||||||
if !ok {
|
if !ok {
|
||||||
return false, err
|
return false, err
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
policyv1beta1 "k8s.io/api/policy/v1beta1"
|
policyv1beta1 "k8s.io/api/policy/v1beta1"
|
||||||
rbacv1 "k8s.io/api/rbac/v1"
|
rbacv1 "k8s.io/api/rbac/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apiserver/pkg/authentication/serviceaccount"
|
"k8s.io/apiserver/pkg/authentication/serviceaccount"
|
||||||
@ -122,7 +122,7 @@ var _ = SIGDescribe("PodSecurityPolicy", func() {
|
|||||||
|
|
||||||
func expectForbidden(err error) {
|
func expectForbidden(err error) {
|
||||||
framework.ExpectError(err, "should be forbidden")
|
framework.ExpectError(err, "should be forbidden")
|
||||||
framework.ExpectEqual(apierrs.IsForbidden(err), true, "should be forbidden error")
|
framework.ExpectEqual(apierrors.IsForbidden(err), true, "should be forbidden error")
|
||||||
}
|
}
|
||||||
|
|
||||||
func testPrivilegedPods(tester func(pod *v1.Pod)) {
|
func testPrivilegedPods(tester func(pod *v1.Pod)) {
|
||||||
|
@ -20,7 +20,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
@ -67,7 +67,7 @@ var _ = SIGDescribe("[Feature:CloudProvider][Disruptive] Nodes", func() {
|
|||||||
_, err = c.CoreV1().Nodes().Get(nodeToDelete.Name, metav1.GetOptions{})
|
_, err = c.CoreV1().Nodes().Get(nodeToDelete.Name, metav1.GetOptions{})
|
||||||
if err == nil {
|
if err == nil {
|
||||||
framework.Failf("node %q still exists when it should be deleted", nodeToDelete.Name)
|
framework.Failf("node %q still exists when it should be deleted", nodeToDelete.Name)
|
||||||
} else if !apierrs.IsNotFound(err) {
|
} else if !apierrors.IsNotFound(err) {
|
||||||
framework.Failf("failed to get node %q err: %q", nodeToDelete.Name, err)
|
framework.Failf("failed to get node %q err: %q", nodeToDelete.Name, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
"k8s.io/apimachinery/pkg/api/errors"
|
"k8s.io/apimachinery/pkg/api/errors"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/fields"
|
"k8s.io/apimachinery/pkg/fields"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
@ -124,7 +124,7 @@ func expectPodRejection(f *framework.Framework, pod *v1.Pod) {
|
|||||||
} else {
|
} else {
|
||||||
_, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(pod)
|
_, err := f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(pod)
|
||||||
framework.ExpectError(err, "should be forbidden")
|
framework.ExpectError(err, "should be forbidden")
|
||||||
framework.ExpectEqual(apierrs.IsForbidden(err), true, "should be forbidden error")
|
framework.ExpectEqual(apierrors.IsForbidden(err), true, "should be forbidden error")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ import (
|
|||||||
appsv1 "k8s.io/api/apps/v1"
|
appsv1 "k8s.io/api/apps/v1"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
networkingv1beta1 "k8s.io/api/networking/v1beta1"
|
networkingv1beta1 "k8s.io/api/networking/v1beta1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
"k8s.io/apimachinery/pkg/util/intstr"
|
"k8s.io/apimachinery/pkg/util/intstr"
|
||||||
@ -522,7 +522,7 @@ func (j *TestJig) Update(update func(ing *networkingv1beta1.Ingress)) {
|
|||||||
framework.DescribeIng(j.Ingress.Namespace)
|
framework.DescribeIng(j.Ingress.Namespace)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if !apierrs.IsConflict(err) && !apierrs.IsServerTimeout(err) {
|
if !apierrors.IsConflict(err) && !apierrors.IsServerTimeout(err) {
|
||||||
framework.Failf("failed to update ingress %s/%s: %v", ns, name, err)
|
framework.Failf("failed to update ingress %s/%s: %v", ns, name, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/client-go/kubernetes/fake"
|
"k8s.io/client-go/kubernetes/fake"
|
||||||
@ -157,7 +157,7 @@ func TestCheckReadyForTests(t *testing.T) {
|
|||||||
expectedErr: "Forced error",
|
expectedErr: "Forced error",
|
||||||
}, {
|
}, {
|
||||||
desc: "Retryable errors from node list are reported but still return false",
|
desc: "Retryable errors from node list are reported but still return false",
|
||||||
nodeListErr: apierrs.NewTimeoutError("Retryable error", 10),
|
nodeListErr: apierrors.NewTimeoutError("Retryable error", 10),
|
||||||
expected: false,
|
expected: false,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
e2elog "k8s.io/kubernetes/test/e2e/framework/log"
|
e2elog "k8s.io/kubernetes/test/e2e/framework/log"
|
||||||
)
|
)
|
||||||
@ -55,7 +55,7 @@ func DeletePodWithWaitByName(c clientset.Interface, podName, podNamespace string
|
|||||||
e2elog.Logf("Deleting pod %q in namespace %q", podName, podNamespace)
|
e2elog.Logf("Deleting pod %q in namespace %q", podName, podNamespace)
|
||||||
err := c.CoreV1().Pods(podNamespace).Delete(podName, nil)
|
err := c.CoreV1().Pods(podNamespace).Delete(podName, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
return nil // assume pod was already deleted
|
return nil // assume pod was already deleted
|
||||||
}
|
}
|
||||||
return fmt.Errorf("pod Delete API error: %v", err)
|
return fmt.Errorf("pod Delete API error: %v", err)
|
||||||
|
@ -27,7 +27,7 @@ import (
|
|||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
@ -213,7 +213,7 @@ func WaitForPodCondition(c clientset.Interface, ns, podName, desc string, timeou
|
|||||||
for start := time.Now(); time.Since(start) < timeout; time.Sleep(poll) {
|
for start := time.Now(); time.Since(start) < timeout; time.Sleep(poll) {
|
||||||
pod, err := c.CoreV1().Pods(ns).Get(podName, metav1.GetOptions{})
|
pod, err := c.CoreV1().Pods(ns).Get(podName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
e2elog.Logf("Pod %q in namespace %q not found. Error: %v", podName, ns, err)
|
e2elog.Logf("Pod %q in namespace %q not found. Error: %v", podName, ns, err)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -387,7 +387,7 @@ func WaitForPodSuccessInNamespaceSlow(c clientset.Interface, podName string, nam
|
|||||||
func WaitForPodNotFoundInNamespace(c clientset.Interface, podName, ns string, timeout time.Duration) error {
|
func WaitForPodNotFoundInNamespace(c clientset.Interface, podName, ns string, timeout time.Duration) error {
|
||||||
return wait.PollImmediate(poll, timeout, func() (bool, error) {
|
return wait.PollImmediate(poll, timeout, func() (bool, error) {
|
||||||
_, err := c.CoreV1().Pods(ns).Get(podName, metav1.GetOptions{})
|
_, err := c.CoreV1().Pods(ns).Get(podName, metav1.GetOptions{})
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
return true, nil // done
|
return true, nil // done
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
policyv1beta1 "k8s.io/api/policy/v1beta1"
|
policyv1beta1 "k8s.io/api/policy/v1beta1"
|
||||||
rbacv1 "k8s.io/api/rbac/v1"
|
rbacv1 "k8s.io/api/rbac/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apiserver/pkg/authentication/serviceaccount"
|
"k8s.io/apiserver/pkg/authentication/serviceaccount"
|
||||||
@ -111,7 +111,7 @@ func CreatePrivilegedPSPBinding(kubeClient clientset.Interface, namespace string
|
|||||||
privilegedPSPOnce.Do(func() {
|
privilegedPSPOnce.Do(func() {
|
||||||
_, err := kubeClient.PolicyV1beta1().PodSecurityPolicies().Get(
|
_, err := kubeClient.PolicyV1beta1().PodSecurityPolicies().Get(
|
||||||
podSecurityPolicyPrivileged, metav1.GetOptions{})
|
podSecurityPolicyPrivileged, metav1.GetOptions{})
|
||||||
if !apierrs.IsNotFound(err) {
|
if !apierrors.IsNotFound(err) {
|
||||||
// Privileged PSP was already created.
|
// Privileged PSP was already created.
|
||||||
ExpectNoError(err, "Failed to get PodSecurityPolicy %s", podSecurityPolicyPrivileged)
|
ExpectNoError(err, "Failed to get PodSecurityPolicy %s", podSecurityPolicyPrivileged)
|
||||||
return
|
return
|
||||||
@ -119,7 +119,7 @@ func CreatePrivilegedPSPBinding(kubeClient clientset.Interface, namespace string
|
|||||||
|
|
||||||
psp := privilegedPSP(podSecurityPolicyPrivileged)
|
psp := privilegedPSP(podSecurityPolicyPrivileged)
|
||||||
_, err = kubeClient.PolicyV1beta1().PodSecurityPolicies().Create(psp)
|
_, err = kubeClient.PolicyV1beta1().PodSecurityPolicies().Create(psp)
|
||||||
if !apierrs.IsAlreadyExists(err) {
|
if !apierrors.IsAlreadyExists(err) {
|
||||||
ExpectNoError(err, "Failed to create PSP %s", podSecurityPolicyPrivileged)
|
ExpectNoError(err, "Failed to create PSP %s", podSecurityPolicyPrivileged)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -134,7 +134,7 @@ func CreatePrivilegedPSPBinding(kubeClient clientset.Interface, namespace string
|
|||||||
Verbs: []string{"use"},
|
Verbs: []string{"use"},
|
||||||
}},
|
}},
|
||||||
})
|
})
|
||||||
if !apierrs.IsAlreadyExists(err) {
|
if !apierrors.IsAlreadyExists(err) {
|
||||||
ExpectNoError(err, "Failed to create PSP role")
|
ExpectNoError(err, "Failed to create PSP role")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
|
|
||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
@ -186,7 +186,7 @@ func DeletePersistentVolume(c clientset.Interface, pvName string) error {
|
|||||||
if c != nil && len(pvName) > 0 {
|
if c != nil && len(pvName) > 0 {
|
||||||
framework.Logf("Deleting PersistentVolume %q", pvName)
|
framework.Logf("Deleting PersistentVolume %q", pvName)
|
||||||
err := c.CoreV1().PersistentVolumes().Delete(pvName, nil)
|
err := c.CoreV1().PersistentVolumes().Delete(pvName, nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
return fmt.Errorf("PV Delete API error: %v", err)
|
return fmt.Errorf("PV Delete API error: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -198,7 +198,7 @@ func DeletePersistentVolumeClaim(c clientset.Interface, pvcName string, ns strin
|
|||||||
if c != nil && len(pvcName) > 0 {
|
if c != nil && len(pvcName) > 0 {
|
||||||
framework.Logf("Deleting PersistentVolumeClaim %q", pvcName)
|
framework.Logf("Deleting PersistentVolumeClaim %q", pvcName)
|
||||||
err := c.CoreV1().PersistentVolumeClaims(ns).Delete(pvcName, nil)
|
err := c.CoreV1().PersistentVolumeClaims(ns).Delete(pvcName, nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
return fmt.Errorf("PVC Delete API error: %v", err)
|
return fmt.Errorf("PVC Delete API error: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -275,10 +275,10 @@ func DeletePVCandValidatePVGroup(c clientset.Interface, ns string, pvols PVMap,
|
|||||||
if err = DeletePVCandValidatePV(c, ns, pvc, pv, expectPVPhase); err != nil {
|
if err = DeletePVCandValidatePV(c, ns, pvc, pv, expectPVPhase); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else if !apierrs.IsNotFound(err) {
|
} else if !apierrors.IsNotFound(err) {
|
||||||
return fmt.Errorf("PVC Get API error: %v", err)
|
return fmt.Errorf("PVC Get API error: %v", err)
|
||||||
}
|
}
|
||||||
// delete pvckey from map even if apierrs.IsNotFound above is true and thus the
|
// delete pvckey from map even if apierrors.IsNotFound above is true and thus the
|
||||||
// claim was not actually deleted here
|
// claim was not actually deleted here
|
||||||
delete(claims, pvcKey)
|
delete(claims, pvcKey)
|
||||||
deletedPVCs++
|
deletedPVCs++
|
||||||
|
@ -19,7 +19,7 @@ package framework
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
utilversion "k8s.io/apimachinery/pkg/util/version"
|
utilversion "k8s.io/apimachinery/pkg/util/version"
|
||||||
@ -65,7 +65,7 @@ func SkipIfMissingResource(dynamicClient dynamic.Interface, gvr schema.GroupVers
|
|||||||
_, err := resourceClient.List(metav1.ListOptions{})
|
_, err := resourceClient.List(metav1.ListOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// not all resources support list, so we ignore those
|
// not all resources support list, so we ignore those
|
||||||
if apierrs.IsMethodNotSupported(err) || apierrs.IsNotFound(err) || apierrs.IsForbidden(err) {
|
if apierrors.IsMethodNotSupported(err) || apierrors.IsNotFound(err) || apierrors.IsForbidden(err) {
|
||||||
skipInternalf(1, "Could not find %s resource, skipping test: %#v", gvr, err)
|
skipInternalf(1, "Could not find %s resource, skipping test: %#v", gvr, err)
|
||||||
}
|
}
|
||||||
Failf("Unexpected error getting %v: %v", gvr, err)
|
Failf("Unexpected error getting %v: %v", gvr, err)
|
||||||
|
@ -24,7 +24,7 @@ import (
|
|||||||
|
|
||||||
appsv1 "k8s.io/api/apps/v1"
|
appsv1 "k8s.io/api/apps/v1"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
@ -256,7 +256,7 @@ func update(c clientset.Interface, ns, name string, update func(ss *appsv1.State
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
return ss
|
return ss
|
||||||
}
|
}
|
||||||
if !apierrs.IsConflict(err) && !apierrs.IsServerTimeout(err) {
|
if !apierrors.IsConflict(err) && !apierrors.IsServerTimeout(err) {
|
||||||
e2efwk.Failf("failed to update statefulset %q: %v", name, err)
|
e2efwk.Failf("failed to update statefulset %q: %v", name, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ import (
|
|||||||
|
|
||||||
appsv1 "k8s.io/api/apps/v1"
|
appsv1 "k8s.io/api/apps/v1"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/fields"
|
"k8s.io/apimachinery/pkg/fields"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
@ -346,7 +346,7 @@ func WaitForPersistentVolumeDeleted(c clientset.Interface, pvName string, Poll,
|
|||||||
Logf("PersistentVolume %s found and phase=%s (%v)", pvName, pv.Status.Phase, time.Since(start))
|
Logf("PersistentVolume %s found and phase=%s (%v)", pvName, pv.Status.Phase, time.Since(start))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
Logf("PersistentVolume %s was removed", pvName)
|
Logf("PersistentVolume %s was removed", pvName)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@ -365,7 +365,7 @@ func findAvailableNamespaceName(baseName string, c clientset.Interface) (string,
|
|||||||
// Already taken
|
// Already taken
|
||||||
return false, nil
|
return false, nil
|
||||||
}
|
}
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
Logf("Unexpected error while getting namespace: %v", err)
|
Logf("Unexpected error while getting namespace: %v", err)
|
||||||
@ -470,7 +470,7 @@ func WaitForService(c clientset.Interface, namespace, name string, exist bool, i
|
|||||||
case err == nil:
|
case err == nil:
|
||||||
Logf("Service %s in namespace %s found.", name, namespace)
|
Logf("Service %s in namespace %s found.", name, namespace)
|
||||||
return exist, nil
|
return exist, nil
|
||||||
case apierrs.IsNotFound(err):
|
case apierrors.IsNotFound(err):
|
||||||
Logf("Service %s in namespace %s disappeared.", name, namespace)
|
Logf("Service %s in namespace %s disappeared.", name, namespace)
|
||||||
return !exist, nil
|
return !exist, nil
|
||||||
case !testutils.IsRetryableAPIError(err):
|
case !testutils.IsRetryableAPIError(err):
|
||||||
@ -1190,7 +1190,7 @@ func DeleteResourceAndWaitForGC(c clientset.Interface, kind schema.GroupKind, ns
|
|||||||
|
|
||||||
rtObject, err := e2eresource.GetRuntimeObjectForKind(c, kind, ns, name)
|
rtObject, err := e2eresource.GetRuntimeObjectForKind(c, kind, ns, name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
Logf("%v %s not found: %v", kind, name, err)
|
Logf("%v %s not found: %v", kind, name, err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/labels"
|
"k8s.io/apimachinery/pkg/labels"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
@ -372,7 +372,7 @@ func StartVolumeServer(client clientset.Interface, config TestConfig) *v1.Pod {
|
|||||||
serverPod, err := podClient.Create(serverPod)
|
serverPod, err := podClient.Create(serverPod)
|
||||||
// ok if the server pod already exists. TODO: make this controllable by callers
|
// ok if the server pod already exists. TODO: make this controllable by callers
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if apierrs.IsAlreadyExists(err) {
|
if apierrors.IsAlreadyExists(err) {
|
||||||
framework.Logf("Ignore \"already-exists\" error, re-get pod...")
|
framework.Logf("Ignore \"already-exists\" error, re-get pod...")
|
||||||
ginkgo.By(fmt.Sprintf("re-getting the %q server pod", serverPodName))
|
ginkgo.By(fmt.Sprintf("re-getting the %q server pod", serverPodName))
|
||||||
serverPod, err = podClient.Get(serverPodName, metav1.GetOptions{})
|
serverPod, err = podClient.Get(serverPodName, metav1.GetOptions{})
|
||||||
|
@ -45,7 +45,7 @@ import (
|
|||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
rbacv1 "k8s.io/api/rbac/v1"
|
rbacv1 "k8s.io/api/rbac/v1"
|
||||||
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
|
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
"k8s.io/apimachinery/pkg/api/meta"
|
"k8s.io/apimachinery/pkg/api/meta"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
@ -1325,9 +1325,9 @@ metadata:
|
|||||||
framework.Logf("Get endpoints failed (interval %v): %v", framework.Poll, err)
|
framework.Logf("Get endpoints failed (interval %v): %v", framework.Poll, err)
|
||||||
|
|
||||||
// if the error is API not found or could not find default credentials or TLS handshake timeout, try again
|
// if the error is API not found or could not find default credentials or TLS handshake timeout, try again
|
||||||
if apierrs.IsNotFound(err) ||
|
if apierrors.IsNotFound(err) ||
|
||||||
apierrs.IsUnauthorized(err) ||
|
apierrors.IsUnauthorized(err) ||
|
||||||
apierrs.IsServerTimeout(err) {
|
apierrors.IsServerTimeout(err) {
|
||||||
err = nil
|
err = nil
|
||||||
}
|
}
|
||||||
return false, err
|
return false, err
|
||||||
@ -1969,7 +1969,7 @@ metadata:
|
|||||||
ginkgo.By("verifying the job " + jobName + " was deleted")
|
ginkgo.By("verifying the job " + jobName + " was deleted")
|
||||||
_, err = c.BatchV1().Jobs(ns).Get(jobName, metav1.GetOptions{})
|
_, err = c.BatchV1().Jobs(ns).Get(jobName, metav1.GetOptions{})
|
||||||
framework.ExpectError(err)
|
framework.ExpectError(err)
|
||||||
framework.ExpectEqual(apierrs.IsNotFound(err), true)
|
framework.ExpectEqual(apierrors.IsNotFound(err), true)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -22,8 +22,8 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
@ -139,7 +139,7 @@ func WaitForBootstrapTokenSecretToDisappear(c clientset.Interface, tokenID strin
|
|||||||
|
|
||||||
return wait.Poll(framework.Poll, 1*time.Minute, func() (bool, error) {
|
return wait.Poll(framework.Poll, 1*time.Minute, func() (bool, error) {
|
||||||
_, err := c.CoreV1().Secrets(metav1.NamespaceSystem).Get(bootstrapapi.BootstrapTokenSecretPrefix+tokenID, metav1.GetOptions{})
|
_, err := c.CoreV1().Secrets(metav1.NamespaceSystem).Get(bootstrapapi.BootstrapTokenSecretPrefix+tokenID, metav1.GetOptions{})
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
return false, nil
|
return false, nil
|
||||||
@ -150,7 +150,7 @@ func WaitForBootstrapTokenSecretToDisappear(c clientset.Interface, tokenID strin
|
|||||||
func WaitForBootstrapTokenSecretNotDisappear(c clientset.Interface, tokenID string, t time.Duration) error {
|
func WaitForBootstrapTokenSecretNotDisappear(c clientset.Interface, tokenID string, t time.Duration) error {
|
||||||
err := wait.Poll(framework.Poll, t, func() (bool, error) {
|
err := wait.Poll(framework.Poll, t, func() (bool, error) {
|
||||||
secret, err := c.CoreV1().Secrets(metav1.NamespaceSystem).Get(bootstrapapi.BootstrapTokenSecretPrefix+tokenID, metav1.GetOptions{})
|
secret, err := c.CoreV1().Secrets(metav1.NamespaceSystem).Get(bootstrapapi.BootstrapTokenSecretPrefix+tokenID, metav1.GetOptions{})
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
return true, errors.New("secret not exists")
|
return true, errors.New("secret not exists")
|
||||||
}
|
}
|
||||||
if secret != nil {
|
if secret != nil {
|
||||||
|
@ -21,7 +21,7 @@ import (
|
|||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
nodev1beta1 "k8s.io/api/node/v1beta1"
|
nodev1beta1 "k8s.io/api/node/v1beta1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
runtimeclasstest "k8s.io/kubernetes/pkg/kubelet/runtimeclass/testing"
|
runtimeclasstest "k8s.io/kubernetes/pkg/kubelet/runtimeclass/testing"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
@ -55,7 +55,7 @@ var _ = ginkgo.Describe("[sig-node] RuntimeClass", func() {
|
|||||||
}
|
}
|
||||||
_, err = f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(pod)
|
_, err = f.ClientSet.CoreV1().Pods(f.Namespace.Name).Create(pod)
|
||||||
framework.ExpectError(err, "should be forbidden")
|
framework.ExpectError(err, "should be forbidden")
|
||||||
framework.ExpectEqual(apierrs.IsForbidden(err), true, "should be forbidden error")
|
framework.ExpectEqual(apierrors.IsForbidden(err), true, "should be forbidden error")
|
||||||
})
|
})
|
||||||
|
|
||||||
ginkgo.It("should run a Pod requesting a RuntimeClass with scheduling [NodeFeature:RuntimeHandler] [Disruptive] ", func() {
|
ginkgo.It("should run a Pod requesting a RuntimeClass with scheduling [NodeFeature:RuntimeHandler] [Disruptive] ", func() {
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
_ "github.com/stretchr/testify/assert"
|
_ "github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/uuid"
|
"k8s.io/apimachinery/pkg/util/uuid"
|
||||||
@ -84,7 +84,7 @@ func addOrUpdateAvoidPodOnNode(c clientset.Interface, nodeName string, avoidPods
|
|||||||
node.Annotations[v1.PreferAvoidPodsAnnotationKey] = string(taintsData)
|
node.Annotations[v1.PreferAvoidPodsAnnotationKey] = string(taintsData)
|
||||||
_, err = c.CoreV1().Nodes().Update(node)
|
_, err = c.CoreV1().Nodes().Update(node)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !apierrs.IsConflict(err) {
|
if !apierrors.IsConflict(err) {
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
} else {
|
} else {
|
||||||
framework.Logf("Conflict when trying to add/update avoidPods %v to %v with error %v", avoidPods, nodeName, err)
|
framework.Logf("Conflict when trying to add/update avoidPods %v to %v with error %v", avoidPods, nodeName, err)
|
||||||
@ -113,7 +113,7 @@ func removeAvoidPodsOffNode(c clientset.Interface, nodeName string) {
|
|||||||
delete(node.Annotations, v1.PreferAvoidPodsAnnotationKey)
|
delete(node.Annotations, v1.PreferAvoidPodsAnnotationKey)
|
||||||
_, err = c.CoreV1().Nodes().Update(node)
|
_, err = c.CoreV1().Nodes().Update(node)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !apierrs.IsConflict(err) {
|
if !apierrors.IsConflict(err) {
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
} else {
|
} else {
|
||||||
framework.Logf("Conflict when trying to remove avoidPods to %v", nodeName)
|
framework.Logf("Conflict when trying to remove avoidPods to %v", nodeName)
|
||||||
|
@ -25,7 +25,7 @@ import (
|
|||||||
|
|
||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
|
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
|
||||||
@ -193,7 +193,7 @@ var _ = utils.SIGDescribe("Flexvolumes", func() {
|
|||||||
testFlexVolume(driverInstallAs, config, f)
|
testFlexVolume(driverInstallAs, config, f)
|
||||||
|
|
||||||
ginkgo.By("waiting for flex client pod to terminate")
|
ginkgo.By("waiting for flex client pod to terminate")
|
||||||
if err := f.WaitForPodTerminated(config.Prefix+"-client", ""); !apierrs.IsNotFound(err) {
|
if err := f.WaitForPodTerminated(config.Prefix+"-client", ""); !apierrors.IsNotFound(err) {
|
||||||
framework.ExpectNoError(err, "Failed to wait client pod terminated: %v", err)
|
framework.ExpectNoError(err, "Failed to wait client pod terminated: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ var _ = utils.SIGDescribe("Flexvolumes", func() {
|
|||||||
testFlexVolume(driverInstallAs, config, f)
|
testFlexVolume(driverInstallAs, config, f)
|
||||||
|
|
||||||
ginkgo.By("waiting for flex client pod to terminate")
|
ginkgo.By("waiting for flex client pod to terminate")
|
||||||
if err := f.WaitForPodTerminated(config.Prefix+"-client", ""); !apierrs.IsNotFound(err) {
|
if err := f.WaitForPodTerminated(config.Prefix+"-client", ""); !apierrors.IsNotFound(err) {
|
||||||
framework.ExpectNoError(err, "Failed to wait client pod terminated: %v", err)
|
framework.ExpectNoError(err, "Failed to wait client pod terminated: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -22,8 +22,8 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/kubernetes/pkg/util/slice"
|
"k8s.io/kubernetes/pkg/util/slice"
|
||||||
@ -41,7 +41,7 @@ func waitForPersistentVolumeClaimDeleted(c clientset.Interface, ns string, pvcNa
|
|||||||
for start := time.Now(); time.Since(start) < timeout; time.Sleep(Poll) {
|
for start := time.Now(); time.Since(start) < timeout; time.Sleep(Poll) {
|
||||||
_, err := c.CoreV1().PersistentVolumeClaims(ns).Get(pvcName, metav1.GetOptions{})
|
_, err := c.CoreV1().PersistentVolumeClaims(ns).Get(pvcName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
framework.Logf("Claim %q in namespace %q doesn't exist in the system", pvcName, ns)
|
framework.Logf("Claim %q in namespace %q doesn't exist in the system", pvcName, ns)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -30,11 +30,10 @@ import (
|
|||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
storagev1 "k8s.io/api/storage/v1"
|
storagev1 "k8s.io/api/storage/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||||
apierrors "k8s.io/apimachinery/pkg/util/errors"
|
|
||||||
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
utilerrors "k8s.io/apimachinery/pkg/util/errors"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
@ -317,7 +316,7 @@ func (r *VolumeResource) CleanupResource() error {
|
|||||||
cleanUpErrs = append(cleanUpErrs, errors.Wrap(err, "Failed to delete Volume"))
|
cleanUpErrs = append(cleanUpErrs, errors.Wrap(err, "Failed to delete Volume"))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return apierrors.NewAggregate(cleanUpErrs)
|
return utilerrors.NewAggregate(cleanUpErrs)
|
||||||
}
|
}
|
||||||
|
|
||||||
func createPVCPV(
|
func createPVCPV(
|
||||||
@ -409,7 +408,7 @@ func isDelayedBinding(sc *storagev1.StorageClass) bool {
|
|||||||
// deleteStorageClass deletes the passed in StorageClass and catches errors other than "Not Found"
|
// deleteStorageClass deletes the passed in StorageClass and catches errors other than "Not Found"
|
||||||
func deleteStorageClass(cs clientset.Interface, className string) error {
|
func deleteStorageClass(cs clientset.Interface, className string) error {
|
||||||
err := cs.StorageV1().StorageClasses().Delete(className, nil)
|
err := cs.StorageV1().StorageClasses().Delete(className, nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -25,7 +25,7 @@ import (
|
|||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
storagev1 "k8s.io/api/storage/v1"
|
storagev1 "k8s.io/api/storage/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
|
||||||
@ -247,7 +247,7 @@ func (t StorageClassTest) TestDynamicProvisioning() *v1.PersistentVolume {
|
|||||||
_, err = client.StorageV1().StorageClasses().Create(class)
|
_, err = client.StorageV1().StorageClasses().Create(class)
|
||||||
// The "should provision storage with snapshot data source" test already has created the class.
|
// The "should provision storage with snapshot data source" test already has created the class.
|
||||||
// TODO: make class creation optional and remove the IsAlreadyExists exception
|
// TODO: make class creation optional and remove the IsAlreadyExists exception
|
||||||
framework.ExpectEqual(err == nil || apierrs.IsAlreadyExists(err), true)
|
framework.ExpectEqual(err == nil || apierrors.IsAlreadyExists(err), true)
|
||||||
class, err = client.StorageV1().StorageClasses().Get(class.Name, metav1.GetOptions{})
|
class, err = client.StorageV1().StorageClasses().Get(class.Name, metav1.GetOptions{})
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
defer func() {
|
defer func() {
|
||||||
@ -263,7 +263,7 @@ func (t StorageClassTest) TestDynamicProvisioning() *v1.PersistentVolume {
|
|||||||
framework.Logf("deleting claim %q/%q", claim.Namespace, claim.Name)
|
framework.Logf("deleting claim %q/%q", claim.Namespace, claim.Name)
|
||||||
// typically this claim has already been deleted
|
// typically this claim has already been deleted
|
||||||
err = client.CoreV1().PersistentVolumeClaims(claim.Namespace).Delete(claim.Name, nil)
|
err = client.CoreV1().PersistentVolumeClaims(claim.Namespace).Delete(claim.Name, nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
framework.Failf("Error deleting claim %q. Error: %v", claim.Name, err)
|
framework.Failf("Error deleting claim %q. Error: %v", claim.Name, err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
@ -670,13 +670,13 @@ func prepareSnapshotDataSourceForProvisioning(
|
|||||||
cleanupFunc := func() {
|
cleanupFunc := func() {
|
||||||
framework.Logf("deleting snapshot %q/%q", snapshot.GetNamespace(), snapshot.GetName())
|
framework.Logf("deleting snapshot %q/%q", snapshot.GetNamespace(), snapshot.GetName())
|
||||||
err = dynamicClient.Resource(snapshotGVR).Namespace(updatedClaim.Namespace).Delete(snapshot.GetName(), nil)
|
err = dynamicClient.Resource(snapshotGVR).Namespace(updatedClaim.Namespace).Delete(snapshot.GetName(), nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
framework.Failf("Error deleting snapshot %q. Error: %v", snapshot.GetName(), err)
|
framework.Failf("Error deleting snapshot %q. Error: %v", snapshot.GetName(), err)
|
||||||
}
|
}
|
||||||
|
|
||||||
framework.Logf("deleting initClaim %q/%q", updatedClaim.Namespace, updatedClaim.Name)
|
framework.Logf("deleting initClaim %q/%q", updatedClaim.Namespace, updatedClaim.Name)
|
||||||
err = client.CoreV1().PersistentVolumeClaims(updatedClaim.Namespace).Delete(updatedClaim.Name, nil)
|
err = client.CoreV1().PersistentVolumeClaims(updatedClaim.Namespace).Delete(updatedClaim.Name, nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
framework.Failf("Error deleting initClaim %q. Error: %v", updatedClaim.Name, err)
|
framework.Failf("Error deleting initClaim %q. Error: %v", updatedClaim.Name, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -718,7 +718,7 @@ func preparePVCDataSourceForProvisioning(
|
|||||||
cleanupFunc := func() {
|
cleanupFunc := func() {
|
||||||
framework.Logf("deleting source PVC %q/%q", sourcePVC.Namespace, sourcePVC.Name)
|
framework.Logf("deleting source PVC %q/%q", sourcePVC.Namespace, sourcePVC.Name)
|
||||||
err = client.CoreV1().PersistentVolumeClaims(sourcePVC.Namespace).Delete(sourcePVC.Name, nil)
|
err = client.CoreV1().PersistentVolumeClaims(sourcePVC.Namespace).Delete(sourcePVC.Name, nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
framework.Failf("Error deleting source PVC %q. Error: %v", sourcePVC.Name, err)
|
framework.Failf("Error deleting source PVC %q. Error: %v", sourcePVC.Name, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ import (
|
|||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/client-go/dynamic"
|
"k8s.io/client-go/dynamic"
|
||||||
@ -143,7 +143,7 @@ func (s *snapshottableTestSuite) DefineTests(driver TestDriver, pattern testpatt
|
|||||||
framework.Logf("deleting claim %q/%q", pvc.Namespace, pvc.Name)
|
framework.Logf("deleting claim %q/%q", pvc.Namespace, pvc.Name)
|
||||||
// typically this claim has already been deleted
|
// typically this claim has already been deleted
|
||||||
err = cs.CoreV1().PersistentVolumeClaims(pvc.Namespace).Delete(pvc.Name, nil)
|
err = cs.CoreV1().PersistentVolumeClaims(pvc.Namespace).Delete(pvc.Name, nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
framework.Failf("Error deleting claim %q. Error: %v", pvc.Name, err)
|
framework.Failf("Error deleting claim %q. Error: %v", pvc.Name, err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
@ -182,7 +182,7 @@ func (s *snapshottableTestSuite) DefineTests(driver TestDriver, pattern testpatt
|
|||||||
framework.Logf("deleting snapshot %q/%q", snapshot.GetNamespace(), snapshot.GetName())
|
framework.Logf("deleting snapshot %q/%q", snapshot.GetNamespace(), snapshot.GetName())
|
||||||
// typically this snapshot has already been deleted
|
// typically this snapshot has already been deleted
|
||||||
err = dc.Resource(snapshotGVR).Namespace(snapshot.GetNamespace()).Delete(snapshot.GetName(), nil)
|
err = dc.Resource(snapshotGVR).Namespace(snapshot.GetNamespace()).Delete(snapshot.GetName(), nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
framework.Failf("Error deleting snapshot %q. Error: %v", pvc.Name, err)
|
framework.Failf("Error deleting snapshot %q. Error: %v", pvc.Name, err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
@ -29,7 +29,7 @@ import (
|
|||||||
rbacv1 "k8s.io/api/rbac/v1"
|
rbacv1 "k8s.io/api/rbac/v1"
|
||||||
storagev1 "k8s.io/api/storage/v1"
|
storagev1 "k8s.io/api/storage/v1"
|
||||||
storagev1beta1 "k8s.io/api/storage/v1beta1"
|
storagev1beta1 "k8s.io/api/storage/v1beta1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
@ -155,7 +155,7 @@ func CreateItems(f *framework.Framework, items ...interface{}) (func(), error) {
|
|||||||
// command line flags, because they would also start to apply
|
// command line flags, because they would also start to apply
|
||||||
// to non-namespaced items.
|
// to non-namespaced items.
|
||||||
for _, destructor := range destructors {
|
for _, destructor := range destructors {
|
||||||
if err := destructor(); err != nil && !apierrs.IsNotFound(err) {
|
if err := destructor(); err != nil && !apierrors.IsNotFound(err) {
|
||||||
framework.Logf("deleting failed: %s", err)
|
framework.Logf("deleting failed: %s", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ import (
|
|||||||
|
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
rbacv1 "k8s.io/api/rbac/v1"
|
rbacv1 "k8s.io/api/rbac/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
@ -581,7 +581,7 @@ func PrivilegedTestPSPClusterRoleBinding(client clientset.Interface,
|
|||||||
roleBindingClient.Delete(binding.GetName(), &metav1.DeleteOptions{})
|
roleBindingClient.Delete(binding.GetName(), &metav1.DeleteOptions{})
|
||||||
err := wait.Poll(2*time.Second, 2*time.Minute, func() (bool, error) {
|
err := wait.Poll(2*time.Second, 2*time.Minute, func() (bool, error) {
|
||||||
_, err := roleBindingClient.Get(binding.GetName(), metav1.GetOptions{})
|
_, err := roleBindingClient.Get(binding.GetName(), metav1.GetOptions{})
|
||||||
return apierrs.IsNotFound(err), nil
|
return apierrors.IsNotFound(err), nil
|
||||||
})
|
})
|
||||||
framework.ExpectNoError(err, "Timed out waiting for deletion: %v", err)
|
framework.ExpectNoError(err, "Timed out waiting for deletion: %v", err)
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ import (
|
|||||||
rbacv1 "k8s.io/api/rbac/v1"
|
rbacv1 "k8s.io/api/rbac/v1"
|
||||||
storagev1 "k8s.io/api/storage/v1"
|
storagev1 "k8s.io/api/storage/v1"
|
||||||
storagev1beta1 "k8s.io/api/storage/v1beta1"
|
storagev1beta1 "k8s.io/api/storage/v1beta1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
@ -810,7 +810,7 @@ var _ = utils.SIGDescribe("Dynamic Provisioning", func() {
|
|||||||
defer func() {
|
defer func() {
|
||||||
framework.Logf("deleting claim %q/%q", claim.Namespace, claim.Name)
|
framework.Logf("deleting claim %q/%q", claim.Namespace, claim.Name)
|
||||||
err = c.CoreV1().PersistentVolumeClaims(claim.Namespace).Delete(claim.Name, nil)
|
err = c.CoreV1().PersistentVolumeClaims(claim.Namespace).Delete(claim.Name, nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
framework.Failf("Error deleting claim %q. Error: %v", claim.Name, err)
|
framework.Failf("Error deleting claim %q. Error: %v", claim.Name, err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
@ -1039,7 +1039,7 @@ func waitForProvisionedVolumesDeleted(c clientset.Interface, scName string) ([]*
|
|||||||
// deleteStorageClass deletes the passed in StorageClass and catches errors other than "Not Found"
|
// deleteStorageClass deletes the passed in StorageClass and catches errors other than "Not Found"
|
||||||
func deleteStorageClass(c clientset.Interface, className string) {
|
func deleteStorageClass(c clientset.Interface, className string) {
|
||||||
err := c.StorageV1().StorageClasses().Delete(className, nil)
|
err := c.StorageV1().StorageClasses().Delete(className, nil)
|
||||||
if err != nil && !apierrs.IsNotFound(err) {
|
if err != nil && !apierrors.IsNotFound(err) {
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
|
|
||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
@ -246,7 +246,7 @@ func deletePVCAfterBind(c clientset.Interface, ns string, pvc *v1.PersistentVolu
|
|||||||
ginkgo.By("delete pvc")
|
ginkgo.By("delete pvc")
|
||||||
framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(c, pvc.Name, ns), "Failed to delete PVC ", pvc.Name)
|
framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(c, pvc.Name, ns), "Failed to delete PVC ", pvc.Name)
|
||||||
_, err = c.CoreV1().PersistentVolumeClaims(ns).Get(pvc.Name, metav1.GetOptions{})
|
_, err = c.CoreV1().PersistentVolumeClaims(ns).Get(pvc.Name, metav1.GetOptions{})
|
||||||
if !apierrs.IsNotFound(err) {
|
if !apierrors.IsNotFound(err) {
|
||||||
framework.ExpectNoError(err)
|
framework.ExpectNoError(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ import (
|
|||||||
|
|
||||||
"github.com/onsi/ginkgo"
|
"github.com/onsi/ginkgo"
|
||||||
"github.com/onsi/gomega"
|
"github.com/onsi/gomega"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
"k8s.io/kubernetes/test/e2e/framework"
|
"k8s.io/kubernetes/test/e2e/framework"
|
||||||
@ -112,7 +112,7 @@ var _ = utils.SIGDescribe("vsphere statefulset", func() {
|
|||||||
for _, sspod := range ssPodsBeforeScaleDown.Items {
|
for _, sspod := range ssPodsBeforeScaleDown.Items {
|
||||||
_, err := client.CoreV1().Pods(namespace).Get(sspod.Name, metav1.GetOptions{})
|
_, err := client.CoreV1().Pods(namespace).Get(sspod.Name, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
framework.ExpectEqual(apierrs.IsNotFound(err), true)
|
framework.ExpectEqual(apierrors.IsNotFound(err), true)
|
||||||
for _, volumespec := range sspod.Spec.Volumes {
|
for _, volumespec := range sspod.Spec.Volumes {
|
||||||
if volumespec.PersistentVolumeClaim != nil {
|
if volumespec.PersistentVolumeClaim != nil {
|
||||||
vSpherediskPath := getvSphereVolumePathFromClaim(client, statefulset.Namespace, volumespec.PersistentVolumeClaim.ClaimName)
|
vSpherediskPath := getvSphereVolumePathFromClaim(client, statefulset.Namespace, volumespec.PersistentVolumeClaim.ClaimName)
|
||||||
|
@ -25,7 +25,7 @@ import (
|
|||||||
apps "k8s.io/api/apps/v1"
|
apps "k8s.io/api/apps/v1"
|
||||||
batch "k8s.io/api/batch/v1"
|
batch "k8s.io/api/batch/v1"
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
utilnet "k8s.io/apimachinery/pkg/util/net"
|
utilnet "k8s.io/apimachinery/pkg/util/net"
|
||||||
"k8s.io/apimachinery/pkg/util/wait"
|
"k8s.io/apimachinery/pkg/util/wait"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
@ -52,12 +52,12 @@ func RetryWithExponentialBackOff(fn wait.ConditionFunc) error {
|
|||||||
|
|
||||||
func IsRetryableAPIError(err error) bool {
|
func IsRetryableAPIError(err error) bool {
|
||||||
// These errors may indicate a transient error that we can retry in tests.
|
// These errors may indicate a transient error that we can retry in tests.
|
||||||
if apierrs.IsInternalError(err) || apierrs.IsTimeout(err) || apierrs.IsServerTimeout(err) ||
|
if apierrors.IsInternalError(err) || apierrors.IsTimeout(err) || apierrors.IsServerTimeout(err) ||
|
||||||
apierrs.IsTooManyRequests(err) || utilnet.IsProbableEOF(err) || utilnet.IsConnectionReset(err) {
|
apierrors.IsTooManyRequests(err) || utilnet.IsProbableEOF(err) || utilnet.IsConnectionReset(err) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
// If the error sends the Retry-After header, we respect it as an explicit confirmation we should retry.
|
// If the error sends the Retry-After header, we respect it as an explicit confirmation we should retry.
|
||||||
if _, shouldRetry := apierrs.SuggestsClientDelay(err); shouldRetry {
|
if _, shouldRetry := apierrors.SuggestsClientDelay(err); shouldRetry {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
@ -69,7 +69,7 @@ func CreatePodWithRetries(c clientset.Interface, namespace string, obj *v1.Pod)
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.CoreV1().Pods(namespace).Create(obj)
|
_, err := c.CoreV1().Pods(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -86,7 +86,7 @@ func CreateRCWithRetries(c clientset.Interface, namespace string, obj *v1.Replic
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.CoreV1().ReplicationControllers(namespace).Create(obj)
|
_, err := c.CoreV1().ReplicationControllers(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -103,7 +103,7 @@ func CreateReplicaSetWithRetries(c clientset.Interface, namespace string, obj *a
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.AppsV1().ReplicaSets(namespace).Create(obj)
|
_, err := c.AppsV1().ReplicaSets(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -120,7 +120,7 @@ func CreateDeploymentWithRetries(c clientset.Interface, namespace string, obj *a
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.AppsV1().Deployments(namespace).Create(obj)
|
_, err := c.AppsV1().Deployments(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -137,7 +137,7 @@ func CreateDaemonSetWithRetries(c clientset.Interface, namespace string, obj *ap
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.AppsV1().DaemonSets(namespace).Create(obj)
|
_, err := c.AppsV1().DaemonSets(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -154,7 +154,7 @@ func CreateJobWithRetries(c clientset.Interface, namespace string, obj *batch.Jo
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.BatchV1().Jobs(namespace).Create(obj)
|
_, err := c.BatchV1().Jobs(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -171,7 +171,7 @@ func CreateSecretWithRetries(c clientset.Interface, namespace string, obj *v1.Se
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.CoreV1().Secrets(namespace).Create(obj)
|
_, err := c.CoreV1().Secrets(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -188,7 +188,7 @@ func CreateConfigMapWithRetries(c clientset.Interface, namespace string, obj *v1
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.CoreV1().ConfigMaps(namespace).Create(obj)
|
_, err := c.CoreV1().ConfigMaps(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -205,7 +205,7 @@ func CreateServiceWithRetries(c clientset.Interface, namespace string, obj *v1.S
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.CoreV1().Services(namespace).Create(obj)
|
_, err := c.CoreV1().Services(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -222,7 +222,7 @@ func CreateResourceQuotaWithRetries(c clientset.Interface, namespace string, obj
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.CoreV1().ResourceQuotas(namespace).Create(obj)
|
_, err := c.CoreV1().ResourceQuotas(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -239,7 +239,7 @@ func CreatePersistentVolumeWithRetries(c clientset.Interface, obj *v1.Persistent
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.CoreV1().PersistentVolumes().Create(obj)
|
_, err := c.CoreV1().PersistentVolumes().Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
@ -256,7 +256,7 @@ func CreatePersistentVolumeClaimWithRetries(c clientset.Interface, namespace str
|
|||||||
}
|
}
|
||||||
createFunc := func() (bool, error) {
|
createFunc := func() (bool, error) {
|
||||||
_, err := c.CoreV1().PersistentVolumeClaims(namespace).Create(obj)
|
_, err := c.CoreV1().PersistentVolumeClaims(namespace).Create(obj)
|
||||||
if err == nil || apierrs.IsAlreadyExists(err) {
|
if err == nil || apierrors.IsAlreadyExists(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
|
@ -21,7 +21,7 @@ package utils
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
@ -59,7 +59,7 @@ func deleteResource(c clientset.Interface, kind schema.GroupKind, namespace, nam
|
|||||||
func DeleteResourceWithRetries(c clientset.Interface, kind schema.GroupKind, namespace, name string, options *metav1.DeleteOptions) error {
|
func DeleteResourceWithRetries(c clientset.Interface, kind schema.GroupKind, namespace, name string, options *metav1.DeleteOptions) error {
|
||||||
deleteFunc := func() (bool, error) {
|
deleteFunc := func() (bool, error) {
|
||||||
err := deleteResource(c, kind, namespace, name, options)
|
err := deleteResource(c, kind, namespace, name, options)
|
||||||
if err == nil || apierrs.IsNotFound(err) {
|
if err == nil || apierrors.IsNotFound(err) {
|
||||||
return true, nil
|
return true, nil
|
||||||
}
|
}
|
||||||
if IsRetryableAPIError(err) {
|
if IsRetryableAPIError(err) {
|
||||||
|
@ -22,7 +22,7 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
clientset "k8s.io/client-go/kubernetes"
|
clientset "k8s.io/client-go/kubernetes"
|
||||||
@ -44,7 +44,7 @@ func AddLabelsToNode(c clientset.Interface, nodeName string, labels map[string]s
|
|||||||
for attempt := 0; attempt < retries; attempt++ {
|
for attempt := 0; attempt < retries; attempt++ {
|
||||||
_, err = c.CoreV1().Nodes().Patch(nodeName, types.MergePatchType, []byte(patch))
|
_, err = c.CoreV1().Nodes().Patch(nodeName, types.MergePatchType, []byte(patch))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !apierrs.IsConflict(err) {
|
if !apierrors.IsConflict(err) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -76,7 +76,7 @@ func RemoveLabelOffNode(c clientset.Interface, nodeName string, labelKeys []stri
|
|||||||
}
|
}
|
||||||
_, err = c.CoreV1().Nodes().Update(node)
|
_, err = c.CoreV1().Nodes().Update(node)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !apierrs.IsConflict(err) {
|
if !apierrors.IsConflict(err) {
|
||||||
return err
|
return err
|
||||||
} else {
|
} else {
|
||||||
klog.V(2).Infof("Conflict when trying to remove a labels %v from %v", labelKeys, nodeName)
|
klog.V(2).Infof("Conflict when trying to remove a labels %v from %v", labelKeys, nodeName)
|
||||||
|
@ -30,7 +30,7 @@ import (
|
|||||||
v1 "k8s.io/api/core/v1"
|
v1 "k8s.io/api/core/v1"
|
||||||
storagev1beta1 "k8s.io/api/storage/v1beta1"
|
storagev1beta1 "k8s.io/api/storage/v1beta1"
|
||||||
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
apiequality "k8s.io/apimachinery/pkg/api/equality"
|
||||||
apierrs "k8s.io/apimachinery/pkg/api/errors"
|
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||||
"k8s.io/apimachinery/pkg/api/resource"
|
"k8s.io/apimachinery/pkg/api/resource"
|
||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/fields"
|
"k8s.io/apimachinery/pkg/fields"
|
||||||
@ -1085,10 +1085,10 @@ func (s *NodeAllocatableStrategy) createCSINode(nodeName string, client clientse
|
|||||||
}
|
}
|
||||||
|
|
||||||
_, err := client.StorageV1beta1().CSINodes().Create(csiNode)
|
_, err := client.StorageV1beta1().CSINodes().Create(csiNode)
|
||||||
if apierrs.IsAlreadyExists(err) {
|
if apierrors.IsAlreadyExists(err) {
|
||||||
// Something created CSINode instance after we checked it did not exist.
|
// Something created CSINode instance after we checked it did not exist.
|
||||||
// Make the caller to re-try PrepareDependentObjects by returning Conflict error
|
// Make the caller to re-try PrepareDependentObjects by returning Conflict error
|
||||||
err = apierrs.NewConflict(storagev1beta1.Resource("csinodes"), nodeName, err)
|
err = apierrors.NewConflict(storagev1beta1.Resource("csinodes"), nodeName, err)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -1121,7 +1121,7 @@ func (s *NodeAllocatableStrategy) updateCSINode(csiNode *storagev1beta1.CSINode,
|
|||||||
func (s *NodeAllocatableStrategy) PrepareDependentObjects(node *v1.Node, client clientset.Interface) error {
|
func (s *NodeAllocatableStrategy) PrepareDependentObjects(node *v1.Node, client clientset.Interface) error {
|
||||||
csiNode, err := client.StorageV1beta1().CSINodes().Get(node.Name, metav1.GetOptions{})
|
csiNode, err := client.StorageV1beta1().CSINodes().Get(node.Name, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
return s.createCSINode(node.Name, client)
|
return s.createCSINode(node.Name, client)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
@ -1132,7 +1132,7 @@ func (s *NodeAllocatableStrategy) PrepareDependentObjects(node *v1.Node, client
|
|||||||
func (s *NodeAllocatableStrategy) CleanupDependentObjects(nodeName string, client clientset.Interface) error {
|
func (s *NodeAllocatableStrategy) CleanupDependentObjects(nodeName string, client clientset.Interface) error {
|
||||||
csiNode, err := client.StorageV1beta1().CSINodes().Get(nodeName, metav1.GetOptions{})
|
csiNode, err := client.StorageV1beta1().CSINodes().Get(nodeName, metav1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if apierrs.IsNotFound(err) {
|
if apierrors.IsNotFound(err) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
@ -1158,7 +1158,7 @@ func DoPrepareNode(client clientset.Interface, node *v1.Node, strategy PrepareNo
|
|||||||
if _, err = client.CoreV1().Nodes().Patch(node.Name, types.MergePatchType, []byte(patch)); err == nil {
|
if _, err = client.CoreV1().Nodes().Patch(node.Name, types.MergePatchType, []byte(patch)); err == nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if !apierrs.IsConflict(err) {
|
if !apierrors.IsConflict(err) {
|
||||||
return fmt.Errorf("Error while applying patch %v to Node %v: %v", string(patch), node.Name, err)
|
return fmt.Errorf("Error while applying patch %v to Node %v: %v", string(patch), node.Name, err)
|
||||||
}
|
}
|
||||||
time.Sleep(100 * time.Millisecond)
|
time.Sleep(100 * time.Millisecond)
|
||||||
@ -1171,7 +1171,7 @@ func DoPrepareNode(client clientset.Interface, node *v1.Node, strategy PrepareNo
|
|||||||
if err = strategy.PrepareDependentObjects(node, client); err == nil {
|
if err = strategy.PrepareDependentObjects(node, client); err == nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if !apierrs.IsConflict(err) {
|
if !apierrors.IsConflict(err) {
|
||||||
return fmt.Errorf("Error while preparing objects for node %s: %s", node.Name, err)
|
return fmt.Errorf("Error while preparing objects for node %s: %s", node.Name, err)
|
||||||
}
|
}
|
||||||
time.Sleep(100 * time.Millisecond)
|
time.Sleep(100 * time.Millisecond)
|
||||||
@ -1196,7 +1196,7 @@ func DoCleanupNode(client clientset.Interface, nodeName string, strategy Prepare
|
|||||||
if _, err = client.CoreV1().Nodes().Update(updatedNode); err == nil {
|
if _, err = client.CoreV1().Nodes().Update(updatedNode); err == nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if !apierrs.IsConflict(err) {
|
if !apierrors.IsConflict(err) {
|
||||||
return fmt.Errorf("Error when updating Node %v: %v", nodeName, err)
|
return fmt.Errorf("Error when updating Node %v: %v", nodeName, err)
|
||||||
}
|
}
|
||||||
time.Sleep(100 * time.Millisecond)
|
time.Sleep(100 * time.Millisecond)
|
||||||
@ -1210,7 +1210,7 @@ func DoCleanupNode(client clientset.Interface, nodeName string, strategy Prepare
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
if !apierrs.IsConflict(err) {
|
if !apierrors.IsConflict(err) {
|
||||||
return fmt.Errorf("Error when cleaning up Node %v objects: %v", nodeName, err)
|
return fmt.Errorf("Error when cleaning up Node %v objects: %v", nodeName, err)
|
||||||
}
|
}
|
||||||
time.Sleep(100 * time.Millisecond)
|
time.Sleep(100 * time.Millisecond)
|
||||||
|
Loading…
Reference in New Issue
Block a user