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

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


The following commit(s) were added to refs/heads/main by this push:
     new 40357168 [FLINK-30315] Add more information about image pull failures 
to the operator log
40357168 is described below

commit 40357168fba199320c742a975def11f0c177aea4
Author: pvary <[email protected]>
AuthorDate: Wed Dec 14 15:26:18 2022 +0100

    [FLINK-30315] Add more information about image pull failures to the 
operator log
---
 .../exception/DeploymentFailedException.java       |  1 +
 .../AbstractFlinkDeploymentObserver.java           |  3 +-
 .../controller/FlinkDeploymentControllerTest.java  | 84 +---------------------
 3 files changed, 6 insertions(+), 82 deletions(-)

diff --git 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/exception/DeploymentFailedException.java
 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/exception/DeploymentFailedException.java
index 7721bf65..a8f9abf0 100644
--- 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/exception/DeploymentFailedException.java
+++ 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/exception/DeploymentFailedException.java
@@ -25,6 +25,7 @@ public class DeploymentFailedException extends 
RuntimeException {
 
     public static final String REASON_CRASH_LOOP_BACKOFF = "CrashLoopBackOff";
     public static final String REASON_IMAGE_PULL_BACKOFF = "ImagePullBackOff";
+    public static final String REASON_ERR_IMAGE_PULL = "ErrImagePull";
 
     private static final long serialVersionUID = -1070179896083579221L;
 
diff --git 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/observer/deployment/AbstractFlinkDeploymentObserver.java
 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/observer/deployment/AbstractFlinkDeploymentObserver.java
index 5cd8f165..b730c970 100644
--- 
a/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/observer/deployment/AbstractFlinkDeploymentObserver.java
+++ 
b/flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/observer/deployment/AbstractFlinkDeploymentObserver.java
@@ -189,7 +189,8 @@ public abstract class AbstractFlinkDeploymentObserver
                 if (csw != null
                         && Set.of(
                                         
DeploymentFailedException.REASON_CRASH_LOOP_BACKOFF,
-                                        
DeploymentFailedException.REASON_IMAGE_PULL_BACKOFF)
+                                        
DeploymentFailedException.REASON_IMAGE_PULL_BACKOFF,
+                                        
DeploymentFailedException.REASON_ERR_IMAGE_PULL)
                                 .contains(csw.getReason())) {
                     throw new DeploymentFailedException(csw);
                 }
diff --git 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/FlinkDeploymentControllerTest.java
 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/FlinkDeploymentControllerTest.java
index beb80f31..d00f9ffd 100644
--- 
a/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/FlinkDeploymentControllerTest.java
+++ 
b/flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/controller/FlinkDeploymentControllerTest.java
@@ -297,88 +297,10 @@ public class FlinkDeploymentControllerTest {
     @ValueSource(
             strings = {
                 DeploymentFailedException.REASON_CRASH_LOOP_BACKOFF,
-                DeploymentFailedException.REASON_IMAGE_PULL_BACKOFF
+                DeploymentFailedException.REASON_IMAGE_PULL_BACKOFF,
+                DeploymentFailedException.REASON_ERR_IMAGE_PULL
             })
-    public void verifyInProgressDeploymentWithBackoff(String reason) throws 
Exception {
-        String crashLoopMessage = "container fails";
-
-        var submittedEventValidatingResponseProvider =
-                new TestUtils.ValidatingResponseProvider<>(
-                        new 
EventBuilder().withNewMetadata().endMetadata().build(),
-                        r ->
-                                assertTrue(
-                                        r.getBody()
-                                                .readUtf8()
-                                                .contains(
-                                                        
AbstractFlinkResourceReconciler
-                                                                .MSG_SUBMIT)));
-        mockServer
-                .expect()
-                .post()
-                .withPath("/api/v1/namespaces/flink-operator-test/events")
-                .andReply(submittedEventValidatingResponseProvider)
-                .once();
-
-        var validatingResponseProvider =
-                new TestUtils.ValidatingResponseProvider<>(
-                        new 
EventBuilder().withNewMetadata().endMetadata().build(),
-                        r -> {
-                            String recordedRequestBody = 
r.getBody().readUtf8();
-                            assertTrue(recordedRequestBody.contains(reason));
-                            
assertTrue(recordedRequestBody.contains(crashLoopMessage));
-                        });
-        mockServer
-                .expect()
-                .post()
-                .withPath("/api/v1/namespaces/flink-operator-test/events")
-                .andReply(validatingResponseProvider)
-                .once();
-
-        
flinkService.setJmPodList(TestUtils.createFailedPodList(crashLoopMessage, 
reason));
-
-        FlinkDeployment appCluster = TestUtils.buildApplicationCluster();
-        UpdateControl<FlinkDeployment> updateControl;
-
-        testController.reconcile(appCluster, context);
-        updateControl =
-                testController.reconcile(
-                        appCluster, 
TestUtils.createContextWithInProgressDeployment());
-        submittedEventValidatingResponseProvider.assertValidated();
-        assertFalse(updateControl.isUpdateStatus());
-        assertEquals(
-                Optional.of(
-                        
configManager.getOperatorConfiguration().getReconcileInterval().toMillis()),
-                updateControl.getScheduleDelay());
-
-        assertEquals(
-                JobManagerDeploymentStatus.ERROR,
-                appCluster.getStatus().getJobManagerDeploymentStatus());
-        assertEquals(
-                org.apache.flink.api.common.JobStatus.RECONCILING.name(),
-                appCluster.getStatus().getJobStatus().getState());
-
-        // Validate status status
-        assertNotNull(appCluster.getStatus().getError());
-
-        // next cycle should not create another event
-        updateControl =
-                testController.reconcile(
-                        appCluster, 
TestUtils.createContextWithFailedJobManagerDeployment());
-        assertEquals(
-                JobManagerDeploymentStatus.ERROR,
-                appCluster.getStatus().getJobManagerDeploymentStatus());
-        assertFalse(updateControl.isUpdateStatus());
-        assertEquals(
-                ReconciliationUtils.rescheduleAfter(
-                                JobManagerDeploymentStatus.READY,
-                                appCluster,
-                                configManager.getOperatorConfiguration())
-                        .toMillis(),
-                updateControl.getScheduleDelay().get());
-        validatingResponseProvider.assertValidated();
-    }
-
-    public void verifyInProgressDeployment(String reason) throws Exception {
+    public void verifyInProgressDeploymentWithError(String reason) throws 
Exception {
         String crashLoopMessage = "container fails";
 
         var submittedEventValidatingResponseProvider =

Reply via email to