KSML Application States

This reference lists the actions available on a KSML application, the states a KSML application can hold, and the mapping between the Kubernetes deployment status and the status shown on the Application card.

Type

Reference

Goal

Look up the actions, states, and status conditions of a KSML application.

Audience

An Application owner who can start and stop a KSML application in Self-Service.

When to use

When you need to interpret the state shown on a KSML Application card or check which action a state allows.

Contents

The sections below cover each area in this reference:

Available application actions

The following actions are available to the Application owner. Each action triggers a Helm operation on the Kubernetes cluster where the Instance’s configured Provisioner runs and affects a defined set of Kubernetes resources.

Application action Effect Affected Kubernetes resources

START

Deploys the KSML application on Kubernetes. Available in the Undeployed state. Shown disabled when the application has no authentication on the environment or no approved grant.

Pods, PV, PVC, ConfigMap

STOP

Undeploys the KSML application on Kubernetes. Available in the Starting, Running, Failed, and Completed states.

Pods, ConfigMap

State lifecycle

A KSML application transitions through states based on infrastructure status and user actions. The Platform Manager polls the status from Kubernetes and displays the current state on the Application card. The following table lists the transitions between states.

From state Trigger To state

Undeployed

START action; Kubernetes provisions resources

Starting

Starting

The KSML status is Running

Running

Starting or Running

The KSML status is Failing

Failed

Running

The KSML status is Completed; only a Job-type application finishes

Completed

Starting, Running, Failed, or Completed

STOP action

Undeployed

The following diagram shows the same lifecycle.

figure

Status mapping

Self-Service polls the provisioner for the status of the deployment while the Application Overview page is open. The status shown on the Application card is one of Undeployed, Starting, Running, Failed, or Completed. The conditions for each status depend on the Automatic Restart setting. The following table lists the KSML status and the condition for each combination.

Setting Status KSML status Condition

On Exit

Undeployed

(not deployed)

The Helm release isn’t deployed.

Starting

Starting

The StatefulSet doesn’t yet have all replicas ready, and the KSML container hasn’t failed.

Running

Running

The StatefulSet has all replicas ready.

Failed

Failing

The KSML container exited with a non-zero code, or is waiting for a reason other than initialising, for example CrashLoopBackOff.

Never

Undeployed

(not deployed)

The Helm release isn’t deployed.

Starting

Starting

The Job has fewer ready pods than active pods.

Running

Running

The Job has all active pods ready.

Failed

Failing

The Job has no active pods and at least one failed pod.

Completed

Completed

The Job has no active pods, no failed pods, and at least one succeeded pod.

Any other KSML status makes the Platform Manager status request fail with HTTP 502. The Application card then shows no status and no action, or keeps the last status it read.