OpenStack in a snap!
Go to file
Pete Vander Giessen c123af21d3 Strict confinement related fixes
(Not complete strict confinement, but these don't break anything
devmode related, and get us closer to having strict confinement

Added more needed interfaces to snapcraft.yaml.

Created a wrapper around dnsmasq so that we can run as the snap_daemon
user. Added snap_daemon user to snapcraft.yaml.

Added a utility script for connecting interfaces that don't auto
connect (tools/ Not useful for production, but saves a lot
of time when testing.

libvirt no longer uses unix sock group "sudo" (can't run setguid in
strict confinement).

Got rid of "find_missing_plugins" in init script. By the time we
release strict confinement to production, all those plugins will auto

Change-Id: I8324ac7bd0332c41cac17703eb15d7301e7babf3
2020-04-02 17:31:54 +00:00
checks Added Filebeat, NRPE and Telegraf to Microstack 2020-02-11 14:33:26 +00:00
patches Strict confinement related fixes 2020-04-02 17:31:54 +00:00
snap/hooks Strict confinement (devmode) 2020-03-05 09:31:15 +00:00
snap-overlay Strict confinement related fixes 2020-04-02 17:31:54 +00:00
snap-wrappers Strict confinement related fixes 2020-04-02 17:31:54 +00:00
tests Strict confinement related fixes 2020-04-02 17:31:54 +00:00
tools Strict confinement related fixes 2020-04-02 17:31:54 +00:00
.gitignore Strict confinement (devmode) 2020-03-05 09:31:15 +00:00
.gitreview Added automated testing via tox and zuul. 2019-07-24 08:04:38 +01:00
.zuul.yaml Added Filebeat, NRPE and Telegraf to Microstack 2020-02-11 14:33:26 +00:00 Updated "Building MicroStack" section of 2019-11-14 17:36:25 +00:00 Ported and updated launch script 2019-10-23 01:09:42 +00:00 Strict confinement (devmode) 2020-03-05 09:31:15 +00:00
filebeat.pgp.key Added Filebeat, NRPE and Telegraf to Microstack 2020-02-11 14:33:26 +00:00
snapcraft.yaml Strict confinement related fixes 2020-04-02 17:31:54 +00:00
telegraf.pgp.key Added Filebeat, NRPE and Telegraf to Microstack 2020-02-11 14:33:26 +00:00
test-requirements.txt Added testing for control nodes 2019-10-16 15:44:38 +00:00
tox.ini Strict confinement (devmode) 2020-03-05 09:31:15 +00:00


Snap Status

MicroStack is a single-machine, snap-deployed OpenStack cloud.

Common purposes include:

  • Development and testing of OpenStack workloads
  • Continuous integration (CI)
  • IoT and appliances
  • Edge clouds (experimental)
  • Introducing new users to OpenStack

Currently provided OpenStack services are: Nova, Keystone, Glance, Horizon, and Neutron.

MicroStack is frequently updated to provide the latest stable updates of the most recent OpenStack release.

Requirements: You will need at least 2 CPUs, 8 GiB of memory, and 100 GiB of disk space.

See the full MicroStack documentation.


At this time you can install from the --beta or --edge snap channels:

sudo snap install microstack --classic --beta

The edge channel is moving toward a strictly confined snap. At this time, it must be installed in devmode:

sudo snap install microstack --devmode --edge


Initialisation will set up databases, networks, flavors, an SSH keypair, a CirrOS image, and open ICMP/SSH security groups:

sudo microstack.init --auto

OpenStack client

The OpenStack client is bundled as microstack.openstack. For example:

microstack.openstack network list
microstack.openstack flavor list
microstack.openstack keypair list
microstack.openstack image list
microstack.openstack security group rule list

Creating an instance

To create an instance (called "awesome") based on the CirrOS image:

microstack.launch cirros --name awesome

SSH to an instance

The launch output will show you how to connect to the instance. For the CirrOS image, the user account is 'cirros'.

ssh -i ~/.ssh/id_microstack cirros@<ip-address>


The launch output will also provide information for the Horizon dashboard. Its credentials are:

username: admin
password: keystone

Removing MicroStack

To remove MicroStack, run:

sudo microstack.remove --auto

This will clean up the Open vSwitch bridge device and uninstall MicroStack. If you remove MicroStack with the snap remove command instead, don't worry -- the Open vSwitch bridge will disappear the next time that you reboot your system.

Note that you can pass any arguments that you'd pass to the snap remove command to microstack.remove. To purge the snap, for example, run:

sudo microstack.remove --auto --purge

LMA stack

Filebeat, Telegraf and NRPE are bundled as the snap systemd services.

Customising and contributing

To customise services and settings, look in the .d directories under /var/snap/microstack/common/etc. You can add services with your package manager, or take a look at and make a code based argument for adding a service to the default list.

Reporting a bug

Please report bugs to the MicroStack project on Launchpad.