Pete Vander Giessen
Make MicroStack strictly confined, albeit in devmode for now. Addresses unpredictable breakages with apt package upgrades in eoan and focal, and sets the stage for a better isolated, less fragile snap going forward. We now use layouts to handle libvirt and qemu setting paths at compile time. This is cleaner than the organize hack. Moved away from calls to systemctl in init, as a strictly confined snap cannot call systemctl on a non snappy system. Disabled call to sysctl to set ipv4_fowarding, as we don't have access to sysctl in a strictly confined snap. This may break some users, and we need to figure out a way to address the breakage. Got rid of questions.shell.shell routine, moving rabbitmq setup into a bash script instead (it's just cleaner). Moved keypair creation into launch script, as it's difficult to do sensible things with keypair creation in the init script, which is running using sudo, and therefore doesn't have access to /home/<someuser>/snap Added (but commented out) code that will check to verify that plugs are connected before running microstack.init or ovs-vsctl. This code may go away entirely, as we plan on auto connecting all of our interfaces, and don't technically need to guard against not having them connected. Added temporary local upper-constraints file, to fix an issue where upstream upper-constraints was breaking pip install by setting a neutron version. This needs a better long term fix, but works for now. Closes-bug: 1860660 Change-Id: Iaf1f1482609f05285ed9061317b32e90bffd2da0
|1 year ago|
|checks||1 year ago|
|patches||1 year ago|
|snap/hooks||1 year ago|
|snap-overlay||1 year ago|
|snap-wrappers||1 year ago|
|tests||1 year ago|
|tools||1 year ago|
|.gitignore||1 year ago|
|.gitreview||2 years ago|
|.zuul.yaml||1 year ago|
|CONTRIBUTING.md||1 year ago|
|DEMO.md||2 years ago|
|README.md||1 year ago|
|filebeat.pgp.key||1 year ago|
|snapcraft.yaml||1 year ago|
|telegraf.pgp.key||1 year ago|
|test-requirements.txt||2 years ago|
|tox.ini||1 year ago|
MicroStack is a single-machine, snap-deployed OpenStack cloud.
Common purposes include:
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
--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
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
To create an instance (called "awesome") based on the CirrOS image:
microstack.launch cirros --name awesome
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
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
Filebeat, Telegraf and NRPE are bundled as the snap systemd services.
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
CONTRIBUTING.md and make a code based argument for
adding a service to the default list.
Please report bugs to the MicroStack project on Launchpad.