960685b91e
Refactored test framework so that we have more flexibility in terms of installing various versions of microstack before and after running some tests. Moved in class "globals" into per instance variables, to avoid broken cases with incomplete cleanup. Added test_refresh.py, plus matching env in tox. Refresh tests will fail currently, because we have some pending issues that break refreshes. Fixing those is a subject for a different commit. Refactored cluster_test.py and control_test.py to use new framework. Should (and do) pass. Framework now cleans up multipass hosts regardless of whether or not the tests passed. Leaning on the .tar.gz for local troubleshooting helps us make it better for in gate troubleshooting. Change-Id: I6a45b39132f5959c2944fe1ebbe10f71408ee777 |
||
---|---|---|
patches | ||
snap/hooks | ||
snap-overlay | ||
snap-wrappers | ||
tests | ||
tools | ||
.gitignore | ||
.gitreview | ||
.zuul.yaml | ||
CONTRIBUTING.md | ||
DEMO.md | ||
README.md | ||
snapcraft.yaml | ||
test-requirements.txt | ||
tox.ini |
MicroStack
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.
Installation
At this time you can install from the --beta
or --edge
snap channels:
sudo snap install microstack --classic --beta
Initialisation
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>
Horizon
The launch output will also provide information for the Horizon dashboard. Its credentials are:
username: admin
password: keystone
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 CONTRIBUTING.md
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.