[ 
https://issues.apache.org/jira/browse/FLINK-41309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated FLINK-41309:
-----------------------------------
    Labels: pull-request-available  (was: )

> Expose the JobManager deployment status and the resource age as kubectl 
> printer columns
> ---------------------------------------------------------------------------------------
>
>                 Key: FLINK-41309
>                 URL: https://issues.apache.org/jira/browse/FLINK-41309
>             Project: Flink
>          Issue Type: Improvement
>          Components: Kubernetes Operator
>            Reporter: Dennis-Mircea Ciupitu
>            Priority: Major
>              Labels: pull-request-available
>
> h1. Summary
> {{kubectl get flinkdeployment}} prints two status columns, {{JOB STATUS}} and 
> {{{}LIFECYCLE STATE{}}}. That is not enough to read where a deployment stands:
>  * The JobManager deployment statusĀ is not shown, although it is the layer 
> below the job. For a session cluster, which has no job, the default view 
> currently shows nothing at all.
>  * There is no {{AGE}} column. Kubernetes prints its default {{NAME}} / 
> {{AGE}} pair only for a CRD without printer columns.
> h1. Motivation
> The status of a Flink resource is read on three layers, one field each: 
> {{jobManagerDeploymentStatus}} for Kubernetes and the REST endpoint, 
> {{jobStatus.state}} for the Flink job, {{lifecycleState}} for the operator's 
> own view.
> Concrete cases where the missing column matters:
>  * A JobManager that is reachable on its port but does not answer REST calls 
> is reported as {{jobStatus.state=RECONCILING}} with 
> {{{}lifecycleState=STABLE{}}}, which reads like a normal start. The 
> {{DEPLOYED_NOT_READY}} JobManager status is the only field that tells the two 
> apart at a glance.
>  * A session cluster's {{READY}} / {{DEPLOYING}} / {{ERROR}} state is 
> invisible in the list view today.
>  * "How long has it been like this" has no answer without {{{}-o yaml{}}}, 
> because the age is not printed.
> h1. Proposal
> Default columns, for {{{}FlinkDeployment{}}}:
> {code:java}
> NAME                                    AGE     JOBMANAGER STATUS   JOB 
> STATUS   LIFECYCLE STATE
> basic-example                           52s     READY               RUNNING   
>    STABLE
> basic-session-deployment-only-example   2m59s   READY                         
>    STABLE{code}
> Wide output ({{{}-o wide{}}}) adds the reconciliation status, which the 
> documentation already presents next to the other three but which is derivable 
> from the lifecycle state, so it stays out of the default view:
> {code:java}
> NAME                                    AGE     JOBMANAGER STATUS   JOB 
> STATUS   LIFECYCLE STATE   RECONCILIATION STATUS
> basic-example                           27s     READY               RUNNING   
>    STABLE            DEPLOYED
> basic-session-deployment-only-example   2m34s   READY                         
>    STABLE            DEPLOYED
> {code}
> {{FlinkSessionJob}} shares the status class, so it gets {{AGE}} and the wide 
> {{RECONCILIATION STATUS}} column as well; it has no JobManager of its own and 
> keeps {{JOB STATUS}} and {{LIFECYCLE STATE}} in the default view.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to