/test/soak

This commit is contained in:
Chao Xu 2016-11-22 17:04:25 -08:00
parent bcc783c594
commit 80ca298577
2 changed files with 20 additions and 18 deletions

View File

@ -18,7 +18,8 @@ go_binary(
"//pkg/api:go_default_library", "//pkg/api:go_default_library",
"//pkg/api/errors:go_default_library", "//pkg/api/errors:go_default_library",
"//pkg/api/unversioned:go_default_library", "//pkg/api/unversioned:go_default_library",
"//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/api/v1:go_default_library",
"//pkg/client/clientset_generated/release_1_5:go_default_library",
"//pkg/client/restclient:go_default_library", "//pkg/client/restclient:go_default_library",
"//pkg/client/unversioned/clientcmd:go_default_library", "//pkg/client/unversioned/clientcmd:go_default_library",
"//pkg/runtime:go_default_library", "//pkg/runtime:go_default_library",

View File

@ -33,7 +33,8 @@ import (
"k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/unversioned"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/client/restclient" "k8s.io/kubernetes/pkg/client/restclient"
"k8s.io/kubernetes/pkg/client/unversioned/clientcmd" "k8s.io/kubernetes/pkg/client/unversioned/clientcmd"
"k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/runtime"
@ -88,9 +89,9 @@ func main() {
glog.Fatalf("Failed to make client: %v", err) glog.Fatalf("Failed to make client: %v", err)
} }
var nodes *api.NodeList var nodes *v1.NodeList
for start := time.Now(); time.Since(start) < nodeListTimeout; time.Sleep(2 * time.Second) { for start := time.Now(); time.Since(start) < nodeListTimeout; time.Sleep(2 * time.Second) {
nodes, err = client.Nodes().List(api.ListOptions{}) nodes, err = client.Nodes().List(v1.ListOptions{})
if err == nil { if err == nil {
break break
} }
@ -112,7 +113,7 @@ func main() {
queries := *queriesAverage * len(nodes.Items) * *podsPerNode queries := *queriesAverage * len(nodes.Items) * *podsPerNode
// Create the namespace // Create the namespace
got, err := client.Namespaces().Create(&api.Namespace{ObjectMeta: api.ObjectMeta{GenerateName: "serve-hostnames-"}}) got, err := client.Namespaces().Create(&v1.Namespace{ObjectMeta: v1.ObjectMeta{GenerateName: "serve-hostnames-"}})
if err != nil { if err != nil {
glog.Fatalf("Failed to create namespace: %v", err) glog.Fatalf("Failed to create namespace: %v", err)
} }
@ -137,18 +138,18 @@ func main() {
// Create a service for these pods. // Create a service for these pods.
glog.Infof("Creating service %s/serve-hostnames", ns) glog.Infof("Creating service %s/serve-hostnames", ns)
// Make several attempts to create a service. // Make several attempts to create a service.
var svc *api.Service var svc *v1.Service
for start := time.Now(); time.Since(start) < serviceCreateTimeout; time.Sleep(2 * time.Second) { for start := time.Now(); time.Since(start) < serviceCreateTimeout; time.Sleep(2 * time.Second) {
t := time.Now() t := time.Now()
svc, err = client.Services(ns).Create(&api.Service{ svc, err = client.Services(ns).Create(&v1.Service{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: "serve-hostnames", Name: "serve-hostnames",
Labels: map[string]string{ Labels: map[string]string{
"name": "serve-hostname", "name": "serve-hostname",
}, },
}, },
Spec: api.ServiceSpec{ Spec: v1.ServiceSpec{
Ports: []api.ServicePort{{ Ports: []v1.ServicePort{{
Protocol: "TCP", Protocol: "TCP",
Port: 9376, Port: 9376,
TargetPort: intstr.FromInt(9376), TargetPort: intstr.FromInt(9376),
@ -190,19 +191,19 @@ func main() {
for start := time.Now(); time.Since(start) < podCreateTimeout; time.Sleep(2 * time.Second) { for start := time.Now(); time.Since(start) < podCreateTimeout; time.Sleep(2 * time.Second) {
glog.Infof("Creating pod %s/%s on node %s", ns, podName, node.Name) glog.Infof("Creating pod %s/%s on node %s", ns, podName, node.Name)
t := time.Now() t := time.Now()
_, err = client.Pods(ns).Create(&api.Pod{ _, err = client.Pods(ns).Create(&v1.Pod{
ObjectMeta: api.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
Name: podName, Name: podName,
Labels: map[string]string{ Labels: map[string]string{
"name": "serve-hostname", "name": "serve-hostname",
}, },
}, },
Spec: api.PodSpec{ Spec: v1.PodSpec{
Containers: []api.Container{ Containers: []v1.Container{
{ {
Name: "serve-hostname", Name: "serve-hostname",
Image: "gcr.io/google_containers/serve_hostname:v1.4", Image: "gcr.io/google_containers/serve_hostname:v1.4",
Ports: []api.ContainerPort{{ContainerPort: 9376}}, Ports: []v1.ContainerPort{{ContainerPort: 9376}},
}, },
}, },
NodeName: node.Name, NodeName: node.Name,
@ -236,18 +237,18 @@ func main() {
glog.Info("Waiting for the serve-hostname pods to be ready") glog.Info("Waiting for the serve-hostname pods to be ready")
for _, podName := range podNames { for _, podName := range podNames {
var pod *api.Pod var pod *v1.Pod
for start := time.Now(); time.Since(start) < podStartTimeout; time.Sleep(5 * time.Second) { for start := time.Now(); time.Since(start) < podStartTimeout; time.Sleep(5 * time.Second) {
pod, err = client.Pods(ns).Get(podName) pod, err = client.Pods(ns).Get(podName)
if err != nil { if err != nil {
glog.Warningf("Get pod %s/%s failed, ignoring for %v: %v", ns, podName, err, podStartTimeout) glog.Warningf("Get pod %s/%s failed, ignoring for %v: %v", ns, podName, err, podStartTimeout)
continue continue
} }
if pod.Status.Phase == api.PodRunning { if pod.Status.Phase == v1.PodRunning {
break break
} }
} }
if pod.Status.Phase != api.PodRunning { if pod.Status.Phase != v1.PodRunning {
glog.Warningf("Gave up waiting on pod %s/%s to be running (saw %v)", ns, podName, pod.Status.Phase) glog.Warningf("Gave up waiting on pod %s/%s to be running (saw %v)", ns, podName, pod.Status.Phase)
} else { } else {
glog.Infof("%s/%s is running", ns, podName) glog.Infof("%s/%s is running", ns, podName)