Commit 070f0979 authored by gmarek's avatar gmarek

Make it possible to run Load test using Deployments or ReplicaSets

parent 8e8599fc
...@@ -21,6 +21,7 @@ import ( ...@@ -21,6 +21,7 @@ import (
"path/filepath" "path/filepath"
"time" "time"
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
...@@ -90,7 +91,7 @@ var _ = framework.KubeDescribe("ClusterDns [Feature:Example]", func() { ...@@ -90,7 +91,7 @@ var _ = framework.KubeDescribe("ClusterDns [Feature:Example]", func() {
// wait for objects // wait for objects
for _, ns := range namespaces { for _, ns := range namespaces {
framework.WaitForRCPodsRunning(c, ns.Name, backendRcName) framework.WaitForControlledPodsRunning(c, ns.Name, backendRcName, api.Kind("ReplicationController"))
framework.WaitForService(c, ns.Name, backendSvcName, true, framework.Poll, framework.ServiceStartTimeout) framework.WaitForService(c, ns.Name, backendSvcName, true, framework.Poll, framework.ServiceStartTimeout)
} }
// it is not enough that pods are running because they may be set to running, but // it is not enough that pods are running because they may be set to running, but
......
...@@ -104,7 +104,7 @@ func (h *haproxyControllerTester) start(namespace string) (err error) { ...@@ -104,7 +104,7 @@ func (h *haproxyControllerTester) start(namespace string) (err error) {
if err != nil { if err != nil {
return return
} }
if err = framework.WaitForRCPodsRunning(h.client, namespace, rc.Name); err != nil { if err = framework.WaitForControlledPodsRunning(h.client, namespace, rc.Name, api.Kind("ReplicationController")); err != nil {
return return
} }
h.rcName = rc.Name h.rcName = rc.Name
...@@ -171,7 +171,7 @@ func (s *ingManager) start(namespace string) (err error) { ...@@ -171,7 +171,7 @@ func (s *ingManager) start(namespace string) (err error) {
if err != nil { if err != nil {
return return
} }
if err = framework.WaitForRCPodsRunning(s.client, rc.Namespace, rc.Name); err != nil { if err = framework.WaitForControlledPodsRunning(s.client, rc.Namespace, rc.Name, api.Kind("ReplicationController")); err != nil {
return return
} }
} }
......
...@@ -25,6 +25,7 @@ go_library( ...@@ -25,6 +25,7 @@ go_library(
"//pkg/api/errors:go_default_library", "//pkg/api/errors:go_default_library",
"//pkg/api/resource:go_default_library", "//pkg/api/resource:go_default_library",
"//pkg/api/v1:go_default_library", "//pkg/api/v1:go_default_library",
"//pkg/apis/extensions:go_default_library",
"//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library",
"//pkg/apis/meta/v1:go_default_library", "//pkg/apis/meta/v1:go_default_library",
"//pkg/client/cache:go_default_library", "//pkg/client/cache:go_default_library",
...@@ -33,6 +34,7 @@ go_library( ...@@ -33,6 +34,7 @@ go_library(
"//pkg/fields:go_default_library", "//pkg/fields:go_default_library",
"//pkg/labels:go_default_library", "//pkg/labels:go_default_library",
"//pkg/runtime:go_default_library", "//pkg/runtime:go_default_library",
"//pkg/runtime/schema:go_default_library",
"//pkg/util/sets:go_default_library", "//pkg/util/sets:go_default_library",
"//pkg/util/uuid:go_default_library", "//pkg/util/uuid:go_default_library",
"//pkg/util/workqueue:go_default_library", "//pkg/util/workqueue:go_default_library",
......
...@@ -27,12 +27,14 @@ import ( ...@@ -27,12 +27,14 @@ import (
apierrs "k8s.io/kubernetes/pkg/api/errors" apierrs "k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/resource"
"k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/v1"
extensionsinternal "k8s.io/kubernetes/pkg/apis/extensions"
extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1"
metav1 "k8s.io/kubernetes/pkg/apis/meta/v1" metav1 "k8s.io/kubernetes/pkg/apis/meta/v1"
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/release_1_5"
"k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/labels"
"k8s.io/kubernetes/pkg/runtime/schema"
"k8s.io/kubernetes/pkg/util/sets" "k8s.io/kubernetes/pkg/util/sets"
"k8s.io/kubernetes/pkg/util/uuid" "k8s.io/kubernetes/pkg/util/uuid"
"k8s.io/kubernetes/pkg/util/workqueue" "k8s.io/kubernetes/pkg/util/workqueue"
...@@ -45,6 +47,18 @@ const ( ...@@ -45,6 +47,18 @@ const (
nonExist = "NonExist" nonExist = "NonExist"
) )
type RunObjectConfig interface {
Run() error
GetName() string
GetNamespace() string
GetKind() schema.GroupKind
GetClient() clientset.Interface
GetInternalClient() internalclientset.Interface
SetClient(clientset.Interface)
SetInternalClient(internalclientset.Interface)
GetReplicas() int
}
type RCConfig struct { type RCConfig struct {
Client clientset.Interface Client clientset.Interface
InternalClient internalclientset.Interface InternalClient internalclientset.Interface
...@@ -193,6 +207,14 @@ func RunDeployment(config DeploymentConfig) error { ...@@ -193,6 +207,14 @@ func RunDeployment(config DeploymentConfig) error {
return config.start() return config.start()
} }
func (config *DeploymentConfig) Run() error {
return RunDeployment(*config)
}
func (config *DeploymentConfig) GetKind() schema.GroupKind {
return extensionsinternal.Kind("Deployment")
}
func (config *DeploymentConfig) create() error { func (config *DeploymentConfig) create() error {
deployment := &extensions.Deployment{ deployment := &extensions.Deployment{
ObjectMeta: v1.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
...@@ -245,6 +267,14 @@ func RunReplicaSet(config ReplicaSetConfig) error { ...@@ -245,6 +267,14 @@ func RunReplicaSet(config ReplicaSetConfig) error {
return config.start() return config.start()
} }
func (config *ReplicaSetConfig) Run() error {
return RunReplicaSet(*config)
}
func (config *ReplicaSetConfig) GetKind() schema.GroupKind {
return extensionsinternal.Kind("ReplicaSet")
}
func (config *ReplicaSetConfig) create() error { func (config *ReplicaSetConfig) create() error {
rs := &extensions.ReplicaSet{ rs := &extensions.ReplicaSet{
ObjectMeta: v1.ObjectMeta{ ObjectMeta: v1.ObjectMeta{
...@@ -297,6 +327,42 @@ func RunRC(config RCConfig) error { ...@@ -297,6 +327,42 @@ func RunRC(config RCConfig) error {
return config.start() return config.start()
} }
func (config *RCConfig) Run() error {
return RunRC(*config)
}
func (config *RCConfig) GetName() string {
return config.Name
}
func (config *RCConfig) GetNamespace() string {
return config.Namespace
}
func (config *RCConfig) GetKind() schema.GroupKind {
return api.Kind("ReplicationController")
}
func (config *RCConfig) GetClient() clientset.Interface {
return config.Client
}
func (config *RCConfig) GetInternalClient() internalclientset.Interface {
return config.InternalClient
}
func (config *RCConfig) SetClient(c clientset.Interface) {
config.Client = c
}
func (config *RCConfig) SetInternalClient(c internalclientset.Interface) {
config.InternalClient = c
}
func (config *RCConfig) GetReplicas() int {
return config.Replicas
}
func (config *RCConfig) create() error { func (config *RCConfig) create() error {
dnsDefault := v1.DNSDefault dnsDefault := v1.DNSDefault
if config.DNSPolicy == nil { if config.DNSPolicy == nil {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment