This guide covers the steps for a basic configuration of sahara.It will help you to configure the service in the most simplemanner.
Sahara is packaged with a basic sample configuration file:sahara.conf.sample-basic. This file contains all the essentialparameters that are required for sahara. We recommend creating yourconfiguration file based on this basic example.
If a more thorough configuration is needed we recommend using thetoxtool to create a full configuration file by executing the followingcommand:
$ tox -e genconfigRunning this command will create a file namedsahara.conf.samplein theetc/sahara directory of the project.
After creating a configuration file by either copying the basic exampleor generating one, edit theconnection parameter in the[database] section. The URL provided here should point to an emptydatabase. For example, the connection string for a MySQL database will be:
connection=mysql://username:password@host:port/database
Next you will configure the Identity service parameters in the[keystone_authtoken] section. Theauth_uri parametershould point to the public Identity API endpoint. Theidentity_urishould point to the admin Identity API endpoint. For example:
auth_uri=http://127.0.0.1:5000/v2.0/identity_uri=http://127.0.0.1:35357/
Specify theadmin_user,admin_password andadmin_tenant_name.These parameters must specify an Identity user who has theadmin rolein the given project. These credentials allow sahara to authenticate andauthorize its users.
Next you will configure the default Networking service. If usingneutron for networking the following parameter should be setin the[DEFAULT] section:
use_neutron=true
If you are using nova-network for networking then this parameter shouldbe set tofalse.
With these parameters set, sahara is ready to run.
By default the sahara’s log level is set to INFO. If you wish to increasethe logging levels for troubleshooting, setdebug totrue in the[DEFAULT] section of the configuration file.
By default sahara is configured to use the neutron. Additionally, if thecluster supports network namespaces theuse_namespaces property canbe used to enable their usage.
[DEFAULT]use_neutron=Trueuse_namespaces=True
Note
If a user other thanroot will be running the Sahara serverinstance and namespaces are used, some additional configuration isrequired, please seeNon-root users for more information.
If an OpenStack cluster uses the deprecated nova-network,then theuse_neutron parameter should be set toFalse in thesahara configuration file.
During cluster setup sahara must access instances through a secureshell (SSH). To establish this connection it may use either the fixedor floating IP address of an instance. By default sahara is configuredto use floating IP addresses for access. This is controlled by theuse_floating_ips configuration parameter. With this setup the userhas two options for ensuring that the instances in the node groupstemplates that requires floating IPs gain a floating IP address:
auto_assign_floating_ipparameter toTrue in the nova configuration file(usuallynova.conf).From Newton changes were made to allow the coexistence of clusters usingfloating IPs and clusters using fixed IPs. Ifuse_floating_ips isTrue it means that the floating IPs can be used by Sahara to spawn clusters.But, differently from previous versions, this does not mean that allinstances in the cluster must have floating IPs and that all clustersmust use floating IPs. It is possible in a single Sahara deploy to haveclusters setup using fixed IPs, clusters using floating IPs and cluster thatuse both.
If not using floating IP addresses (use_floating_ips=False) saharawill use fixed IP addresses for instance management. When using neutronfor the Networking service the user will be able to choose thefixed IP network for all instances in a cluster. Whether using nova-networkor neutron it is important to ensure that all instances running saharahave access to the fixed IP networks.
Sahara can be configured to send notifications to the OpenStackTelemetry module. To enable this functionality the following parameterenable should be set in the[oslo_messaging_notifications] sectionof the configuration file:
[oslo_messaging_notifications]enable=true
And the following parameterdriver should be set in the[oslo_messaging_notifications] section of the configuration file:
[oslo_messaging_notifications]driver=messaging
By default sahara is configured to use RabbitMQ as its message broker.
If you are using RabbitMQ as the message broker, then you should set thefollowing parameter in the[DEFAULT] section:
rpc_backend=rabbit
You may also need to specify the connection parameters for yourRabbitMQ installation. The following example shows the defaultvalues in the[oslo_messaging_rabbit] section which may needadjustment:
rabbit_host=localhostrabbit_port=5672rabbit_hosts=$rabbit_host:$rabbit_portrabbit_userid=guestrabbit_password=guestrabbit_virtual_host=/
By default sahara is configured to use the heat engine for instancecreation. The heat engine uses the OpenStack Orchestration service toprovision instances. This engine makes calls directly to the services requiredfor instance provisioning.
Sahara’s public API calls may be restricted to certain sets of users byusing a policy configuration file. The location of the policy file(s)is controlled by thepolicy_file andpolicy_dirs parametersin the[oslo_policy] section. By default sahara will search forapolicy.json file in the same directory as thesahara.confconfiguration file.
Example 1. Allow all method to all users (default policy).
{"default":""}
Example 2. Disallow image registry manipulations to non-admin users.
{"default":"","data-processing:images:register":"role:admin","data-processing:images:unregister":"role:admin","data-processing:images:add_tags":"role:admin","data-processing:images:remove_tags":"role:admin"}
Sahara uses theapi-paste.ini file to configure the data processing APIservice. For middleware injection sahara uses pastedeploy library. The locationof the api-paste file is controlled by theapi_paste_config parameter inthe[default] section. By default sahara will search for aapi-paste.ini file in the same directory as the configuration file.

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