infra node #0

Supports: trusty xenial bionic

Add to new model


In order to add subordinate charms such as nrpe, we need to have a primary
unit to relate them to. This charm provides that primary.


This charm provides a principal Juju unit so that we relate things like nrpe,
landscape-client, etc., to service the hosts used to provide Maas and other
infrastructure for a cloud installation.

Additionally, this charm ensures that the snaps for openstackclient and juju
are installed, since these hosts tend also to be used as administration


First, ensure you have ssh keys exchanged or passwords for a user with sudo on
the Maas host you wish to add. You will need to confirm you can ssh from the
CLI you're working on and from the Juju controller machines. Let's assume that
our ssh url is ubuntu@ Add the machine:
juju add-machine ssh:ubuntu@

In this case, that came back as machine number 14.

Now deploy the charm:
juju deploy cs:~canonical-bootstack/infra-node --to 14

Now you can add relations etc to have nrpe.


There's opportunities here to deliver some of the currently manual steps for
general day to day maintenance for a cloud. The base stuff we're including
with this charm is just a few snaps, but we can be much more ambitious in the



(string) Used by the nrpe subordinate charms. A string that will be prepended to instance name to set the host name in nagios. So for instance the hostname would be something like: juju-myservice-0 If you're running multiple environments with the same services in them this allows you to differentiate between them.
(string) A comma-separated list of nagios servicegroups. If left empty, the nagios_context will be used as the servicegroup
(string) HTTP/HTTPS web proxy for Snappy to use when accessing the snap store.
(string) The address of a Snap Store Proxy to use for snaps e.g.
(string) How often snapd handles updates for installed snaps. The default (an empty string) is 4x per day. Set to "max" to check once per month based on the charm deployment date. You may also set a custom string as described in the 'refresh.timer' section here: