SaltStack configuration¶
OpenStack-Salt Deployment uses Salt configuration platform to install and manage OpenStack. Salt is an automation platform that greatly simplifies system and application deployment. Salt infrastructure uses asynchronous and reliable RAET protocol to communicate and it provides speed of task execution and message transport.
Salt uses formulas to define resources written in the YAML language that orchestrate the individual parts of system into the working entity. For more information, see Salt Formulas.
This guide refers to the host running Salt formulas and metadata service as the master and the hosts on which Salt installs the OpenStack-Salt as the minions.
A recommended minimal layout for deployments involves five target hosts in total: three infrastructure hosts, and two compute host. All hosts require one network interface. More information on setting up target hosts can be found in the section called “Server topology”.
For more information on physical, logical, and virtual network interfaces within hosts see the section called “Server networking”.
Using SaltStack¶
Remote execution principles carry over all aspects of Salt platform. Command are made of:
- Target - Matching minion ID with globbing, regular expressions, Grains matching, Node groups, compound matching is possible
- Function - Commands haveform: module.function, arguments are YAML formatted, compound commands are possible
Targetting minions¶
Examples of different kinds of targetting minions
salt '*' test.version
salt -E '.*' apache.signal restart
salt -G 'os:Fedora' test.version
salt '*' cmd.exec_code python 'import sys; print sys.version'
SaltStack commands¶
Minion inner facts
salt-call grains.items
Minion external parameters
salt-call pillar.data
Run the full configuration catalog
salt-call state.highstate
Run one given service from catalog
salt-call state.sls servicename