This is an automated email from the ASF dual-hosted git repository.

wangyang0918 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/flink-kubernetes-operator.git

commit 6ce3d96937849c70e00ef5f3837bc08ed31d9952
Author: SteNicholas <[email protected]>
AuthorDate: Sat May 7 18:02:06 2022 +0800

    [FLINK-27412] Allow flinkVersion v1_13 in flink-kubernetes-operator and 
improve e2e tests to cover all supported Flink versions
    
    This closes #197.
---
 .github/workflows/ci.yml                                      | 11 +++++++++++
 docs/content/docs/custom-resource/job-management.md           |  2 +-
 docs/content/docs/custom-resource/overview.md                 |  2 +-
 docs/content/docs/custom-resource/pod-template.md             |  2 +-
 docs/content/docs/custom-resource/reference.md                |  1 +
 docs/content/docs/operations/ingress.md                       |  2 +-
 e2e-tests/data/flinkdep-cr.yaml                               |  4 ++--
 e2e-tests/data/sessionjob-cr.yaml                             |  4 ++--
 examples/basic-session-job.yaml                               |  4 ++--
 .../flink/kubernetes/operator/crd/spec/FlinkVersion.java      |  1 +
 .../apache/flink/kubernetes/operator/FlinkOperatorITCase.java |  2 +-
 .../operator/controller/DeploymentRecoveryTest.java           | 10 ++++------
 .../crds/flinkdeployments.flink.apache.org-v1.yml             |  1 +
 13 files changed, 29 insertions(+), 17 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 388d04d..f2c7056 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -98,6 +98,13 @@ jobs:
           - description: 'WatchNamespaces enabled'
             namespace: flink
             extraArgs: '--create-namespace --set 
"watchNamespaces={default,flink}"'
+        versions:
+          - image: flink:1.13
+            flinkVersion: v1_13
+          - image: flink:1.14
+            flinkVersion: v1_14
+          - image: flink:1.15
+            flinkVersion: v1_15
     name: e2e_ci
     steps:
       - uses: actions/checkout@v2
@@ -143,10 +150,14 @@ jobs:
           kubectl get pods
       - name: Run Flink e2e tests
         run: |
+          sed -i "s/image: flink:.*/image: ${{ matrix.versions.image }}/" 
e2e-tests/data/*.yaml
+          sed -i "s/flinkVersion: .*/flinkVersion: ${{ 
matrix.versions.flinkVersion }}/" e2e-tests/data/*.yaml
+          git diff HEAD
           ls e2e-tests/test_*.sh | while read script_test;do \
             echo "Running $script_test"
             bash $script_test || exit 1
           done
+          git reset --hard
       - name: Stop the operator
         run: |
           helm uninstall -n ${{ matrix.config.namespace }} 
flink-kubernetes-operator
diff --git a/docs/content/docs/custom-resource/job-management.md 
b/docs/content/docs/custom-resource/job-management.md
index d4697c9..8e5f4bc 100644
--- a/docs/content/docs/custom-resource/job-management.md
+++ b/docs/content/docs/custom-resource/job-management.md
@@ -102,7 +102,7 @@ metadata:
   namespace: default
   name: basic-checkpoint-ha-example
 spec:
-  image: flink:1.14.3
+  image: flink:1.14
   flinkVersion: v1_14
   flinkConfiguration:
     taskmanager.numberOfTaskSlots: "2"
diff --git a/docs/content/docs/custom-resource/overview.md 
b/docs/content/docs/custom-resource/overview.md
index 34a74ff..88efe8d 100644
--- a/docs/content/docs/custom-resource/overview.md
+++ b/docs/content/docs/custom-resource/overview.md
@@ -111,7 +111,7 @@ metadata:
   namespace: default
   name: basic-example
 spec:
-  image: flink:1.14.3
+  image: flink:1.14
   flinkVersion: v1_14
   flinkConfiguration:
     taskmanager.numberOfTaskSlots: "2"
diff --git a/docs/content/docs/custom-resource/pod-template.md 
b/docs/content/docs/custom-resource/pod-template.md
index f2d0a7f..3342164 100644
--- a/docs/content/docs/custom-resource/pod-template.md
+++ b/docs/content/docs/custom-resource/pod-template.md
@@ -49,7 +49,7 @@ metadata:
   namespace: default
   name: pod-template-example
 spec:
-  image: flink:1.14.3
+  image: flink:1.14
   flinkVersion: v1_14
   flinkConfiguration:
     taskmanager.numberOfTaskSlots: "2"
