From 8b5986d34240e3cc540c014efddd6d91df199f9f Mon Sep 17 00:00:00 2001 From: Vibhav Bobade Date: Fri, 9 Aug 2019 17:44:54 +0530 Subject: [PATCH] Updated jenkins verifyservice e2e tests as it was failing on crashloopbackoff --- test/extended/builds/pipeline_origin_bld.go | 37 +++++---- test/extended/testdata/bindata.go | 75 +++---------------- .../verifyservice-pipeline-template.yaml | 75 +++---------------- 3 files changed, 46 insertions(+), 141 deletions(-) diff --git a/test/extended/builds/pipeline_origin_bld.go b/test/extended/builds/pipeline_origin_bld.go index 2e58aa6bc3cb..100273030117 100644 --- a/test/extended/builds/pipeline_origin_bld.go +++ b/test/extended/builds/pipeline_origin_bld.go @@ -274,33 +274,44 @@ var _ = g.Describe("[Feature:Builds][Feature:Jenkins][Slow] openshift pipeline b }) g.By("should verify services successfully", func() { - // instantiate the bc - g.By("create the jenkins pipeline strategy build config that leverages openshift client plugin") - err := oc.Run("new-app").Args("-f", verifyServiceClientPluginPipelinePath).Execute() - o.Expect(err).NotTo(o.HaveOccurred()) + redisTemplate := "redis-ephemeral" + redisAppName := "redis" + verifyServiceBuildConfig := "jenkins-verifyservice-pipeline" - err = exutil.WaitForDeploymentConfig(oc.KubeClient(), oc.AppsClient().AppsV1(), oc.Namespace(), "nodejs-example", 1, false, oc) + newAppRedisEphemeralArgs := []string{redisTemplate, "--name", redisAppName, "-p", "MEMORY_LIMIT=128Mi"} + + // Redis deployment with the redis service + g.By("instantiate the test application") + err := oc.Run("new-app").Args(newAppRedisEphemeralArgs...).Execute() + o.Expect(err).NotTo(o.HaveOccurred()) + err = exutil.WaitForDeploymentConfig(oc.KubeClient(), oc.AppsClient().AppsV1(), oc.Namespace(), redisAppName, 1, false, oc) if err != nil { - exutil.DumpApplicationPodLogs("nodejs-example", oc) + exutil.DumpApplicationPodLogs(redisAppName, oc) } - brservices, err := exutil.StartBuildAndWait(oc, "jenkins-verifyservice-pipeline") + // Redis headless service and jenkinsFile which runs verify service on both the services + g.By("create the jenkins pipeline strategy build config that leverages openshift client plugin") + err = oc.Run("new-app").Args("-f", verifyServiceClientPluginPipelinePath).Execute() + o.Expect(err).NotTo(o.HaveOccurred()) + + brservices, err := exutil.StartBuildAndWait(oc, verifyServiceBuildConfig) if err != nil || !brservices.BuildSuccess { - debugAnyJenkinsFailure(brservices, oc.Namespace()+"-jenkins-verifyservice-pipeline", oc, true) + debugAnyJenkinsFailure(brservices, oc.Namespace()+"-"+verifyServiceBuildConfig, oc, true) exutil.DumpBuilds(oc) - exutil.DumpDeploymentLogs("nodejs-example", 1, oc) - exutil.DumpBuildLogs("jenkins-verifyservice-pipeline", oc) + exutil.DumpDeploymentLogs(redisAppName, 1, oc) + exutil.DumpBuildLogs(verifyServiceBuildConfig, oc) } brservices.AssertSuccess() + g.By("get build console logs and see if succeeded") _, err = j.GetJobConsoleLogsAndMatchViaBuildResult(brservices, "Finished: SUCCESS") o.Expect(err).NotTo(o.HaveOccurred()) g.By("clean up openshift resources for next potential run") - err = oc.Run("delete").Args("bc", "jenkins-verifyservice-pipeline").Execute() + err = oc.Run("delete").Args("bc", verifyServiceBuildConfig).Execute() o.Expect(err).NotTo(o.HaveOccurred()) - err = oc.Run("delete").Args("dc", "nodejs-example").Execute() + err = oc.Run("delete").Args("dc", redisAppName).Execute() o.Expect(err).NotTo(o.HaveOccurred()) - err = oc.AsAdmin().Run("delete").Args("all", "-l", "app=nodejs-example").Execute() + err = oc.AsAdmin().Run("delete").Args("all", "-l", fmt.Sprintf("app=%v", redisAppName)).Execute() o.Expect(err).NotTo(o.HaveOccurred()) }) diff --git a/test/extended/testdata/bindata.go b/test/extended/testdata/bindata.go index 121f2479c1d0..ae115a474ea0 100644 --- a/test/extended/testdata/bindata.go +++ b/test/extended/testdata/bindata.go @@ -56140,81 +56140,28 @@ func testExtendedTestdataTestSecretJson() (*asset, error) { var _testExtendedTestdataVerifyservicePipelineTemplateYaml = []byte(`apiVersion: v1 kind: Template labels: - template: nodejs-example + template: jenkins-verifyservice-pipeline metadata: - name: nodejs-example + name: redis-verifyservice-test + app: redis objects: - apiVersion: v1 kind: Service metadata: - name: nodejs-example - spec: - ports: - - name: web - port: 8080 - targetPort: 8080 - selector: - name: nodejs-example -- apiVersion: v1 - kind: Service - metadata: - name: nodejs-example-headless + name: redis-headless + app: redis spec: clusterIP: None ports: - - port: 8080 - targetPort: 8080 - selector: - name: nodejs-example -- apiVersion: v1 - kind: DeploymentConfig - metadata: - name: nodejs-example - spec: - replicas: 2 + - port: 6379 + targetPort: 6379 selector: - name: nodejs-example - strategy: - type: Rolling - template: - metadata: - labels: - name: nodejs-example - name: nodejs-example - spec: - containers: - - env: [] - image: ' ' - livenessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 30 - timeoutSeconds: 3 - name: nodejs-example - ports: - - containerPort: 8080 - readinessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 3 - timeoutSeconds: 3 - triggers: - - imageChangeParams: - automatic: true - containerNames: - - nodejs-example - from: - kind: ImageStreamTag - name: nodejs:latest - namespace: openshift - type: ImageChange - - type: ConfigChange + name: redis - apiVersion: v1 kind: BuildConfig metadata: name: jenkins-verifyservice-pipeline + app: redis spec: strategy: jenkinsPipelineStrategy: @@ -56226,9 +56173,9 @@ objects: // Select the default project openshift.withProject() { // Verify Normal Services - def connectedNormalService = openshift.verifyService('nodejs-example') + def connectedNormalService = openshift.verifyService('redis') // Verify Headless Services with Selectors - def connectedHeadlessService = openshift.verifyService('nodejs-example-headless') + def connectedHeadlessService = openshift.verifyService('redis-headless') } } } diff --git a/test/extended/testdata/verifyservice-pipeline-template.yaml b/test/extended/testdata/verifyservice-pipeline-template.yaml index eca8f64427a7..3a11fbd9b12a 100644 --- a/test/extended/testdata/verifyservice-pipeline-template.yaml +++ b/test/extended/testdata/verifyservice-pipeline-template.yaml @@ -1,81 +1,28 @@ apiVersion: v1 kind: Template labels: - template: nodejs-example + template: jenkins-verifyservice-pipeline metadata: - name: nodejs-example + name: redis-verifyservice-test + app: redis objects: - apiVersion: v1 kind: Service metadata: - name: nodejs-example - spec: - ports: - - name: web - port: 8080 - targetPort: 8080 - selector: - name: nodejs-example -- apiVersion: v1 - kind: Service - metadata: - name: nodejs-example-headless + name: redis-headless + app: redis spec: clusterIP: None ports: - - port: 8080 - targetPort: 8080 + - port: 6379 + targetPort: 6379 selector: - name: nodejs-example -- apiVersion: v1 - kind: DeploymentConfig - metadata: - name: nodejs-example - spec: - replicas: 2 - selector: - name: nodejs-example - strategy: - type: Rolling - template: - metadata: - labels: - name: nodejs-example - name: nodejs-example - spec: - containers: - - env: [] - image: ' ' - livenessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 30 - timeoutSeconds: 3 - name: nodejs-example - ports: - - containerPort: 8080 - readinessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 3 - timeoutSeconds: 3 - triggers: - - imageChangeParams: - automatic: true - containerNames: - - nodejs-example - from: - kind: ImageStreamTag - name: nodejs:latest - namespace: openshift - type: ImageChange - - type: ConfigChange + name: redis - apiVersion: v1 kind: BuildConfig metadata: name: jenkins-verifyservice-pipeline + app: redis spec: strategy: jenkinsPipelineStrategy: @@ -87,9 +34,9 @@ objects: // Select the default project openshift.withProject() { // Verify Normal Services - def connectedNormalService = openshift.verifyService('nodejs-example') + def connectedNormalService = openshift.verifyService('redis') // Verify Headless Services with Selectors - def connectedHeadlessService = openshift.verifyService('nodejs-example-headless') + def connectedHeadlessService = openshift.verifyService('redis-headless') } } }