Command status

Juju status is a command that represents the current status of a deployment of any given model.

Deploying the following (replicate by calling the following commands) workload to a new model, results in the following output from juju status:

juju deploy hello-juju
juju deploy ntp
juju add-relation hello-juju ntp
Model    Controller  Cloud/Region  Version     SLA          Timestamp
default  test        lxd/default   2.9-rc10.1  unsupported  11:08:27+01:00

App         Version  Status  Scale  Charm       Store     Channel  Rev  OS      Message
hello-juju           active      1  hello-juju  charmhub  stable     6  ubuntu  Serving HTTP from gunicorn
ntp         3.2      active      1  ntp         charmhub  stable    45  ubuntu  chrony: Ready, time sync disabled in container

Unit           Workload  Agent  Machine  Public address  Ports    Message
hello-juju/0*  active    idle   0        10.132.183.122  80/tcp   Serving HTTP from gunicorn
  ntp/0*       active    idle            10.132.183.122  123/udp  chrony: Ready, time sync disabled in container

Machine  State    DNS             Inst id        Series  AZ  Message
0        started  10.132.183.122  juju-29d4ef-0  focal       Running

Models

The first section reported relates to the overall model.

Model    Controller  Cloud/Region         Version  SLA          Timestamp
default  overlord    localhost/localhost  2.8.10   unsupported  16:24:04+12:00

Model

The model’s name, as defined when performing a juju bootstrap or by the ‘add model’ command.

Controller

The controller’s name, as defined by the ‘juju bootstrap’ command.

Cloud/Region

The cloud and region selected during ‘juju bootstrap’. Valid clouds are listed by the ‘juju clouds’ command. Each cloud’s regions are listed by the ‘juju regions’ command.

In this instance localhost refers to LXD.

Version

The version of Juju that is being run by the Juju agents within the model. Newer versions of the Juju client will always inter-operable with older versions of Juju.

Info: The Version relates to the deployed version of Juju on the controller and not the local version of Juju CLI. To obtain the local version of Juju, using juju version should suffice.

SLA

The “Support Level Agreement” for this model.

Timestamp

The time when the controller gathered the information for the report.

Info: The Timestamp is of the Model time, not the local time.

Remote Applications (optional)

The remote applications section is not shown by default. Only when a remote-application (SAAS) is consumed, will it appear in the juju status output.

SAAS   Status  Store    URL
mysql  active  unknown  admin/cmr-model.mysql

Deploying a remote application will include the additional information.

SAAS / Remote Application

The name of the remote application.

Status

Indicates the status of the remote application from the perspective of the consumer side.

Store

Describes the source of the application. Will report “unknown” when Juju is unable to determine its source.

URL

The “offer URL” that describes how the Juju controller can connect with remote applications.

Applications

The application section aggregates information that applicable to all units of each application. This include the details about the charm(s) that are deployed and an overall status code.

App         Version  Status  Scale  Charm       Store     Channel  Rev  OS      Message
hello-juju           active      1  hello-juju  charmhub  stable     6  ubuntu  Serving HTTP from gunicorn
ntp         3.2      active      1  ntp         charmhub  stable    45  ubuntu  chrony: Ready, time sync disabled in container

App

The application name, as provided during ‘juju deploy’. The application name can differ from the charm’s default name to enable multiple logical services running the same underlying application.

Version

The version number of the application itself, not the charm.

Status

May be “active”, “blocked”, “error”, “maintenance”, “waiting”. The “blocked” state implies that manual intervention is required. Normally, “blocked” can resolved be adding a relation or setting configuration values. “error” indicates that the charm’s code itself has encountered an error. To resolve this, contact the charm’s author.

Scale

Number of units of this application. Indicates a difference between the desired units and the actual count with a fraction.

Charm

The original charm’s name, which can differ from the App name.

Store

The location of charm from where the charm’s binary was downloaded from.

Info: When deploying charms from your local filesystem, the term “local” is used to indicate that.

Rev

The charm’s revision number.

OS

The operating system that the charm is currently deployed to.

Message

Any messages that are applicable to all units within the application that provide key stages or snapshots of a charm from the author of the charm to the operator.

Units

The units section provides individual information about every unit for a given model. A unit comprises of a singular application unit and can be identified with the application name, followed by the unit number.

Subordinate application units are list underneath the principal units in hierarchical form, once the applications have been related.

Unit           Workload  Agent  Machine  Public address  Ports    Message
hello-juju/0*  active    idle   0        10.132.183.122  80/tcp   Serving HTTP from gunicorn
  ntp/0*       active    idle            10.132.183.122  123/udp  chrony: Ready, time sync disabled in container

Unit

The unit name defined from the application name and a unit number for a given application. Each unit number is uniquely incremented to that application, for example hello-juju/0, hello-juju/1 and ntp/0, ntp/1.

Workload

The workload status of a given unit.

Agent

The Juju agent status of a given unit.

Machine

The corresponding machine ID of a unit.

Info: Subordinates have no corresponding machine ID, instead they run on the same machine as their principal unit.

Public address

The public address of a given unit.

Ports

A list of ports and associated protocols that are available for the unit.

Message

Any messages that are applicable to the unit that provide key stages or snapshots of a charm from the author of the charm to the operator.

Machine

Machine represents the physical/virtual infrastructure for running the units and therefore applications upon.

Machine  State    DNS             Inst id        Series  AZ  Message
0        started  10.132.183.122  juju-29d4ef-0  focal       Running

Machine

The machine unique identifier.

State

The state of the machine.

DNS

The DNS of the application.

Inst id

The instance identifier that can be used to locate the machine within the physical/virtual infrastructure.

In the example the instance id refers to LXD and can be located using lxc list

+----------------+---------+-----------------------+------+-----------------+-----------+
|      NAME      |  STATE  |         IPV4          | IPV6 |      TYPE       | SNAPSHOTS |
+----------------+---------+-----------------------+------+-----------------+-----------+
| juju-29d4ef-0  | RUNNING | 10.132.183.122 (eth0) |      | CONTAINER       | 0         |
+----------------+---------+-----------------------+------+-----------------+-----------+

Series

The underlying base of the machine. focal refers to the Ubuntu 20.04 release.

AZ

The availability zone the machine is currently occupying. This is optional for some clouds.

Message

Any notes, messages or actions to be highlights about a given machine.