Charmed MySQL Tutorial - Setup Environment

Environment Setup

This is part of the Charmed MySQL Tutorial. Please refer to this page for more information and the overview of the content.

Minimum requirements

Before we start, make sure your machine meets the following requirements.

Multipass environment

Multipass is a quick and easy way to launch virtual machines running Ubuntu. It uses “cloud-init” standard to install and configure all the necessary parts automatically.

Let’s install Multipass from Snap and launch a new VM using “charm-dev” cloud-init config:

sudo snap install multipass && \
multipass launch --cpus 4 --memory 8G --disk 30G --name my-vm charm-dev # tune CPU/RAM/HDD accordingly to your needs 

Note: all ‘multipass launch’ params are described here.

Multipass list of commands is short and self-explanatory, e.g. show all running VMs:

multipass list

As soon as new VM started, enter inside using:

multipass shell my-vm

Note: if at any point you’d like to leave Multipass VM, enter Ctrl+d or type exit.

All the parts have been pre-installed inside VM already, like LXD and Juju (the files ‘/var/log/cloud-init.log’ and ‘/var/log/cloud-init-output.log’ contain all low-level installation details). Let’s bootstrap Juju to use local LXD:

juju bootstrap localhost overlord

The controller can work with different models; models host applications such as Charmed MySQL. Set up a specific model for Charmed MySQL named ‘tutorial’:

juju add-model tutorial

You can now view the model you created above by entering the command juju status into the command line. You should see the following:

Model    Controller  Cloud/Region         Version  SLA          Timestamp
tutorial overlord    localhost/localhost  3.1.6    unsupported  23:20:53+01:00

Model "admin/tutorial" is empty.