The MOC Openstack Research Environment is a two-pronged suite of testing tools for MOCers. It consists of a development environment (a single-node modified DevStack environment for quickly* testing changes and running smaller experiments) and a production-like environment (a multi-node modified TripleO environment for testing changes and running experiments at production-level scale).
DevStack is a collection of scripts designed to quickly deploy an OpenStack environment on a single node for testing purposes. MOC DevStack is a patch designed to be compatible with CentOS and add some functionality.
In Kaizen, launch a VM with the CentOS 7.5 image and at least m1.large flavor
Note that VM launch may take up to 5 minutes. You can monitor the progress in the log in Kaizen.
VM status will be active, but it will be patching in the background. You can check the instance log on Kaizen to see when this is complete
ssh stack@<devstack machine floating IP>
cd devstack
./stack.sh
If you fork this repo, make sure to edit single_node_devstack.yml to point to your fork. Otherwise, it will continue to download the patch from CCI-MOC
located on DevStack machine at: /opt/stack/devstack/local.conf
Usage:
To use a specific repo, branch, and/or commit, before running stack.sh edit local.conf to add:
$SERVICE_REPO=
$SERVICE_BRANCH=
$SERVICE_COMMIT=
After running stack.sh, the repo/branch/commit can be modified for an individual service using git commands in the service directory at /opt/stack/$SERVICE as indicated below.
Workflow for testing changes to Openstack source code:
./stack.sh
git pull
changes into the directory on DevStack machine./unstack.sh
and ./stack.sh
Another option is to edit the code on the machine itself. This may be advantageous for testing smaller changes if you do not want to go through the git workflow. Source code for openstack services is located in /opt/stack/$SERVICE
. After making a change, restart all openstack services by running:
sudo systemctl restart "devstack@*"
You can also restart individual services after making a change with similar syntax. More info: https://docs.openstack.org/devstack/latest/development.html
note that these changes are in checked out git trees, so if you do not commit changes using the second method, your work may be overwritten by subsequent DevStack runs
Further reading on openstack services in devstack: https://docs.openstack.org/devstack/latest/systemd.html
WIP