Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
be6d2933
Unverified
Commit
be6d2933
authored
Jan 24, 2017
by
Clayton Coleman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor: Move *Options references to metav1
parent
7b1c7154
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
92 changed files
with
240 additions
and
244 deletions
+240
-244
register.go
cmd/kube-aggregator/pkg/apis/apiregistration/register.go
+1
-1
apiclient.go
cmd/kubeadm/app/master/apiclient.go
+1
-1
rrchangeset.go
federation/pkg/dnsprovider/providers/coredns/rrchangeset.go
+2
-1
corednsapi.go
...ion/pkg/dnsprovider/providers/coredns/stubs/corednsapi.go
+2
-1
configmap_controller.go
...g/federation-controller/configmap/configmap_controller.go
+1
-1
daemonset_controller.go
...g/federation-controller/daemonset/daemonset_controller.go
+1
-1
deploymentcontroller.go
.../federation-controller/deployment/deploymentcontroller.go
+1
-1
ingress_controller.go
...n/pkg/federation-controller/ingress/ingress_controller.go
+2
-2
namespace_controller.go
...g/federation-controller/namespace/namespace_controller.go
+8
-8
replicasetcontroller.go
.../federation-controller/replicaset/replicasetcontroller.go
+1
-1
secret_controller.go
...ion/pkg/federation-controller/secret/secret_controller.go
+1
-1
servicecontroller.go
...on/pkg/federation-controller/service/servicecontroller.go
+1
-1
unjoin.go
federation/pkg/kubefed/unjoin.go
+2
-2
helpers.go
pkg/api/v1/helpers.go
+1
-1
client.go
pkg/client/typed/dynamic/client.go
+2
-2
garbagecollector.go
pkg/controller/garbagecollector/garbagecollector.go
+2
-2
namespace_controller_utils.go
pkg/controller/namespace/namespace_controller_utils.go
+3
-3
controller_utils.go
pkg/controller/node/controller_utils.go
+1
-1
test_utils.go
pkg/controller/node/testutil/test_utils.go
+2
-2
gc_controller.go
pkg/controller/podgc/gc_controller.go
+1
-1
tokens_controller.go
pkg/controller/serviceaccount/tokens_controller.go
+3
-3
apiserver_test.go
pkg/genericapiserver/endpoints/apiserver_test.go
+6
-6
rest.go
pkg/genericapiserver/endpoints/handlers/rest.go
+2
-3
store.go
pkg/genericapiserver/registry/generic/registry/store.go
+6
-6
store_test.go
pkg/genericapiserver/registry/generic/registry/store_test.go
+8
-8
delete.go
pkg/genericapiserver/registry/rest/delete.go
+2
-3
rest.go
pkg/genericapiserver/registry/rest/rest.go
+3
-3
resttest.go
pkg/genericapiserver/registry/rest/resttest/resttest.go
+11
-11
apply.go
pkg/kubectl/cmd/apply.go
+2
-2
delete.go
pkg/kubectl/cmd/delete.go
+3
-3
delete_test.go
pkg/kubectl/cmd/delete_test.go
+2
-2
drain.go
pkg/kubectl/cmd/drain.go
+2
-2
rolling_updater.go
pkg/kubectl/rolling_updater.go
+1
-1
stop.go
pkg/kubectl/stop.go
+12
-12
stop_test.go
pkg/kubectl/stop_test.go
+1
-1
mirror_client.go
pkg/kubelet/pod/mirror_client.go
+2
-1
status_manager.go
pkg/kubelet/status/status_manager.go
+2
-2
storage.go
pkg/registry/core/namespace/storage/storage.go
+3
-3
storage_test.go
pkg/registry/core/pod/storage/storage_test.go
+1
-1
strategy.go
pkg/registry/core/pod/strategy.go
+2
-2
strategy_test.go
pkg/registry/core/pod/strategy_test.go
+1
-1
cluster_logging_es.go
test/e2e/cluster_logging_es.go
+1
-2
cluster_logging_gcl.go
test/e2e/cluster_logging_gcl.go
+2
-2
configmap.go
test/e2e/common/configmap.go
+1
-1
container_probe.go
test/e2e/common/container_probe.go
+1
-1
pods.go
test/e2e/common/pods.go
+1
-1
secrets.go
test/e2e/common/secrets.go
+1
-1
cronjob.go
test/e2e/cronjob.go
+1
-2
deployment.go
test/e2e/deployment.go
+1
-2
dns.go
test/e2e/dns.go
+2
-2
dns_configmap.go
test/e2e/dns_configmap.go
+1
-1
empty_dir_wrapper.go
test/e2e/empty_dir_wrapper.go
+2
-2
etcd_failure.go
test/e2e/etcd_failure.go
+1
-1
networking_utils.go
test/e2e/framework/networking_utils.go
+1
-1
pods.go
test/e2e/framework/pods.go
+1
-1
util.go
test/e2e/framework/util.go
+3
-3
garbage_collector.go
test/e2e/garbage_collector.go
+10
-10
generated_clientset.go
test/e2e/generated_clientset.go
+1
-1
job.go
test/e2e/job.go
+1
-2
node_problem_detector.go
test/e2e/node_problem_detector.go
+2
-2
pd.go
test/e2e/pd.go
+27
-27
resource_quota.go
test/e2e/resource_quota.go
+5
-5
scheduler_predicates.go
test/e2e/scheduler_predicates.go
+1
-1
service.go
test/e2e/service.go
+1
-1
statefulset.go
test/e2e/statefulset.go
+2
-2
third-party.go
test/e2e/third-party.go
+1
-2
federated-daemonset.go
test/e2e_federation/federated-daemonset.go
+2
-2
federated-deployment.go
test/e2e_federation/federated-deployment.go
+3
-3
federated-ingress.go
test/e2e_federation/federated-ingress.go
+4
-4
federated-namespace.go
test/e2e_federation/federated-namespace.go
+2
-2
federated-replicaset.go
test/e2e_federation/federated-replicaset.go
+3
-3
federated-secret.go
test/e2e_federation/federated-secret.go
+1
-1
federated-service.go
test/e2e_federation/federated-service.go
+3
-3
federation-apiserver.go
test/e2e_federation/federation-apiserver.go
+2
-2
federation-event.go
test/e2e_federation/federation-event.go
+2
-2
federation-util.go
test/e2e_federation/federation-util.go
+6
-6
framework.go
test/e2e_federation/framework/framework.go
+1
-1
cgroup_manager_test.go
test/e2e_node/cgroup_manager_test.go
+3
-3
container.go
test/e2e_node/container.go
+1
-1
disk_eviction_test.go
test/e2e_node/disk_eviction_test.go
+3
-3
garbage_collector_test.go
test/e2e_node/garbage_collector_test.go
+1
-1
inode_eviction_test.go
test/e2e_node/inode_eviction_test.go
+1
-1
kubelet_test.go
test/e2e_node/kubelet_test.go
+1
-1
lifecycle_hook_test.go
test/e2e_node/lifecycle_hook_test.go
+2
-2
mirror_pod_test.go
test/e2e_node/mirror_pod_test.go
+2
-2
resource_collector.go
test/e2e_node/resource_collector.go
+1
-1
volume_manager_test.go
test/e2e_node/volume_manager_test.go
+1
-1
evictions_test.go
test/integration/evictions/evictions_test.go
+2
-2
perf_utils.go
test/integration/framework/perf_utils.go
+1
-1
garbage_collector_test.go
test/integration/garbagecollector/garbage_collector_test.go
+5
-5
scheduler_test.go
test/integration/scheduler/scheduler_test.go
+4
-4
runners.go
test/utils/runners.go
+1
-1
No files found.
cmd/kube-aggregator/pkg/apis/apiregistration/register.go
View file @
be6d2933
...
@@ -50,7 +50,7 @@ func addKnownTypes(scheme *runtime.Scheme) error {
...
@@ -50,7 +50,7 @@ func addKnownTypes(scheme *runtime.Scheme) error {
&
APIServiceList
{},
&
APIServiceList
{},
&
kapi
.
ListOptions
{},
&
kapi
.
ListOptions
{},
&
kapi
.
DeleteOptions
{},
&
metav1
.
DeleteOptions
{},
&
metav1
.
GetOptions
{},
&
metav1
.
GetOptions
{},
)
)
metav1
.
AddToGroupVersion
(
scheme
,
SchemeGroupVersion
)
metav1
.
AddToGroupVersion
(
scheme
,
SchemeGroupVersion
)
...
...
cmd/kubeadm/app/master/apiclient.go
View file @
be6d2933
...
@@ -295,7 +295,7 @@ func createDummyDeployment(client *clientset.Clientset) {
...
@@ -295,7 +295,7 @@ func createDummyDeployment(client *clientset.Clientset) {
fmt
.
Println
(
"[apiclient] Test deployment succeeded"
)
fmt
.
Println
(
"[apiclient] Test deployment succeeded"
)
// TODO: In the future, make sure the ReplicaSet and Pod are garbage collected
// TODO: In the future, make sure the ReplicaSet and Pod are garbage collected
if
err
:=
client
.
Extensions
()
.
Deployments
(
metav1
.
NamespaceSystem
)
.
Delete
(
"dummy"
,
&
v1
.
DeleteOptions
{});
err
!=
nil
{
if
err
:=
client
.
Extensions
()
.
Deployments
(
metav1
.
NamespaceSystem
)
.
Delete
(
"dummy"
,
&
meta
v1
.
DeleteOptions
{});
err
!=
nil
{
fmt
.
Printf
(
"[apiclient] Failed to delete test deployment [%v] (will ignore)
\n
"
,
err
)
fmt
.
Printf
(
"[apiclient] Failed to delete test deployment [%v] (will ignore)
\n
"
,
err
)
}
}
}
}
federation/pkg/dnsprovider/providers/coredns/rrchangeset.go
View file @
be6d2933
...
@@ -19,10 +19,11 @@ package coredns
...
@@ -19,10 +19,11 @@ package coredns
import
(
import
(
"encoding/json"
"encoding/json"
"fmt"
"fmt"
"hash/fnv"
etcdc
"github.com/coreos/etcd/client"
etcdc
"github.com/coreos/etcd/client"
dnsmsg
"github.com/miekg/coredns/middleware/etcd/msg"
dnsmsg
"github.com/miekg/coredns/middleware/etcd/msg"
"golang.org/x/net/context"
"golang.org/x/net/context"
"hash/fnv"
"k8s.io/kubernetes/federation/pkg/dnsprovider"
"k8s.io/kubernetes/federation/pkg/dnsprovider"
)
)
...
...
federation/pkg/dnsprovider/providers/coredns/stubs/corednsapi.go
View file @
be6d2933
...
@@ -18,9 +18,10 @@ limitations under the License.
...
@@ -18,9 +18,10 @@ limitations under the License.
package
stubs
package
stubs
import
(
import
(
"strings"
etcd
"github.com/coreos/etcd/client"
etcd
"github.com/coreos/etcd/client"
"golang.org/x/net/context"
"golang.org/x/net/context"
"strings"
)
)
// Compile time check for interface conformance
// Compile time check for interface conformance
...
...
federation/pkg/federation-controller/configmap/configmap_controller.go
View file @
be6d2933
...
@@ -156,7 +156,7 @@ func NewConfigMapController(client federationclientset.Interface) *ConfigMapCont
...
@@ -156,7 +156,7 @@ func NewConfigMapController(client federationclientset.Interface) *ConfigMapCont
},
},
func
(
client
kubeclientset
.
Interface
,
obj
pkgruntime
.
Object
)
error
{
func
(
client
kubeclientset
.
Interface
,
obj
pkgruntime
.
Object
)
error
{
configmap
:=
obj
.
(
*
apiv1
.
ConfigMap
)
configmap
:=
obj
.
(
*
apiv1
.
ConfigMap
)
err
:=
client
.
Core
()
.
ConfigMaps
(
configmap
.
Namespace
)
.
Delete
(
configmap
.
Name
,
&
api
v1
.
DeleteOptions
{})
err
:=
client
.
Core
()
.
ConfigMaps
(
configmap
.
Namespace
)
.
Delete
(
configmap
.
Name
,
&
meta
v1
.
DeleteOptions
{})
return
err
return
err
})
})
return
configmapcontroller
return
configmapcontroller
...
...
federation/pkg/federation-controller/daemonset/daemonset_controller.go
View file @
be6d2933
...
@@ -176,7 +176,7 @@ func NewDaemonSetController(client federationclientset.Interface) *DaemonSetCont
...
@@ -176,7 +176,7 @@ func NewDaemonSetController(client federationclientset.Interface) *DaemonSetCont
func
(
client
kubeclientset
.
Interface
,
obj
pkgruntime
.
Object
)
error
{
func
(
client
kubeclientset
.
Interface
,
obj
pkgruntime
.
Object
)
error
{
daemonset
:=
obj
.
(
*
extensionsv1
.
DaemonSet
)
daemonset
:=
obj
.
(
*
extensionsv1
.
DaemonSet
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to delete daemonset: %s/%s"
,
daemonset
.
Namespace
,
daemonset
.
Name
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to delete daemonset: %s/%s"
,
daemonset
.
Namespace
,
daemonset
.
Name
)
err
:=
client
.
Extensions
()
.
DaemonSets
(
daemonset
.
Namespace
)
.
Delete
(
daemonset
.
Name
,
&
api
v1
.
DeleteOptions
{})
err
:=
client
.
Extensions
()
.
DaemonSets
(
daemonset
.
Namespace
)
.
Delete
(
daemonset
.
Name
,
&
meta
v1
.
DeleteOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
glog
.
Errorf
(
"Error deleting daemonset %s/%s/: %v"
,
daemonset
.
Namespace
,
daemonset
.
Name
,
err
)
glog
.
Errorf
(
"Error deleting daemonset %s/%s/: %v"
,
daemonset
.
Namespace
,
daemonset
.
Name
,
err
)
}
else
{
}
else
{
...
...
federation/pkg/federation-controller/deployment/deploymentcontroller.go
View file @
be6d2933
...
@@ -197,7 +197,7 @@ func NewDeploymentController(federationClient fedclientset.Interface) *Deploymen
...
@@ -197,7 +197,7 @@ func NewDeploymentController(federationClient fedclientset.Interface) *Deploymen
},
},
func
(
client
kubeclientset
.
Interface
,
obj
runtime
.
Object
)
error
{
func
(
client
kubeclientset
.
Interface
,
obj
runtime
.
Object
)
error
{
rs
:=
obj
.
(
*
extensionsv1
.
Deployment
)
rs
:=
obj
.
(
*
extensionsv1
.
Deployment
)
err
:=
client
.
Extensions
()
.
Deployments
(
rs
.
Namespace
)
.
Delete
(
rs
.
Name
,
&
api
v1
.
DeleteOptions
{})
err
:=
client
.
Extensions
()
.
Deployments
(
rs
.
Namespace
)
.
Delete
(
rs
.
Name
,
&
meta
v1
.
DeleteOptions
{})
return
err
return
err
})
})
...
...
federation/pkg/federation-controller/ingress/ingress_controller.go
View file @
be6d2933
...
@@ -252,7 +252,7 @@ func NewIngressController(client federationclientset.Interface) *IngressControll
...
@@ -252,7 +252,7 @@ func NewIngressController(client federationclientset.Interface) *IngressControll
func
(
client
kubeclientset
.
Interface
,
obj
pkgruntime
.
Object
)
error
{
func
(
client
kubeclientset
.
Interface
,
obj
pkgruntime
.
Object
)
error
{
ingress
:=
obj
.
(
*
extensionsv1beta1
.
Ingress
)
ingress
:=
obj
.
(
*
extensionsv1beta1
.
Ingress
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to delete Ingress: %v"
,
ingress
)
glog
.
V
(
4
)
.
Infof
(
"Attempting to delete Ingress: %v"
,
ingress
)
err
:=
client
.
Extensions
()
.
Ingresses
(
ingress
.
Namespace
)
.
Delete
(
ingress
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
client
.
Extensions
()
.
Ingresses
(
ingress
.
Namespace
)
.
Delete
(
ingress
.
Name
,
&
meta
v1
.
DeleteOptions
{})
return
err
return
err
})
})
...
@@ -281,7 +281,7 @@ func NewIngressController(client federationclientset.Interface) *IngressControll
...
@@ -281,7 +281,7 @@ func NewIngressController(client federationclientset.Interface) *IngressControll
configMap
:=
obj
.
(
*
v1
.
ConfigMap
)
configMap
:=
obj
.
(
*
v1
.
ConfigMap
)
configMapName
:=
types
.
NamespacedName
{
Name
:
configMap
.
Name
,
Namespace
:
configMap
.
Namespace
}
configMapName
:=
types
.
NamespacedName
{
Name
:
configMap
.
Name
,
Namespace
:
configMap
.
Namespace
}
glog
.
Errorf
(
"Internal error: Incorrectly attempting to delete ConfigMap: %q"
,
configMapName
)
glog
.
Errorf
(
"Internal error: Incorrectly attempting to delete ConfigMap: %q"
,
configMapName
)
err
:=
client
.
Core
()
.
ConfigMaps
(
configMap
.
Namespace
)
.
Delete
(
configMap
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
client
.
Core
()
.
ConfigMaps
(
configMap
.
Namespace
)
.
Delete
(
configMap
.
Name
,
&
meta
v1
.
DeleteOptions
{})
return
err
return
err
})
})
...
...
federation/pkg/federation-controller/namespace/namespace_controller.go
View file @
be6d2933
...
@@ -157,7 +157,7 @@ func NewNamespaceController(client federationclientset.Interface) *NamespaceCont
...
@@ -157,7 +157,7 @@ func NewNamespaceController(client federationclientset.Interface) *NamespaceCont
},
},
func
(
client
kubeclientset
.
Interface
,
obj
runtime
.
Object
)
error
{
func
(
client
kubeclientset
.
Interface
,
obj
runtime
.
Object
)
error
{
namespace
:=
obj
.
(
*
apiv1
.
Namespace
)
namespace
:=
obj
.
(
*
apiv1
.
Namespace
)
err
:=
client
.
Core
()
.
Namespaces
()
.
Delete
(
namespace
.
Name
,
&
api
v1
.
DeleteOptions
{})
err
:=
client
.
Core
()
.
Namespaces
()
.
Delete
(
namespace
.
Name
,
&
meta
v1
.
DeleteOptions
{})
// IsNotFound error is fine since that means the object is deleted already.
// IsNotFound error is fine since that means the object is deleted already.
if
errors
.
IsNotFound
(
err
)
{
if
errors
.
IsNotFound
(
err
)
{
return
nil
return
nil
...
@@ -492,31 +492,31 @@ func (nc *NamespaceController) removeKubernetesFinalizer(namespace *apiv1.Namesp
...
@@ -492,31 +492,31 @@ func (nc *NamespaceController) removeKubernetesFinalizer(namespace *apiv1.Namesp
// Right now there are just 7 types of objects: Deployments, DaemonSets, ReplicaSet, Secret, Ingress, Events and Service.
// Right now there are just 7 types of objects: Deployments, DaemonSets, ReplicaSet, Secret, Ingress, Events and Service.
// Temporarily these items are simply deleted one by one to squeeze this code into 1.4.
// Temporarily these items are simply deleted one by one to squeeze this code into 1.4.
// TODO: Make it generic (like in the regular namespace controller) and parallel.
// TODO: Make it generic (like in the regular namespace controller) and parallel.
err
:=
nc
.
federatedApiClient
.
Core
()
.
Services
(
namespace
.
Name
)
.
DeleteCollection
(
&
api
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
err
:=
nc
.
federatedApiClient
.
Core
()
.
Services
(
namespace
.
Name
)
.
DeleteCollection
(
&
meta
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to delete service list: %v"
,
err
)
return
nil
,
fmt
.
Errorf
(
"failed to delete service list: %v"
,
err
)
}
}
err
=
nc
.
federatedApiClient
.
Extensions
()
.
ReplicaSets
(
namespace
.
Name
)
.
DeleteCollection
(
&
api
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
err
=
nc
.
federatedApiClient
.
Extensions
()
.
ReplicaSets
(
namespace
.
Name
)
.
DeleteCollection
(
&
meta
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to delete replicaset list from namespace: %v"
,
err
)
return
nil
,
fmt
.
Errorf
(
"failed to delete replicaset list from namespace: %v"
,
err
)
}
}
err
=
nc
.
federatedApiClient
.
Core
()
.
Secrets
(
namespace
.
Name
)
.
DeleteCollection
(
&
api
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
err
=
nc
.
federatedApiClient
.
Core
()
.
Secrets
(
namespace
.
Name
)
.
DeleteCollection
(
&
meta
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to delete secret list from namespace: %v"
,
err
)
return
nil
,
fmt
.
Errorf
(
"failed to delete secret list from namespace: %v"
,
err
)
}
}
err
=
nc
.
federatedApiClient
.
Extensions
()
.
Ingresses
(
namespace
.
Name
)
.
DeleteCollection
(
&
api
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
err
=
nc
.
federatedApiClient
.
Extensions
()
.
Ingresses
(
namespace
.
Name
)
.
DeleteCollection
(
&
meta
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to delete ingresses list from namespace: %v"
,
err
)
return
nil
,
fmt
.
Errorf
(
"failed to delete ingresses list from namespace: %v"
,
err
)
}
}
err
=
nc
.
federatedApiClient
.
Extensions
()
.
DaemonSets
(
namespace
.
Name
)
.
DeleteCollection
(
&
api
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
err
=
nc
.
federatedApiClient
.
Extensions
()
.
DaemonSets
(
namespace
.
Name
)
.
DeleteCollection
(
&
meta
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to delete daemonsets list from namespace: %v"
,
err
)
return
nil
,
fmt
.
Errorf
(
"failed to delete daemonsets list from namespace: %v"
,
err
)
}
}
err
=
nc
.
federatedApiClient
.
Extensions
()
.
Deployments
(
namespace
.
Name
)
.
DeleteCollection
(
&
api
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
err
=
nc
.
federatedApiClient
.
Extensions
()
.
Deployments
(
namespace
.
Name
)
.
DeleteCollection
(
&
meta
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to delete deployments list from namespace: %v"
,
err
)
return
nil
,
fmt
.
Errorf
(
"failed to delete deployments list from namespace: %v"
,
err
)
}
}
err
=
nc
.
federatedApiClient
.
Core
()
.
Events
(
namespace
.
Name
)
.
DeleteCollection
(
&
api
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
err
=
nc
.
federatedApiClient
.
Core
()
.
Events
(
namespace
.
Name
)
.
DeleteCollection
(
&
meta
v1
.
DeleteOptions
{},
metav1
.
ListOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to delete events list from namespace: %v"
,
err
)
return
nil
,
fmt
.
Errorf
(
"failed to delete events list from namespace: %v"
,
err
)
}
}
...
...
federation/pkg/federation-controller/replicaset/replicasetcontroller.go
View file @
be6d2933
...
@@ -201,7 +201,7 @@ func NewReplicaSetController(federationClient fedclientset.Interface) *ReplicaSe
...
@@ -201,7 +201,7 @@ func NewReplicaSetController(federationClient fedclientset.Interface) *ReplicaSe
},
},
func
(
client
kubeclientset
.
Interface
,
obj
runtime
.
Object
)
error
{
func
(
client
kubeclientset
.
Interface
,
obj
runtime
.
Object
)
error
{
rs
:=
obj
.
(
*
extensionsv1
.
ReplicaSet
)
rs
:=
obj
.
(
*
extensionsv1
.
ReplicaSet
)
err
:=
client
.
Extensions
()
.
ReplicaSets
(
rs
.
Namespace
)
.
Delete
(
rs
.
Name
,
&
api
v1
.
DeleteOptions
{})
err
:=
client
.
Extensions
()
.
ReplicaSets
(
rs
.
Namespace
)
.
Delete
(
rs
.
Name
,
&
meta
v1
.
DeleteOptions
{})
return
err
return
err
})
})
...
...
federation/pkg/federation-controller/secret/secret_controller.go
View file @
be6d2933
...
@@ -161,7 +161,7 @@ func NewSecretController(client federationclientset.Interface) *SecretController
...
@@ -161,7 +161,7 @@ func NewSecretController(client federationclientset.Interface) *SecretController
},
},
func
(
client
kubeclientset
.
Interface
,
obj
pkgruntime
.
Object
)
error
{
func
(
client
kubeclientset
.
Interface
,
obj
pkgruntime
.
Object
)
error
{
secret
:=
obj
.
(
*
apiv1
.
Secret
)
secret
:=
obj
.
(
*
apiv1
.
Secret
)
err
:=
client
.
Core
()
.
Secrets
(
secret
.
Namespace
)
.
Delete
(
secret
.
Name
,
&
api
v1
.
DeleteOptions
{})
err
:=
client
.
Core
()
.
Secrets
(
secret
.
Namespace
)
.
Delete
(
secret
.
Name
,
&
meta
v1
.
DeleteOptions
{})
return
err
return
err
})
})
...
...
federation/pkg/federation-controller/service/servicecontroller.go
View file @
be6d2933
...
@@ -282,7 +282,7 @@ func New(federationClient fedclientset.Interface, dns dnsprovider.Interface,
...
@@ -282,7 +282,7 @@ func New(federationClient fedclientset.Interface, dns dnsprovider.Interface,
},
},
func
(
client
kubeclientset
.
Interface
,
obj
pkgruntime
.
Object
)
error
{
func
(
client
kubeclientset
.
Interface
,
obj
pkgruntime
.
Object
)
error
{
svc
:=
obj
.
(
*
v1
.
Service
)
svc
:=
obj
.
(
*
v1
.
Service
)
err
:=
client
.
Core
()
.
Services
(
svc
.
Namespace
)
.
Delete
(
svc
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
client
.
Core
()
.
Services
(
svc
.
Namespace
)
.
Delete
(
svc
.
Name
,
&
meta
v1
.
DeleteOptions
{})
return
err
return
err
})
})
...
...
federation/pkg/kubefed/unjoin.go
View file @
be6d2933
...
@@ -22,10 +22,10 @@ import (
...
@@ -22,10 +22,10 @@ import (
"net/url"
"net/url"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/errors"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
federationapi
"k8s.io/kubernetes/federation/apis/federation"
federationapi
"k8s.io/kubernetes/federation/apis/federation"
"k8s.io/kubernetes/federation/pkg/kubefed/util"
"k8s.io/kubernetes/federation/pkg/kubefed/util"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
"k8s.io/kubernetes/pkg/kubectl/resource"
"k8s.io/kubernetes/pkg/kubectl/resource"
...
@@ -139,7 +139,7 @@ func deleteSecret(hostFactory cmdutil.Factory, name, namespace string) error {
...
@@ -139,7 +139,7 @@ func deleteSecret(hostFactory cmdutil.Factory, name, namespace string) error {
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
return
clientset
.
Core
()
.
Secrets
(
namespace
)
.
Delete
(
name
,
&
api
.
DeleteOptions
{})
return
clientset
.
Core
()
.
Secrets
(
namespace
)
.
Delete
(
name
,
&
metav1
.
DeleteOptions
{})
}
}
// isNotFound checks if the given error is a NotFound status error.
// isNotFound checks if the given error is a NotFound status error.
...
...
pkg/api/v1/helpers.go
View file @
be6d2933
...
@@ -47,7 +47,7 @@ func OpaqueIntResourceName(name string) ResourceName {
...
@@ -47,7 +47,7 @@ func OpaqueIntResourceName(name string) ResourceName {
// NewDeleteOptions returns a DeleteOptions indicating the resource should
// NewDeleteOptions returns a DeleteOptions indicating the resource should
// be deleted within the specified grace period. Use zero to indicate
// be deleted within the specified grace period. Use zero to indicate
// immediate deletion. If you would prefer to use the default grace period,
// immediate deletion. If you would prefer to use the default grace period,
// use &
api
.DeleteOptions{} directly.
// use &
metav1
.DeleteOptions{} directly.
func
NewDeleteOptions
(
grace
int64
)
*
DeleteOptions
{
func
NewDeleteOptions
(
grace
int64
)
*
DeleteOptions
{
return
&
DeleteOptions
{
GracePeriodSeconds
:
&
grace
}
return
&
DeleteOptions
{
GracePeriodSeconds
:
&
grace
}
}
}
...
...
pkg/client/typed/dynamic/client.go
View file @
be6d2933
...
@@ -138,7 +138,7 @@ func (rc *ResourceClient) Get(name string) (*unstructured.Unstructured, error) {
...
@@ -138,7 +138,7 @@ func (rc *ResourceClient) Get(name string) (*unstructured.Unstructured, error) {
}
}
// Delete deletes the resource with the specified name.
// Delete deletes the resource with the specified name.
func
(
rc
*
ResourceClient
)
Delete
(
name
string
,
opts
*
v1
.
DeleteOptions
)
error
{
func
(
rc
*
ResourceClient
)
Delete
(
name
string
,
opts
*
meta
v1
.
DeleteOptions
)
error
{
return
rc
.
cl
.
Delete
()
.
return
rc
.
cl
.
Delete
()
.
NamespaceIfScoped
(
rc
.
ns
,
rc
.
resource
.
Namespaced
)
.
NamespaceIfScoped
(
rc
.
ns
,
rc
.
resource
.
Namespaced
)
.
Resource
(
rc
.
resource
.
Name
)
.
Resource
(
rc
.
resource
.
Name
)
.
...
@@ -149,7 +149,7 @@ func (rc *ResourceClient) Delete(name string, opts *v1.DeleteOptions) error {
...
@@ -149,7 +149,7 @@ func (rc *ResourceClient) Delete(name string, opts *v1.DeleteOptions) error {
}
}
// DeleteCollection deletes a collection of objects.
// DeleteCollection deletes a collection of objects.
func
(
rc
*
ResourceClient
)
DeleteCollection
(
deleteOptions
*
v1
.
DeleteOptions
,
listOptions
runtime
.
Object
)
error
{
func
(
rc
*
ResourceClient
)
DeleteCollection
(
deleteOptions
*
meta
v1
.
DeleteOptions
,
listOptions
runtime
.
Object
)
error
{
parameterEncoder
:=
rc
.
parameterCodec
parameterEncoder
:=
rc
.
parameterCodec
if
parameterEncoder
==
nil
{
if
parameterEncoder
==
nil
{
parameterEncoder
=
defaultParameterEncoder
parameterEncoder
=
defaultParameterEncoder
...
...
pkg/controller/garbagecollector/garbagecollector.go
View file @
be6d2933
...
@@ -624,8 +624,8 @@ func (gc *GarbageCollector) deleteObject(item objectReference) error {
...
@@ -624,8 +624,8 @@ func (gc *GarbageCollector) deleteObject(item objectReference) error {
return
err
return
err
}
}
uid
:=
item
.
UID
uid
:=
item
.
UID
preconditions
:=
v1
.
Preconditions
{
UID
:
&
uid
}
preconditions
:=
meta
v1
.
Preconditions
{
UID
:
&
uid
}
deleteOptions
:=
v1
.
DeleteOptions
{
Preconditions
:
&
preconditions
}
deleteOptions
:=
meta
v1
.
DeleteOptions
{
Preconditions
:
&
preconditions
}
return
client
.
Resource
(
resource
,
item
.
Namespace
)
.
Delete
(
item
.
Name
,
&
deleteOptions
)
return
client
.
Resource
(
resource
,
item
.
Namespace
)
.
Delete
(
item
.
Name
,
&
deleteOptions
)
}
}
...
...
pkg/controller/namespace/namespace_controller_utils.go
View file @
be6d2933
...
@@ -178,7 +178,7 @@ func deleteCollection(
...
@@ -178,7 +178,7 @@ func deleteCollection(
// resource deletions generically. it will ensure all resources in the namespace are purged prior to releasing
// resource deletions generically. it will ensure all resources in the namespace are purged prior to releasing
// namespace itself.
// namespace itself.
orphanDependents
:=
false
orphanDependents
:=
false
err
:=
dynamicClient
.
Resource
(
&
apiResource
,
namespace
)
.
DeleteCollection
(
&
v1
.
DeleteOptions
{
OrphanDependents
:
&
orphanDependents
},
&
metav1
.
ListOptions
{})
err
:=
dynamicClient
.
Resource
(
&
apiResource
,
namespace
)
.
DeleteCollection
(
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
&
orphanDependents
},
&
metav1
.
ListOptions
{})
if
err
==
nil
{
if
err
==
nil
{
return
true
,
nil
return
true
,
nil
...
@@ -406,10 +406,10 @@ func syncNamespace(
...
@@ -406,10 +406,10 @@ func syncNamespace(
// if the namespace is already finalized, delete it
// if the namespace is already finalized, delete it
if
finalized
(
namespace
)
{
if
finalized
(
namespace
)
{
var
opts
*
v1
.
DeleteOptions
var
opts
*
meta
v1
.
DeleteOptions
uid
:=
namespace
.
UID
uid
:=
namespace
.
UID
if
len
(
uid
)
>
0
{
if
len
(
uid
)
>
0
{
opts
=
&
v1
.
DeleteOptions
{
Preconditions
:
&
v1
.
Preconditions
{
UID
:
&
uid
}}
opts
=
&
metav1
.
DeleteOptions
{
Preconditions
:
&
meta
v1
.
Preconditions
{
UID
:
&
uid
}}
}
}
err
=
kubeClient
.
Core
()
.
Namespaces
()
.
Delete
(
namespace
.
Name
,
opts
)
err
=
kubeClient
.
Core
()
.
Namespaces
()
.
Delete
(
namespace
.
Name
,
opts
)
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
...
...
pkg/controller/node/controller_utils.go
View file @
be6d2933
...
@@ -122,7 +122,7 @@ func setPodTerminationReason(kubeClient clientset.Interface, pod *v1.Pod, nodeNa
...
@@ -122,7 +122,7 @@ func setPodTerminationReason(kubeClient clientset.Interface, pod *v1.Pod, nodeNa
func
forcefullyDeletePod
(
c
clientset
.
Interface
,
pod
*
v1
.
Pod
)
error
{
func
forcefullyDeletePod
(
c
clientset
.
Interface
,
pod
*
v1
.
Pod
)
error
{
var
zero
int64
var
zero
int64
glog
.
Infof
(
"NodeController is force deleting Pod: %v:%v"
,
pod
.
Namespace
,
pod
.
Name
)
glog
.
Infof
(
"NodeController is force deleting Pod: %v:%v"
,
pod
.
Namespace
,
pod
.
Name
)
err
:=
c
.
Core
()
.
Pods
(
pod
.
Namespace
)
.
Delete
(
pod
.
Name
,
&
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
zero
})
err
:=
c
.
Core
()
.
Pods
(
pod
.
Namespace
)
.
Delete
(
pod
.
Name
,
&
meta
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
zero
})
if
err
==
nil
{
if
err
==
nil
{
glog
.
V
(
4
)
.
Infof
(
"forceful deletion of %s succeeded"
,
pod
.
Name
)
glog
.
V
(
4
)
.
Infof
(
"forceful deletion of %s succeeded"
,
pod
.
Name
)
}
}
...
...
pkg/controller/node/testutil/test_utils.go
View file @
be6d2933
...
@@ -160,7 +160,7 @@ func (m *FakeNodeHandler) List(opts metav1.ListOptions) (*v1.NodeList, error) {
...
@@ -160,7 +160,7 @@ func (m *FakeNodeHandler) List(opts metav1.ListOptions) (*v1.NodeList, error) {
}
}
// Delete delets a Node from the fake store.
// Delete delets a Node from the fake store.
func
(
m
*
FakeNodeHandler
)
Delete
(
id
string
,
opt
*
v1
.
DeleteOptions
)
error
{
func
(
m
*
FakeNodeHandler
)
Delete
(
id
string
,
opt
*
meta
v1
.
DeleteOptions
)
error
{
m
.
lock
.
Lock
()
m
.
lock
.
Lock
()
defer
func
()
{
defer
func
()
{
m
.
RequestCount
++
m
.
RequestCount
++
...
@@ -174,7 +174,7 @@ func (m *FakeNodeHandler) Delete(id string, opt *v1.DeleteOptions) error {
...
@@ -174,7 +174,7 @@ func (m *FakeNodeHandler) Delete(id string, opt *v1.DeleteOptions) error {
}
}
// DeleteCollection deletes a collection of Nodes from the fake store.
// DeleteCollection deletes a collection of Nodes from the fake store.
func
(
m
*
FakeNodeHandler
)
DeleteCollection
(
opt
*
v1
.
DeleteOptions
,
listOpts
metav1
.
ListOptions
)
error
{
func
(
m
*
FakeNodeHandler
)
DeleteCollection
(
opt
*
meta
v1
.
DeleteOptions
,
listOpts
metav1
.
ListOptions
)
error
{
return
nil
return
nil
}
}
...
...
pkg/controller/podgc/gc_controller.go
View file @
be6d2933
...
@@ -67,7 +67,7 @@ func NewPodGC(kubeClient clientset.Interface, podInformer cache.SharedIndexInfor
...
@@ -67,7 +67,7 @@ func NewPodGC(kubeClient clientset.Interface, podInformer cache.SharedIndexInfor
terminatedPodThreshold
:
terminatedPodThreshold
,
terminatedPodThreshold
:
terminatedPodThreshold
,
deletePod
:
func
(
namespace
,
name
string
)
error
{
deletePod
:
func
(
namespace
,
name
string
)
error
{
glog
.
Infof
(
"PodGC is force deleting Pod: %v:%v"
,
namespace
,
name
)
glog
.
Infof
(
"PodGC is force deleting Pod: %v:%v"
,
namespace
,
name
)
return
kubeClient
.
Core
()
.
Pods
(
namespace
)
.
Delete
(
name
,
v1
.
NewDeleteOptions
(
0
))
return
kubeClient
.
Core
()
.
Pods
(
namespace
)
.
Delete
(
name
,
meta
v1
.
NewDeleteOptions
(
0
))
},
},
}
}
...
...
pkg/controller/serviceaccount/tokens_controller.go
View file @
be6d2933
...
@@ -351,9 +351,9 @@ func (e *TokensController) deleteTokens(serviceAccount *v1.ServiceAccount) ( /*r
...
@@ -351,9 +351,9 @@ func (e *TokensController) deleteTokens(serviceAccount *v1.ServiceAccount) ( /*r
}
}
func
(
e
*
TokensController
)
deleteToken
(
ns
,
name
string
,
uid
types
.
UID
)
(
/*retry*/
bool
,
error
)
{
func
(
e
*
TokensController
)
deleteToken
(
ns
,
name
string
,
uid
types
.
UID
)
(
/*retry*/
bool
,
error
)
{
var
opts
*
v1
.
DeleteOptions
var
opts
*
meta
v1
.
DeleteOptions
if
len
(
uid
)
>
0
{
if
len
(
uid
)
>
0
{
opts
=
&
v1
.
DeleteOptions
{
Preconditions
:
&
v1
.
Preconditions
{
UID
:
&
uid
}}
opts
=
&
metav1
.
DeleteOptions
{
Preconditions
:
&
meta
v1
.
Preconditions
{
UID
:
&
uid
}}
}
}
err
:=
e
.
client
.
Core
()
.
Secrets
(
ns
)
.
Delete
(
name
,
opts
)
err
:=
e
.
client
.
Core
()
.
Secrets
(
ns
)
.
Delete
(
name
,
opts
)
// NotFound doesn't need a retry (it's already been deleted)
// NotFound doesn't need a retry (it's already been deleted)
...
@@ -438,7 +438,7 @@ func (e *TokensController) ensureReferencedToken(serviceAccount *v1.ServiceAccou
...
@@ -438,7 +438,7 @@ func (e *TokensController) ensureReferencedToken(serviceAccount *v1.ServiceAccou
if
_
,
err
=
serviceAccounts
.
Update
(
liveServiceAccount
);
err
!=
nil
{
if
_
,
err
=
serviceAccounts
.
Update
(
liveServiceAccount
);
err
!=
nil
{
// we weren't able to use the token, try to clean it up.
// we weren't able to use the token, try to clean it up.
glog
.
V
(
2
)
.
Infof
(
"deleting secret %s/%s because reference couldn't be added (%v)"
,
secret
.
Namespace
,
secret
.
Name
,
err
)
glog
.
V
(
2
)
.
Infof
(
"deleting secret %s/%s because reference couldn't be added (%v)"
,
secret
.
Namespace
,
secret
.
Name
,
err
)
deleteOpts
:=
&
v1
.
DeleteOptions
{
Preconditions
:
&
v1
.
Preconditions
{
UID
:
&
createdToken
.
UID
}}
deleteOpts
:=
&
metav1
.
DeleteOptions
{
Preconditions
:
&
meta
v1
.
Preconditions
{
UID
:
&
createdToken
.
UID
}}
if
deleteErr
:=
e
.
client
.
Core
()
.
Secrets
(
createdToken
.
Namespace
)
.
Delete
(
createdToken
.
Name
,
deleteOpts
);
deleteErr
!=
nil
{
if
deleteErr
:=
e
.
client
.
Core
()
.
Secrets
(
createdToken
.
Namespace
)
.
Delete
(
createdToken
.
Name
,
deleteOpts
);
deleteErr
!=
nil
{
glog
.
Error
(
deleteErr
)
// if we fail, just log it
glog
.
Error
(
deleteErr
)
// if we fail, just log it
}
}
...
...
pkg/genericapiserver/endpoints/apiserver_test.go
View file @
be6d2933
...
@@ -338,7 +338,7 @@ type SimpleRESTStorage struct {
...
@@ -338,7 +338,7 @@ type SimpleRESTStorage struct {
stream
*
SimpleStream
stream
*
SimpleStream
deleted
string
deleted
string
deleteOptions
*
api
.
DeleteOptions
deleteOptions
*
metav1
.
DeleteOptions
actualNamespace
string
actualNamespace
string
namespacePresent
bool
namespacePresent
bool
...
@@ -439,7 +439,7 @@ func (storage *SimpleRESTStorage) checkContext(ctx request.Context) {
...
@@ -439,7 +439,7 @@ func (storage *SimpleRESTStorage) checkContext(ctx request.Context) {
storage
.
actualNamespace
,
storage
.
namespacePresent
=
request
.
NamespaceFrom
(
ctx
)
storage
.
actualNamespace
,
storage
.
namespacePresent
=
request
.
NamespaceFrom
(
ctx
)
}
}
func
(
storage
*
SimpleRESTStorage
)
Delete
(
ctx
request
.
Context
,
id
string
,
options
*
api
.
DeleteOptions
)
(
runtime
.
Object
,
error
)
{
func
(
storage
*
SimpleRESTStorage
)
Delete
(
ctx
request
.
Context
,
id
string
,
options
*
metav1
.
DeleteOptions
)
(
runtime
.
Object
,
error
)
{
storage
.
checkContext
(
ctx
)
storage
.
checkContext
(
ctx
)
storage
.
deleted
=
id
storage
.
deleted
=
id
storage
.
deleteOptions
=
options
storage
.
deleteOptions
=
options
...
@@ -1942,7 +1942,7 @@ func TestDeleteWithOptions(t *testing.T) {
...
@@ -1942,7 +1942,7 @@ func TestDeleteWithOptions(t *testing.T) {
defer
server
.
Close
()
defer
server
.
Close
()
grace
:=
int64
(
300
)
grace
:=
int64
(
300
)
item
:=
&
api
.
DeleteOptions
{
item
:=
&
metav1
.
DeleteOptions
{
GracePeriodSeconds
:
&
grace
,
GracePeriodSeconds
:
&
grace
,
}
}
body
,
err
:=
runtime
.
Encode
(
codec
,
item
)
body
,
err
:=
runtime
.
Encode
(
codec
,
item
)
...
@@ -1983,7 +1983,7 @@ func TestDeleteWithOptionsQuery(t *testing.T) {
...
@@ -1983,7 +1983,7 @@ func TestDeleteWithOptionsQuery(t *testing.T) {
defer
server
.
Close
()
defer
server
.
Close
()
grace
:=
int64
(
300
)
grace
:=
int64
(
300
)
item
:=
&
api
.
DeleteOptions
{
item
:=
&
metav1
.
DeleteOptions
{
GracePeriodSeconds
:
&
grace
,
GracePeriodSeconds
:
&
grace
,
}
}
...
@@ -2020,7 +2020,7 @@ func TestDeleteWithOptionsQueryAndBody(t *testing.T) {
...
@@ -2020,7 +2020,7 @@ func TestDeleteWithOptionsQueryAndBody(t *testing.T) {
defer
server
.
Close
()
defer
server
.
Close
()
grace
:=
int64
(
300
)
grace
:=
int64
(
300
)
item
:=
&
api
.
DeleteOptions
{
item
:=
&
metav1
.
DeleteOptions
{
GracePeriodSeconds
:
&
grace
,
GracePeriodSeconds
:
&
grace
,
}
}
body
,
err
:=
runtime
.
Encode
(
codec
,
item
)
body
,
err
:=
runtime
.
Encode
(
codec
,
item
)
...
@@ -2086,7 +2086,7 @@ func TestLegacyDeleteIgnoresOptions(t *testing.T) {
...
@@ -2086,7 +2086,7 @@ func TestLegacyDeleteIgnoresOptions(t *testing.T) {
server
:=
httptest
.
NewServer
(
handler
)
server
:=
httptest
.
NewServer
(
handler
)
defer
server
.
Close
()
defer
server
.
Close
()
item
:=
api
.
NewDeleteOptions
(
300
)
item
:=
metav1
.
NewDeleteOptions
(
300
)
body
,
err
:=
runtime
.
Encode
(
codec
,
item
)
body
,
err
:=
runtime
.
Encode
(
codec
,
item
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
t
.
Fatalf
(
"unexpected error: %v"
,
err
)
...
...
pkg/genericapiserver/endpoints/handlers/rest.go
View file @
be6d2933
...
@@ -39,7 +39,6 @@ import (
...
@@ -39,7 +39,6 @@ import (
"k8s.io/apiserver/pkg/admission"
"k8s.io/apiserver/pkg/admission"
"k8s.io/apiserver/pkg/endpoints/handlers/negotiation"
"k8s.io/apiserver/pkg/endpoints/handlers/negotiation"
"k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/responsewriters"
"k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/responsewriters"
"k8s.io/kubernetes/pkg/genericapiserver/registry/rest"
"k8s.io/kubernetes/pkg/genericapiserver/registry/rest"
"k8s.io/kubernetes/pkg/util"
"k8s.io/kubernetes/pkg/util"
...
@@ -811,7 +810,7 @@ func DeleteResource(r rest.GracefulDeleter, allowsOptions bool, scope RequestSco
...
@@ -811,7 +810,7 @@ func DeleteResource(r rest.GracefulDeleter, allowsOptions bool, scope RequestSco
ctx
:=
scope
.
ContextFunc
(
req
)
ctx
:=
scope
.
ContextFunc
(
req
)
ctx
=
request
.
WithNamespace
(
ctx
,
namespace
)
ctx
=
request
.
WithNamespace
(
ctx
,
namespace
)
options
:=
&
api
.
DeleteOptions
{}
options
:=
&
metav1
.
DeleteOptions
{}
if
allowsOptions
{
if
allowsOptions
{
body
,
err
:=
readBody
(
req
.
Request
)
body
,
err
:=
readBody
(
req
.
Request
)
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -935,7 +934,7 @@ func DeleteCollection(r rest.CollectionDeleter, checkBody bool, scope RequestSco
...
@@ -935,7 +934,7 @@ func DeleteCollection(r rest.CollectionDeleter, checkBody bool, scope RequestSco
}
}
}
}
options
:=
&
api
.
DeleteOptions
{}
options
:=
&
metav1
.
DeleteOptions
{}
if
checkBody
{
if
checkBody
{
body
,
err
:=
readBody
(
req
.
Request
)
body
,
err
:=
readBody
(
req
.
Request
)
if
err
!=
nil
{
if
err
!=
nil
{
...
...
pkg/genericapiserver/registry/generic/registry/store.go
View file @
be6d2933
...
@@ -531,7 +531,7 @@ var (
...
@@ -531,7 +531,7 @@ var (
// - options.OrphanDependents,
// - options.OrphanDependents,
// - existing finalizers of the object
// - existing finalizers of the object
// - e.DeleteStrategy.DefaultGarbageCollectionPolicy
// - e.DeleteStrategy.DefaultGarbageCollectionPolicy
func
shouldUpdateFinalizers
(
e
*
Store
,
accessor
metav1
.
Object
,
options
*
api
.
DeleteOptions
)
(
shouldUpdate
bool
,
newFinalizers
[]
string
)
{
func
shouldUpdateFinalizers
(
e
*
Store
,
accessor
metav1
.
Object
,
options
*
metav1
.
DeleteOptions
)
(
shouldUpdate
bool
,
newFinalizers
[]
string
)
{
shouldOrphan
:=
false
shouldOrphan
:=
false
// Get default orphan policy from this REST object type
// Get default orphan policy from this REST object type
if
gcStrategy
,
ok
:=
e
.
DeleteStrategy
.
(
rest
.
GarbageCollectionDeleteStrategy
);
ok
{
if
gcStrategy
,
ok
:=
e
.
DeleteStrategy
.
(
rest
.
GarbageCollectionDeleteStrategy
);
ok
{
...
@@ -608,7 +608,7 @@ func markAsDeleting(obj runtime.Object) (err error) {
...
@@ -608,7 +608,7 @@ func markAsDeleting(obj runtime.Object) (err error) {
// should be deleted immediately
// should be deleted immediately
// 4. a new output object with the state that was updated
// 4. a new output object with the state that was updated
// 5. a copy of the last existing state of the object
// 5. a copy of the last existing state of the object
func
(
e
*
Store
)
updateForGracefulDeletion
(
ctx
genericapirequest
.
Context
,
name
,
key
string
,
options
*
api
.
DeleteOptions
,
preconditions
storage
.
Preconditions
,
in
runtime
.
Object
)
(
err
error
,
ignoreNotFound
,
deleteImmediately
bool
,
out
,
lastExisting
runtime
.
Object
)
{
func
(
e
*
Store
)
updateForGracefulDeletion
(
ctx
genericapirequest
.
Context
,
name
,
key
string
,
options
*
metav1
.
DeleteOptions
,
preconditions
storage
.
Preconditions
,
in
runtime
.
Object
)
(
err
error
,
ignoreNotFound
,
deleteImmediately
bool
,
out
,
lastExisting
runtime
.
Object
)
{
lastGraceful
:=
int64
(
0
)
lastGraceful
:=
int64
(
0
)
out
=
e
.
NewFunc
()
out
=
e
.
NewFunc
()
err
=
e
.
Storage
.
GuaranteedUpdate
(
err
=
e
.
Storage
.
GuaranteedUpdate
(
...
@@ -670,7 +670,7 @@ func (e *Store) updateForGracefulDeletion(ctx genericapirequest.Context, name, k
...
@@ -670,7 +670,7 @@ func (e *Store) updateForGracefulDeletion(ctx genericapirequest.Context, name, k
// should be deleted immediately
// should be deleted immediately
// 4. a new output object with the state that was updated
// 4. a new output object with the state that was updated
// 5. a copy of the last existing state of the object
// 5. a copy of the last existing state of the object
func
(
e
*
Store
)
updateForGracefulDeletionAndFinalizers
(
ctx
genericapirequest
.
Context
,
name
,
key
string
,
options
*
api
.
DeleteOptions
,
preconditions
storage
.
Preconditions
,
in
runtime
.
Object
)
(
err
error
,
ignoreNotFound
,
deleteImmediately
bool
,
out
,
lastExisting
runtime
.
Object
)
{
func
(
e
*
Store
)
updateForGracefulDeletionAndFinalizers
(
ctx
genericapirequest
.
Context
,
name
,
key
string
,
options
*
metav1
.
DeleteOptions
,
preconditions
storage
.
Preconditions
,
in
runtime
.
Object
)
(
err
error
,
ignoreNotFound
,
deleteImmediately
bool
,
out
,
lastExisting
runtime
.
Object
)
{
lastGraceful
:=
int64
(
0
)
lastGraceful
:=
int64
(
0
)
var
pendingFinalizers
bool
var
pendingFinalizers
bool
out
=
e
.
NewFunc
()
out
=
e
.
NewFunc
()
...
@@ -750,7 +750,7 @@ func (e *Store) updateForGracefulDeletionAndFinalizers(ctx genericapirequest.Con
...
@@ -750,7 +750,7 @@ func (e *Store) updateForGracefulDeletionAndFinalizers(ctx genericapirequest.Con
}
}
// Delete removes the item from storage.
// Delete removes the item from storage.
func
(
e
*
Store
)
Delete
(
ctx
genericapirequest
.
Context
,
name
string
,
options
*
api
.
DeleteOptions
)
(
runtime
.
Object
,
error
)
{
func
(
e
*
Store
)
Delete
(
ctx
genericapirequest
.
Context
,
name
string
,
options
*
metav1
.
DeleteOptions
)
(
runtime
.
Object
,
error
)
{
key
,
err
:=
e
.
KeyFunc
(
ctx
,
name
)
key
,
err
:=
e
.
KeyFunc
(
ctx
,
name
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -762,7 +762,7 @@ func (e *Store) Delete(ctx genericapirequest.Context, name string, options *api.
...
@@ -762,7 +762,7 @@ func (e *Store) Delete(ctx genericapirequest.Context, name string, options *api.
}
}
// support older consumers of delete by treating "nil" as delete immediately
// support older consumers of delete by treating "nil" as delete immediately
if
options
==
nil
{
if
options
==
nil
{
options
=
api
.
NewDeleteOptions
(
0
)
options
=
metav1
.
NewDeleteOptions
(
0
)
}
}
var
preconditions
storage
.
Preconditions
var
preconditions
storage
.
Preconditions
if
options
.
Preconditions
!=
nil
{
if
options
.
Preconditions
!=
nil
{
...
@@ -831,7 +831,7 @@ func (e *Store) Delete(ctx genericapirequest.Context, name string, options *api.
...
@@ -831,7 +831,7 @@ func (e *Store) Delete(ctx genericapirequest.Context, name string, options *api.
// are removing all objects of a given type) with the current API (it's technically
// are removing all objects of a given type) with the current API (it's technically
// possibly with storage API, but watch is not delivered correctly then).
// possibly with storage API, but watch is not delivered correctly then).
// It will be possible to fix it with v3 etcd API.
// It will be possible to fix it with v3 etcd API.
func
(
e
*
Store
)
DeleteCollection
(
ctx
genericapirequest
.
Context
,
options
*
api
.
DeleteOptions
,
listOptions
*
metainternalversion
.
ListOptions
)
(
runtime
.
Object
,
error
)
{
func
(
e
*
Store
)
DeleteCollection
(
ctx
genericapirequest
.
Context
,
options
*
metav1
.
DeleteOptions
,
listOptions
*
metainternalversion
.
ListOptions
)
(
runtime
.
Object
,
error
)
{
listObj
,
err
:=
e
.
List
(
ctx
,
listOptions
)
listObj
,
err
:=
e
.
List
(
ctx
,
listOptions
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
...
pkg/genericapiserver/registry/generic/registry/store_test.go
View file @
be6d2933
...
@@ -54,7 +54,7 @@ type testGracefulStrategy struct {
...
@@ -54,7 +54,7 @@ type testGracefulStrategy struct {
testRESTStrategy
testRESTStrategy
}
}
func
(
t
testGracefulStrategy
)
CheckGracefulDelete
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
options
*
api
.
DeleteOptions
)
bool
{
func
(
t
testGracefulStrategy
)
CheckGracefulDelete
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
options
*
metav1
.
DeleteOptions
)
bool
{
return
true
return
true
}
}
...
@@ -322,7 +322,7 @@ func TestStoreCreate(t *testing.T) {
...
@@ -322,7 +322,7 @@ func TestStoreCreate(t *testing.T) {
}
}
// now delete pod with graceful period set
// now delete pod with graceful period set
delOpts
:=
&
api
.
DeleteOptions
{
GracePeriodSeconds
:
&
gracefulPeriod
}
delOpts
:=
&
metav1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gracefulPeriod
}
_
,
err
=
registry
.
Delete
(
testContext
,
podA
.
Name
,
delOpts
)
_
,
err
=
registry
.
Delete
(
testContext
,
podA
.
Name
,
delOpts
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"Failed to delete pod gracefully. Unexpected error: %v"
,
err
)
t
.
Fatalf
(
"Failed to delete pod gracefully. Unexpected error: %v"
,
err
)
...
@@ -646,7 +646,7 @@ func TestGracefulStoreCanDeleteIfExistingGracePeriodZero(t *testing.T) {
...
@@ -646,7 +646,7 @@ func TestGracefulStoreCanDeleteIfExistingGracePeriodZero(t *testing.T) {
registry
.
DeleteStrategy
=
testGracefulStrategy
{
defaultDeleteStrategy
}
registry
.
DeleteStrategy
=
testGracefulStrategy
{
defaultDeleteStrategy
}
defer
destroyFunc
()
defer
destroyFunc
()
graceful
,
gracefulPending
,
err
:=
rest
.
BeforeDelete
(
registry
.
DeleteStrategy
,
testContext
,
pod
,
api
.
NewDeleteOptions
(
0
))
graceful
,
gracefulPending
,
err
:=
rest
.
BeforeDelete
(
registry
.
DeleteStrategy
,
testContext
,
pod
,
metav1
.
NewDeleteOptions
(
0
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -678,7 +678,7 @@ func TestGracefulStoreHandleFinalizers(t *testing.T) {
...
@@ -678,7 +678,7 @@ func TestGracefulStoreHandleFinalizers(t *testing.T) {
}
}
// delete the pod with grace period=0, the pod should still exist because it has a finalizer
// delete the pod with grace period=0, the pod should still exist because it has a finalizer
_
,
err
=
registry
.
Delete
(
testContext
,
podWithFinalizer
.
Name
,
api
.
NewDeleteOptions
(
0
))
_
,
err
=
registry
.
Delete
(
testContext
,
podWithFinalizer
.
Name
,
metav1
.
NewDeleteOptions
(
0
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
}
}
...
@@ -820,9 +820,9 @@ func TestStoreDeleteWithOrphanDependents(t *testing.T) {
...
@@ -820,9 +820,9 @@ func TestStoreDeleteWithOrphanDependents(t *testing.T) {
}
}
}
}
trueVar
,
falseVar
:=
true
,
false
trueVar
,
falseVar
:=
true
,
false
orphanOptions
:=
&
api
.
DeleteOptions
{
OrphanDependents
:
&
trueVar
}
orphanOptions
:=
&
metav1
.
DeleteOptions
{
OrphanDependents
:
&
trueVar
}
nonOrphanOptions
:=
&
api
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
nonOrphanOptions
:=
&
metav1
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
nilOrphanOptions
:=
&
api
.
DeleteOptions
{}
nilOrphanOptions
:=
&
metav1
.
DeleteOptions
{}
// defaultDeleteStrategy doesn't implement rest.GarbageCollectionDeleteStrategy.
// defaultDeleteStrategy doesn't implement rest.GarbageCollectionDeleteStrategy.
defaultDeleteStrategy
:=
&
testRESTStrategy
{
api
.
Scheme
,
names
.
SimpleNameGenerator
,
true
,
false
,
true
}
defaultDeleteStrategy
:=
&
testRESTStrategy
{
api
.
Scheme
,
names
.
SimpleNameGenerator
,
true
,
false
,
true
}
...
@@ -832,7 +832,7 @@ func TestStoreDeleteWithOrphanDependents(t *testing.T) {
...
@@ -832,7 +832,7 @@ func TestStoreDeleteWithOrphanDependents(t *testing.T) {
testcases
:=
[]
struct
{
testcases
:=
[]
struct
{
pod
*
api
.
Pod
pod
*
api
.
Pod
options
*
api
.
DeleteOptions
options
*
metav1
.
DeleteOptions
strategy
rest
.
RESTDeleteStrategy
strategy
rest
.
RESTDeleteStrategy
expectNotFound
bool
expectNotFound
bool
updatedFinalizers
[]
string
updatedFinalizers
[]
string
...
...
pkg/genericapiserver/registry/rest/delete.go
View file @
be6d2933
...
@@ -25,7 +25,6 @@ import (
...
@@ -25,7 +25,6 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/schema"
genericapirequest
"k8s.io/apiserver/pkg/endpoints/request"
genericapirequest
"k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/kubernetes/pkg/api"
)
)
// RESTDeleteStrategy defines deletion behavior on an object that follows Kubernetes
// RESTDeleteStrategy defines deletion behavior on an object that follows Kubernetes
...
@@ -53,7 +52,7 @@ type GarbageCollectionDeleteStrategy interface {
...
@@ -53,7 +52,7 @@ type GarbageCollectionDeleteStrategy interface {
type
RESTGracefulDeleteStrategy
interface
{
type
RESTGracefulDeleteStrategy
interface
{
// CheckGracefulDelete should return true if the object can be gracefully deleted and set
// CheckGracefulDelete should return true if the object can be gracefully deleted and set
// any default values on the DeleteOptions.
// any default values on the DeleteOptions.
CheckGracefulDelete
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
options
*
api
.
DeleteOptions
)
bool
CheckGracefulDelete
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
options
*
metav1
.
DeleteOptions
)
bool
}
}
// BeforeDelete tests whether the object can be gracefully deleted. If graceful is set the object
// BeforeDelete tests whether the object can be gracefully deleted. If graceful is set the object
...
@@ -62,7 +61,7 @@ type RESTGracefulDeleteStrategy interface {
...
@@ -62,7 +61,7 @@ type RESTGracefulDeleteStrategy interface {
// condition cannot be checked or the gracePeriodSeconds is invalid. The options argument may be updated with
// condition cannot be checked or the gracePeriodSeconds is invalid. The options argument may be updated with
// default values if graceful is true. Second place where we set deletionTimestamp is pkg/registry/generic/registry/store.go
// default values if graceful is true. Second place where we set deletionTimestamp is pkg/registry/generic/registry/store.go
// this function is responsible for setting deletionTimestamp during gracefulDeletion, other one for cascading deletions.
// this function is responsible for setting deletionTimestamp during gracefulDeletion, other one for cascading deletions.
func
BeforeDelete
(
strategy
RESTDeleteStrategy
,
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
options
*
api
.
DeleteOptions
)
(
graceful
,
gracefulPending
bool
,
err
error
)
{
func
BeforeDelete
(
strategy
RESTDeleteStrategy
,
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
options
*
metav1
.
DeleteOptions
)
(
graceful
,
gracefulPending
bool
,
err
error
)
{
objectMeta
,
gvk
,
kerr
:=
objectMetaAndKind
(
strategy
,
obj
)
objectMeta
,
gvk
,
kerr
:=
objectMetaAndKind
(
strategy
,
obj
)
if
kerr
!=
nil
{
if
kerr
!=
nil
{
return
false
,
false
,
kerr
return
false
,
false
,
kerr
...
...
pkg/genericapiserver/registry/rest/rest.go
View file @
be6d2933
...
@@ -132,7 +132,7 @@ type GracefulDeleter interface {
...
@@ -132,7 +132,7 @@ type GracefulDeleter interface {
// returned error value err when the specified resource is not found.
// returned error value err when the specified resource is not found.
// Delete *may* return the object that was deleted, or a status object indicating additional
// Delete *may* return the object that was deleted, or a status object indicating additional
// information about deletion.
// information about deletion.
Delete
(
ctx
genericapirequest
.
Context
,
name
string
,
options
*
api
.
DeleteOptions
)
(
runtime
.
Object
,
error
)
Delete
(
ctx
genericapirequest
.
Context
,
name
string
,
options
*
metav1
.
DeleteOptions
)
(
runtime
.
Object
,
error
)
}
}
// GracefulDeleteAdapter adapts the Deleter interface to GracefulDeleter
// GracefulDeleteAdapter adapts the Deleter interface to GracefulDeleter
...
@@ -141,7 +141,7 @@ type GracefulDeleteAdapter struct {
...
@@ -141,7 +141,7 @@ type GracefulDeleteAdapter struct {
}
}
// Delete implements RESTGracefulDeleter in terms of Deleter
// Delete implements RESTGracefulDeleter in terms of Deleter
func
(
w
GracefulDeleteAdapter
)
Delete
(
ctx
genericapirequest
.
Context
,
name
string
,
options
*
api
.
DeleteOptions
)
(
runtime
.
Object
,
error
)
{
func
(
w
GracefulDeleteAdapter
)
Delete
(
ctx
genericapirequest
.
Context
,
name
string
,
options
*
metav1
.
DeleteOptions
)
(
runtime
.
Object
,
error
)
{
return
w
.
Deleter
.
Delete
(
ctx
,
name
)
return
w
.
Deleter
.
Delete
(
ctx
,
name
)
}
}
...
@@ -153,7 +153,7 @@ type CollectionDeleter interface {
...
@@ -153,7 +153,7 @@ type CollectionDeleter interface {
// them or return an invalid request error.
// them or return an invalid request error.
// DeleteCollection may not be atomic - i.e. it may delete some objects and still
// DeleteCollection may not be atomic - i.e. it may delete some objects and still
// return an error after it. On success, returns a list of deleted objects.
// return an error after it. On success, returns a list of deleted objects.
DeleteCollection
(
ctx
genericapirequest
.
Context
,
options
*
api
.
DeleteOptions
,
listOptions
*
metainternalversion
.
ListOptions
)
(
runtime
.
Object
,
error
)
DeleteCollection
(
ctx
genericapirequest
.
Context
,
options
*
metav1
.
DeleteOptions
,
listOptions
*
metainternalversion
.
ListOptions
)
(
runtime
.
Object
,
error
)
}
}
// Creater is an object that can create an instance of a RESTful object.
// Creater is an object that can create an instance of a RESTful object.
...
...
pkg/genericapiserver/registry/rest/resttest/resttest.go
View file @
be6d2933
...
@@ -763,7 +763,7 @@ func (t *Tester) testDeleteNoGraceful(obj runtime.Object, createFn CreateFunc, g
...
@@ -763,7 +763,7 @@ func (t *Tester) testDeleteNoGraceful(obj runtime.Object, createFn CreateFunc, g
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
obj
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
api
.
NewDeleteOptions
(
10
))
obj
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
metav1
.
NewDeleteOptions
(
10
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -803,12 +803,12 @@ func (t *Tester) testDeleteWithUID(obj runtime.Object, createFn CreateFunc, getF
...
@@ -803,12 +803,12 @@ func (t *Tester) testDeleteWithUID(obj runtime.Object, createFn CreateFunc, getF
if
err
:=
createFn
(
ctx
,
foo
);
err
!=
nil
{
if
err
:=
createFn
(
ctx
,
foo
);
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
obj
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
api
.
NewPreconditionDeleteOptions
(
"UID1111"
))
obj
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
metav1
.
NewPreconditionDeleteOptions
(
"UID1111"
))
if
err
==
nil
||
!
errors
.
IsConflict
(
err
)
{
if
err
==
nil
||
!
errors
.
IsConflict
(
err
)
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
obj
,
err
=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
api
.
NewPreconditionDeleteOptions
(
"UID0000"
))
obj
,
err
=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
metav1
.
NewPreconditionDeleteOptions
(
"UID0000"
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -840,7 +840,7 @@ func (t *Tester) testDeleteGracefulHasDefault(obj runtime.Object, createFn Creat
...
@@ -840,7 +840,7 @@ func (t *Tester) testDeleteGracefulHasDefault(obj runtime.Object, createFn Creat
}
}
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
generation
:=
objectMeta
.
Generation
generation
:=
objectMeta
.
Generation
_
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
&
api
.
DeleteOptions
{})
_
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
&
metav1
.
DeleteOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -871,7 +871,7 @@ func (t *Tester) testDeleteGracefulWithValue(obj runtime.Object, createFn Create
...
@@ -871,7 +871,7 @@ func (t *Tester) testDeleteGracefulWithValue(obj runtime.Object, createFn Create
}
}
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
generation
:=
objectMeta
.
Generation
generation
:=
objectMeta
.
Generation
_
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
api
.
NewDeleteOptions
(
expectedGrace
+
2
))
_
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
metav1
.
NewDeleteOptions
(
expectedGrace
+
2
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -902,7 +902,7 @@ func (t *Tester) testDeleteGracefulExtend(obj runtime.Object, createFn CreateFun
...
@@ -902,7 +902,7 @@ func (t *Tester) testDeleteGracefulExtend(obj runtime.Object, createFn CreateFun
}
}
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
generation
:=
objectMeta
.
Generation
generation
:=
objectMeta
.
Generation
_
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
api
.
NewDeleteOptions
(
expectedGrace
))
_
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
metav1
.
NewDeleteOptions
(
expectedGrace
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -911,7 +911,7 @@ func (t *Tester) testDeleteGracefulExtend(obj runtime.Object, createFn CreateFun
...
@@ -911,7 +911,7 @@ func (t *Tester) testDeleteGracefulExtend(obj runtime.Object, createFn CreateFun
}
}
// second delete duration is ignored
// second delete duration is ignored
_
,
err
=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
api
.
NewDeleteOptions
(
expectedGrace
+
2
))
_
,
err
=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
metav1
.
NewDeleteOptions
(
expectedGrace
+
2
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -938,7 +938,7 @@ func (t *Tester) testDeleteGracefulImmediate(obj runtime.Object, createFn Create
...
@@ -938,7 +938,7 @@ func (t *Tester) testDeleteGracefulImmediate(obj runtime.Object, createFn Create
}
}
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
generation
:=
objectMeta
.
Generation
generation
:=
objectMeta
.
Generation
_
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
api
.
NewDeleteOptions
(
expectedGrace
))
_
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
metav1
.
NewDeleteOptions
(
expectedGrace
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -947,7 +947,7 @@ func (t *Tester) testDeleteGracefulImmediate(obj runtime.Object, createFn Create
...
@@ -947,7 +947,7 @@ func (t *Tester) testDeleteGracefulImmediate(obj runtime.Object, createFn Create
}
}
// second delete is immediate, resource is deleted
// second delete is immediate, resource is deleted
out
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
api
.
NewDeleteOptions
(
0
))
out
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
metav1
.
NewDeleteOptions
(
0
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -997,7 +997,7 @@ func (t *Tester) testDeleteGracefulShorten(obj runtime.Object, createFn CreateFu
...
@@ -997,7 +997,7 @@ func (t *Tester) testDeleteGracefulShorten(obj runtime.Object, createFn CreateFu
bigGrace
=
2
*
expectedGrace
bigGrace
=
2
*
expectedGrace
}
}
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
objectMeta
:=
t
.
getObjectMetaOrFail
(
foo
)
_
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
api
.
NewDeleteOptions
(
bigGrace
))
_
,
err
:=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
metav1
.
NewDeleteOptions
(
bigGrace
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
@@ -1009,7 +1009,7 @@ func (t *Tester) testDeleteGracefulShorten(obj runtime.Object, createFn CreateFu
...
@@ -1009,7 +1009,7 @@ func (t *Tester) testDeleteGracefulShorten(obj runtime.Object, createFn CreateFu
deletionTimestamp
:=
*
objectMeta
.
DeletionTimestamp
deletionTimestamp
:=
*
objectMeta
.
DeletionTimestamp
// second delete duration is ignored
// second delete duration is ignored
_
,
err
=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
api
.
NewDeleteOptions
(
expectedGrace
))
_
,
err
=
t
.
storage
.
(
rest
.
GracefulDeleter
)
.
Delete
(
ctx
,
objectMeta
.
Name
,
metav1
.
NewDeleteOptions
(
expectedGrace
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"unexpected error: %v"
,
err
)
t
.
Errorf
(
"unexpected error: %v"
,
err
)
}
}
...
...
pkg/kubectl/cmd/apply.go
View file @
be6d2933
...
@@ -499,9 +499,9 @@ func runDelete(namespace, name string, mapping *meta.RESTMapping, c resource.RES
...
@@ -499,9 +499,9 @@ func runDelete(namespace, name string, mapping *meta.RESTMapping, c resource.RES
}
}
return
resource
.
NewHelper
(
c
,
mapping
)
.
Delete
(
namespace
,
name
)
return
resource
.
NewHelper
(
c
,
mapping
)
.
Delete
(
namespace
,
name
)
}
}
var
options
*
api
.
DeleteOptions
var
options
*
metav1
.
DeleteOptions
if
gracePeriod
>=
0
{
if
gracePeriod
>=
0
{
options
=
api
.
NewDeleteOptions
(
int64
(
gracePeriod
))
options
=
metav1
.
NewDeleteOptions
(
int64
(
gracePeriod
))
}
}
if
err
:=
r
.
Stop
(
namespace
,
name
,
2
*
time
.
Minute
,
options
);
err
!=
nil
{
if
err
:=
r
.
Stop
(
namespace
,
name
,
2
*
time
.
Minute
,
options
);
err
!=
nil
{
return
err
return
err
...
...
pkg/kubectl/cmd/delete.go
View file @
be6d2933
...
@@ -25,9 +25,9 @@ import (
...
@@ -25,9 +25,9 @@ import (
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/meta"
"k8s.io/apimachinery/pkg/api/meta"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
cmdutil
"k8s.io/kubernetes/pkg/kubectl/cmd/util"
...
@@ -255,9 +255,9 @@ func ReapResult(r *resource.Result, f cmdutil.Factory, out io.Writer, isDefaultD
...
@@ -255,9 +255,9 @@ func ReapResult(r *resource.Result, f cmdutil.Factory, out io.Writer, isDefaultD
}
}
return
cmdutil
.
AddSourceToErr
(
"reaping"
,
info
.
Source
,
err
)
return
cmdutil
.
AddSourceToErr
(
"reaping"
,
info
.
Source
,
err
)
}
}
var
options
*
api
.
DeleteOptions
var
options
*
metav1
.
DeleteOptions
if
gracePeriod
>=
0
{
if
gracePeriod
>=
0
{
options
=
api
.
NewDeleteOptions
(
int64
(
gracePeriod
))
options
=
metav1
.
NewDeleteOptions
(
int64
(
gracePeriod
))
}
}
if
err
:=
reaper
.
Stop
(
info
.
Namespace
,
info
.
Name
,
timeout
,
options
);
err
!=
nil
{
if
err
:=
reaper
.
Stop
(
info
.
Namespace
,
info
.
Name
,
timeout
,
options
);
err
!=
nil
{
return
cmdutil
.
AddSourceToErr
(
"stopping"
,
info
.
Source
,
err
)
return
cmdutil
.
AddSourceToErr
(
"stopping"
,
info
.
Source
,
err
)
...
...
pkg/kubectl/cmd/delete_test.go
View file @
be6d2933
...
@@ -137,11 +137,11 @@ func TestDeleteObject(t *testing.T) {
...
@@ -137,11 +137,11 @@ func TestDeleteObject(t *testing.T) {
type
fakeReaper
struct
{
type
fakeReaper
struct
{
namespace
,
name
string
namespace
,
name
string
timeout
time
.
Duration
timeout
time
.
Duration
deleteOptions
*
api
.
DeleteOptions
deleteOptions
*
metav1
.
DeleteOptions
err
error
err
error
}
}
func
(
r
*
fakeReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
api
.
DeleteOptions
)
error
{
func
(
r
*
fakeReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
metav1
.
DeleteOptions
)
error
{
r
.
namespace
,
r
.
name
=
namespace
,
name
r
.
namespace
,
r
.
name
=
namespace
,
name
r
.
timeout
=
timeout
r
.
timeout
=
timeout
r
.
deleteOptions
=
gracePeriod
r
.
deleteOptions
=
gracePeriod
...
...
pkg/kubectl/cmd/drain.go
View file @
be6d2933
...
@@ -418,7 +418,7 @@ func (o *DrainOptions) getPodsForDeletion() (pods []api.Pod, err error) {
...
@@ -418,7 +418,7 @@ func (o *DrainOptions) getPodsForDeletion() (pods []api.Pod, err error) {
}
}
func
(
o
*
DrainOptions
)
deletePod
(
pod
api
.
Pod
)
error
{
func
(
o
*
DrainOptions
)
deletePod
(
pod
api
.
Pod
)
error
{
deleteOptions
:=
&
api
.
DeleteOptions
{}
deleteOptions
:=
&
metav1
.
DeleteOptions
{}
if
o
.
GracePeriodSeconds
>=
0
{
if
o
.
GracePeriodSeconds
>=
0
{
gracePeriodSeconds
:=
int64
(
o
.
GracePeriodSeconds
)
gracePeriodSeconds
:=
int64
(
o
.
GracePeriodSeconds
)
deleteOptions
.
GracePeriodSeconds
=
&
gracePeriodSeconds
deleteOptions
.
GracePeriodSeconds
=
&
gracePeriodSeconds
...
@@ -427,7 +427,7 @@ func (o *DrainOptions) deletePod(pod api.Pod) error {
...
@@ -427,7 +427,7 @@ func (o *DrainOptions) deletePod(pod api.Pod) error {
}
}
func
(
o
*
DrainOptions
)
evictPod
(
pod
api
.
Pod
,
policyGroupVersion
string
)
error
{
func
(
o
*
DrainOptions
)
evictPod
(
pod
api
.
Pod
,
policyGroupVersion
string
)
error
{
deleteOptions
:=
&
api
.
DeleteOptions
{}
deleteOptions
:=
&
metav1
.
DeleteOptions
{}
if
o
.
GracePeriodSeconds
>=
0
{
if
o
.
GracePeriodSeconds
>=
0
{
gracePeriodSeconds
:=
int64
(
o
.
GracePeriodSeconds
)
gracePeriodSeconds
:=
int64
(
o
.
GracePeriodSeconds
)
deleteOptions
.
GracePeriodSeconds
=
&
gracePeriodSeconds
deleteOptions
.
GracePeriodSeconds
=
&
gracePeriodSeconds
...
...
pkg/kubectl/rolling_updater.go
View file @
be6d2933
...
@@ -544,7 +544,7 @@ func Rename(c coreclient.ReplicationControllersGetter, rc *api.ReplicationContro
...
@@ -544,7 +544,7 @@ func Rename(c coreclient.ReplicationControllersGetter, rc *api.ReplicationContro
rc
.
ResourceVersion
=
""
rc
.
ResourceVersion
=
""
// First delete the oldName RC and orphan its pods.
// First delete the oldName RC and orphan its pods.
trueVar
:=
true
trueVar
:=
true
err
:=
c
.
ReplicationControllers
(
rc
.
Namespace
)
.
Delete
(
oldName
,
&
api
.
DeleteOptions
{
OrphanDependents
:
&
trueVar
})
err
:=
c
.
ReplicationControllers
(
rc
.
Namespace
)
.
Delete
(
oldName
,
&
metav1
.
DeleteOptions
{
OrphanDependents
:
&
trueVar
})
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
return
err
return
err
}
}
...
...
pkg/kubectl/stop.go
View file @
be6d2933
...
@@ -51,7 +51,7 @@ const (
...
@@ -51,7 +51,7 @@ const (
// gracePeriod is time given to an API object for it to delete itself cleanly,
// gracePeriod is time given to an API object for it to delete itself cleanly,
// e.g., pod shutdown. It may or may not be supported by the API object.
// e.g., pod shutdown. It may or may not be supported by the API object.
type
Reaper
interface
{
type
Reaper
interface
{
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
api
.
DeleteOptions
)
error
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
metav1
.
DeleteOptions
)
error
}
}
type
NoSuchReaperError
struct
{
type
NoSuchReaperError
struct
{
...
@@ -157,7 +157,7 @@ func getOverlappingControllers(rcClient coreclient.ReplicationControllerInterfac
...
@@ -157,7 +157,7 @@ func getOverlappingControllers(rcClient coreclient.ReplicationControllerInterfac
return
matchingRCs
,
nil
return
matchingRCs
,
nil
}
}
func
(
reaper
*
ReplicationControllerReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
api
.
DeleteOptions
)
error
{
func
(
reaper
*
ReplicationControllerReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
metav1
.
DeleteOptions
)
error
{
rc
:=
reaper
.
client
.
ReplicationControllers
(
namespace
)
rc
:=
reaper
.
client
.
ReplicationControllers
(
namespace
)
scaler
:=
&
ReplicationControllerScaler
{
reaper
.
client
}
scaler
:=
&
ReplicationControllerScaler
{
reaper
.
client
}
ctrl
,
err
:=
rc
.
Get
(
name
,
metav1
.
GetOptions
{})
ctrl
,
err
:=
rc
.
Get
(
name
,
metav1
.
GetOptions
{})
...
@@ -215,7 +215,7 @@ func (reaper *ReplicationControllerReaper) Stop(namespace, name string, timeout
...
@@ -215,7 +215,7 @@ func (reaper *ReplicationControllerReaper) Stop(namespace, name string, timeout
}
}
}
}
falseVar
:=
false
falseVar
:=
false
deleteOptions
:=
&
api
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
deleteOptions
:=
&
metav1
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
return
rc
.
Delete
(
name
,
deleteOptions
)
return
rc
.
Delete
(
name
,
deleteOptions
)
}
}
...
@@ -226,7 +226,7 @@ func getOverlappingReplicaSets(c extensionsclient.ReplicaSetInterface, rs *exten
...
@@ -226,7 +226,7 @@ func getOverlappingReplicaSets(c extensionsclient.ReplicaSetInterface, rs *exten
return
overlappingRSs
,
exactMatchRSs
,
nil
return
overlappingRSs
,
exactMatchRSs
,
nil
}
}
func
(
reaper
*
ReplicaSetReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
api
.
DeleteOptions
)
error
{
func
(
reaper
*
ReplicaSetReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
metav1
.
DeleteOptions
)
error
{
rsc
:=
reaper
.
client
.
ReplicaSets
(
namespace
)
rsc
:=
reaper
.
client
.
ReplicaSets
(
namespace
)
scaler
:=
&
ReplicaSetScaler
{
reaper
.
client
}
scaler
:=
&
ReplicaSetScaler
{
reaper
.
client
}
rs
,
err
:=
rsc
.
Get
(
name
,
metav1
.
GetOptions
{})
rs
,
err
:=
rsc
.
Get
(
name
,
metav1
.
GetOptions
{})
...
@@ -286,11 +286,11 @@ func (reaper *ReplicaSetReaper) Stop(namespace, name string, timeout time.Durati
...
@@ -286,11 +286,11 @@ func (reaper *ReplicaSetReaper) Stop(namespace, name string, timeout time.Durati
}
}
falseVar
:=
false
falseVar
:=
false
deleteOptions
:=
&
api
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
deleteOptions
:=
&
metav1
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
return
rsc
.
Delete
(
name
,
deleteOptions
)
return
rsc
.
Delete
(
name
,
deleteOptions
)
}
}
func
(
reaper
*
DaemonSetReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
api
.
DeleteOptions
)
error
{
func
(
reaper
*
DaemonSetReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
metav1
.
DeleteOptions
)
error
{
ds
,
err
:=
reaper
.
client
.
DaemonSets
(
namespace
)
.
Get
(
name
,
metav1
.
GetOptions
{})
ds
,
err
:=
reaper
.
client
.
DaemonSets
(
namespace
)
.
Get
(
name
,
metav1
.
GetOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
...
@@ -325,7 +325,7 @@ func (reaper *DaemonSetReaper) Stop(namespace, name string, timeout time.Duratio
...
@@ -325,7 +325,7 @@ func (reaper *DaemonSetReaper) Stop(namespace, name string, timeout time.Duratio
return
reaper
.
client
.
DaemonSets
(
namespace
)
.
Delete
(
name
,
nil
)
return
reaper
.
client
.
DaemonSets
(
namespace
)
.
Delete
(
name
,
nil
)
}
}
func
(
reaper
*
StatefulSetReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
api
.
DeleteOptions
)
error
{
func
(
reaper
*
StatefulSetReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
metav1
.
DeleteOptions
)
error
{
statefulsets
:=
reaper
.
client
.
StatefulSets
(
namespace
)
statefulsets
:=
reaper
.
client
.
StatefulSets
(
namespace
)
scaler
:=
&
StatefulSetScaler
{
reaper
.
client
}
scaler
:=
&
StatefulSetScaler
{
reaper
.
client
}
ps
,
err
:=
statefulsets
.
Get
(
name
,
metav1
.
GetOptions
{})
ps
,
err
:=
statefulsets
.
Get
(
name
,
metav1
.
GetOptions
{})
...
@@ -369,7 +369,7 @@ func (reaper *StatefulSetReaper) Stop(namespace, name string, timeout time.Durat
...
@@ -369,7 +369,7 @@ func (reaper *StatefulSetReaper) Stop(namespace, name string, timeout time.Durat
return
statefulsets
.
Delete
(
name
,
nil
)
return
statefulsets
.
Delete
(
name
,
nil
)
}
}
func
(
reaper
*
JobReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
api
.
DeleteOptions
)
error
{
func
(
reaper
*
JobReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
metav1
.
DeleteOptions
)
error
{
jobs
:=
reaper
.
client
.
Jobs
(
namespace
)
jobs
:=
reaper
.
client
.
Jobs
(
namespace
)
pods
:=
reaper
.
podClient
.
Pods
(
namespace
)
pods
:=
reaper
.
podClient
.
Pods
(
namespace
)
scaler
:=
&
JobScaler
{
reaper
.
client
}
scaler
:=
&
JobScaler
{
reaper
.
client
}
...
@@ -412,7 +412,7 @@ func (reaper *JobReaper) Stop(namespace, name string, timeout time.Duration, gra
...
@@ -412,7 +412,7 @@ func (reaper *JobReaper) Stop(namespace, name string, timeout time.Duration, gra
return
jobs
.
Delete
(
name
,
nil
)
return
jobs
.
Delete
(
name
,
nil
)
}
}
func
(
reaper
*
DeploymentReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
api
.
DeleteOptions
)
error
{
func
(
reaper
*
DeploymentReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
metav1
.
DeleteOptions
)
error
{
deployments
:=
reaper
.
dClient
.
Deployments
(
namespace
)
deployments
:=
reaper
.
dClient
.
Deployments
(
namespace
)
replicaSets
:=
reaper
.
rsClient
.
ReplicaSets
(
namespace
)
replicaSets
:=
reaper
.
rsClient
.
ReplicaSets
(
namespace
)
rsReaper
:=
&
ReplicaSetReaper
{
reaper
.
rsClient
,
reaper
.
pollInterval
,
reaper
.
timeout
}
rsReaper
:=
&
ReplicaSetReaper
{
reaper
.
rsClient
,
reaper
.
pollInterval
,
reaper
.
timeout
}
...
@@ -468,7 +468,7 @@ func (reaper *DeploymentReaper) Stop(namespace, name string, timeout time.Durati
...
@@ -468,7 +468,7 @@ func (reaper *DeploymentReaper) Stop(namespace, name string, timeout time.Durati
// Delete deployment at the end.
// Delete deployment at the end.
// Note: We delete deployment at the end so that if removing RSs fails, we at least have the deployment to retry.
// Note: We delete deployment at the end so that if removing RSs fails, we at least have the deployment to retry.
var
falseVar
=
false
var
falseVar
=
false
nonOrphanOption
:=
api
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
nonOrphanOption
:=
metav1
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
return
deployments
.
Delete
(
name
,
&
nonOrphanOption
)
return
deployments
.
Delete
(
name
,
&
nonOrphanOption
)
}
}
...
@@ -494,7 +494,7 @@ func (reaper *DeploymentReaper) updateDeploymentWithRetries(namespace, name stri
...
@@ -494,7 +494,7 @@ func (reaper *DeploymentReaper) updateDeploymentWithRetries(namespace, name stri
return
deployment
,
err
return
deployment
,
err
}
}
func
(
reaper
*
PodReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
api
.
DeleteOptions
)
error
{
func
(
reaper
*
PodReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
metav1
.
DeleteOptions
)
error
{
pods
:=
reaper
.
client
.
Pods
(
namespace
)
pods
:=
reaper
.
client
.
Pods
(
namespace
)
_
,
err
:=
pods
.
Get
(
name
,
metav1
.
GetOptions
{})
_
,
err
:=
pods
.
Get
(
name
,
metav1
.
GetOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
...
@@ -503,7 +503,7 @@ func (reaper *PodReaper) Stop(namespace, name string, timeout time.Duration, gra
...
@@ -503,7 +503,7 @@ func (reaper *PodReaper) Stop(namespace, name string, timeout time.Duration, gra
return
pods
.
Delete
(
name
,
gracePeriod
)
return
pods
.
Delete
(
name
,
gracePeriod
)
}
}
func
(
reaper
*
ServiceReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
api
.
DeleteOptions
)
error
{
func
(
reaper
*
ServiceReaper
)
Stop
(
namespace
,
name
string
,
timeout
time
.
Duration
,
gracePeriod
*
metav1
.
DeleteOptions
)
error
{
services
:=
reaper
.
client
.
Services
(
namespace
)
services
:=
reaper
.
client
.
Services
(
namespace
)
_
,
err
:=
services
.
Get
(
name
,
metav1
.
GetOptions
{})
_
,
err
:=
services
.
Get
(
name
,
metav1
.
GetOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
...
...
pkg/kubectl/stop_test.go
View file @
be6d2933
...
@@ -535,7 +535,7 @@ type noDeleteService struct {
...
@@ -535,7 +535,7 @@ type noDeleteService struct {
coreclient
.
ServiceInterface
coreclient
.
ServiceInterface
}
}
func
(
c
*
noDeleteService
)
Delete
(
service
string
,
o
*
api
.
DeleteOptions
)
error
{
func
(
c
*
noDeleteService
)
Delete
(
service
string
,
o
*
metav1
.
DeleteOptions
)
error
{
return
fmt
.
Errorf
(
"I'm afraid I can't do that, Dave"
)
return
fmt
.
Errorf
(
"I'm afraid I can't do that, Dave"
)
}
}
...
...
pkg/kubelet/pod/mirror_client.go
View file @
be6d2933
...
@@ -19,6 +19,7 @@ package pod
...
@@ -19,6 +19,7 @@ package pod
import
(
import
(
"github.com/golang/glog"
"github.com/golang/glog"
"k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/errors"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
"k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
kubecontainer
"k8s.io/kubernetes/pkg/kubelet/container"
...
@@ -83,7 +84,7 @@ func (mc *basicMirrorClient) DeleteMirrorPod(podFullName string) error {
...
@@ -83,7 +84,7 @@ func (mc *basicMirrorClient) DeleteMirrorPod(podFullName string) error {
}
}
glog
.
V
(
2
)
.
Infof
(
"Deleting a mirror pod %q"
,
podFullName
)
glog
.
V
(
2
)
.
Infof
(
"Deleting a mirror pod %q"
,
podFullName
)
// TODO(random-liu): Delete the mirror pod with uid precondition in mirror pod manager
// TODO(random-liu): Delete the mirror pod with uid precondition in mirror pod manager
if
err
:=
mc
.
apiserverClient
.
Core
()
.
Pods
(
namespace
)
.
Delete
(
name
,
v1
.
NewDeleteOptions
(
0
));
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
if
err
:=
mc
.
apiserverClient
.
Core
()
.
Pods
(
namespace
)
.
Delete
(
name
,
meta
v1
.
NewDeleteOptions
(
0
));
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
glog
.
Errorf
(
"Failed deleting a mirror pod %q: %v"
,
podFullName
,
err
)
glog
.
Errorf
(
"Failed deleting a mirror pod %q: %v"
,
podFullName
,
err
)
}
}
return
nil
return
nil
...
...
pkg/kubelet/status/status_manager.go
View file @
be6d2933
...
@@ -440,9 +440,9 @@ func (m *manager) syncPod(uid types.UID, status versionedPodStatus) {
...
@@ -440,9 +440,9 @@ func (m *manager) syncPod(uid types.UID, status versionedPodStatus) {
glog
.
V
(
3
)
.
Infof
(
"Pod %q is terminated, but some containers are still running"
,
format
.
Pod
(
pod
))
glog
.
V
(
3
)
.
Infof
(
"Pod %q is terminated, but some containers are still running"
,
format
.
Pod
(
pod
))
return
return
}
}
deleteOptions
:=
v1
.
NewDeleteOptions
(
0
)
deleteOptions
:=
meta
v1
.
NewDeleteOptions
(
0
)
// Use the pod UID as the precondition for deletion to prevent deleting a newly created pod with the same name and namespace.
// Use the pod UID as the precondition for deletion to prevent deleting a newly created pod with the same name and namespace.
deleteOptions
.
Preconditions
=
v1
.
NewUIDPreconditions
(
string
(
pod
.
UID
))
deleteOptions
.
Preconditions
=
meta
v1
.
NewUIDPreconditions
(
string
(
pod
.
UID
))
if
err
=
m
.
kubeClient
.
Core
()
.
Pods
(
pod
.
Namespace
)
.
Delete
(
pod
.
Name
,
deleteOptions
);
err
==
nil
{
if
err
=
m
.
kubeClient
.
Core
()
.
Pods
(
pod
.
Namespace
)
.
Delete
(
pod
.
Name
,
deleteOptions
);
err
==
nil
{
glog
.
V
(
3
)
.
Infof
(
"Pod %q fully terminated and removed from etcd"
,
format
.
Pod
(
pod
))
glog
.
V
(
3
)
.
Infof
(
"Pod %q fully terminated and removed from etcd"
,
format
.
Pod
(
pod
))
m
.
deletePodStatus
(
uid
)
m
.
deletePodStatus
(
uid
)
...
...
pkg/registry/core/namespace/storage/storage.go
View file @
be6d2933
...
@@ -79,7 +79,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *Finaliz
...
@@ -79,7 +79,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *Finaliz
}
}
// Delete enforces life-cycle rules for namespace termination
// Delete enforces life-cycle rules for namespace termination
func
(
r
*
REST
)
Delete
(
ctx
genericapirequest
.
Context
,
name
string
,
options
*
api
.
DeleteOptions
)
(
runtime
.
Object
,
error
)
{
func
(
r
*
REST
)
Delete
(
ctx
genericapirequest
.
Context
,
name
string
,
options
*
metav1
.
DeleteOptions
)
(
runtime
.
Object
,
error
)
{
nsObj
,
err
:=
r
.
Get
(
ctx
,
name
,
&
metav1
.
GetOptions
{})
nsObj
,
err
:=
r
.
Get
(
ctx
,
name
,
&
metav1
.
GetOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -89,10 +89,10 @@ func (r *REST) Delete(ctx genericapirequest.Context, name string, options *api.D
...
@@ -89,10 +89,10 @@ func (r *REST) Delete(ctx genericapirequest.Context, name string, options *api.D
// Ensure we have a UID precondition
// Ensure we have a UID precondition
if
options
==
nil
{
if
options
==
nil
{
options
=
api
.
NewDeleteOptions
(
0
)
options
=
metav1
.
NewDeleteOptions
(
0
)
}
}
if
options
.
Preconditions
==
nil
{
if
options
.
Preconditions
==
nil
{
options
.
Preconditions
=
&
api
.
Preconditions
{}
options
.
Preconditions
=
&
metav1
.
Preconditions
{}
}
}
if
options
.
Preconditions
.
UID
==
nil
{
if
options
.
Preconditions
.
UID
==
nil
{
options
.
Preconditions
.
UID
=
&
namespace
.
UID
options
.
Preconditions
.
UID
=
&
namespace
.
UID
...
...
pkg/registry/core/pod/storage/storage_test.go
View file @
be6d2933
...
@@ -189,7 +189,7 @@ func TestIgnoreDeleteNotFound(t *testing.T) {
...
@@ -189,7 +189,7 @@ func TestIgnoreDeleteNotFound(t *testing.T) {
// delete object with grace period 0, storage will return NotFound, but the
// delete object with grace period 0, storage will return NotFound, but the
// registry shouldn't get any error since we ignore the NotFound error.
// registry shouldn't get any error since we ignore the NotFound error.
zero
:=
int64
(
0
)
zero
:=
int64
(
0
)
opt
:=
&
api
.
DeleteOptions
{
GracePeriodSeconds
:
&
zero
}
opt
:=
&
metav1
.
DeleteOptions
{
GracePeriodSeconds
:
&
zero
}
obj
,
err
:=
registry
.
Delete
(
testContext
,
pod
.
Name
,
opt
)
obj
,
err
:=
registry
.
Delete
(
testContext
,
pod
.
Name
,
opt
)
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
t
.
Fatalf
(
"Unexpected error: %v"
,
err
)
...
...
pkg/registry/core/pod/strategy.go
View file @
be6d2933
...
@@ -102,7 +102,7 @@ func (podStrategy) AllowUnconditionalUpdate() bool {
...
@@ -102,7 +102,7 @@ func (podStrategy) AllowUnconditionalUpdate() bool {
// CheckGracefulDelete allows a pod to be gracefully deleted. It updates the DeleteOptions to
// CheckGracefulDelete allows a pod to be gracefully deleted. It updates the DeleteOptions to
// reflect the desired grace value.
// reflect the desired grace value.
func
(
podStrategy
)
CheckGracefulDelete
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
options
*
api
.
DeleteOptions
)
bool
{
func
(
podStrategy
)
CheckGracefulDelete
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
options
*
metav1
.
DeleteOptions
)
bool
{
if
options
==
nil
{
if
options
==
nil
{
return
false
return
false
}
}
...
@@ -135,7 +135,7 @@ type podStrategyWithoutGraceful struct {
...
@@ -135,7 +135,7 @@ type podStrategyWithoutGraceful struct {
}
}
// CheckGracefulDelete prohibits graceful deletion.
// CheckGracefulDelete prohibits graceful deletion.
func
(
podStrategyWithoutGraceful
)
CheckGracefulDelete
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
options
*
api
.
DeleteOptions
)
bool
{
func
(
podStrategyWithoutGraceful
)
CheckGracefulDelete
(
ctx
genericapirequest
.
Context
,
obj
runtime
.
Object
,
options
*
metav1
.
DeleteOptions
)
bool
{
return
false
return
false
}
}
...
...
pkg/registry/core/pod/strategy_test.go
View file @
be6d2933
...
@@ -210,7 +210,7 @@ func TestCheckGracefulDelete(t *testing.T) {
...
@@ -210,7 +210,7 @@ func TestCheckGracefulDelete(t *testing.T) {
},
},
}
}
for
_
,
tc
:=
range
tcs
{
for
_
,
tc
:=
range
tcs
{
out
:=
&
api
.
DeleteOptions
{
GracePeriodSeconds
:
&
defaultGracePeriod
}
out
:=
&
metav1
.
DeleteOptions
{
GracePeriodSeconds
:
&
defaultGracePeriod
}
Strategy
.
CheckGracefulDelete
(
genericapirequest
.
NewContext
(),
tc
.
in
,
out
)
Strategy
.
CheckGracefulDelete
(
genericapirequest
.
NewContext
(),
tc
.
in
,
out
)
if
out
.
GracePeriodSeconds
==
nil
{
if
out
.
GracePeriodSeconds
==
nil
{
t
.
Errorf
(
"out grace period was nil but supposed to be %v"
,
tc
.
gracePeriod
)
t
.
Errorf
(
"out grace period was nil but supposed to be %v"
,
tc
.
gracePeriod
)
...
...
test/e2e/cluster_logging_es.go
View file @
be6d2933
...
@@ -26,7 +26,6 @@ import (
...
@@ -26,7 +26,6 @@ import (
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/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/framework"
.
"github.com/onsi/ginkgo"
.
"github.com/onsi/ginkgo"
...
@@ -54,7 +53,7 @@ var _ = framework.KubeDescribe("Cluster level logging using Elasticsearch [Featu
...
@@ -54,7 +53,7 @@ var _ = framework.KubeDescribe("Cluster level logging using Elasticsearch [Featu
By
(
"Running synthetic logger"
)
By
(
"Running synthetic logger"
)
createSynthLogger
(
f
,
expectedLinesCount
)
createSynthLogger
(
f
,
expectedLinesCount
)
defer
f
.
PodClient
()
.
Delete
(
synthLoggerPodName
,
&
v1
.
DeleteOptions
{})
defer
f
.
PodClient
()
.
Delete
(
synthLoggerPodName
,
&
meta
v1
.
DeleteOptions
{})
err
=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
synthLoggerPodName
,
f
.
Namespace
.
Name
)
err
=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
synthLoggerPodName
,
f
.
Namespace
.
Name
)
framework
.
ExpectNoError
(
err
,
fmt
.
Sprintf
(
"Should've successfully waited for pod %s to succeed"
,
synthLoggerPodName
))
framework
.
ExpectNoError
(
err
,
fmt
.
Sprintf
(
"Should've successfully waited for pod %s to succeed"
,
synthLoggerPodName
))
...
...
test/e2e/cluster_logging_gcl.go
View file @
be6d2933
...
@@ -23,8 +23,8 @@ import (
...
@@ -23,8 +23,8 @@ import (
"strings"
"strings"
"time"
"time"
metav1
"k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/json"
"k8s.io/apimachinery/pkg/util/json"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/framework"
.
"github.com/onsi/ginkgo"
.
"github.com/onsi/ginkgo"
...
@@ -41,7 +41,7 @@ var _ = framework.KubeDescribe("Cluster level logging using GCL", func() {
...
@@ -41,7 +41,7 @@ var _ = framework.KubeDescribe("Cluster level logging using GCL", func() {
It
(
"should check that logs from containers are ingested in GCL"
,
func
()
{
It
(
"should check that logs from containers are ingested in GCL"
,
func
()
{
By
(
"Running synthetic logger"
)
By
(
"Running synthetic logger"
)
createSynthLogger
(
f
,
expectedLinesCount
)
createSynthLogger
(
f
,
expectedLinesCount
)
defer
f
.
PodClient
()
.
Delete
(
synthLoggerPodName
,
&
v1
.
DeleteOptions
{})
defer
f
.
PodClient
()
.
Delete
(
synthLoggerPodName
,
&
meta
v1
.
DeleteOptions
{})
err
:=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
synthLoggerPodName
,
f
.
Namespace
.
Name
)
err
:=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
synthLoggerPodName
,
f
.
Namespace
.
Name
)
framework
.
ExpectNoError
(
err
,
fmt
.
Sprintf
(
"Should've successfully waited for pod %s to succeed"
,
synthLoggerPodName
))
framework
.
ExpectNoError
(
err
,
fmt
.
Sprintf
(
"Should've successfully waited for pod %s to succeed"
,
synthLoggerPodName
))
...
...
test/e2e/common/configmap.go
View file @
be6d2933
...
@@ -316,7 +316,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
...
@@ -316,7 +316,7 @@ var _ = framework.KubeDescribe("ConfigMap", func() {
Eventually
(
pollDeleteLogs
,
podLogTimeout
,
framework
.
Poll
)
.
Should
(
ContainSubstring
(
"value-1"
))
Eventually
(
pollDeleteLogs
,
podLogTimeout
,
framework
.
Poll
)
.
Should
(
ContainSubstring
(
"value-1"
))
By
(
fmt
.
Sprintf
(
"Deleting configmap %v"
,
deleteConfigMap
.
Name
))
By
(
fmt
.
Sprintf
(
"Deleting configmap %v"
,
deleteConfigMap
.
Name
))
err
=
f
.
ClientSet
.
Core
()
.
ConfigMaps
(
f
.
Namespace
.
Name
)
.
Delete
(
deleteConfigMap
.
Name
,
&
v1
.
DeleteOptions
{})
err
=
f
.
ClientSet
.
Core
()
.
ConfigMaps
(
f
.
Namespace
.
Name
)
.
Delete
(
deleteConfigMap
.
Name
,
&
meta
v1
.
DeleteOptions
{})
Expect
(
err
)
.
NotTo
(
HaveOccurred
(),
"Failed to delete configmap %q in namespace %q"
,
deleteConfigMap
.
Name
,
f
.
Namespace
.
Name
)
Expect
(
err
)
.
NotTo
(
HaveOccurred
(),
"Failed to delete configmap %q in namespace %q"
,
deleteConfigMap
.
Name
,
f
.
Namespace
.
Name
)
By
(
fmt
.
Sprintf
(
"Updating configmap %v"
,
updateConfigMap
.
Name
))
By
(
fmt
.
Sprintf
(
"Updating configmap %v"
,
updateConfigMap
.
Name
))
...
...
test/e2e/common/container_probe.go
View file @
be6d2933
...
@@ -353,7 +353,7 @@ func runLivenessTest(f *framework.Framework, pod *v1.Pod, expectNumRestarts int,
...
@@ -353,7 +353,7 @@ func runLivenessTest(f *framework.Framework, pod *v1.Pod, expectNumRestarts int,
// At the end of the test, clean up by removing the pod.
// At the end of the test, clean up by removing the pod.
defer
func
()
{
defer
func
()
{
By
(
"deleting the pod"
)
By
(
"deleting the pod"
)
podClient
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
podClient
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
}()
}()
By
(
fmt
.
Sprintf
(
"Creating pod %s in namespace %s"
,
pod
.
Name
,
ns
))
By
(
fmt
.
Sprintf
(
"Creating pod %s in namespace %s"
,
pod
.
Name
,
ns
))
podClient
.
Create
(
pod
)
podClient
.
Create
(
pod
)
...
...
test/e2e/common/pods.go
View file @
be6d2933
...
@@ -207,7 +207,7 @@ var _ = framework.KubeDescribe("Pods", func() {
...
@@ -207,7 +207,7 @@ var _ = framework.KubeDescribe("Pods", func() {
framework
.
Logf
(
"running pod: %#v"
,
pod
)
framework
.
Logf
(
"running pod: %#v"
,
pod
)
By
(
"deleting the pod gracefully"
)
By
(
"deleting the pod gracefully"
)
err
=
podClient
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
30
))
err
=
podClient
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
30
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
(),
"failed to delete pod"
)
Expect
(
err
)
.
NotTo
(
HaveOccurred
(),
"failed to delete pod"
)
By
(
"verifying the kubelet observed the termination notice"
)
By
(
"verifying the kubelet observed the termination notice"
)
...
...
test/e2e/common/secrets.go
View file @
be6d2933
...
@@ -308,7 +308,7 @@ var _ = framework.KubeDescribe("Secrets", func() {
...
@@ -308,7 +308,7 @@ var _ = framework.KubeDescribe("Secrets", func() {
Eventually
(
pollDeleteLogs
,
podLogTimeout
,
framework
.
Poll
)
.
Should
(
ContainSubstring
(
"value-1"
))
Eventually
(
pollDeleteLogs
,
podLogTimeout
,
framework
.
Poll
)
.
Should
(
ContainSubstring
(
"value-1"
))
By
(
fmt
.
Sprintf
(
"Deleting secret %v"
,
deleteSecret
.
Name
))
By
(
fmt
.
Sprintf
(
"Deleting secret %v"
,
deleteSecret
.
Name
))
err
=
f
.
ClientSet
.
Core
()
.
Secrets
(
f
.
Namespace
.
Name
)
.
Delete
(
deleteSecret
.
Name
,
&
v1
.
DeleteOptions
{})
err
=
f
.
ClientSet
.
Core
()
.
Secrets
(
f
.
Namespace
.
Name
)
.
Delete
(
deleteSecret
.
Name
,
&
meta
v1
.
DeleteOptions
{})
Expect
(
err
)
.
NotTo
(
HaveOccurred
(),
"Failed to delete secret %q in namespace %q"
,
deleteSecret
.
Name
,
f
.
Namespace
.
Name
)
Expect
(
err
)
.
NotTo
(
HaveOccurred
(),
"Failed to delete secret %q in namespace %q"
,
deleteSecret
.
Name
,
f
.
Namespace
.
Name
)
By
(
fmt
.
Sprintf
(
"Updating secret %v"
,
updateSecret
.
Name
))
By
(
fmt
.
Sprintf
(
"Updating secret %v"
,
updateSecret
.
Name
))
...
...
test/e2e/cronjob.go
View file @
be6d2933
...
@@ -27,7 +27,6 @@ import (
...
@@ -27,7 +27,6 @@ import (
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/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/api/v1"
batchinternal
"k8s.io/kubernetes/pkg/apis/batch"
batchinternal
"k8s.io/kubernetes/pkg/apis/batch"
batchv1
"k8s.io/kubernetes/pkg/apis/batch/v1"
batchv1
"k8s.io/kubernetes/pkg/apis/batch/v1"
...
@@ -205,7 +204,7 @@ var _ = framework.KubeDescribe("CronJob", func() {
...
@@ -205,7 +204,7 @@ var _ = framework.KubeDescribe("CronJob", func() {
reaper
,
err
:=
kubectl
.
ReaperFor
(
batchinternal
.
Kind
(
"Job"
),
f
.
InternalClientset
)
reaper
,
err
:=
kubectl
.
ReaperFor
(
batchinternal
.
Kind
(
"Job"
),
f
.
InternalClientset
)
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
timeout
:=
1
*
time
.
Minute
timeout
:=
1
*
time
.
Minute
err
=
reaper
.
Stop
(
f
.
Namespace
.
Name
,
job
.
Name
,
timeout
,
api
.
NewDeleteOptions
(
0
))
err
=
reaper
.
Stop
(
f
.
Namespace
.
Name
,
job
.
Name
,
timeout
,
metav1
.
NewDeleteOptions
(
0
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Ensuring job was deleted"
)
By
(
"Ensuring job was deleted"
)
...
...
test/e2e/deployment.go
View file @
be6d2933
...
@@ -29,7 +29,6 @@ import (
...
@@ -29,7 +29,6 @@ import (
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/apimachinery/pkg/watch"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/annotations"
"k8s.io/kubernetes/pkg/api/annotations"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/api/v1"
extensionsinternal
"k8s.io/kubernetes/pkg/apis/extensions"
extensionsinternal
"k8s.io/kubernetes/pkg/apis/extensions"
...
@@ -185,7 +184,7 @@ func stopDeploymentMaybeOverlap(c clientset.Interface, internalClient internalcl
...
@@ -185,7 +184,7 @@ func stopDeploymentMaybeOverlap(c clientset.Interface, internalClient internalcl
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
timeout
:=
1
*
time
.
Minute
timeout
:=
1
*
time
.
Minute
err
=
reaper
.
Stop
(
ns
,
deployment
.
Name
,
timeout
,
api
.
NewDeleteOptions
(
0
))
err
=
reaper
.
Stop
(
ns
,
deployment
.
Name
,
timeout
,
metav1
.
NewDeleteOptions
(
0
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
framework
.
Logf
(
"Ensuring deployment %s was deleted"
,
deploymentName
)
framework
.
Logf
(
"Ensuring deployment %s was deleted"
,
deploymentName
)
...
...
test/e2e/dns.go
View file @
be6d2933
...
@@ -238,7 +238,7 @@ func validateDNSResults(f *framework.Framework, pod *v1.Pod, fileNames []string)
...
@@ -238,7 +238,7 @@ func validateDNSResults(f *framework.Framework, pod *v1.Pod, fileNames []string)
defer
func
()
{
defer
func
()
{
By
(
"deleting the pod"
)
By
(
"deleting the pod"
)
defer
GinkgoRecover
()
defer
GinkgoRecover
()
podClient
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
podClient
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
}()
}()
if
_
,
err
:=
podClient
.
Create
(
pod
);
err
!=
nil
{
if
_
,
err
:=
podClient
.
Create
(
pod
);
err
!=
nil
{
framework
.
Failf
(
"Failed to create %s pod: %v"
,
pod
.
Name
,
err
)
framework
.
Failf
(
"Failed to create %s pod: %v"
,
pod
.
Name
,
err
)
...
@@ -267,7 +267,7 @@ func validateTargetedProbeOutput(f *framework.Framework, pod *v1.Pod, fileNames
...
@@ -267,7 +267,7 @@ func validateTargetedProbeOutput(f *framework.Framework, pod *v1.Pod, fileNames
defer
func
()
{
defer
func
()
{
By
(
"deleting the pod"
)
By
(
"deleting the pod"
)
defer
GinkgoRecover
()
defer
GinkgoRecover
()
podClient
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
podClient
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
}()
}()
if
_
,
err
:=
podClient
.
Create
(
pod
);
err
!=
nil
{
if
_
,
err
:=
podClient
.
Create
(
pod
);
err
!=
nil
{
framework
.
Failf
(
"Failed to create %s pod: %v"
,
pod
.
Name
,
err
)
framework
.
Failf
(
"Failed to create %s pod: %v"
,
pod
.
Name
,
err
)
...
...
test/e2e/dns_configmap.go
View file @
be6d2933
...
@@ -308,7 +308,7 @@ func (t *dnsConfigMapTest) createUtilPod() {
...
@@ -308,7 +308,7 @@ func (t *dnsConfigMapTest) createUtilPod() {
func
(
t
*
dnsConfigMapTest
)
deleteUtilPod
()
{
func
(
t
*
dnsConfigMapTest
)
deleteUtilPod
()
{
podClient
:=
t
.
c
.
Core
()
.
Pods
(
t
.
f
.
Namespace
.
Name
)
podClient
:=
t
.
c
.
Core
()
.
Pods
(
t
.
f
.
Namespace
.
Name
)
if
err
:=
podClient
.
Delete
(
t
.
utilPod
.
Name
,
v1
.
NewDeleteOptions
(
0
));
err
!=
nil
{
if
err
:=
podClient
.
Delete
(
t
.
utilPod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
));
err
!=
nil
{
framework
.
Logf
(
"Delete of pod %v:%v failed: %v"
,
framework
.
Logf
(
"Delete of pod %v:%v failed: %v"
,
t
.
utilPod
.
Namespace
,
t
.
utilPod
.
Name
,
err
)
t
.
utilPod
.
Namespace
,
t
.
utilPod
.
Name
,
err
)
}
}
...
...
test/e2e/empty_dir_wrapper.go
View file @
be6d2933
...
@@ -129,7 +129,7 @@ var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() {
...
@@ -129,7 +129,7 @@ var _ = framework.KubeDescribe("EmptyDir wrapper volumes", func() {
framework
.
Failf
(
"unable to delete secret %v: %v"
,
secret
.
Name
,
err
)
framework
.
Failf
(
"unable to delete secret %v: %v"
,
secret
.
Name
,
err
)
}
}
By
(
"Cleaning up the git vol pod"
)
By
(
"Cleaning up the git vol pod"
)
if
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
));
err
!=
nil
{
if
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
));
err
!=
nil
{
framework
.
Failf
(
"unable to delete git vol pod %v: %v"
,
pod
.
Name
,
err
)
framework
.
Failf
(
"unable to delete git vol pod %v: %v"
,
pod
.
Name
,
err
)
}
}
}()
}()
...
@@ -223,7 +223,7 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle
...
@@ -223,7 +223,7 @@ func createGitServer(f *framework.Framework) (gitURL string, gitRepo string, cle
return
"http://"
+
gitServerSvc
.
Spec
.
ClusterIP
+
":"
+
strconv
.
Itoa
(
httpPort
),
"test"
,
func
()
{
return
"http://"
+
gitServerSvc
.
Spec
.
ClusterIP
+
":"
+
strconv
.
Itoa
(
httpPort
),
"test"
,
func
()
{
By
(
"Cleaning up the git server pod"
)
By
(
"Cleaning up the git server pod"
)
if
err
:=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
gitServerPod
.
Name
,
v1
.
NewDeleteOptions
(
0
));
err
!=
nil
{
if
err
:=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
gitServerPod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
));
err
!=
nil
{
framework
.
Failf
(
"unable to delete git server pod %v: %v"
,
gitServerPod
.
Name
,
err
)
framework
.
Failf
(
"unable to delete git server pod %v: %v"
,
gitServerPod
.
Name
,
err
)
}
}
By
(
"Cleaning up the git server svc"
)
By
(
"Cleaning up the git server svc"
)
...
...
test/e2e/etcd_failure.go
View file @
be6d2933
...
@@ -117,7 +117,7 @@ func checkExistingRCRecovers(f *framework.Framework) {
...
@@ -117,7 +117,7 @@ func checkExistingRCRecovers(f *framework.Framework) {
return
false
,
nil
return
false
,
nil
}
}
for
_
,
pod
:=
range
pods
.
Items
{
for
_
,
pod
:=
range
pods
.
Items
{
err
=
podClient
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
err
=
podClient
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
}
}
framework
.
Logf
(
"apiserver has recovered"
)
framework
.
Logf
(
"apiserver has recovered"
)
...
...
test/e2e/framework/networking_utils.go
View file @
be6d2933
...
@@ -558,7 +558,7 @@ func (config *NetworkingTestConfig) createNetProxyPods(podName string, selector
...
@@ -558,7 +558,7 @@ func (config *NetworkingTestConfig) createNetProxyPods(podName string, selector
func
(
config
*
NetworkingTestConfig
)
DeleteNetProxyPod
()
{
func
(
config
*
NetworkingTestConfig
)
DeleteNetProxyPod
()
{
pod
:=
config
.
EndpointPods
[
0
]
pod
:=
config
.
EndpointPods
[
0
]
config
.
getPodClient
()
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
config
.
getPodClient
()
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
config
.
EndpointPods
=
config
.
EndpointPods
[
1
:
]
config
.
EndpointPods
=
config
.
EndpointPods
[
1
:
]
// wait for pod being deleted.
// wait for pod being deleted.
err
:=
WaitForPodToDisappear
(
config
.
f
.
ClientSet
,
config
.
Namespace
,
pod
.
Name
,
labels
.
Everything
(),
time
.
Second
,
wait
.
ForeverTestTimeout
)
err
:=
WaitForPodToDisappear
(
config
.
f
.
ClientSet
,
config
.
Namespace
,
pod
.
Name
,
labels
.
Everything
(),
time
.
Second
,
wait
.
ForeverTestTimeout
)
...
...
test/e2e/framework/pods.go
View file @
be6d2933
...
@@ -113,7 +113,7 @@ func (c *PodClient) Update(name string, updateFn func(pod *v1.Pod)) {
...
@@ -113,7 +113,7 @@ func (c *PodClient) Update(name string, updateFn func(pod *v1.Pod)) {
// DeleteSync deletes the pod and wait for the pod to disappear for `timeout`. If the pod doesn't
// DeleteSync deletes the pod and wait for the pod to disappear for `timeout`. If the pod doesn't
// disappear before the timeout, it will fail the test.
// disappear before the timeout, it will fail the test.
func
(
c
*
PodClient
)
DeleteSync
(
name
string
,
options
*
v1
.
DeleteOptions
,
timeout
time
.
Duration
)
{
func
(
c
*
PodClient
)
DeleteSync
(
name
string
,
options
*
meta
v1
.
DeleteOptions
,
timeout
time
.
Duration
)
{
err
:=
c
.
Delete
(
name
,
options
)
err
:=
c
.
Delete
(
name
,
options
)
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
Failf
(
"Failed to delete pod %q: %v"
,
name
,
err
)
Failf
(
"Failed to delete pod %q: %v"
,
name
,
err
)
...
...
test/e2e/framework/util.go
View file @
be6d2933
...
@@ -2116,7 +2116,7 @@ func (f *Framework) MatchContainerOutput(
...
@@ -2116,7 +2116,7 @@ func (f *Framework) MatchContainerOutput(
createdPod
:=
podClient
.
Create
(
pod
)
createdPod
:=
podClient
.
Create
(
pod
)
defer
func
()
{
defer
func
()
{
By
(
"delete the pod"
)
By
(
"delete the pod"
)
podClient
.
DeleteSync
(
createdPod
.
Name
,
&
v1
.
DeleteOptions
{},
podNoLongerRunningTimeout
)
podClient
.
DeleteSync
(
createdPod
.
Name
,
&
meta
v1
.
DeleteOptions
{},
podNoLongerRunningTimeout
)
}()
}()
// Wait for client pod to complete.
// Wait for client pod to complete.
...
@@ -2732,7 +2732,7 @@ func getRuntimeObjectForKind(c clientset.Interface, kind schema.GroupKind, ns, n
...
@@ -2732,7 +2732,7 @@ func getRuntimeObjectForKind(c clientset.Interface, kind schema.GroupKind, ns, n
}
}
}
}
func
deleteResource
(
c
clientset
.
Interface
,
kind
schema
.
GroupKind
,
ns
,
name
string
,
deleteOption
*
v1
.
DeleteOptions
)
error
{
func
deleteResource
(
c
clientset
.
Interface
,
kind
schema
.
GroupKind
,
ns
,
name
string
,
deleteOption
*
meta
v1
.
DeleteOptions
)
error
{
switch
kind
{
switch
kind
{
case
api
.
Kind
(
"ReplicationController"
)
:
case
api
.
Kind
(
"ReplicationController"
)
:
return
c
.
Core
()
.
ReplicationControllers
(
ns
)
.
Delete
(
name
,
deleteOption
)
return
c
.
Core
()
.
ReplicationControllers
(
ns
)
.
Delete
(
name
,
deleteOption
)
...
@@ -2884,7 +2884,7 @@ func DeleteResourceAndWaitForGC(c clientset.Interface, kind schema.GroupKind, ns
...
@@ -2884,7 +2884,7 @@ func DeleteResourceAndWaitForGC(c clientset.Interface, kind schema.GroupKind, ns
defer
ps
.
Stop
()
defer
ps
.
Stop
()
startTime
:=
time
.
Now
()
startTime
:=
time
.
Now
()
falseVar
:=
false
falseVar
:=
false
deleteOption
:=
&
v1
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
deleteOption
:=
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
err
=
deleteResource
(
c
,
kind
,
ns
,
name
,
deleteOption
)
err
=
deleteResource
(
c
,
kind
,
ns
,
name
,
deleteOption
)
if
err
!=
nil
&&
apierrs
.
IsNotFound
(
err
)
{
if
err
!=
nil
&&
apierrs
.
IsNotFound
(
err
)
{
Logf
(
"%v %s was already deleted: %v"
,
kind
,
name
,
err
)
Logf
(
"%v %s was already deleted: %v"
,
kind
,
name
,
err
)
...
...
test/e2e/garbage_collector.go
View file @
be6d2933
...
@@ -32,14 +32,14 @@ import (
...
@@ -32,14 +32,14 @@ import (
.
"github.com/onsi/ginkgo"
.
"github.com/onsi/ginkgo"
)
)
func
getOrphanOptions
()
*
v1
.
DeleteOptions
{
func
getOrphanOptions
()
*
meta
v1
.
DeleteOptions
{
var
trueVar
=
true
var
trueVar
=
true
return
&
v1
.
DeleteOptions
{
OrphanDependents
:
&
trueVar
}
return
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
&
trueVar
}
}
}
func
getNonOrphanOptions
()
*
v1
.
DeleteOptions
{
func
getNonOrphanOptions
()
*
meta
v1
.
DeleteOptions
{
var
falseVar
=
false
var
falseVar
=
false
return
&
v1
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
return
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
}
}
var
zero
=
int64
(
0
)
var
zero
=
int64
(
0
)
...
@@ -200,7 +200,7 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
...
@@ -200,7 +200,7 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
}
}
By
(
"delete the rc"
)
By
(
"delete the rc"
)
deleteOptions
:=
getNonOrphanOptions
()
deleteOptions
:=
getNonOrphanOptions
()
deleteOptions
.
Preconditions
=
v1
.
NewUIDPreconditions
(
string
(
rc
.
UID
))
deleteOptions
.
Preconditions
=
meta
v1
.
NewUIDPreconditions
(
string
(
rc
.
UID
))
if
err
:=
rcClient
.
Delete
(
rc
.
ObjectMeta
.
Name
,
deleteOptions
);
err
!=
nil
{
if
err
:=
rcClient
.
Delete
(
rc
.
ObjectMeta
.
Name
,
deleteOptions
);
err
!=
nil
{
framework
.
Failf
(
"failed to delete the rc: %v"
,
err
)
framework
.
Failf
(
"failed to delete the rc: %v"
,
err
)
}
}
...
@@ -249,7 +249,7 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
...
@@ -249,7 +249,7 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
}
}
By
(
"delete the rc"
)
By
(
"delete the rc"
)
deleteOptions
:=
getOrphanOptions
()
deleteOptions
:=
getOrphanOptions
()
deleteOptions
.
Preconditions
=
v1
.
NewUIDPreconditions
(
string
(
rc
.
UID
))
deleteOptions
.
Preconditions
=
meta
v1
.
NewUIDPreconditions
(
string
(
rc
.
UID
))
if
err
:=
rcClient
.
Delete
(
rc
.
ObjectMeta
.
Name
,
deleteOptions
);
err
!=
nil
{
if
err
:=
rcClient
.
Delete
(
rc
.
ObjectMeta
.
Name
,
deleteOptions
);
err
!=
nil
{
framework
.
Failf
(
"failed to delete the rc: %v"
,
err
)
framework
.
Failf
(
"failed to delete the rc: %v"
,
err
)
}
}
...
@@ -308,8 +308,8 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
...
@@ -308,8 +308,8 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
framework
.
Failf
(
"failed to wait for the rc.Status.Replicas to reach rc.Spec.Replicas: %v"
,
err
)
framework
.
Failf
(
"failed to wait for the rc.Status.Replicas to reach rc.Spec.Replicas: %v"
,
err
)
}
}
By
(
"delete the rc"
)
By
(
"delete the rc"
)
deleteOptions
:=
&
v1
.
DeleteOptions
{}
deleteOptions
:=
&
meta
v1
.
DeleteOptions
{}
deleteOptions
.
Preconditions
=
v1
.
NewUIDPreconditions
(
string
(
rc
.
UID
))
deleteOptions
.
Preconditions
=
meta
v1
.
NewUIDPreconditions
(
string
(
rc
.
UID
))
if
err
:=
rcClient
.
Delete
(
rc
.
ObjectMeta
.
Name
,
deleteOptions
);
err
!=
nil
{
if
err
:=
rcClient
.
Delete
(
rc
.
ObjectMeta
.
Name
,
deleteOptions
);
err
!=
nil
{
framework
.
Failf
(
"failed to delete the rc: %v"
,
err
)
framework
.
Failf
(
"failed to delete the rc: %v"
,
err
)
}
}
...
@@ -356,7 +356,7 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
...
@@ -356,7 +356,7 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
By
(
"delete the deployment"
)
By
(
"delete the deployment"
)
deleteOptions
:=
getNonOrphanOptions
()
deleteOptions
:=
getNonOrphanOptions
()
deleteOptions
.
Preconditions
=
v1
.
NewUIDPreconditions
(
string
(
createdDeployment
.
UID
))
deleteOptions
.
Preconditions
=
meta
v1
.
NewUIDPreconditions
(
string
(
createdDeployment
.
UID
))
if
err
:=
deployClient
.
Delete
(
deployment
.
ObjectMeta
.
Name
,
deleteOptions
);
err
!=
nil
{
if
err
:=
deployClient
.
Delete
(
deployment
.
ObjectMeta
.
Name
,
deleteOptions
);
err
!=
nil
{
framework
.
Failf
(
"failed to delete the deployment: %v"
,
err
)
framework
.
Failf
(
"failed to delete the deployment: %v"
,
err
)
}
}
...
@@ -405,7 +405,7 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
...
@@ -405,7 +405,7 @@ var _ = framework.KubeDescribe("Garbage collector", func() {
By
(
"delete the deployment"
)
By
(
"delete the deployment"
)
deleteOptions
:=
getOrphanOptions
()
deleteOptions
:=
getOrphanOptions
()
deleteOptions
.
Preconditions
=
v1
.
NewUIDPreconditions
(
string
(
createdDeployment
.
UID
))
deleteOptions
.
Preconditions
=
meta
v1
.
NewUIDPreconditions
(
string
(
createdDeployment
.
UID
))
if
err
:=
deployClient
.
Delete
(
deployment
.
ObjectMeta
.
Name
,
deleteOptions
);
err
!=
nil
{
if
err
:=
deployClient
.
Delete
(
deployment
.
ObjectMeta
.
Name
,
deleteOptions
);
err
!=
nil
{
framework
.
Failf
(
"failed to delete the deployment: %v"
,
err
)
framework
.
Failf
(
"failed to delete the deployment: %v"
,
err
)
}
}
...
...
test/e2e/generated_clientset.go
View file @
be6d2933
...
@@ -170,7 +170,7 @@ var _ = framework.KubeDescribe("Generated release_1_5 clientset", func() {
...
@@ -170,7 +170,7 @@ var _ = framework.KubeDescribe("Generated release_1_5 clientset", func() {
framework
.
ExpectNoError
(
f
.
WaitForPodRunning
(
pod
.
Name
))
framework
.
ExpectNoError
(
f
.
WaitForPodRunning
(
pod
.
Name
))
By
(
"deleting the pod gracefully"
)
By
(
"deleting the pod gracefully"
)
if
err
:=
podClient
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
30
));
err
!=
nil
{
if
err
:=
podClient
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
30
));
err
!=
nil
{
framework
.
Failf
(
"Failed to delete pod: %v"
,
err
)
framework
.
Failf
(
"Failed to delete pod: %v"
,
err
)
}
}
...
...
test/e2e/job.go
View file @
be6d2933
...
@@ -23,7 +23,6 @@ import (
...
@@ -23,7 +23,6 @@ import (
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/wait"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1"
"k8s.io/kubernetes/pkg/api/v1"
batchinternal
"k8s.io/kubernetes/pkg/apis/batch"
batchinternal
"k8s.io/kubernetes/pkg/apis/batch"
batch
"k8s.io/kubernetes/pkg/apis/batch/v1"
batch
"k8s.io/kubernetes/pkg/apis/batch/v1"
...
@@ -178,7 +177,7 @@ var _ = framework.KubeDescribe("Job", func() {
...
@@ -178,7 +177,7 @@ var _ = framework.KubeDescribe("Job", func() {
reaper
,
err
:=
kubectl
.
ReaperFor
(
batchinternal
.
Kind
(
"Job"
),
f
.
InternalClientset
)
reaper
,
err
:=
kubectl
.
ReaperFor
(
batchinternal
.
Kind
(
"Job"
),
f
.
InternalClientset
)
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
timeout
:=
1
*
time
.
Minute
timeout
:=
1
*
time
.
Minute
err
=
reaper
.
Stop
(
f
.
Namespace
.
Name
,
job
.
Name
,
timeout
,
api
.
NewDeleteOptions
(
0
))
err
=
reaper
.
Stop
(
f
.
Namespace
.
Name
,
job
.
Name
,
timeout
,
metav1
.
NewDeleteOptions
(
0
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Ensuring job was deleted"
)
By
(
"Ensuring job was deleted"
)
...
...
test/e2e/node_problem_detector.go
View file @
be6d2933
...
@@ -376,13 +376,13 @@ var _ = framework.KubeDescribe("NodeProblemDetector", func() {
...
@@ -376,13 +376,13 @@ var _ = framework.KubeDescribe("NodeProblemDetector", func() {
framework
.
Logf
(
"Node Problem Detector logs:
\n
%s"
,
log
)
framework
.
Logf
(
"Node Problem Detector logs:
\n
%s"
,
log
)
}
}
By
(
"Delete the node problem detector"
)
By
(
"Delete the node problem detector"
)
c
.
Core
()
.
Pods
(
ns
)
.
Delete
(
name
,
v1
.
NewDeleteOptions
(
0
))
c
.
Core
()
.
Pods
(
ns
)
.
Delete
(
name
,
meta
v1
.
NewDeleteOptions
(
0
))
By
(
"Wait for the node problem detector to disappear"
)
By
(
"Wait for the node problem detector to disappear"
)
Expect
(
framework
.
WaitForPodToDisappear
(
c
,
ns
,
name
,
labels
.
Everything
(),
pollInterval
,
pollTimeout
))
.
To
(
Succeed
())
Expect
(
framework
.
WaitForPodToDisappear
(
c
,
ns
,
name
,
labels
.
Everything
(),
pollInterval
,
pollTimeout
))
.
To
(
Succeed
())
By
(
"Delete the config map"
)
By
(
"Delete the config map"
)
c
.
Core
()
.
ConfigMaps
(
ns
)
.
Delete
(
configName
,
nil
)
c
.
Core
()
.
ConfigMaps
(
ns
)
.
Delete
(
configName
,
nil
)
By
(
"Clean up the events"
)
By
(
"Clean up the events"
)
Expect
(
c
.
Core
()
.
Events
(
eventNamespace
)
.
DeleteCollection
(
v1
.
NewDeleteOptions
(
0
),
eventListOptions
))
.
To
(
Succeed
())
Expect
(
c
.
Core
()
.
Events
(
eventNamespace
)
.
DeleteCollection
(
meta
v1
.
NewDeleteOptions
(
0
),
eventListOptions
))
.
To
(
Succeed
())
By
(
"Clean up the node condition"
)
By
(
"Clean up the node condition"
)
patch
:=
[]
byte
(
fmt
.
Sprintf
(
`{"status":{"conditions":[{"$patch":"delete","type":"%s"}]}}`
,
condition
))
patch
:=
[]
byte
(
fmt
.
Sprintf
(
`{"status":{"conditions":[{"$patch":"delete","type":"%s"}]}}`
,
condition
))
c
.
Core
()
.
RESTClient
()
.
Patch
(
types
.
StrategicMergePatchType
)
.
Resource
(
"nodes"
)
.
Name
(
node
.
Name
)
.
SubResource
(
"status"
)
.
Body
(
patch
)
.
Do
()
c
.
Core
()
.
RESTClient
()
.
Patch
(
types
.
StrategicMergePatchType
)
.
Resource
(
"nodes"
)
.
Name
(
node
.
Name
)
.
SubResource
(
"status"
)
.
Body
(
patch
)
.
Do
()
...
...
test/e2e/pd.go
View file @
be6d2933
This diff is collapsed.
Click to expand it.
test/e2e/resource_quota.go
View file @
be6d2933
...
@@ -188,7 +188,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
...
@@ -188,7 +188,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Deleting the pod"
)
By
(
"Deleting the pod"
)
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
podName
,
v1
.
NewDeleteOptions
(
0
))
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
podName
,
meta
v1
.
NewDeleteOptions
(
0
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Ensuring resource quota status released the pod usage"
)
By
(
"Ensuring resource quota status released the pod usage"
)
...
@@ -410,7 +410,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
...
@@ -410,7 +410,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Deleting the pod"
)
By
(
"Deleting the pod"
)
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
podName
,
v1
.
NewDeleteOptions
(
0
))
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
podName
,
meta
v1
.
NewDeleteOptions
(
0
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Ensuring resource quota status released the pod usage"
)
By
(
"Ensuring resource quota status released the pod usage"
)
...
@@ -449,7 +449,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
...
@@ -449,7 +449,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Deleting the pod"
)
By
(
"Deleting the pod"
)
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
podName
,
v1
.
NewDeleteOptions
(
0
))
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
podName
,
meta
v1
.
NewDeleteOptions
(
0
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Ensuring resource quota status released the pod usage"
)
By
(
"Ensuring resource quota status released the pod usage"
)
...
@@ -497,7 +497,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
...
@@ -497,7 +497,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Deleting the pod"
)
By
(
"Deleting the pod"
)
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Ensuring resource quota status released the pod usage"
)
By
(
"Ensuring resource quota status released the pod usage"
)
...
@@ -527,7 +527,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
...
@@ -527,7 +527,7 @@ var _ = framework.KubeDescribe("ResourceQuota", func() {
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Deleting the pod"
)
By
(
"Deleting the pod"
)
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
By
(
"Ensuring resource quota status released the pod usage"
)
By
(
"Ensuring resource quota status released the pod usage"
)
...
...
test/e2e/scheduler_predicates.go
View file @
be6d2933
...
@@ -802,7 +802,7 @@ func runPodAndGetNodeName(f *framework.Framework, conf pausePodConfig) string {
...
@@ -802,7 +802,7 @@ func runPodAndGetNodeName(f *framework.Framework, conf pausePodConfig) string {
pod
:=
runPausePod
(
f
,
conf
)
pod
:=
runPausePod
(
f
,
conf
)
By
(
"Explicitly delete pod here to free the resource it takes."
)
By
(
"Explicitly delete pod here to free the resource it takes."
)
err
:=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
err
:=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
framework
.
ExpectNoError
(
err
)
framework
.
ExpectNoError
(
err
)
return
pod
.
Spec
.
NodeName
return
pod
.
Spec
.
NodeName
...
...
test/e2e/service.go
View file @
be6d2933
...
@@ -1145,7 +1145,7 @@ var _ = framework.KubeDescribe("Services", func() {
...
@@ -1145,7 +1145,7 @@ var _ = framework.KubeDescribe("Services", func() {
}
else
{
}
else
{
for
_
,
pod
:=
range
pods
.
Items
{
for
_
,
pod
:=
range
pods
.
Items
{
var
gracePeriodSeconds
int64
=
0
var
gracePeriodSeconds
int64
=
0
err
:=
podClient
.
Delete
(
pod
.
Name
,
&
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gracePeriodSeconds
})
err
:=
podClient
.
Delete
(
pod
.
Name
,
&
meta
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gracePeriodSeconds
})
if
err
!=
nil
{
if
err
!=
nil
{
framework
.
Logf
(
"warning: error force deleting pod '%s': %s"
,
pod
.
Name
,
err
)
framework
.
Logf
(
"warning: error force deleting pod '%s': %s"
,
pod
.
Name
,
err
)
}
}
...
...
test/e2e/statefulset.go
View file @
be6d2933
...
@@ -412,7 +412,7 @@ var _ = framework.KubeDescribe("StatefulSet", func() {
...
@@ -412,7 +412,7 @@ var _ = framework.KubeDescribe("StatefulSet", func() {
}
}
By
(
"Removing pod with conflicting port in namespace "
+
f
.
Namespace
.
Name
)
By
(
"Removing pod with conflicting port in namespace "
+
f
.
Namespace
.
Name
)
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
f
.
Namespace
.
Name
)
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
framework
.
ExpectNoError
(
err
)
framework
.
ExpectNoError
(
err
)
By
(
"Waiting when stateful pod "
+
statefulPodName
+
" will be recreated in namespace "
+
f
.
Namespace
.
Name
+
" and will be in running state"
)
By
(
"Waiting when stateful pod "
+
statefulPodName
+
" will be recreated in namespace "
+
f
.
Namespace
.
Name
+
" and will be in running state"
)
...
@@ -772,7 +772,7 @@ func (s *statefulSetTester) saturate(ss *apps.StatefulSet) {
...
@@ -772,7 +772,7 @@ func (s *statefulSetTester) saturate(ss *apps.StatefulSet) {
func
(
s
*
statefulSetTester
)
deleteStatefulPodAtIndex
(
index
int
,
ss
*
apps
.
StatefulSet
)
{
func
(
s
*
statefulSetTester
)
deleteStatefulPodAtIndex
(
index
int
,
ss
*
apps
.
StatefulSet
)
{
name
:=
getPodNameAtIndex
(
index
,
ss
)
name
:=
getPodNameAtIndex
(
index
,
ss
)
noGrace
:=
int64
(
0
)
noGrace
:=
int64
(
0
)
if
err
:=
s
.
c
.
Core
()
.
Pods
(
ss
.
Namespace
)
.
Delete
(
name
,
&
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
noGrace
});
err
!=
nil
{
if
err
:=
s
.
c
.
Core
()
.
Pods
(
ss
.
Namespace
)
.
Delete
(
name
,
&
meta
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
noGrace
});
err
!=
nil
{
framework
.
Failf
(
"Failed to delete stateful pod %v for StatefulSet %v/%v: %v"
,
name
,
ss
.
Namespace
,
ss
.
Name
,
err
)
framework
.
Failf
(
"Failed to delete stateful pod %v for StatefulSet %v/%v: %v"
,
name
,
ss
.
Namespace
,
ss
.
Name
,
err
)
}
}
}
}
...
...
test/e2e/third-party.go
View file @
be6d2933
...
@@ -26,7 +26,6 @@ import (
...
@@ -26,7 +26,6 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/apimachinery/pkg/util/wait"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1"
extensions
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
extensions
"k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
"k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e/framework"
...
@@ -163,7 +162,7 @@ var _ = Describe("ThirdParty resources [Flaky] [Disruptive]", func() {
...
@@ -163,7 +162,7 @@ var _ = Describe("ThirdParty resources [Flaky] [Disruptive]", func() {
// Need to manually do the serialization because otherwise the
// Need to manually do the serialization because otherwise the
// Content-Type header is set to protobuf, the thirdparty codec in
// Content-Type header is set to protobuf, the thirdparty codec in
// the API server side only accepts JSON.
// the API server side only accepts JSON.
deleteOptionsData
,
err
:=
json
.
Marshal
(
v1
.
NewDeleteOptions
(
10
))
deleteOptionsData
,
err
:=
json
.
Marshal
(
meta
v1
.
NewDeleteOptions
(
10
))
framework
.
ExpectNoError
(
err
)
framework
.
ExpectNoError
(
err
)
if
_
,
err
:=
f
.
ClientSet
.
Core
()
.
RESTClient
()
.
Delete
()
.
if
_
,
err
:=
f
.
ClientSet
.
Core
()
.
RESTClient
()
.
Delete
()
.
AbsPath
(
"/apis/company.com/v1/namespaces/default/foos/foo"
)
.
AbsPath
(
"/apis/company.com/v1/namespaces/default/foos/foo"
)
.
...
...
test/e2e_federation/federated-daemonset.go
View file @
be6d2933
...
@@ -69,7 +69,7 @@ var _ = framework.KubeDescribe("Federation daemonsets [Feature:Federation]", fun
...
@@ -69,7 +69,7 @@ var _ = framework.KubeDescribe("Federation daemonsets [Feature:Federation]", fun
daemonset
:=
createDaemonSetOrFail
(
f
.
FederationClientset
,
nsName
)
daemonset
:=
createDaemonSetOrFail
(
f
.
FederationClientset
,
nsName
)
defer
func
()
{
// Cleanup
defer
func
()
{
// Cleanup
By
(
fmt
.
Sprintf
(
"Deleting daemonset %q in namespace %q"
,
daemonset
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deleting daemonset %q in namespace %q"
,
daemonset
.
Name
,
nsName
))
err
:=
f
.
FederationClientset
.
Extensions
()
.
DaemonSets
(
nsName
)
.
Delete
(
daemonset
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Extensions
()
.
DaemonSets
(
nsName
)
.
Delete
(
daemonset
.
Name
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
"Error deleting daemonset %q in namespace %q"
,
daemonset
.
Name
,
nsName
)
framework
.
ExpectNoError
(
err
,
"Error deleting daemonset %q in namespace %q"
,
daemonset
.
Name
,
nsName
)
}()
}()
// wait for daemonset shards being created
// wait for daemonset shards being created
...
@@ -190,7 +190,7 @@ func createDaemonSetOrFail(clientset *fedclientset.Clientset, namespace string)
...
@@ -190,7 +190,7 @@ func createDaemonSetOrFail(clientset *fedclientset.Clientset, namespace string)
func
deleteDaemonSetOrFail
(
clientset
*
fedclientset
.
Clientset
,
nsName
string
,
daemonsetName
string
,
orphanDependents
*
bool
)
{
func
deleteDaemonSetOrFail
(
clientset
*
fedclientset
.
Clientset
,
nsName
string
,
daemonsetName
string
,
orphanDependents
*
bool
)
{
By
(
fmt
.
Sprintf
(
"Deleting daemonset %q in namespace %q"
,
daemonsetName
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deleting daemonset %q in namespace %q"
,
daemonsetName
,
nsName
))
err
:=
clientset
.
Extensions
()
.
DaemonSets
(
nsName
)
.
Delete
(
daemonsetName
,
&
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
err
:=
clientset
.
Extensions
()
.
DaemonSets
(
nsName
)
.
Delete
(
daemonsetName
,
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
framework
.
ExpectNoError
(
err
,
"Error deleting daemonset %q in namespace %q"
,
daemonsetName
,
nsName
)
framework
.
ExpectNoError
(
err
,
"Error deleting daemonset %q in namespace %q"
,
daemonsetName
,
nsName
)
// Wait for the daemonset to be deleted.
// Wait for the daemonset to be deleted.
...
...
test/e2e_federation/federated-deployment.go
View file @
be6d2933
...
@@ -61,7 +61,7 @@ var _ = framework.KubeDescribe("Federation deployments [Feature:Federation]", fu
...
@@ -61,7 +61,7 @@ var _ = framework.KubeDescribe("Federation deployments [Feature:Federation]", fu
deployment
:=
createDeploymentOrFail
(
f
.
FederationClientset
,
nsName
)
deployment
:=
createDeploymentOrFail
(
f
.
FederationClientset
,
nsName
)
By
(
fmt
.
Sprintf
(
"Creation of deployment %q in namespace %q succeeded. Deleting deployment."
,
deployment
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Creation of deployment %q in namespace %q succeeded. Deleting deployment."
,
deployment
.
Name
,
nsName
))
// Cleanup
// Cleanup
err
:=
f
.
FederationClientset
.
Extensions
()
.
Deployments
(
nsName
)
.
Delete
(
deployment
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Extensions
()
.
Deployments
(
nsName
)
.
Delete
(
deployment
.
Name
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
"Error deleting deployment %q in namespace %q"
,
deployment
.
Name
,
deployment
.
Namespace
)
framework
.
ExpectNoError
(
err
,
"Error deleting deployment %q in namespace %q"
,
deployment
.
Name
,
deployment
.
Namespace
)
By
(
fmt
.
Sprintf
(
"Deletion of deployment %q in namespace %q succeeded."
,
deployment
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deletion of deployment %q in namespace %q succeeded."
,
deployment
.
Name
,
nsName
))
})
})
...
@@ -99,7 +99,7 @@ var _ = framework.KubeDescribe("Federation deployments [Feature:Federation]", fu
...
@@ -99,7 +99,7 @@ var _ = framework.KubeDescribe("Federation deployments [Feature:Federation]", fu
dep
.
Spec
.
Replicas
=
&
replicas
dep
.
Spec
.
Replicas
=
&
replicas
f
.
FederationClientset
.
Deployments
(
nsName
)
.
Update
(
dep
)
f
.
FederationClientset
.
Deployments
(
nsName
)
.
Update
(
dep
)
waitForDeploymentOrFail
(
f
.
FederationClientset
,
nsName
,
dep
.
Name
,
clusters
)
waitForDeploymentOrFail
(
f
.
FederationClientset
,
nsName
,
dep
.
Name
,
clusters
)
f
.
FederationClientset
.
Deployments
(
nsName
)
.
Delete
(
dep
.
Name
,
&
v1
.
DeleteOptions
{})
f
.
FederationClientset
.
Deployments
(
nsName
)
.
Delete
(
dep
.
Name
,
&
meta
v1
.
DeleteOptions
{})
}()
}()
waitForDeploymentOrFail
(
f
.
FederationClientset
,
nsName
,
dep
.
Name
,
clusters
)
waitForDeploymentOrFail
(
f
.
FederationClientset
,
nsName
,
dep
.
Name
,
clusters
)
...
@@ -261,7 +261,7 @@ func updateDeploymentOrFail(clientset *fedclientset.Clientset, namespace string)
...
@@ -261,7 +261,7 @@ func updateDeploymentOrFail(clientset *fedclientset.Clientset, namespace string)
func
deleteDeploymentOrFail
(
clientset
*
fedclientset
.
Clientset
,
nsName
string
,
deploymentName
string
,
orphanDependents
*
bool
)
{
func
deleteDeploymentOrFail
(
clientset
*
fedclientset
.
Clientset
,
nsName
string
,
deploymentName
string
,
orphanDependents
*
bool
)
{
By
(
fmt
.
Sprintf
(
"Deleting deployment %q in namespace %q"
,
deploymentName
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deleting deployment %q in namespace %q"
,
deploymentName
,
nsName
))
err
:=
clientset
.
Extensions
()
.
Deployments
(
nsName
)
.
Delete
(
deploymentName
,
&
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
err
:=
clientset
.
Extensions
()
.
Deployments
(
nsName
)
.
Delete
(
deploymentName
,
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
framework
.
ExpectNoError
(
err
,
"Error deleting deployment %q in namespace %q"
,
deploymentName
,
nsName
)
framework
.
ExpectNoError
(
err
,
"Error deleting deployment %q in namespace %q"
,
deploymentName
,
nsName
)
// Wait for the deployment to be deleted.
// Wait for the deployment to be deleted.
...
...
test/e2e_federation/federated-ingress.go
View file @
be6d2933
...
@@ -72,7 +72,7 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
...
@@ -72,7 +72,7 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
ingress
:=
createIngressOrFail
(
f
.
FederationClientset
,
nsName
)
ingress
:=
createIngressOrFail
(
f
.
FederationClientset
,
nsName
)
By
(
fmt
.
Sprintf
(
"Creation of ingress %q in namespace %q succeeded. Deleting ingress."
,
ingress
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Creation of ingress %q in namespace %q succeeded. Deleting ingress."
,
ingress
.
Name
,
nsName
))
// Cleanup
// Cleanup
err
:=
f
.
FederationClientset
.
Extensions
()
.
Ingresses
(
nsName
)
.
Delete
(
ingress
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Extensions
()
.
Ingresses
(
nsName
)
.
Delete
(
ingress
.
Name
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
"Error deleting ingress %q in namespace %q"
,
ingress
.
Name
,
ingress
.
Namespace
)
framework
.
ExpectNoError
(
err
,
"Error deleting ingress %q in namespace %q"
,
ingress
.
Name
,
ingress
.
Namespace
)
By
(
fmt
.
Sprintf
(
"Deletion of ingress %q in namespace %q succeeded."
,
ingress
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deletion of ingress %q in namespace %q succeeded."
,
ingress
.
Name
,
nsName
))
})
})
...
@@ -205,7 +205,7 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
...
@@ -205,7 +205,7 @@ var _ = framework.KubeDescribe("Federated ingresses [Feature:Federation]", func(
// Deletes all Ingresses in the given namespace name.
// Deletes all Ingresses in the given namespace name.
func
deleteAllIngressesOrFail
(
clientset
*
fedclientset
.
Clientset
,
nsName
string
)
{
func
deleteAllIngressesOrFail
(
clientset
*
fedclientset
.
Clientset
,
nsName
string
)
{
orphanDependents
:=
false
orphanDependents
:=
false
err
:=
clientset
.
Extensions
()
.
Ingresses
(
nsName
)
.
DeleteCollection
(
&
v1
.
DeleteOptions
{
OrphanDependents
:
&
orphanDependents
},
metav1
.
ListOptions
{})
err
:=
clientset
.
Extensions
()
.
Ingresses
(
nsName
)
.
DeleteCollection
(
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
&
orphanDependents
},
metav1
.
ListOptions
{})
Expect
(
err
)
.
NotTo
(
HaveOccurred
(),
fmt
.
Sprintf
(
"Error in deleting ingresses in namespace: %s"
,
nsName
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
(),
fmt
.
Sprintf
(
"Error in deleting ingresses in namespace: %s"
,
nsName
))
}
}
...
@@ -329,7 +329,7 @@ func deleteIngressOrFail(clientset *fedclientset.Clientset, namespace string, in
...
@@ -329,7 +329,7 @@ func deleteIngressOrFail(clientset *fedclientset.Clientset, namespace string, in
if
clientset
==
nil
||
len
(
namespace
)
==
0
||
len
(
ingressName
)
==
0
{
if
clientset
==
nil
||
len
(
namespace
)
==
0
||
len
(
ingressName
)
==
0
{
Fail
(
fmt
.
Sprintf
(
"Internal error: invalid parameters passed to deleteIngressOrFail: clientset: %v, namespace: %v, ingress: %v"
,
clientset
,
namespace
,
ingressName
))
Fail
(
fmt
.
Sprintf
(
"Internal error: invalid parameters passed to deleteIngressOrFail: clientset: %v, namespace: %v, ingress: %v"
,
clientset
,
namespace
,
ingressName
))
}
}
err
:=
clientset
.
Ingresses
(
namespace
)
.
Delete
(
ingressName
,
&
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
err
:=
clientset
.
Ingresses
(
namespace
)
.
Delete
(
ingressName
,
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
framework
.
ExpectNoError
(
err
,
"Error deleting ingress %q from namespace %q"
,
ingressName
,
namespace
)
framework
.
ExpectNoError
(
err
,
"Error deleting ingress %q from namespace %q"
,
ingressName
,
namespace
)
// Wait for the ingress to be deleted.
// Wait for the ingress to be deleted.
err
=
wait
.
Poll
(
framework
.
Poll
,
wait
.
ForeverTestTimeout
,
func
()
(
bool
,
error
)
{
err
=
wait
.
Poll
(
framework
.
Poll
,
wait
.
ForeverTestTimeout
,
func
()
(
bool
,
error
)
{
...
@@ -349,7 +349,7 @@ func deleteClusterIngressOrFail(clusterName string, clientset *kubeclientset.Cli
...
@@ -349,7 +349,7 @@ func deleteClusterIngressOrFail(clusterName string, clientset *kubeclientset.Cli
if
clientset
==
nil
||
len
(
namespace
)
==
0
||
len
(
ingressName
)
==
0
{
if
clientset
==
nil
||
len
(
namespace
)
==
0
||
len
(
ingressName
)
==
0
{
Fail
(
fmt
.
Sprintf
(
"Internal error: invalid parameters passed to deleteClusterIngressOrFail: cluster: %q, clientset: %v, namespace: %v, ingress: %v"
,
clusterName
,
clientset
,
namespace
,
ingressName
))
Fail
(
fmt
.
Sprintf
(
"Internal error: invalid parameters passed to deleteClusterIngressOrFail: cluster: %q, clientset: %v, namespace: %v, ingress: %v"
,
clusterName
,
clientset
,
namespace
,
ingressName
))
}
}
err
:=
clientset
.
Ingresses
(
namespace
)
.
Delete
(
ingressName
,
v1
.
NewDeleteOptions
(
0
))
err
:=
clientset
.
Ingresses
(
namespace
)
.
Delete
(
ingressName
,
meta
v1
.
NewDeleteOptions
(
0
))
framework
.
ExpectNoError
(
err
,
"Error deleting cluster ingress %q/%q from cluster %q"
,
namespace
,
ingressName
,
clusterName
)
framework
.
ExpectNoError
(
err
,
"Error deleting cluster ingress %q/%q from cluster %q"
,
namespace
,
ingressName
,
clusterName
)
}
}
...
...
test/e2e_federation/federated-namespace.go
View file @
be6d2933
...
@@ -197,7 +197,7 @@ func createNamespace(nsClient clientset.NamespaceInterface) string {
...
@@ -197,7 +197,7 @@ func createNamespace(nsClient clientset.NamespaceInterface) string {
return
ns
.
Name
return
ns
.
Name
}
}
func
deleteAllTestNamespaces
(
orphanDependents
*
bool
,
lister
func
(
metav1
.
ListOptions
)
(
*
api_v1
.
NamespaceList
,
error
),
deleter
func
(
string
,
*
api_
v1
.
DeleteOptions
)
error
)
{
func
deleteAllTestNamespaces
(
orphanDependents
*
bool
,
lister
func
(
metav1
.
ListOptions
)
(
*
api_v1
.
NamespaceList
,
error
),
deleter
func
(
string
,
*
meta
v1
.
DeleteOptions
)
error
)
{
list
,
err
:=
lister
(
metav1
.
ListOptions
{})
list
,
err
:=
lister
(
metav1
.
ListOptions
{})
if
err
!=
nil
{
if
err
!=
nil
{
framework
.
Failf
(
"Failed to get all namespaes: %v"
,
err
)
framework
.
Failf
(
"Failed to get all namespaes: %v"
,
err
)
...
@@ -206,7 +206,7 @@ func deleteAllTestNamespaces(orphanDependents *bool, lister func(metav1.ListOpti
...
@@ -206,7 +206,7 @@ func deleteAllTestNamespaces(orphanDependents *bool, lister func(metav1.ListOpti
for
_
,
namespace
:=
range
list
.
Items
{
for
_
,
namespace
:=
range
list
.
Items
{
if
strings
.
HasPrefix
(
namespace
.
Name
,
namespacePrefix
)
{
if
strings
.
HasPrefix
(
namespace
.
Name
,
namespacePrefix
)
{
By
(
fmt
.
Sprintf
(
"Deleting ns: %s, found by listing"
,
namespace
.
Name
))
By
(
fmt
.
Sprintf
(
"Deleting ns: %s, found by listing"
,
namespace
.
Name
))
err
:=
deleter
(
namespace
.
Name
,
&
api_
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
err
:=
deleter
(
namespace
.
Name
,
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
if
err
!=
nil
{
if
err
!=
nil
{
framework
.
Failf
(
"Failed to set %s for deletion: %v"
,
namespace
.
Name
,
err
)
framework
.
Failf
(
"Failed to set %s for deletion: %v"
,
namespace
.
Name
,
err
)
}
}
...
...
test/e2e_federation/federated-replicaset.go
View file @
be6d2933
...
@@ -63,7 +63,7 @@ var _ = framework.KubeDescribe("Federation replicasets [Feature:Federation]", fu
...
@@ -63,7 +63,7 @@ var _ = framework.KubeDescribe("Federation replicasets [Feature:Federation]", fu
replicaset
:=
createReplicaSetOrFail
(
f
.
FederationClientset
,
nsName
)
replicaset
:=
createReplicaSetOrFail
(
f
.
FederationClientset
,
nsName
)
By
(
fmt
.
Sprintf
(
"Creation of replicaset %q in namespace %q succeeded. Deleting replicaset."
,
replicaset
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Creation of replicaset %q in namespace %q succeeded. Deleting replicaset."
,
replicaset
.
Name
,
nsName
))
// Cleanup
// Cleanup
err
:=
f
.
FederationClientset
.
Extensions
()
.
ReplicaSets
(
nsName
)
.
Delete
(
replicaset
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Extensions
()
.
ReplicaSets
(
nsName
)
.
Delete
(
replicaset
.
Name
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
"Error deleting replicaset %q in namespace %q"
,
replicaset
.
Name
,
replicaset
.
Namespace
)
framework
.
ExpectNoError
(
err
,
"Error deleting replicaset %q in namespace %q"
,
replicaset
.
Name
,
replicaset
.
Namespace
)
By
(
fmt
.
Sprintf
(
"Deletion of replicaset %q in namespace %q succeeded."
,
replicaset
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deletion of replicaset %q in namespace %q succeeded."
,
replicaset
.
Name
,
nsName
))
})
})
...
@@ -102,7 +102,7 @@ var _ = framework.KubeDescribe("Federation replicasets [Feature:Federation]", fu
...
@@ -102,7 +102,7 @@ var _ = framework.KubeDescribe("Federation replicasets [Feature:Federation]", fu
rs
.
Spec
.
Replicas
=
&
replicas
rs
.
Spec
.
Replicas
=
&
replicas
f
.
FederationClientset
.
ReplicaSets
(
nsName
)
.
Update
(
rs
)
f
.
FederationClientset
.
ReplicaSets
(
nsName
)
.
Update
(
rs
)
waitForReplicaSetOrFail
(
f
.
FederationClientset
,
nsName
,
rs
.
Name
,
clusters
)
waitForReplicaSetOrFail
(
f
.
FederationClientset
,
nsName
,
rs
.
Name
,
clusters
)
f
.
FederationClientset
.
ReplicaSets
(
nsName
)
.
Delete
(
rs
.
Name
,
&
v1
.
DeleteOptions
{})
f
.
FederationClientset
.
ReplicaSets
(
nsName
)
.
Delete
(
rs
.
Name
,
&
meta
v1
.
DeleteOptions
{})
}()
}()
waitForReplicaSetOrFail
(
f
.
FederationClientset
,
nsName
,
rs
.
Name
,
clusters
)
waitForReplicaSetOrFail
(
f
.
FederationClientset
,
nsName
,
rs
.
Name
,
clusters
)
...
@@ -247,7 +247,7 @@ func createReplicaSetOrFail(clientset *fedclientset.Clientset, namespace string)
...
@@ -247,7 +247,7 @@ func createReplicaSetOrFail(clientset *fedclientset.Clientset, namespace string)
func
deleteReplicaSetOrFail
(
clientset
*
fedclientset
.
Clientset
,
nsName
string
,
replicaSetName
string
,
orphanDependents
*
bool
)
{
func
deleteReplicaSetOrFail
(
clientset
*
fedclientset
.
Clientset
,
nsName
string
,
replicaSetName
string
,
orphanDependents
*
bool
)
{
By
(
fmt
.
Sprintf
(
"Deleting replica set %q in namespace %q"
,
replicaSetName
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deleting replica set %q in namespace %q"
,
replicaSetName
,
nsName
))
err
:=
clientset
.
Extensions
()
.
ReplicaSets
(
nsName
)
.
Delete
(
replicaSetName
,
&
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
err
:=
clientset
.
Extensions
()
.
ReplicaSets
(
nsName
)
.
Delete
(
replicaSetName
,
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
framework
.
ExpectNoError
(
err
,
"Error deleting replica set %q in namespace %q"
,
replicaSetName
,
nsName
)
framework
.
ExpectNoError
(
err
,
"Error deleting replica set %q in namespace %q"
,
replicaSetName
,
nsName
)
// Wait for the replicaSet to be deleted.
// Wait for the replicaSet to be deleted.
...
...
test/e2e_federation/federated-secret.go
View file @
be6d2933
...
@@ -170,7 +170,7 @@ func createSecretOrFail(clientset *fedclientset.Clientset, nsName string) *v1.Se
...
@@ -170,7 +170,7 @@ func createSecretOrFail(clientset *fedclientset.Clientset, nsName string) *v1.Se
func
deleteSecretOrFail
(
clientset
*
fedclientset
.
Clientset
,
nsName
string
,
secretName
string
,
orphanDependents
*
bool
)
{
func
deleteSecretOrFail
(
clientset
*
fedclientset
.
Clientset
,
nsName
string
,
secretName
string
,
orphanDependents
*
bool
)
{
By
(
fmt
.
Sprintf
(
"Deleting secret %q in namespace %q"
,
secretName
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deleting secret %q in namespace %q"
,
secretName
,
nsName
))
err
:=
clientset
.
Core
()
.
Secrets
(
nsName
)
.
Delete
(
secretName
,
&
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
err
:=
clientset
.
Core
()
.
Secrets
(
nsName
)
.
Delete
(
secretName
,
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
framework
.
ExpectNoError
(
err
,
"Error deleting secret %q in namespace %q"
,
secretName
,
nsName
)
framework
.
ExpectNoError
(
err
,
"Error deleting secret %q in namespace %q"
,
secretName
,
nsName
)
// Wait for the secret to be deleted.
// Wait for the secret to be deleted.
...
...
test/e2e_federation/federated-service.go
View file @
be6d2933
...
@@ -103,7 +103,7 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
...
@@ -103,7 +103,7 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
By
(
fmt
.
Sprintf
(
"Creation of service %q in namespace %q succeeded. Deleting service."
,
service
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Creation of service %q in namespace %q succeeded. Deleting service."
,
service
.
Name
,
nsName
))
// Cleanup
// Cleanup
err
:=
f
.
FederationClientset
.
Services
(
nsName
)
.
Delete
(
service
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Services
(
nsName
)
.
Delete
(
service
.
Name
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
"Error deleting service %q in namespace %q"
,
service
.
Name
,
service
.
Namespace
)
framework
.
ExpectNoError
(
err
,
"Error deleting service %q in namespace %q"
,
service
.
Name
,
service
.
Namespace
)
By
(
fmt
.
Sprintf
(
"Deletion of service %q in namespace %q succeeded."
,
service
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deletion of service %q in namespace %q succeeded."
,
service
.
Name
,
nsName
))
})
})
...
@@ -115,7 +115,7 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
...
@@ -115,7 +115,7 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
service
=
createServiceOrFail
(
f
.
FederationClientset
,
nsName
,
FederatedServiceName
)
service
=
createServiceOrFail
(
f
.
FederationClientset
,
nsName
,
FederatedServiceName
)
defer
func
()
{
// Cleanup
defer
func
()
{
// Cleanup
By
(
fmt
.
Sprintf
(
"Deleting service %q in namespace %q"
,
service
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deleting service %q in namespace %q"
,
service
.
Name
,
nsName
))
err
:=
f
.
FederationClientset
.
Services
(
nsName
)
.
Delete
(
service
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Services
(
nsName
)
.
Delete
(
service
.
Name
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
"Error deleting service %q in namespace %q"
,
service
.
Name
,
nsName
)
framework
.
ExpectNoError
(
err
,
"Error deleting service %q in namespace %q"
,
service
.
Name
,
nsName
)
}()
}()
waitForServiceShardsOrFail
(
nsName
,
service
,
clusters
)
waitForServiceShardsOrFail
(
nsName
,
service
,
clusters
)
...
@@ -259,7 +259,7 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
...
@@ -259,7 +259,7 @@ var _ = framework.KubeDescribe("[Feature:Federation]", func() {
By
(
"Verified that DNS rules are working as expected"
)
By
(
"Verified that DNS rules are working as expected"
)
By
(
"Deleting the service to verify that DNS rules still work"
)
By
(
"Deleting the service to verify that DNS rules still work"
)
err
:=
f
.
FederationClientset
.
Services
(
nsName
)
.
Delete
(
FederatedServiceName
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Services
(
nsName
)
.
Delete
(
FederatedServiceName
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
"Error deleting service %q in namespace %q"
,
service
.
Name
,
service
.
Namespace
)
framework
.
ExpectNoError
(
err
,
"Error deleting service %q in namespace %q"
,
service
.
Name
,
service
.
Namespace
)
// Service is deleted, unset the test block-global service variable.
// Service is deleted, unset the test block-global service variable.
service
=
nil
service
=
nil
...
...
test/e2e_federation/federation-apiserver.go
View file @
be6d2933
...
@@ -44,7 +44,7 @@ var _ = framework.KubeDescribe("Federation apiserver [Feature:Federation]", func
...
@@ -44,7 +44,7 @@ var _ = framework.KubeDescribe("Federation apiserver [Feature:Federation]", func
clusterList
,
err
:=
f
.
FederationClientset
.
Federation
()
.
Clusters
()
.
List
(
metav1
.
ListOptions
{})
clusterList
,
err
:=
f
.
FederationClientset
.
Federation
()
.
Clusters
()
.
List
(
metav1
.
ListOptions
{})
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
for
_
,
cluster
:=
range
clusterList
.
Items
{
for
_
,
cluster
:=
range
clusterList
.
Items
{
err
:=
f
.
FederationClientset
.
Federation
()
.
Clusters
()
.
Delete
(
cluster
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Federation
()
.
Clusters
()
.
Delete
(
cluster
.
Name
,
&
meta
v1
.
DeleteOptions
{})
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
}
}
})
})
...
@@ -69,7 +69,7 @@ var _ = framework.KubeDescribe("Federation apiserver [Feature:Federation]", func
...
@@ -69,7 +69,7 @@ var _ = framework.KubeDescribe("Federation apiserver [Feature:Federation]", func
framework
.
Logf
(
"Deleting %d clusters"
,
len
(
contexts
))
framework
.
Logf
(
"Deleting %d clusters"
,
len
(
contexts
))
for
_
,
context
:=
range
contexts
{
for
_
,
context
:=
range
contexts
{
framework
.
Logf
(
"Deleting cluster object: %s (%s, secret: %s)"
,
context
.
Name
,
context
.
Cluster
.
Cluster
.
Server
,
context
.
Name
)
framework
.
Logf
(
"Deleting cluster object: %s (%s, secret: %s)"
,
context
.
Name
,
context
.
Cluster
.
Cluster
.
Server
,
context
.
Name
)
err
:=
f
.
FederationClientset
.
Federation
()
.
Clusters
()
.
Delete
(
context
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Federation
()
.
Clusters
()
.
Delete
(
context
.
Name
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
fmt
.
Sprintf
(
"unexpected error in deleting cluster %s: %+v"
,
context
.
Name
,
err
))
framework
.
ExpectNoError
(
err
,
fmt
.
Sprintf
(
"unexpected error in deleting cluster %s: %+v"
,
context
.
Name
,
err
))
framework
.
Logf
(
"Successfully deleted cluster object: %s (%s, secret: %s)"
,
context
.
Name
,
context
.
Cluster
.
Cluster
.
Server
,
context
.
Name
)
framework
.
Logf
(
"Successfully deleted cluster object: %s (%s, secret: %s)"
,
context
.
Name
,
context
.
Cluster
.
Cluster
.
Server
,
context
.
Name
)
}
}
...
...
test/e2e_federation/federation-event.go
View file @
be6d2933
...
@@ -46,7 +46,7 @@ var _ = framework.KubeDescribe("Federation events [Feature:Federation]", func()
...
@@ -46,7 +46,7 @@ var _ = framework.KubeDescribe("Federation events [Feature:Federation]", func()
eventList
,
err
:=
f
.
FederationClientset
.
Core
()
.
Events
(
nsName
)
.
List
(
metav1
.
ListOptions
{})
eventList
,
err
:=
f
.
FederationClientset
.
Core
()
.
Events
(
nsName
)
.
List
(
metav1
.
ListOptions
{})
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
for
_
,
event
:=
range
eventList
.
Items
{
for
_
,
event
:=
range
eventList
.
Items
{
err
:=
f
.
FederationClientset
.
Core
()
.
Events
(
nsName
)
.
Delete
(
event
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Core
()
.
Events
(
nsName
)
.
Delete
(
event
.
Name
,
&
meta
v1
.
DeleteOptions
{})
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
}
}
})
})
...
@@ -58,7 +58,7 @@ var _ = framework.KubeDescribe("Federation events [Feature:Federation]", func()
...
@@ -58,7 +58,7 @@ var _ = framework.KubeDescribe("Federation events [Feature:Federation]", func()
event
:=
createEventOrFail
(
f
.
FederationClientset
,
nsName
)
event
:=
createEventOrFail
(
f
.
FederationClientset
,
nsName
)
By
(
fmt
.
Sprintf
(
"Creation of event %q in namespace %q succeeded. Deleting event."
,
event
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Creation of event %q in namespace %q succeeded. Deleting event."
,
event
.
Name
,
nsName
))
// Cleanup
// Cleanup
err
:=
f
.
FederationClientset
.
Core
()
.
Events
(
nsName
)
.
Delete
(
event
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Core
()
.
Events
(
nsName
)
.
Delete
(
event
.
Name
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
"Error deleting event %q in namespace %q"
,
event
.
Name
,
event
.
Namespace
)
framework
.
ExpectNoError
(
err
,
"Error deleting event %q in namespace %q"
,
event
.
Name
,
event
.
Namespace
)
By
(
fmt
.
Sprintf
(
"Deletion of event %q in namespace %q succeeded."
,
event
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deletion of event %q in namespace %q succeeded."
,
event
.
Name
,
nsName
))
})
})
...
...
test/e2e_federation/federation-util.go
View file @
be6d2933
...
@@ -170,7 +170,7 @@ func unregisterClusters(clusters map[string]*cluster, f *fedframework.Framework)
...
@@ -170,7 +170,7 @@ func unregisterClusters(clusters map[string]*cluster, f *fedframework.Framework)
for
name
,
c
:=
range
clusters
{
for
name
,
c
:=
range
clusters
{
if
c
.
namespaceCreated
{
if
c
.
namespaceCreated
{
if
_
,
err
:=
c
.
Clientset
.
Core
()
.
Namespaces
()
.
Get
(
nsName
,
metav1
.
GetOptions
{});
!
errors
.
IsNotFound
(
err
)
{
if
_
,
err
:=
c
.
Clientset
.
Core
()
.
Namespaces
()
.
Get
(
nsName
,
metav1
.
GetOptions
{});
!
errors
.
IsNotFound
(
err
)
{
err
:=
c
.
Clientset
.
Core
()
.
Namespaces
()
.
Delete
(
nsName
,
&
v1
.
DeleteOptions
{})
err
:=
c
.
Clientset
.
Core
()
.
Namespaces
()
.
Delete
(
nsName
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
"Couldn't delete the namespace %s in cluster %q: %v"
,
nsName
,
name
,
err
)
framework
.
ExpectNoError
(
err
,
"Couldn't delete the namespace %s in cluster %q: %v"
,
nsName
,
name
,
err
)
}
}
framework
.
Logf
(
"Namespace %s deleted in cluster %q"
,
nsName
,
name
)
framework
.
Logf
(
"Namespace %s deleted in cluster %q"
,
nsName
,
name
)
...
@@ -181,7 +181,7 @@ func unregisterClusters(clusters map[string]*cluster, f *fedframework.Framework)
...
@@ -181,7 +181,7 @@ func unregisterClusters(clusters map[string]*cluster, f *fedframework.Framework)
clusterList
,
err
:=
f
.
FederationClientset
.
Federation
()
.
Clusters
()
.
List
(
metav1
.
ListOptions
{})
clusterList
,
err
:=
f
.
FederationClientset
.
Federation
()
.
Clusters
()
.
List
(
metav1
.
ListOptions
{})
framework
.
ExpectNoError
(
err
,
"Error listing clusters"
)
framework
.
ExpectNoError
(
err
,
"Error listing clusters"
)
for
_
,
cluster
:=
range
clusterList
.
Items
{
for
_
,
cluster
:=
range
clusterList
.
Items
{
err
:=
f
.
FederationClientset
.
Federation
()
.
Clusters
()
.
Delete
(
cluster
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
f
.
FederationClientset
.
Federation
()
.
Clusters
()
.
Delete
(
cluster
.
Name
,
&
meta
v1
.
DeleteOptions
{})
framework
.
ExpectNoError
(
err
,
"Error deleting cluster %q"
,
cluster
.
Name
)
framework
.
ExpectNoError
(
err
,
"Error deleting cluster %q"
,
cluster
.
Name
)
}
}
}
}
...
@@ -291,7 +291,7 @@ func deleteServiceOrFail(clientset *fedclientset.Clientset, namespace string, se
...
@@ -291,7 +291,7 @@ func deleteServiceOrFail(clientset *fedclientset.Clientset, namespace string, se
if
clientset
==
nil
||
len
(
namespace
)
==
0
||
len
(
serviceName
)
==
0
{
if
clientset
==
nil
||
len
(
namespace
)
==
0
||
len
(
serviceName
)
==
0
{
Fail
(
fmt
.
Sprintf
(
"Internal error: invalid parameters passed to deleteServiceOrFail: clientset: %v, namespace: %v, service: %v"
,
clientset
,
namespace
,
serviceName
))
Fail
(
fmt
.
Sprintf
(
"Internal error: invalid parameters passed to deleteServiceOrFail: clientset: %v, namespace: %v, service: %v"
,
clientset
,
namespace
,
serviceName
))
}
}
err
:=
clientset
.
Services
(
namespace
)
.
Delete
(
serviceName
,
&
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
err
:=
clientset
.
Services
(
namespace
)
.
Delete
(
serviceName
,
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
orphanDependents
})
framework
.
ExpectNoError
(
err
,
"Error deleting service %q from namespace %q"
,
serviceName
,
namespace
)
framework
.
ExpectNoError
(
err
,
"Error deleting service %q from namespace %q"
,
serviceName
,
namespace
)
// Wait for the service to be deleted.
// Wait for the service to be deleted.
err
=
wait
.
Poll
(
5
*
time
.
Second
,
3
*
wait
.
ForeverTestTimeout
,
func
()
(
bool
,
error
)
{
err
=
wait
.
Poll
(
5
*
time
.
Second
,
3
*
wait
.
ForeverTestTimeout
,
func
()
(
bool
,
error
)
{
...
@@ -345,7 +345,7 @@ func cleanupServiceShardsAndProviderResources(namespace string, service *v1.Serv
...
@@ -345,7 +345,7 @@ func cleanupServiceShardsAndProviderResources(namespace string, service *v1.Serv
func
cleanupServiceShard
(
clientset
*
kubeclientset
.
Clientset
,
clusterName
,
namespace
string
,
service
*
v1
.
Service
,
timeout
time
.
Duration
)
error
{
func
cleanupServiceShard
(
clientset
*
kubeclientset
.
Clientset
,
clusterName
,
namespace
string
,
service
*
v1
.
Service
,
timeout
time
.
Duration
)
error
{
err
:=
wait
.
PollImmediate
(
framework
.
Poll
,
timeout
,
func
()
(
bool
,
error
)
{
err
:=
wait
.
PollImmediate
(
framework
.
Poll
,
timeout
,
func
()
(
bool
,
error
)
{
err
:=
clientset
.
Services
(
namespace
)
.
Delete
(
service
.
Name
,
&
v1
.
DeleteOptions
{})
err
:=
clientset
.
Services
(
namespace
)
.
Delete
(
service
.
Name
,
&
meta
v1
.
DeleteOptions
{})
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
if
err
!=
nil
&&
!
errors
.
IsNotFound
(
err
)
{
// Deletion failed with an error, try again.
// Deletion failed with an error, try again.
framework
.
Logf
(
"Failed to delete service %q in namespace %q, in cluster %q"
,
service
.
Name
,
namespace
,
clusterName
)
framework
.
Logf
(
"Failed to delete service %q in namespace %q, in cluster %q"
,
service
.
Name
,
namespace
,
clusterName
)
...
@@ -454,7 +454,7 @@ func discoverService(f *fedframework.Framework, name string, exists bool, podNam
...
@@ -454,7 +454,7 @@ func discoverService(f *fedframework.Framework, name string, exists bool, podNam
By
(
fmt
.
Sprintf
(
"Successfully created pod %q in namespace %q"
,
pod
.
Name
,
nsName
))
By
(
fmt
.
Sprintf
(
"Successfully created pod %q in namespace %q"
,
pod
.
Name
,
nsName
))
defer
func
()
{
defer
func
()
{
By
(
fmt
.
Sprintf
(
"Deleting pod %q from namespace %q"
,
podName
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deleting pod %q from namespace %q"
,
podName
,
nsName
))
err
:=
f
.
ClientSet
.
Core
()
.
Pods
(
nsName
)
.
Delete
(
podName
,
v1
.
NewDeleteOptions
(
0
))
err
:=
f
.
ClientSet
.
Core
()
.
Pods
(
nsName
)
.
Delete
(
podName
,
meta
v1
.
NewDeleteOptions
(
0
))
framework
.
ExpectNoError
(
err
,
"Deleting pod %q from namespace %q"
,
podName
,
nsName
)
framework
.
ExpectNoError
(
err
,
"Deleting pod %q from namespace %q"
,
podName
,
nsName
)
By
(
fmt
.
Sprintf
(
"Deleted pod %q from namespace %q"
,
podName
,
nsName
))
By
(
fmt
.
Sprintf
(
"Deleted pod %q from namespace %q"
,
podName
,
nsName
))
}()
}()
...
@@ -506,7 +506,7 @@ The test fails if there are any errors.
...
@@ -506,7 +506,7 @@ The test fails if there are any errors.
func
deleteOneBackendPodOrFail
(
c
*
cluster
)
{
func
deleteOneBackendPodOrFail
(
c
*
cluster
)
{
pod
:=
c
.
backendPod
pod
:=
c
.
backendPod
Expect
(
pod
)
.
ToNot
(
BeNil
())
Expect
(
pod
)
.
ToNot
(
BeNil
())
err
:=
c
.
Clientset
.
Core
()
.
Pods
(
pod
.
Namespace
)
.
Delete
(
pod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
err
:=
c
.
Clientset
.
Core
()
.
Pods
(
pod
.
Namespace
)
.
Delete
(
pod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
if
errors
.
IsNotFound
(
err
)
{
if
errors
.
IsNotFound
(
err
)
{
By
(
fmt
.
Sprintf
(
"Pod %q in namespace %q in cluster %q does not exist. No need to delete it."
,
pod
.
Name
,
pod
.
Namespace
,
c
.
name
))
By
(
fmt
.
Sprintf
(
"Pod %q in namespace %q in cluster %q does not exist. No need to delete it."
,
pod
.
Name
,
pod
.
Namespace
,
c
.
name
))
}
else
{
}
else
{
...
...
test/e2e_federation/framework/framework.go
View file @
be6d2933
...
@@ -83,7 +83,7 @@ func (f *Framework) deleteFederationNs() {
...
@@ -83,7 +83,7 @@ func (f *Framework) deleteFederationNs() {
// First delete the namespace from federation apiserver.
// First delete the namespace from federation apiserver.
// Also delete the corresponding namespaces from underlying clusters.
// Also delete the corresponding namespaces from underlying clusters.
orphanDependents
:=
false
orphanDependents
:=
false
if
err
:=
clientset
.
Core
()
.
Namespaces
()
.
Delete
(
ns
.
Name
,
&
v1
.
DeleteOptions
{
OrphanDependents
:
&
orphanDependents
});
err
!=
nil
{
if
err
:=
clientset
.
Core
()
.
Namespaces
()
.
Delete
(
ns
.
Name
,
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
&
orphanDependents
});
err
!=
nil
{
framework
.
Failf
(
"Error while deleting federation namespace %s: %s"
,
ns
.
Name
,
err
)
framework
.
Failf
(
"Error while deleting federation namespace %s: %s"
,
ns
.
Name
,
err
)
}
}
// Verify that it got deleted.
// Verify that it got deleted.
...
...
test/e2e_node/cgroup_manager_test.go
View file @
be6d2933
...
@@ -192,7 +192,7 @@ var _ = framework.KubeDescribe("Kubelet Cgroup Manager", func() {
...
@@ -192,7 +192,7 @@ var _ = framework.KubeDescribe("Kubelet Cgroup Manager", func() {
})
})
By
(
"Checking if the pod cgroup was deleted"
,
func
()
{
By
(
"Checking if the pod cgroup was deleted"
,
func
()
{
gp
:=
int64
(
1
)
gp
:=
int64
(
1
)
Expect
(
f
.
PodClient
()
.
Delete
(
guaranteedPod
.
Name
,
&
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gp
}))
.
NotTo
(
HaveOccurred
())
Expect
(
f
.
PodClient
()
.
Delete
(
guaranteedPod
.
Name
,
&
meta
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gp
}))
.
NotTo
(
HaveOccurred
())
pod
:=
makePodToVerifyCgroupRemoved
(
cm
.
CgroupName
(
"pod"
+
podUID
))
pod
:=
makePodToVerifyCgroupRemoved
(
cm
.
CgroupName
(
"pod"
+
podUID
))
f
.
PodClient
()
.
Create
(
pod
)
f
.
PodClient
()
.
Create
(
pod
)
err
:=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
pod
.
Name
,
f
.
Namespace
.
Name
)
err
:=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
pod
.
Name
,
f
.
Namespace
.
Name
)
...
@@ -236,7 +236,7 @@ var _ = framework.KubeDescribe("Kubelet Cgroup Manager", func() {
...
@@ -236,7 +236,7 @@ var _ = framework.KubeDescribe("Kubelet Cgroup Manager", func() {
})
})
By
(
"Checking if the pod cgroup was deleted"
,
func
()
{
By
(
"Checking if the pod cgroup was deleted"
,
func
()
{
gp
:=
int64
(
1
)
gp
:=
int64
(
1
)
Expect
(
f
.
PodClient
()
.
Delete
(
bestEffortPod
.
Name
,
&
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gp
}))
.
NotTo
(
HaveOccurred
())
Expect
(
f
.
PodClient
()
.
Delete
(
bestEffortPod
.
Name
,
&
meta
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gp
}))
.
NotTo
(
HaveOccurred
())
pod
:=
makePodToVerifyCgroupRemoved
(
cm
.
CgroupName
(
"BestEffort/pod"
+
podUID
))
pod
:=
makePodToVerifyCgroupRemoved
(
cm
.
CgroupName
(
"BestEffort/pod"
+
podUID
))
f
.
PodClient
()
.
Create
(
pod
)
f
.
PodClient
()
.
Create
(
pod
)
err
:=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
pod
.
Name
,
f
.
Namespace
.
Name
)
err
:=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
pod
.
Name
,
f
.
Namespace
.
Name
)
...
@@ -280,7 +280,7 @@ var _ = framework.KubeDescribe("Kubelet Cgroup Manager", func() {
...
@@ -280,7 +280,7 @@ var _ = framework.KubeDescribe("Kubelet Cgroup Manager", func() {
})
})
By
(
"Checking if the pod cgroup was deleted"
,
func
()
{
By
(
"Checking if the pod cgroup was deleted"
,
func
()
{
gp
:=
int64
(
1
)
gp
:=
int64
(
1
)
Expect
(
f
.
PodClient
()
.
Delete
(
burstablePod
.
Name
,
&
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gp
}))
.
NotTo
(
HaveOccurred
())
Expect
(
f
.
PodClient
()
.
Delete
(
burstablePod
.
Name
,
&
meta
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gp
}))
.
NotTo
(
HaveOccurred
())
pod
:=
makePodToVerifyCgroupRemoved
(
cm
.
CgroupName
(
"Burstable/pod"
+
podUID
))
pod
:=
makePodToVerifyCgroupRemoved
(
cm
.
CgroupName
(
"Burstable/pod"
+
podUID
))
f
.
PodClient
()
.
Create
(
pod
)
f
.
PodClient
()
.
Create
(
pod
)
err
:=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
pod
.
Name
,
f
.
Namespace
.
Name
)
err
:=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
pod
.
Name
,
f
.
Namespace
.
Name
)
...
...
test/e2e_node/container.go
View file @
be6d2933
...
@@ -63,7 +63,7 @@ func (cc *ConformanceContainer) Create() {
...
@@ -63,7 +63,7 @@ func (cc *ConformanceContainer) Create() {
}
}
func
(
cc
*
ConformanceContainer
)
Delete
()
error
{
func
(
cc
*
ConformanceContainer
)
Delete
()
error
{
return
cc
.
PodClient
.
Delete
(
cc
.
podName
,
v1
.
NewDeleteOptions
(
0
))
return
cc
.
PodClient
.
Delete
(
cc
.
podName
,
meta
v1
.
NewDeleteOptions
(
0
))
}
}
func
(
cc
*
ConformanceContainer
)
IsReady
()
(
bool
,
error
)
{
func
(
cc
*
ConformanceContainer
)
IsReady
()
(
bool
,
error
)
{
...
...
test/e2e_node/disk_eviction_test.go
View file @
be6d2933
...
@@ -97,9 +97,9 @@ var _ = framework.KubeDescribe("Kubelet Eviction Manager [Serial] [Disruptive]",
...
@@ -97,9 +97,9 @@ var _ = framework.KubeDescribe("Kubelet Eviction Manager [Serial] [Disruptive]",
if
!
isImageSupported
()
||
!
evictionOptionIsSet
()
{
// Skip the after each
if
!
isImageSupported
()
||
!
evictionOptionIsSet
()
{
// Skip the after each
return
return
}
}
podClient
.
DeleteSync
(
busyPodName
,
&
v1
.
DeleteOptions
{},
podDisappearTimeout
)
podClient
.
DeleteSync
(
busyPodName
,
&
meta
v1
.
DeleteOptions
{},
podDisappearTimeout
)
podClient
.
DeleteSync
(
idlePodName
,
&
v1
.
DeleteOptions
{},
podDisappearTimeout
)
podClient
.
DeleteSync
(
idlePodName
,
&
meta
v1
.
DeleteOptions
{},
podDisappearTimeout
)
podClient
.
DeleteSync
(
verifyPodName
,
&
v1
.
DeleteOptions
{},
podDisappearTimeout
)
podClient
.
DeleteSync
(
verifyPodName
,
&
meta
v1
.
DeleteOptions
{},
podDisappearTimeout
)
// Wait for 2 container gc loop to ensure that the containers are deleted. The containers
// Wait for 2 container gc loop to ensure that the containers are deleted. The containers
// created in this test consume a lot of disk, we don't want them to trigger disk eviction
// created in this test consume a lot of disk, we don't want them to trigger disk eviction
...
...
test/e2e_node/garbage_collector_test.go
View file @
be6d2933
...
@@ -231,7 +231,7 @@ func containerGCTest(f *framework.Framework, test testRun) {
...
@@ -231,7 +231,7 @@ func containerGCTest(f *framework.Framework, test testRun) {
AfterEach
(
func
()
{
AfterEach
(
func
()
{
for
_
,
pod
:=
range
test
.
testPods
{
for
_
,
pod
:=
range
test
.
testPods
{
By
(
fmt
.
Sprintf
(
"Deleting Pod %v"
,
pod
.
podName
))
By
(
fmt
.
Sprintf
(
"Deleting Pod %v"
,
pod
.
podName
))
f
.
PodClient
()
.
DeleteSync
(
pod
.
podName
,
&
v1
.
DeleteOptions
{},
defaultRuntimeRequestTimeoutDuration
)
f
.
PodClient
()
.
DeleteSync
(
pod
.
podName
,
&
meta
v1
.
DeleteOptions
{},
defaultRuntimeRequestTimeoutDuration
)
}
}
By
(
"Making sure all containers get cleaned up"
)
By
(
"Making sure all containers get cleaned up"
)
...
...
test/e2e_node/inode_eviction_test.go
View file @
be6d2933
...
@@ -270,7 +270,7 @@ func runEvictionTest(f *framework.Framework, testCondition string, podTestSpecs
...
@@ -270,7 +270,7 @@ func runEvictionTest(f *framework.Framework, testCondition string, podTestSpecs
By
(
"deleting pods"
)
By
(
"deleting pods"
)
for
_
,
spec
:=
range
podTestSpecs
{
for
_
,
spec
:=
range
podTestSpecs
{
By
(
fmt
.
Sprintf
(
"deleting pod: %s"
,
spec
.
pod
.
Name
))
By
(
fmt
.
Sprintf
(
"deleting pod: %s"
,
spec
.
pod
.
Name
))
f
.
PodClient
()
.
DeleteSync
(
spec
.
pod
.
Name
,
&
v1
.
DeleteOptions
{},
podDisappearTimeout
)
f
.
PodClient
()
.
DeleteSync
(
spec
.
pod
.
Name
,
&
meta
v1
.
DeleteOptions
{},
podDisappearTimeout
)
}
}
if
CurrentGinkgoTestDescription
()
.
Failed
{
if
CurrentGinkgoTestDescription
()
.
Failed
{
...
...
test/e2e_node/kubelet_test.go
View file @
be6d2933
...
@@ -112,7 +112,7 @@ var _ = framework.KubeDescribe("Kubelet", func() {
...
@@ -112,7 +112,7 @@ var _ = framework.KubeDescribe("Kubelet", func() {
})
})
It
(
"should be possible to delete"
,
func
()
{
It
(
"should be possible to delete"
,
func
()
{
err
:=
podClient
.
Delete
(
podName
,
&
v1
.
DeleteOptions
{})
err
:=
podClient
.
Delete
(
podName
,
&
meta
v1
.
DeleteOptions
{})
Expect
(
err
)
.
To
(
BeNil
(),
fmt
.
Sprintf
(
"Error deleting Pod %v"
,
err
))
Expect
(
err
)
.
To
(
BeNil
(),
fmt
.
Sprintf
(
"Error deleting Pod %v"
,
err
))
})
})
})
})
...
...
test/e2e_node/lifecycle_hook_test.go
View file @
be6d2933
...
@@ -60,7 +60,7 @@ var _ = framework.KubeDescribe("Container Lifecycle Hook", func() {
...
@@ -60,7 +60,7 @@ var _ = framework.KubeDescribe("Container Lifecycle Hook", func() {
podClient
.
WaitForSuccess
(
podCheckHook
.
Name
,
postStartWaitTimeout
)
podClient
.
WaitForSuccess
(
podCheckHook
.
Name
,
postStartWaitTimeout
)
}
}
By
(
"delete the pod with lifecycle hook"
)
By
(
"delete the pod with lifecycle hook"
)
podClient
.
DeleteSync
(
podWithHook
.
Name
,
v1
.
NewDeleteOptions
(
15
),
podWaitTimeout
)
podClient
.
DeleteSync
(
podWithHook
.
Name
,
meta
v1
.
NewDeleteOptions
(
15
),
podWaitTimeout
)
if
podWithHook
.
Spec
.
Containers
[
0
]
.
Lifecycle
.
PreStop
!=
nil
{
if
podWithHook
.
Spec
.
Containers
[
0
]
.
Lifecycle
.
PreStop
!=
nil
{
By
(
"create the hook check pod"
)
By
(
"create the hook check pod"
)
podClient
.
Create
(
podCheckHook
)
podClient
.
Create
(
podCheckHook
)
...
@@ -144,7 +144,7 @@ var _ = framework.KubeDescribe("Container Lifecycle Hook", func() {
...
@@ -144,7 +144,7 @@ var _ = framework.KubeDescribe("Container Lifecycle Hook", func() {
},
postStartWaitTimeout
,
podCheckInterval
)
.
Should
(
BeNil
())
},
postStartWaitTimeout
,
podCheckInterval
)
.
Should
(
BeNil
())
}
}
By
(
"delete the pod with lifecycle hook"
)
By
(
"delete the pod with lifecycle hook"
)
podClient
.
DeleteSync
(
podWithHook
.
Name
,
v1
.
NewDeleteOptions
(
15
),
podWaitTimeout
)
podClient
.
DeleteSync
(
podWithHook
.
Name
,
meta
v1
.
NewDeleteOptions
(
15
),
podWaitTimeout
)
if
podWithHook
.
Spec
.
Containers
[
0
]
.
Lifecycle
.
PreStop
!=
nil
{
if
podWithHook
.
Spec
.
Containers
[
0
]
.
Lifecycle
.
PreStop
!=
nil
{
By
(
"check prestop hook"
)
By
(
"check prestop hook"
)
Eventually
(
func
()
error
{
Eventually
(
func
()
error
{
...
...
test/e2e_node/mirror_pod_test.go
View file @
be6d2933
...
@@ -85,7 +85,7 @@ var _ = framework.KubeDescribe("MirrorPod", func() {
...
@@ -85,7 +85,7 @@ var _ = framework.KubeDescribe("MirrorPod", func() {
uid
:=
pod
.
UID
uid
:=
pod
.
UID
By
(
"delete the mirror pod with grace period 30s"
)
By
(
"delete the mirror pod with grace period 30s"
)
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
ns
)
.
Delete
(
mirrorPodName
,
v1
.
NewDeleteOptions
(
30
))
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
ns
)
.
Delete
(
mirrorPodName
,
meta
v1
.
NewDeleteOptions
(
30
))
Expect
(
err
)
.
ShouldNot
(
HaveOccurred
())
Expect
(
err
)
.
ShouldNot
(
HaveOccurred
())
By
(
"wait for the mirror pod to be recreated"
)
By
(
"wait for the mirror pod to be recreated"
)
...
@@ -100,7 +100,7 @@ var _ = framework.KubeDescribe("MirrorPod", func() {
...
@@ -100,7 +100,7 @@ var _ = framework.KubeDescribe("MirrorPod", func() {
uid
:=
pod
.
UID
uid
:=
pod
.
UID
By
(
"delete the mirror pod with grace period 0s"
)
By
(
"delete the mirror pod with grace period 0s"
)
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
ns
)
.
Delete
(
mirrorPodName
,
v1
.
NewDeleteOptions
(
0
))
err
=
f
.
ClientSet
.
Core
()
.
Pods
(
ns
)
.
Delete
(
mirrorPodName
,
meta
v1
.
NewDeleteOptions
(
0
))
Expect
(
err
)
.
ShouldNot
(
HaveOccurred
())
Expect
(
err
)
.
ShouldNot
(
HaveOccurred
())
By
(
"wait for the mirror pod to be recreated"
)
By
(
"wait for the mirror pod to be recreated"
)
...
...
test/e2e_node/resource_collector.go
View file @
be6d2933
...
@@ -374,7 +374,7 @@ func deletePodsSync(f *framework.Framework, pods []*v1.Pod) {
...
@@ -374,7 +374,7 @@ func deletePodsSync(f *framework.Framework, pods []*v1.Pod) {
go
func
(
pod
*
v1
.
Pod
)
{
go
func
(
pod
*
v1
.
Pod
)
{
defer
wg
.
Done
()
defer
wg
.
Done
()
err
:=
f
.
PodClient
()
.
Delete
(
pod
.
ObjectMeta
.
Name
,
v1
.
NewDeleteOptions
(
30
))
err
:=
f
.
PodClient
()
.
Delete
(
pod
.
ObjectMeta
.
Name
,
meta
v1
.
NewDeleteOptions
(
30
))
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
err
)
.
NotTo
(
HaveOccurred
())
Expect
(
framework
.
WaitForPodToDisappear
(
f
.
ClientSet
,
f
.
Namespace
.
Name
,
pod
.
ObjectMeta
.
Name
,
labels
.
Everything
(),
Expect
(
framework
.
WaitForPodToDisappear
(
f
.
ClientSet
,
f
.
Namespace
.
Name
,
pod
.
ObjectMeta
.
Name
,
labels
.
Everything
(),
...
...
test/e2e_node/volume_manager_test.go
View file @
be6d2933
...
@@ -114,7 +114,7 @@ var _ = framework.KubeDescribe("Kubelet Volume Manager", func() {
...
@@ -114,7 +114,7 @@ var _ = framework.KubeDescribe("Kubelet Volume Manager", func() {
})
})
err
=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
pod
.
Name
,
f
.
Namespace
.
Name
)
err
=
framework
.
WaitForPodSuccessInNamespace
(
f
.
ClientSet
,
pod
.
Name
,
f
.
Namespace
.
Name
)
gp
:=
int64
(
1
)
gp
:=
int64
(
1
)
f
.
PodClient
()
.
Delete
(
pod
.
Name
,
&
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gp
})
f
.
PodClient
()
.
Delete
(
pod
.
Name
,
&
meta
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gp
})
if
err
==
nil
{
if
err
==
nil
{
break
break
}
}
...
...
test/integration/evictions/evictions_test.go
View file @
be6d2933
...
@@ -68,7 +68,7 @@ func TestConcurrentEvictionRequests(t *testing.T) {
...
@@ -68,7 +68,7 @@ func TestConcurrentEvictionRequests(t *testing.T) {
}
}
var
gracePeriodSeconds
int64
=
30
var
gracePeriodSeconds
int64
=
30
deleteOption
:=
&
v1
.
DeleteOptions
{
deleteOption
:=
&
meta
v1
.
DeleteOptions
{
GracePeriodSeconds
:
&
gracePeriodSeconds
,
GracePeriodSeconds
:
&
gracePeriodSeconds
,
}
}
...
@@ -213,7 +213,7 @@ func newPDB() *v1beta1.PodDisruptionBudget {
...
@@ -213,7 +213,7 @@ func newPDB() *v1beta1.PodDisruptionBudget {
}
}
}
}
func
newEviction
(
ns
,
evictionName
string
,
deleteOption
*
v1
.
DeleteOptions
)
*
v1beta1
.
Eviction
{
func
newEviction
(
ns
,
evictionName
string
,
deleteOption
*
meta
v1
.
DeleteOptions
)
*
v1beta1
.
Eviction
{
return
&
v1beta1
.
Eviction
{
return
&
v1beta1
.
Eviction
{
TypeMeta
:
metav1
.
TypeMeta
{
TypeMeta
:
metav1
.
TypeMeta
{
APIVersion
:
"Policy/v1beta1"
,
APIVersion
:
"Policy/v1beta1"
,
...
...
test/integration/framework/perf_utils.go
View file @
be6d2933
...
@@ -96,7 +96,7 @@ func (p *IntegrationTestNodePreparer) PrepareNodes() error {
...
@@ -96,7 +96,7 @@ func (p *IntegrationTestNodePreparer) PrepareNodes() error {
func
(
p
*
IntegrationTestNodePreparer
)
CleanupNodes
()
error
{
func
(
p
*
IntegrationTestNodePreparer
)
CleanupNodes
()
error
{
nodes
:=
e2eframework
.
GetReadySchedulableNodesOrDie
(
p
.
client
)
nodes
:=
e2eframework
.
GetReadySchedulableNodesOrDie
(
p
.
client
)
for
i
:=
range
nodes
.
Items
{
for
i
:=
range
nodes
.
Items
{
if
err
:=
p
.
client
.
Core
()
.
Nodes
()
.
Delete
(
nodes
.
Items
[
i
]
.
Name
,
&
v1
.
DeleteOptions
{});
err
!=
nil
{
if
err
:=
p
.
client
.
Core
()
.
Nodes
()
.
Delete
(
nodes
.
Items
[
i
]
.
Name
,
&
meta
v1
.
DeleteOptions
{});
err
!=
nil
{
glog
.
Errorf
(
"Error while deleting Node: %v"
,
err
)
glog
.
Errorf
(
"Error while deleting Node: %v"
,
err
)
}
}
}
}
...
...
test/integration/garbagecollector/garbage_collector_test.go
View file @
be6d2933
...
@@ -46,14 +46,14 @@ import (
...
@@ -46,14 +46,14 @@ import (
"k8s.io/kubernetes/test/integration/framework"
"k8s.io/kubernetes/test/integration/framework"
)
)
func
getOrphanOptions
()
*
v1
.
DeleteOptions
{
func
getOrphanOptions
()
*
meta
v1
.
DeleteOptions
{
var
trueVar
=
true
var
trueVar
=
true
return
&
v1
.
DeleteOptions
{
OrphanDependents
:
&
trueVar
}
return
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
&
trueVar
}
}
}
func
getNonOrphanOptions
()
*
v1
.
DeleteOptions
{
func
getNonOrphanOptions
()
*
meta
v1
.
DeleteOptions
{
var
falseVar
=
false
var
falseVar
=
false
return
&
v1
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
return
&
meta
v1
.
DeleteOptions
{
OrphanDependents
:
&
falseVar
}
}
}
const
garbageCollectedPodName
=
"test.pod.1"
const
garbageCollectedPodName
=
"test.pod.1"
...
@@ -273,7 +273,7 @@ func TestCreateWithNonExistentOwner(t *testing.T) {
...
@@ -273,7 +273,7 @@ func TestCreateWithNonExistentOwner(t *testing.T) {
}
}
}
}
func
setupRCsPods
(
t
*
testing
.
T
,
gc
*
garbagecollector
.
GarbageCollector
,
clientSet
clientset
.
Interface
,
nameSuffix
,
namespace
string
,
initialFinalizers
[]
string
,
options
*
v1
.
DeleteOptions
,
wg
*
sync
.
WaitGroup
,
rcUIDs
chan
types
.
UID
)
{
func
setupRCsPods
(
t
*
testing
.
T
,
gc
*
garbagecollector
.
GarbageCollector
,
clientSet
clientset
.
Interface
,
nameSuffix
,
namespace
string
,
initialFinalizers
[]
string
,
options
*
meta
v1
.
DeleteOptions
,
wg
*
sync
.
WaitGroup
,
rcUIDs
chan
types
.
UID
)
{
defer
wg
.
Done
()
defer
wg
.
Done
()
rcClient
:=
clientSet
.
Core
()
.
ReplicationControllers
(
namespace
)
rcClient
:=
clientSet
.
Core
()
.
ReplicationControllers
(
namespace
)
podClient
:=
clientSet
.
Core
()
.
Pods
(
namespace
)
podClient
:=
clientSet
.
Core
()
.
Pods
(
namespace
)
...
...
test/integration/scheduler/scheduler_test.go
View file @
be6d2933
...
@@ -282,7 +282,7 @@ func DoTestUnschedulableNodes(t *testing.T, cs clientset.Interface, ns *v1.Names
...
@@ -282,7 +282,7 @@ func DoTestUnschedulableNodes(t *testing.T, cs clientset.Interface, ns *v1.Names
t
.
Logf
(
"Test %d: Pod got scheduled on a schedulable node"
,
i
)
t
.
Logf
(
"Test %d: Pod got scheduled on a schedulable node"
,
i
)
}
}
err
=
cs
.
Core
()
.
Pods
(
ns
.
Name
)
.
Delete
(
myPod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
err
=
cs
.
Core
()
.
Pods
(
ns
.
Name
)
.
Delete
(
myPod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Failed to delete pod: %v"
,
err
)
t
.
Errorf
(
"Failed to delete pod: %v"
,
err
)
}
}
...
@@ -421,11 +421,11 @@ func TestMultiScheduler(t *testing.T) {
...
@@ -421,11 +421,11 @@ func TestMultiScheduler(t *testing.T) {
}
}
// 7. delete the pods that were scheduled by the default scheduler, and stop the default scheduler
// 7. delete the pods that were scheduled by the default scheduler, and stop the default scheduler
err
=
clientSet
.
Core
()
.
Pods
(
ns
.
Name
)
.
Delete
(
testPod
.
Name
,
v1
.
NewDeleteOptions
(
0
))
err
=
clientSet
.
Core
()
.
Pods
(
ns
.
Name
)
.
Delete
(
testPod
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Failed to delete pod: %v"
,
err
)
t
.
Errorf
(
"Failed to delete pod: %v"
,
err
)
}
}
err
=
clientSet
.
Core
()
.
Pods
(
ns
.
Name
)
.
Delete
(
testPodFitsDefault
.
Name
,
v1
.
NewDeleteOptions
(
0
))
err
=
clientSet
.
Core
()
.
Pods
(
ns
.
Name
)
.
Delete
(
testPodFitsDefault
.
Name
,
meta
v1
.
NewDeleteOptions
(
0
))
if
err
!=
nil
{
if
err
!=
nil
{
t
.
Errorf
(
"Failed to delete pod: %v"
,
err
)
t
.
Errorf
(
"Failed to delete pod: %v"
,
err
)
}
}
...
@@ -574,7 +574,7 @@ func TestAllocatable(t *testing.T) {
...
@@ -574,7 +574,7 @@ func TestAllocatable(t *testing.T) {
t
.
Fatalf
(
"Failed to update node with Status.Allocatable: %v"
,
err
)
t
.
Fatalf
(
"Failed to update node with Status.Allocatable: %v"
,
err
)
}
}
if
err
:=
clientSet
.
Core
()
.
Pods
(
ns
.
Name
)
.
Delete
(
podResource
.
Name
,
&
v1
.
DeleteOptions
{});
err
!=
nil
{
if
err
:=
clientSet
.
Core
()
.
Pods
(
ns
.
Name
)
.
Delete
(
podResource
.
Name
,
&
meta
v1
.
DeleteOptions
{});
err
!=
nil
{
t
.
Fatalf
(
"Failed to remove first resource pod: %v"
,
err
)
t
.
Fatalf
(
"Failed to remove first resource pod: %v"
,
err
)
}
}
...
...
test/utils/runners.go
View file @
be6d2933
...
@@ -1039,7 +1039,7 @@ func (config *SecretConfig) Run() error {
...
@@ -1039,7 +1039,7 @@ func (config *SecretConfig) Run() error {
}
}
func
(
config
*
SecretConfig
)
Stop
()
error
{
func
(
config
*
SecretConfig
)
Stop
()
error
{
if
err
:=
config
.
Client
.
Core
()
.
Secrets
(
config
.
Namespace
)
.
Delete
(
config
.
Name
,
&
v1
.
DeleteOptions
{});
err
!=
nil
{
if
err
:=
config
.
Client
.
Core
()
.
Secrets
(
config
.
Namespace
)
.
Delete
(
config
.
Name
,
&
meta
v1
.
DeleteOptions
{});
err
!=
nil
{
return
fmt
.
Errorf
(
"Error deleting secret: %v"
,
err
)
return
fmt
.
Errorf
(
"Error deleting secret: %v"
,
err
)
}
}
config
.
LogFunc
(
"Deleted secret %v/%v"
,
config
.
Namespace
,
config
.
Name
)
config
.
LogFunc
(
"Deleted secret %v/%v"
,
config
.
Namespace
,
config
.
Name
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment