Charmed Opensearch Dashboards | Tutorial | Environment

Set up the environment

In this section, you will set up your environment by:

  • installing and setting up Multipass
  • installing Juju and boostrapping LXD
  • setting up a graphical interface with Multipass

Install and set up Multipass

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

Installation of Multipass from Snap and launching a new VM using “charm-dev” cloud-init config goes as:

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

(The full set of launch parameters is described here.)

Multipass commands are generally short and intuitive. For example, to show all running VMs:

multipass list

When the new VM is up and running, connect using:

multipass shell my-vm

You can exit the Multipass VM using Ctrl + D or the exit command.

Install and set up Juju

The next step is to install Juju and initialize LXD (a lightweight container hypervisor).

sudo snap install juju --classic --channel=3.5/stable
sudo snap install lxd
lxd init --auto

(Files /var/log/cloud-init.log and /var/log/cloud-init-output.log contain all low-level installation details).

Now that LXD and Juju are installed, the next step is to bootstrap Juju to use local LXD:

juju bootstrap localhost overlord

The controller can work with different models. Most applications such as Opensearch or Opensearch Dashboards. To set up a new “model” called tutorial, run:

juju add-model tutorial

You can now view the model you created above by entering the command juju status. You should see something similar to the following output:

Model     Controller  Cloud/Region         Version  SLA          Timestamp
tutorial  overlord    localhost/localhost  3.5.3    unsupported  14:22:02+02:00

Model "admin/tutorial" is empty.

Set up a graphical interface

There are graphical interfaces available for multipass (see more details in the Multipass Graphical Interface chapter).

We recommend to use rdp:

sudo apt install ubuntu-desktop xrdp remmina-plugin-rdp remmina
sudo passwd ubuntu # Set password here

Now you should be able to connect using the IP of the earlier multipass list command:

remmina -c rdp://<IP>

If the environment comes up with a small resolution, use this great Stackoverflow suggestion.

Note that after the graphical setup you may be instructed to restart the multipass instance. You probably want to do this before installing the services within (as some may require re-initialization after a reboot otherwise).