summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddharth Bhadri <siddharth.bhadri@huawei.com>2019-05-03 21:38:19 +0530
committerGitHub <noreply@github.com>2019-05-03 21:38:19 +0530
commit44bbbc68f643401f2d86fedbdcf5cabe3e066ddc (patch)
tree7a256b52ea2f91dd72f5091643ba5513454b577a
parentMerge pull request #446 from rohitsardesai83/update_codegen_bug (diff)
parentBenchark tests addition to perfornace framework (diff)
downloadkubeedge-44bbbc68f643401f2d86fedbdcf5cabe3e066ddc.tar.gz
Merge pull request #448 from pavan187/kubeedge_e2e
Benchmark tests addition to performace framework
-rw-r--r--tests/e2e/utils/common.go6
-rw-r--r--tests/e2e/utils/pod.go28
-rw-r--r--tests/performance/common/common.go2
-rw-r--r--tests/performance/loadtest/loadtest_suite_test.go3
-rw-r--r--tests/performance/loadtest/loadtest_test.go33
-rw-r--r--tests/performance/nodedensity/nodedensity_suite_test.go4
-rw-r--r--tests/performance/nodedensity/nodedensity_test.go23
7 files changed, 87 insertions, 12 deletions
diff --git a/tests/e2e/utils/common.go b/tests/e2e/utils/common.go
index b88df553b..0f12f5304 100644
--- a/tests/e2e/utils/common.go
+++ b/tests/e2e/utils/common.go
@@ -85,12 +85,12 @@ func edgecoreDeploymentSpec(imgURL, configmap string, replicas int) *apps.Deploy
ImagePullPolicy: v1.PullPolicy("IfNotPresent"),
Resources: v1.ResourceRequirements{
Requests: v1.ResourceList{
- v1.ResourceName(v1.ResourceCPU): resource.MustParse("100m"),
- v1.ResourceName(v1.ResourceMemory): resource.MustParse("256Mi"),
+ v1.ResourceName(v1.ResourceCPU): resource.MustParse("200m"),
+ v1.ResourceName(v1.ResourceMemory): resource.MustParse("100Mi"),
},
Limits: v1.ResourceList{
v1.ResourceName(v1.ResourceCPU): resource.MustParse("200m"),
- v1.ResourceName(v1.ResourceMemory): resource.MustParse("512Mi"),
+ v1.ResourceName(v1.ResourceMemory): resource.MustParse("100Mi"),
},
},
Env: []v1.EnvVar{{Name: "DOCKER_HOST", Value: "tcp://localhost:2375"}},
diff --git a/tests/e2e/utils/pod.go b/tests/e2e/utils/pod.go
index a3408c418..1c0fbe6b9 100644
--- a/tests/e2e/utils/pod.go
+++ b/tests/e2e/utils/pod.go
@@ -126,7 +126,7 @@ func CheckPodRunningState(apiserver string, podlist v1.PodList) {
}
}
return count
- }, "240s", "4s").Should(Equal(len(podlist.Items)), "Delete Application deployment is Unsuccessfull, Pod has not come to Running State")
+ }, "1200s", "4s").Should(Equal(len(podlist.Items)), "Application deployment is Unsuccessfull, Pod has not come to Running State")
}
@@ -150,7 +150,31 @@ func CheckPodDeleteState(apiserver string, podlist v1.PodList) {
}
}
return count
- }, "240s", "4s").Should(Equal(podCount), "Delete Application deployment is Unsuccessfull, Pod has not come to Running State")
+ }, "1200s", "4s").Should(Equal(podCount), "Delete Application deployment is Unsuccessfull, Pods are not deleted within the time")
+
+}
+
+//CheckPodDeleteState function to check the Pod state
+func CheckDeploymentPodDeleteState(apiserver string, podlist v1.PodList) {
+ var count int
+ //count the edgecore/cloudcore deployment pods and count only application pods deployed on KubeEdge edgen node
+ for _, pod := range podlist.Items {
+ if strings.Contains(pod.Name, "deployment-"){
+ count++
+ }
+ }
+ //podCount := len(podlist.Items) - count
+ Eventually(func() int {
+ var count int
+ for _, pod := range podlist.Items {
+ status, statusCode := GetPodState(apiserver + "/" + pod.Name)
+ InfoV2("PodName: %s status: %s StatusCode: %d", pod.Name, status, statusCode)
+ if statusCode == 404 {
+ count++
+ }
+ }
+ return count
+ }, "240s", "4s").Should(Equal(count), "Delete Application deployment is Unsuccessfull, Pods are not deleted within the time")
}
diff --git a/tests/performance/common/common.go b/tests/performance/common/common.go
index 9b887c5d9..f47d46ce7 100644
--- a/tests/performance/common/common.go
+++ b/tests/performance/common/common.go
@@ -161,6 +161,8 @@ func DeleteEdgeDeployments(apiServer string, nodes int){
return count
}, "60s", "4s").Should(Equal(nodes), "EdgeNode deleton is unsuccessfull !!")
+ NodeInfo = nil
+
}
func DeleteCloudDeployment(apiserver string){
diff --git a/tests/performance/loadtest/loadtest_suite_test.go b/tests/performance/loadtest/loadtest_suite_test.go
index 1972ba19e..6d3ab1f42 100644
--- a/tests/performance/loadtest/loadtest_suite_test.go
+++ b/tests/performance/loadtest/loadtest_suite_test.go
@@ -40,13 +40,13 @@ func TestEdgecoreK8sDeployment(t *testing.T) {
var cloudNode string
var cloudHub string
var cloudCoreHostIP string
+ var podlist metav1.PodList
//var toTaint bool
RegisterFailHandler(Fail)
var _ = BeforeSuite(func() {
utils.InfoV6("Kubeedge deployment Load test Begin !!")
cfg = utils.LoadConfig()
ctx = utils.NewTestContext(cfg)
- var podlist metav1.PodList
//Create configMap for CloudCore
CloudConfigMap = "cloudcore-configmap-" + utils.GetRandomString(5)
@@ -94,6 +94,7 @@ func TestEdgecoreK8sDeployment(t *testing.T) {
By("Kubeedge deployment Load test End !!....!")
DeleteEdgeDeployments(ctx.Cfg.ApiServer2, ctx.Cfg.NumOfNodes)
+ utils.CheckDeploymentPodDeleteState(ctx.Cfg.ApiServer2, podlist)
//untaint Node
err := utils.TaintEdgeDeployedNode(ToTaint, ctx.Cfg.ApiServer2+NodeHandler+"/"+EdgeNode)
Expect(err).Should(BeNil())
diff --git a/tests/performance/loadtest/loadtest_test.go b/tests/performance/loadtest/loadtest_test.go
index 8535dbc0a..d23b0b1d6 100644
--- a/tests/performance/loadtest/loadtest_test.go
+++ b/tests/performance/loadtest/loadtest_test.go
@@ -26,6 +26,7 @@ import (
. "github.com/onsi/gomega"
"k8s.io/api/apps/v1"
metav1 "k8s.io/api/core/v1"
+ "fmt"
)
var DeploymentTestTimerGroup *utils.TestTimerGroup = utils.NewTestTimerGroup()
@@ -96,7 +97,7 @@ var _ = Describe("Application deployment test in Perfronace test EdgeNodes", fun
utils.CheckPodRunningState(ctx.Cfg.ApiServer2+AppHandler, podlist)
})
- It("PERF_LOADTEST_POD_10: Create deployment and check the pods are coming up correctly", func() {
+ It("PERF_LOADTEST_POD_50: Create deployment and check the pods are coming up correctly", func() {
var deploymentList v1.DeploymentList
podlist = metav1.PodList{}
replica := 50
@@ -118,7 +119,7 @@ var _ = Describe("Application deployment test in Perfronace test EdgeNodes", fun
utils.CheckPodRunningState(ctx.Cfg.ApiServer2+AppHandler, podlist)
})
- It("PERF_LOADTEST_POD_10: Create deployment and check the pods are coming up correctly", func() {
+ It("PERF_LOADTEST_POD_75: Create deployment and check the pods are coming up correctly", func() {
var deploymentList v1.DeploymentList
podlist = metav1.PodList{}
replica := 75
@@ -161,5 +162,33 @@ var _ = Describe("Application deployment test in Perfronace test EdgeNodes", fun
}
utils.CheckPodRunningState(ctx.Cfg.ApiServer2+AppHandler, podlist)
})
+
+ Measure("MEASURE_PERF_NODETEST_NODES_100: Create 10 KubeEdge Node Deployment, Measure Node Ready time", func(b Benchmarker) {
+ podlist = metav1.PodList{}
+ runtime := b.Time("runtime", func() {
+ var deploymentList v1.DeploymentList
+ podlist = metav1.PodList{}
+ replica := 100
+ //Generate the random string and assign as a UID
+ UID = "edgecore-app-" + utils.GetRandomString(5)
+ IsAppDeployed := utils.HandleDeployment(false, false, http.MethodPost, ctx.Cfg.ApiServer2+DeploymentHandler, UID, ctx.Cfg.AppImageUrl[1], "", "", replica)
+ Expect(IsAppDeployed).Should(BeTrue())
+ err := utils.GetDeployments(&deploymentList, ctx.Cfg.ApiServer2+DeploymentHandler)
+ Expect(err).To(BeNil())
+ for _, deployment := range deploymentList.Items {
+ if deployment.Name == UID {
+ //label := nodeName
+ time.Sleep(2 * time.Second)
+ podlist, err = utils.GetPods(ctx.Cfg.ApiServer2+AppHandler, "")
+ Expect(err).To(BeNil())
+ break
+ }
+ }
+ utils.CheckPodRunningState(ctx.Cfg.ApiServer2+AppHandler, podlist)
+ })
+
+ fmt.Println(runtime.Seconds())
+
+ }, 5)
})
})
diff --git a/tests/performance/nodedensity/nodedensity_suite_test.go b/tests/performance/nodedensity/nodedensity_suite_test.go
index cc1c936a7..f73e72b15 100644
--- a/tests/performance/nodedensity/nodedensity_suite_test.go
+++ b/tests/performance/nodedensity/nodedensity_suite_test.go
@@ -39,13 +39,14 @@ var (
func TestEdgecoreK8sDeployment(t *testing.T) {
var cloudNode string
var cloudCoreHostIP string
+ var podlist metav1.PodList
//var toTaint bool
RegisterFailHandler(Fail)
var _ = BeforeSuite(func() {
utils.InfoV6("Kubeedge deployment Load test Begin !!")
cfg = utils.LoadConfig()
ctx = utils.NewTestContext(cfg)
- var podlist metav1.PodList
+
//Create configMap for CloudCore
CloudConfigMap = "cloudcore-configmap-" + utils.GetRandomString(5)
@@ -80,6 +81,7 @@ func TestEdgecoreK8sDeployment(t *testing.T) {
By("Kubeedge deployment Load test End !!....!")
DeleteCloudDeployment(ctx.Cfg.ApiServer)
+ utils.CheckPodDeleteState(ctx.Cfg.ApiServer+AppHandler, podlist)
})
diff --git a/tests/performance/nodedensity/nodedensity_test.go b/tests/performance/nodedensity/nodedensity_test.go
index 8bcb0c0fa..2bf15adb0 100644
--- a/tests/performance/nodedensity/nodedensity_test.go
+++ b/tests/performance/nodedensity/nodedensity_test.go
@@ -21,6 +21,7 @@ import (
. "github.com/onsi/ginkgo"
metav1 "k8s.io/api/core/v1"
+ "fmt"
)
@@ -43,23 +44,39 @@ var _ = Describe("Application deployment test in Perfronace test EdgeNodes", fun
// Print result
testTimer.PrintResult()
DeleteEdgeDeployments(ctx.Cfg.ApiServer2, NoOfEdgeNodes)
+ utils.CheckDeploymentPodDeleteState(ctx.Cfg.ApiServer2+AppHandler, podlist)
})
It("PERF_NODETEST_NODES_1: Create KubeEdge Node Deployment, Measure Node Ready time", func() {
- NoOfEdgeNodes=1
+ NoOfEdgeNodes=20
+ podlist = metav1.PodList{}
podlist = HandleEdgeDeployment(cloudHub, ctx.Cfg.ApiServer2+DeploymentHandler, ctx.Cfg.ApiServer2+NodeHandler,
ctx.Cfg.ApiServer2+ConfigmapHandler, ctx.Cfg.EdgeImageUrl, ctx.Cfg.ApiServer2+AppHandler, NoOfEdgeNodes)
})
It("PERF_NODETEST_NODES_5: Create 5 KubeEdge Node Deployment, Measure Node Ready time", func() {
+ podlist = metav1.PodList{}
NoOfEdgeNodes=5
podlist = HandleEdgeDeployment(cloudHub, ctx.Cfg.ApiServer2+DeploymentHandler, ctx.Cfg.ApiServer2+NodeHandler,
ctx.Cfg.ApiServer2+ConfigmapHandler, ctx.Cfg.EdgeImageUrl, ctx.Cfg.ApiServer2+AppHandler, NoOfEdgeNodes)
})
- It("PERF_NODETEST_NODES_10: Create 10 KubeEdge Node Deployment, Measure Node Ready time", func() {
- NoOfEdgeNodes=10
+
+ It("PERF_NODETEST_NODES_5: Create 5 KubeEdge Node Deployment, Measure Node Ready time", func() {
+ podlist = metav1.PodList{}
+ NoOfEdgeNodes=5
podlist = HandleEdgeDeployment(cloudHub, ctx.Cfg.ApiServer2+DeploymentHandler, ctx.Cfg.ApiServer2+NodeHandler,
ctx.Cfg.ApiServer2+ConfigmapHandler, ctx.Cfg.EdgeImageUrl, ctx.Cfg.ApiServer2+AppHandler, NoOfEdgeNodes)
})
+ Measure("PERF_NODETEST_NODES_10: Create 10 KubeEdge Node Deployment, Measure Node Ready time", func(b Benchmarker) {
+ podlist = metav1.PodList{}
+ runtime := b.Time("runtime", func() {
+ NoOfEdgeNodes=20
+ podlist = HandleEdgeDeployment(cloudHub, ctx.Cfg.ApiServer2+DeploymentHandler, ctx.Cfg.ApiServer2+NodeHandler,
+ ctx.Cfg.ApiServer2+ConfigmapHandler, ctx.Cfg.EdgeImageUrl, ctx.Cfg.ApiServer2+AppHandler, NoOfEdgeNodes)
+ })
+
+ fmt.Println(runtime.Seconds())
+
+ }, 5)
})
})