One professional support option available to you as a team adopting Juju is to enlist the help of a Juju Expert.
A Juju Expert is a partner vetted by Canonical, which deploys and supports infrastructure based on Juju. We call this type of arrangement a managed solution.
Any support requests beyond the build, workload, and operation of a particular solution can be escalated, by the Expert, to Canonical by means of their Ubuntu Advantage support framework. The escalated support case will be treated by Canonical at the same support level currently ascribed to the partner (Essential, Standard, or Advanced). See Ubuntu Advantage for Servers for more information on Canonical support levels.
The Juju Expert will provide details such as support levels and costs on a per-solution basis but ultimately an SLA will be conferred upon a specific Juju model (see Models).
Consult the Juju Experts page to find a managed solution partner for your project.
The remainder of this page describes how a Juju Expert would administer a managed solution for you.
The following requirements need to be met before setting an SLA for the first time:
- The Juju operator will need an Ubuntu SSO account.
- The Juju operator will need to have logged in to Launchpad (via Ubuntu SSO) at least once.
Setting an SLA
An SLA is set within Juju itself, on a per-model basis, via the
sla command, which will trigger a dialog to authenticate to your Ubuntu SSO account.
Two key parameters are needed in order for support to become active:
- Support level
- Budget limit
Support costs will not be billed for more than the budget limit. If metered costs exceed this amount, the limit will need to be increased in order for support to remain active.
For example, to set an Essential SLA on model ‘default’, with a monthly budget limit of USD 100:
juju sla -m default essential --budget 100
Model SLA Message lxd:admin/default essential the new sla will become effective on 2018-11-05 19:22:31.433640933 +0000 UTC
The SLA for a model is shown at the top of the output to the
Model Controller Cloud/Region Version SLA Timestamp default lxd localhost/localhost 2.5-beta1 essential 19:42:28Z . .
It is possible to simply set a support level with the
juju sla -m default essential
The model’s budget will then need to be set separately. We’ll show how this is done later on.
Changing an SLA
An SLA is increased when it moves “up” levels: ‘essential’ to ‘standard’ to ‘advanced’. An SLA is decreased when it moves “down” levels: ‘advanced’ to ‘standard’ to ‘essential’.
When an SLA is increased the resulting support level becomes effective immediately. When an SLA is decreased the resulting support level becomes effective in the next monthly billing cycle.
Budgeting managed models
SLA budgets are organized into wallets. A wallet called ‘primary’ is created when the
sla command is run for the first time. It gets hardcoded as the default wallet. The sum of all budgets in a wallet cannot exceed the wallet limit.
List your wallets with the
Wallet Monthly Budgeted Available Spent primary* 1000 100 999.89 0.11 Total 1000 100 999.89 0.11 Credit limit: 10000
The default wallet is shown with an asterisk “*”. SLA budgets are allocated from this wallet if the wallet name is not specified.
The credit limit is the maximum monthly limit approved to spend on SLAs. You can submit a request to Canonical to have this limit increased. This is done via an escalated support case. See section Escalating a support case.
View the budgets allocated from a wallet with the
juju show-wallet primary
Model Spent Budgeted By Usage lxd:admin/default 0.22 100 bob 0% Total 0.22 100 0% Wallet 1000 Unallocated 900
You may update the budget limit for a model with the
juju budget -m lxd:admin/default 200
Finally, to view all the budgets associated with a wallet the
show-wallet command is used:
juju show-wallet primary
Model Spent Budgeted By Usage lxd:admin/default 2.42 200 bob 1% lxd:admin/alpha 0.00 150 bob 0% Total 2.42 350 1% Wallet 1000 Unallocated 650
The budget limit may be lowered for a model, but not below its current spent value.
Additional wallets may be created for accounting or organizational purposes with the
juju create-wallet demo 50
Verify the creation of the new wallet by listing the wallets again:
Wallet Monthly Budgeted Available Spent demo 50 0 50.00 0.00 primary* 1000 350 997.58 2.42 Total 1050 350 1047.58 2.42 Credit limit: 10000
To allocate a budget (using either the
sla command or the
budget command) from a specific wallet use the form:
<wallet>:<limit>. Here are two examples:
juju sla essential demo:40 juju budget primary:25
Metering begins once the following have occurred:
- an SLA has been assigned to a model
- a budget has been allocated to a model
- the model takes on a workload
When metering is underway the output to the
status command will include an extra section:
. . Entity Meter status Message model green . .
A ‘Meter’ value of green (displayed with a green colour in the terminal) indicates that the customer’s payment method is in good standing. A value of amber indicates a condition puts future payment for continued use at risk (e.g. spending is occurring at a rate likely to exceed the monthly limit). A value of red indicates that continued use of the workload will not be paid for (e.g. budget limit exceeded, problem with payment method). The ‘Message’ column will be updated with appropriate details.
Determining factors for actual metering costs (e.g. fixed per-hour rate, per-unit hour, etc.) are negotiated between the customer and the Expert.