os-faults/doc/source/quickstart/config_spec.rst
Ilya Shakhat 87a80f6af5 Rename tcpcloud driver into saltcloud
TCPCloud was an internal name of a product owned by a company
acquired by Mirantis.

Change-Id: I6c5d6e7ee5c537c3b82f95abda63129594d3d9b4
2018-12-19 13:46:08 +00:00

194 lines
5.2 KiB
ReStructuredText

===========================
Configuration specification
===========================
Configuration file contains the following parameters:
* cloud_management
* power_managements
* node_discover
* services
* containers
Each parameter specifies a driver or a list of drivers.
Example configuration:
.. code-block:: yaml
cloud_management:
driver: devstack
args:
address: 192.168.1.240
auth:
username: ubuntu
iface: enp0s3
power_managements:
- driver: libvirt
args:
connection_uri: qemu+ssh://ubuntu@10.0.1.50/system
- driver: ipmi
args:
fqdn_to_bmc:
node-1.domain.tld:
address: 120.10.30.65
username: alex
password: super-secret
node_discover:
driver: node_list
args:
- fqdn: node-1.domain.tld
ip: 192.168.1.240
mac: 1e:24:c3:75:dd:2c
services:
glance-api:
driver: screen
args:
grep: glance-api
window_name: g-api
hosts:
- 192.168.1.240
containers:
neutron_api:
driver: docker_container
args:
container_name: neutron_api
cloud_management
----------------
This parameter specifies cloud management driver and its arguments.
``cloud_management`` is responsible for configuring connection to nodes
and contains arguments such as SSH username/password/key/proxy.
.. code-block:: yaml
cloud_management:
driver: devstack # name of the driver
args: # arguments for the driver
address: 192.168.1.240
auth:
username: ubuntu
iface: enp0s3
Drivers can support discovering of cloud nodes. For example,
``saltcloud`` drives allow discovering information about nodes
through master/config node of the cloud.
List of supported drivers for cloud_management: :ref:`Cloud management`
power_managements
-----------------
This parameter specifies list of power management drivers. Such drivers
allow controlling power state of cloud nodes.
.. code-block:: yaml
power_managements:
- driver: libvirt # name of the driver
args: # arguments for the driver
connection_uri: qemu+ssh://ubuntu@10.0.1.50/system
- driver: ipmi # name of the driver
args: # arguments for the driver
fqdn_to_bmc:
node-1.domain.tld:
address: 120.10.30.65
username: alex
password: super-secret
List of supported drivers for power_managements: :ref:`Power management`
node_discover
-------------
This parameter specifies node discover driver. ``node_discover`` is responsible
for fetching list of hosts for the cloud. If ``node_discover`` is specified in
configuration then ``cloud_management`` will only control connection options to
the nodes.
.. code-block:: yaml
node_discover:
driver: node_list
args:
- fqdn: node-1.domain.tld
ip: 192.168.1.240
mac: 1e:24:c3:75:dd:2c
List of supported drivers for node_discover: :ref:`Node discover`
services
--------
This parameter specifies list of services and their types. This parameter
allows updating/adding services which are embedded in ``cloud_management``
driver.
.. code-block:: yaml
services:
glance-api: # name of the service
driver: screen # name of the service driver
args: # arguments for the driver
grep: glance-api
window_name: g-api
hosts: # list of hosts where this service running
- 192.168.1.240
mysql: # name of the service
driver: process # name of the service driver
args: # arguments for the driver
grep: mysqld
port:
- tcp
- 3307
restart_cmd: sudo service mysql restart
start_cmd: sudo service mysql start
terminate_cmd: sudo service mysql stop
Service driver contains optional ``hosts`` parameter which controls discovering
of hosts where the service is running. If ``hosts`` specified, then service
discovering is disabled for this service and hosts specified in ``hosts`` will
be used, otherwise, service will be searched across all nodes.
List of supported drivers for services: :ref:`Service drivers`
containers
----------
This parameter specifies list of containers and their types. This parameter
allows updating/adding containers which are embedded in ``cloud_management``
driver.
.. code-block:: yaml
containers:
neutron_api: # name of the container
driver: docker_container # name of the container driver
args: # arguments for the driver
container_name: neutron_api
hosts: # list of hosts where this container running
- 192.168.1.240
Container driver contains optional ``hosts`` parameter which controls discovering
of hosts where the container is running. If ``hosts`` specified, then container
discovering is disabled for this container and hosts specified in ``hosts`` will
be used, otherwise, container will be searched across all nodes.
List of supported drivers for containers: :ref:`Container drivers`