diff --git a/docs/content/docs/custom-resource/reference.md 
b/docs/content/docs/custom-resource/reference.md
index 64b20e7..78cb500 100644
--- a/docs/content/docs/custom-resource/reference.md
+++ b/docs/content/docs/custom-resource/reference.md
@@ -76,6 +76,7 @@ This page serves as a full reference for FlinkDeployment 
custom resource definit
 
 | Value | Docs |
 | ----- | ---- |
+| v1_13 |  |
 | v1_14 |  |
 | v1_15 |  |
 | v1_16 |  |
diff --git a/docs/content/docs/operations/ingress.md 
b/docs/content/docs/operations/ingress.md
index 345005b..38ff2b8 100644
--- a/docs/content/docs/operations/ingress.md
+++ b/docs/content/docs/operations/ingress.md
@@ -35,7 +35,7 @@ metadata:
   namespace: default
   name: advanced-ingress
 spec:
-  image: flink:1.14.3
+  image: flink:1.14
   flinkVersion: v1_14
   ingress:
     template: "flink.k8s.io/{{namespace}}/{{name}}(/|$)(.*)"
diff --git a/e2e-tests/data/flinkdep-cr.yaml b/e2e-tests/data/flinkdep-cr.yaml
index 9bbd0ac..8278346 100644
--- a/e2e-tests/data/flinkdep-cr.yaml
+++ b/e2e-tests/data/flinkdep-cr.yaml
@@ -22,7 +22,7 @@ metadata:
   namespace: default
   name: flink-example-statemachine
 spec:
-  image: flink:1.14.3
+  image: flink:1.14
   flinkVersion: v1_14
   ingress:
     template: "/{{namespace}}/{{name}}(/|$)(.*)"
@@ -47,7 +47,7 @@ spec:
           image: busybox:latest
           imagePullPolicy: IfNotPresent
           # Use wget or other tools to get user jars from remote storage
-          command: [ 'wget', 
'https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.14.3/flink-examples-streaming_2.12-1.14.3.jar',
 '-O', '/flink-artifact/myjob.jar' ]
+          command: [ 'wget', 
'https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.14.4/flink-examples-streaming_2.12-1.14.4.jar',
 '-O', '/flink-artifact/myjob.jar' ]
           volumeMounts:
             - mountPath: /flink-artifact
               name: flink-artifact
diff --git a/e2e-tests/data/sessionjob-cr.yaml 
b/e2e-tests/data/sessionjob-cr.yaml
index 3df051b..703acad 100644
--- a/e2e-tests/data/sessionjob-cr.yaml
+++ b/e2e-tests/data/sessionjob-cr.yaml
@@ -22,7 +22,7 @@ metadata:
   namespace: default
   name: session-cluster-1
 spec:
-  image: flink:1.14.3
+  image: flink:1.14
   flinkVersion: v1_14
   ingress:
     template: "/{{namespace}}/{{name}}(/|$)(.*)"
@@ -76,7 +76,7 @@ metadata:
 spec:
   deploymentName: session-cluster-1
   job:
-    jarURI: 
https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.14.3/flink-examples-streaming_2.12-1.14.3.jar
+    jarURI: 
https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.14.4/flink-examples-streaming_2.12-1.14.4.jar
     parallelism: 2
     upgradeMode: savepoint
     entryClass: 
org.apache.flink.streaming.examples.statemachine.StateMachineExample
diff --git a/examples/basic-session-job.yaml b/examples/basic-session-job.yaml
index cde55a5..d31e3cc 100644
--- a/examples/basic-session-job.yaml
+++ b/examples/basic-session-job.yaml
@@ -41,7 +41,7 @@ metadata:
 spec:
   deploymentName: basic-session-cluster
   job:
-    jarURI: 
https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.14.3/flink-examples-streaming_2.12-1.14.3-TopSpeedWindowing.jar
+    jarURI: 
https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.14.4/flink-examples-streaming_2.12-1.14.4-TopSpeedWindowing.jar
     parallelism: 4
     upgradeMode: stateless
 
@@ -53,7 +53,7 @@ metadata:
 spec:
   deploymentName: basic-session-cluster
   job:
-    jarURI: 
https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.14.3/flink-examples-streaming_2.12-1.14.3.jar
+    jarURI: 
https://repo1.maven.org/maven2/org/apache/flink/flink-examples-streaming_2.12/1.14.4/flink-examples-streaming_2.12-1.14.4.jar
     parallelism: 2
     upgradeMode: stateless
     entryClass: 
