devstack-formula
1. General notes
See the full SaltStack Formulas installation and usage instructions.
If you are interested in writing or contributing to formulas, please pay attention to the Writing Formula Section.
If you want to use this formula, please pay attention to the FORMULA
file and/or git tag
, which contains the currently released version.
This formula is versioned according to Semantic
Versioning.
See Formula Versioning Section for more details.
If you need (non-default) configuration, please pay attention to the
pillar.example
file and/or Special notes section.
2. Contributing to this repo
2.1. Commit messages
Commit message formatting is significant!!
Please see How to contribute for more details.
2.2. pre-commit
pre-commit is configured for this formula,
which you may optionally use to ease the steps involved in submitting
your changes. First install the pre-commit
package manager using the
appropriate method, then run
bin/install-hooks
and now pre-commit
will run automatically on each
git commit
. :
$ bin/install-hooks pre-commit installed at .git/hooks/pre-commit pre-commit installed at .git/hooks/commit-msg
3. Special notes
The formula targets Debian and RedHat families. For OpenStack CLI (OSC)
suppport, study the pillar.example
carefully and raise an issue to
track failed OSC commands.
Salt states (top.sls) for UBUNTU/CENTOS:
base: '*': - devstack
Salt states (top.sls) for CLI:
base: '*': - devstack.cli #See https://docs.openstack.org/python-openstackclient/queens/cli/
Site/Release-specific Pillar Data:
See `pillar.example`
The Devstack installer makes drastic and dramatic changes to your Linux environment. Use a fresh Linux OS installation and avoid making assumptions - Devstack only supports MYSQL on 127.0.0.1:
9. devstack.cli.create
Support for OSC create use cases. See https://docs.openstack.org/python-openstackclient/rocky/cli/command-list.html#command-list.
10. devstack.cli.delete
Support for OSC delete use cases. See https://docs.openstack.org/python-openstackclient/rocky/cli/command-list.html#command-list.
11. devstack.cli.set
Support for OSC set use cases. See https://docs.openstack.org/python-openstackclient/rocky/cli/command-list.html#command-list.
12. devstack.cli.add
Support for OSC add use cases. See https://docs.openstack.org/python-openstackclient/rocky/cli/command-list.html#command-list.
13. Testing
Linux testing is done with kitchen-salt
.
13.1. Requirements
-
Ruby
-
Docker
$ gem install bundler
$ bundle install
$ bin/kitchen test [platform]
Where [platform]
is the platform name defined in kitchen.yml
, e.g.
debian-9-2019-2-py3
.
13.2. bin/kitchen converge
Creates the docker instance and runs the devstack
main state, ready
for testing.