OpenStack in a snap!
Go to file
Pete Vander Giessen 92a6ea8dc7 Broke configuration out into a manual step.
Renamed the old and outdated "configure-openstack" script to "init.sh"

Updated init.sh and folded most of the configure hook into it.

Removed database installation step from install hook.

We can now install microstack without a database dump, which helps
immensely in updating. And we have a logical place to put additional
configuraiton, including some of the manual steps in DEMO.md, which
could be scripted if we gave users a chance to skip the system changes
that they wanted to skip.

Also updated README and DEMO file to match new flow. Updated test
files.

Future cleanup and features documented in Trello, but not included in
this PR, which is big enough already :-)

Change-Id: I8d926a8b463124494ddb7a4696adbe86f89db7d5
2019-08-01 21:12:05 +00:00
patches Refactor snap to work with core18. (#73) 2019-06-25 11:31:42 -04:00
snap/hooks Broke configuration out into a manual step. 2019-08-01 21:12:05 +00:00
snap-overlay Broke configuration out into a manual step. 2019-08-01 21:12:05 +00:00
snap-wrappers Broke configuration out into a manual step. 2019-08-01 21:12:05 +00:00
tests Broke configuration out into a manual step. 2019-08-01 21:12:05 +00:00
tools Broke configuration out into a manual step. 2019-08-01 21:12:05 +00:00
.gitignore Fix horizon (#23) 2018-11-07 16:30:20 -05:00
.gitreview Added automated testing via tox and zuul. 2019-07-24 08:04:38 +01:00
.zuul.yaml Added core18 snap path to PATH. 2019-07-24 19:59:43 +00:00
CONTRIBUTING.md Added CONTRIBUTING.md. 2019-01-29 10:33:00 -05:00
DEMO.md Broke configuration out into a manual step. 2019-08-01 21:12:05 +00:00
README.md Broke configuration out into a manual step. 2019-08-01 21:12:05 +00:00
snapcraft.yaml Broke configuration out into a manual step. 2019-08-01 21:12:05 +00:00
test-requirements.txt Added automated testing via tox and zuul. 2019-07-24 08:04:38 +01:00
tox.ini Broke configuration out into a manual step. 2019-08-01 21:12:05 +00:00

microstack

Snap Status

OpenStack in a snap that you can run locally on a single machine!

microstack currently provides Nova, Keystone, Glance, Horizon and Neutron OpenStack services.

Installation

microstack is frequently updated to provide the latest stable updates of the most recent OpenStack release. The quickest was to get started is to install directly from the snap store. You can install microstack using:

sudo snap install microstack --classic --candidate

Quickstart

To quickly configure networks and launch a vm, run

sudo microstack.init

This will configure various Openstack databases. Then run:

microstack.launch.

This will launch an instance for you, and make it available to manage via the command line, or via the Horizon Dashboard.

To access the Dashboard, visit http://10.20.20.1 in a web browser, and login with the following credentials:

username: admin
password: keystone

To ssh into the instance, use the username "cirros" and the ssh key written to ~/.ssh/id_microstack:

ssh -i ~/.ssh/id_microstack cirros@<IP> (Where 'IP' is listed in the output of microstack.launch)

To run openstack commands, run microstack.openstack <some command>

For more detail and control, read the rest of this README. :-)

Accessing OpenStack

microstack provides a pre-configured OpenStack CLI to access the local OpenStack deployment; its namespaced using the microstack prefix:

microstack.openstack server list

You can setup this command as an alias for openstack if you wish (removing the need for the microstack. prefix):

sudo snap alias microstack.openstack openstack

Alternatively you can access the Horizon OpenStack dashboard on http://127.0.0.1 with the following credentials:

username: admin
password: keystone

Booting and accessing an instance

microstack comes preconfigured with networking and images so you can get starting using OpenStack as soon as microstack is installed; to boot an instance:

microstack.openstack server create --flavor m1.small --nic net-id=test --image cirros my-microstack-server

To access the instance, you'll need to assign it a floating IP address:

ALLOCATED_FIP=`microstack.openstack floating ip create -f value -c floating_ip_address external`
microstack.openstack server add floating ip my-microstack-server $ALLOCATED_FIP

and as you would expect, microstack is just like a full OpenStack Cloud and does not allow ingress access to the instance by default, so next enable SSH and ping access to the instance:

SECGROUP_ID=`microstack.openstack security group list --project admin -f value -c ID`
microstack.openstack security group rule create $SECGROUP_ID --proto tcp --remote-ip 0.0.0.0/0 --dst-port 22
microstack.openstack security group rule create $SECGROUP_ID --proto icmp --remote-ip 0.0.0.0/0

once this is complete you should be able to SSH to the instance:

ssh cirros@$ALLOCATED_FIP

Happy microstacking!

Stopping and starting microstack

You may wish to temporarily shutdown microstack when not in use without un-installing it.

microstack can be shutdown using:

sudo snap disable microstack

and re-enabled latest using:

sudo snap enable microstack

Raising a Bug

Please report bugs to the microstack project on launchpad: https://bugs.launchpad.net/microstack