org.apache.flink.streaming.examples.statemachine.StateMachineExample
diff --git 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/crd/spec/FlinkVersion.java
 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/crd/spec/FlinkVersion.java
index 1d3502a..e253c60 100644
--- 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/crd/spec/FlinkVersion.java
+++ 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/crd/spec/FlinkVersion.java
@@ -28,6 +28,7 @@ import java.util.stream.Stream;
 /** Enumeration for supported Flink versions. */
 @Experimental
 public enum FlinkVersion {
+    v1_13,
     v1_14,
     v1_15,
     v1_16;
diff --git 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/FlinkOperatorITCase.java
 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/FlinkOperatorITCase.java
index 3298da6..503192b 100644
--- 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/FlinkOperatorITCase.java
+++ 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/FlinkOperatorITCase.java
@@ -50,7 +50,7 @@ public class FlinkOperatorITCase {
     private static final String TEST_NAMESPACE = "flink-operator-test";
     private static final String SERVICE_ACCOUNT = "flink-operator";
     private static final String CLUSTER_ROLE_BINDING = 
"flink-operator-cluster-role-binding";
-    private static final String FLINK_VERSION = "1.14.3";
+    private static final String FLINK_VERSION = "1.14.4";
     private static final String IMAGE = String.format("flink:%s", 
FLINK_VERSION);
     private static final Logger LOG = 
LoggerFactory.getLogger(FlinkOperatorITCase.class);
     private KubernetesClient client;
diff --git 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/DeploymentRecoveryTest.java
 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/DeploymentRecoveryTest.java
index 34c61a4..2f59d5c 100644
--- 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/DeploymentRecoveryTest.java
+++ 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/DeploymentRecoveryTest.java
@@ -99,7 +99,7 @@ public class DeploymentRecoveryTest {
         assertEquals(JobManagerDeploymentStatus.ERROR, 
status.getJobManagerDeploymentStatus());
 
         testController.reconcile(appCluster, context);
-        if (flinkVersion != FlinkVersion.v1_14 || enabled) {
+        if (flinkVersion.isNewerVersionThan(FlinkVersion.v1_14) || enabled) {
             assertEquals(
                     JobManagerDeploymentStatus.DEPLOYING, 
status.getJobManagerDeploymentStatus());
         } else {
@@ -110,7 +110,7 @@ public class DeploymentRecoveryTest {
 
         testController.reconcile(appCluster, context);
         testController.reconcile(appCluster, context);
-        if (flinkVersion != FlinkVersion.v1_14 || enabled) {
+        if (flinkVersion.isNewerVersionThan(FlinkVersion.v1_14) || enabled) {
             assertEquals(JobManagerDeploymentStatus.READY, 
status.getJobManagerDeploymentStatus());
             assertEquals(JobStatus.RUNNING.name(), 
status.getJobStatus().getState());
         } else {
@@ -170,7 +170,7 @@ public class DeploymentRecoveryTest {
         testController.reconcile(appCluster, context);
         flinkService.setPortReady(true);
 
-        if (flinkVersion != FlinkVersion.v1_14 || enabled) {
+        if (flinkVersion.isNewerVersionThan(FlinkVersion.v1_14) || enabled) {
             assertEquals(
                     JobManagerDeploymentStatus.DEPLOYING, 
status.getJobManagerDeploymentStatus());
             testController.reconcile(appCluster, context);
@@ -189,9 +189,7 @@ public class DeploymentRecoveryTest {
         List<Arguments> args = new ArrayList<>();
         for (FlinkVersion version : FlinkVersion.values()) {
             for (UpgradeMode upgradeMode : UpgradeMode.values()) {
-                if (version == FlinkVersion.v1_14) {
-                    args.add(arguments(version, upgradeMode, true));
-                }
+                args.add(arguments(version, upgradeMode, true));
                 args.add(arguments(version, upgradeMode, false));
             }
         }
diff --git 
a/helm/flink-kubernetes-operator/crds/flinkdeployments.flink.apache.org-v1.yml 
b/helm/flink-kubernetes-operator/crds/flinkdeployments.flink.apache.org-v1.yml
index 07bdf97..a847774 100644
--- 
a/helm/flink-kubernetes-operator/crds/flinkdeployments.flink.apache.org-v1.yml
+++ 
b/helm/flink-kubernetes-operator/crds/flinkdeployments.flink.apache.org-v1.yml
@@ -27,6 +27,7 @@ spec:
                 type: string
               flinkVersion:
                 enum:
+                - v1_13
                 - v1_14
                 - v1_15
                 - v1_16

Reply via email to