Message API configuration

Message API configuration

The Message service has two APIs: the HTTP REST API for WSGI transport driver, and the Websocket API for Websocket transport driver. The Message service can use only one transport driver at the same time. See Drivers options for driver options.

The functionality and behavior of the APIs are defined by API versions. For example, the Websocket API v2 acts the same as the HTTP REST API v2. For now there are v1, v1.1 and v2 versions of HTTP REST API and only v2 version of Websocket API.

Permission control options in each API version:

  • The v1 does not have any permission options.
  • The v1.1 has only admin_mode option which controls the global permission to access the pools and flavors functionality.
  • The v2 has only:
    • RBAC policy options: policy_default_rule, policy_dirs, policy_file which controls the permissions to access each type of functionality for different types of users. See The policy.yaml file.
    • secret_key option which defines a secret key to use for signing special URLs. These are called pre-signed URLs and give temporary permissions to outsiders of the system.

Configuration options

The Message service can be configured by changing the following options:

Description of API configuration options
Configuration option = Default value Description
[DEFAULT]  
admin_mode = False (Boolean) Activate privileged endpoints.
enable_deprecated_api_versions = (List) List of deprecated API versions to enable.
unreliable = False (Boolean) Disable all reliability constraints.
[notification]  
max_notifier_workers = 10 (Integer) The max amount of the notification workers.
require_confirmation = False (Boolean) Whether the http/https/email subscription need to be confirmed before notification.
smtp_command = /usr/sbin/sendmail -t -oi (String) The command of smtp to send email. The format is “command_name arg1 arg2”.
[signed_url]  
secret_key = None (String) Secret key used to encrypt pre-signed URLs.
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.