DeepSea orchestrator integration

DeepSea (https://github.com/SUSE/DeepSea) is a collection of Salt state files, runners and modules fordeploying and managing Ceph.

The deepsea module provides integration between Ceph’s orchestratorframework (used by modules such as dashboard to control cluster services)and DeepSea.

Orchestrator modules only provide services to other modules, which in turnprovide user interfaces. To try out the deepsea module, you might liketo use the Orchestrator CLI module.

Requirements

  • A salt-master node with DeepSea 0.9.9 or later installed, and the salt-apiservice running.

  • Ideally, several salt-minion nodes against which at least DeepSea’s stages 0through 2 have been run (this is the minimum required for the orchestrator’sinventory and status functions to return interesting information).

Configuration

Four configuration keys must be set in order for the module to talk tosalt-api:

  • salt_api_url

  • salt_api_username

  • salt_api_password

  • salt_api_eauth (default is “sharedsecret”)

These all need to match the salt-api configuration on the salt master (seeeauth.conf, salt-api.conf and sharedsecret.conf in /etc/salt/master.d/ on thesalt-master node).

Configuration keys

Configuration keys can be set on any machine with the proper cephx credentials,these are usually Monitors where the client.admin key is present.

  1. ceph deepsea config-set <key> <value>

For example:

  1. ceph deepsea config-set salt_api_url http://admin.example.com:8000/
  2. ceph deepsea config-set salt_api_username admin
  3. ceph deepsea config-set salt_api_password 12345

The current configuration of the module can also be shown:

  1. ceph deepsea config-show

Debugging

Should you want to debug the deepsea module, increase the logging level forceph-mgr and check the logs.

  1. [mgr]
  2. debug mgr = 20

With the log level set to 20, the module will print out all the data receivedfrom the salt event bus. All log messages will be prefixed with _mgr[deepsea]_for easy filtering.