Configuring

Received variables

List of variables with their extraction methods are available in the appendix:

variables.txt

Variable example:

AUTH_URL
Variable default value: http://localhost:5000
Variable extraction sequence: OS_AUTH_URL

where:

  • AUTH_URL is the internal variable name;
  • http://localhost:5000 is the default value for the variable, if none of the extraction methods found a variable by the extraction sequence;
  • OS_AUTH_URL is the name of the variable from which the value for the specified internal variable will be retrieved.

Module variables

Use the appropriate prefix in order to set parameters for a specific module. Module prefixes:

Example:

Suppose there are following variables in the global environment:

DB_SUPERUSER_PASSWORD="123456"
CM_DB_SUPERUSER_PASSWORD="cloud_pass"

Variable will be extracted as the password to access database based on the extraction methods.

In this case the password for accessing database will be 123456 for all modules except CloudManager and the password will be cloud_pass for the module CloudManager.

Extraction methods

Product settings are managed in the following ways:

  1. Through operating system environment variables;
  2. Reading existing modules configuration files (will be performed when specifying the --overwrite-configs utility argument);
  3. Passing parameters to the autosetup script arguments;
  4. Through the script argument autosetup (parameter config_file) specifying the config file.

Order of the methods determines the retrieval of the variable.

Each next one overrides the value extracted earlier, this ensures the retrieval priority.

Setting up auto installation

System arguments passed to the utility

Utility behavior control arguments

Name Description Default value
--config-file Config file containing variable parameters. Description of use is presented in subsection «Using the configuration file».  
--generate-config-file Launching a questionnaire to generate a config file with the variables necessary for autoinstallation. Critical variables are highlighted in red.  
--all-variables Launching questionnaire in the mode of requesting confirmation of the value for all variables. If no argument is specified, only values for the required variables will be requested.  
--packages

List of packages to install (all available by default). Module names are separated by gap, for example:

aos-autosetup --packages cloudmanager dashboard

Available packages:

dashboard
monitor
cloudmanager
scheduler
journal
rs_server
 
--no-check-connection Skipping the availability check of the services used by the specified parameters and necessary for the modules to work.  
--cloud-domain-policy Specifying this argument will configure OpenStack and modules for the domain management functions. When used with the –delete option, the settings will be overridden. Detailed information is available at the link.  
--update Updating installed packages. False
--delete Removing installed packages and adding postfix .d in the names of configuration files. False
--rollback If this argument is specified, the environment will be rolled back pip. False
--file-path It specifies the path to the file containing the package versions to which the environment should be rolled back when used with the --rollback argument pip.  
--force It allows, ignoring errors of connection to services, to delete additionally: everything created in database, configuration files, installed licenses, directory logs, RabbitMQ user, virtual hosts RabbitMQ when used with parameter --delete.  
--verbose Turning on verbose output. Specifying this argument will set the logging level to DEBUG. Detailed description is available in the section Logging levels.  
--overwrite-configs If this argument is specified, the existing configuration files will be updated.  
--incompatible-pkg If this attribute is specified, the user will not be prompted to enter a confirmation for different versions of the installed packages.  
--package-version

The version of the packages to install. It is ignored when using arguments --update and --delete. Examples of possible values:

  • 1.12.1.dev2 - Install version 1.12.1.dev2;
  • 1.12.1 - Installing the latest available version 1.12.1;
  • 1.12 - Installing the latest available patch for a version 1.12, for example 1.12.2;
  • last - Installing the latest available version.
 
--source

Way of installing packages. Possible values:

  • pip;
  • apt-get.
pip
--use-ldap If this argument is specified, when installing and updating modules, the standard LDAP driver used in Keystone will be overwritten in the domains configuration files with the updated driver. If this argument is used, the driver will return to the standard one when completely removing modules.  
--lic The path to the license file. It can be specified as a path to a file on disk, or a URL.  
--theme-name

Theme name to install. If the theme is not specified all themes will be installed. Possible values:

  • Dashboard;
  • Ocean.
 

Arguments defining parameters of installing modules

Name Description Default value
--system-username Username. aos
--log-level Variable for level logging. INFO
--os-auth-url Address for authorizing the service Keystone, the parameter value is extracted into the variable AUTH_URL. http://localhost:5000
--os-username Keystone service username, parameter value is extracted into variable AUTH_USERNAME. admin
--os-password Keystone service user password, parameter value is extracted into variables AUTH_PASSWORD and SERVICE_PASSWORD, it can also be extracted to variables DB_USER_PASSWORD, DB_SUPERUSER_PASSWORD and thus serve as the user password to database.  
--os-project-name, --OS_TENANT_NAME Project OpenStack name, parameter value is extracted into variable PROJECT_NAME. admin
--os-project-domain-name Project domain name, parameter value is extracted into variable PROJECT_DOMAIN_NAME. default
--os-user-domain-name OpenStack user domain name, parameter value is extracted into variable USER_DOMAIN_NAME. default
--compute-service-name Nova service type. compute
--volume-service-name Cinder service type. volumev3
--gnocchi-service-name Gnocchi service type. metric
--network-service-name Neutron service type. network
--os-volume-api-version Cinder service REST API version, parameter value is extracted into variable VOLUME_API_VERSION. 3.50
--os-network-api-version Neutron, parameter value is extracted into variable NETWORK_API_VERSION. 2
--db-superuser-name Database superuser. root
--db-username database user. aos
--db-engine database type. mysql+pymysql
--db-host Host on which database is located. controller
--db-port Database connection port. 3306
--broker-type RabbitMQ service broker type. AMQP
--rabbit-host Host on which RabbitMQ service is located. controller
--rabbit-port RabbitMQ service connection port. 5672
--rabbit-username RabbitMQ username. aos
--rabbit-password RabbitMQ user password. password
--rabbit-virthost RabbitMQ virtual host. aos
--db-superuser-password Superuser password to database, parameter value is extracted into variable DB_SUPERUSER_PASSWORD.  
--db-user-password User password to database, parameter value is extracted into variable DB_USER_PASSWORD.  
--db-allowed-hosts List of hosts that are allowed to connect to database. Value % means all hosts are allowed access. Host names are separated by commas.
--pypi-host pypi server address used to install packages. Value is taken depending on the installed OpenStack version.
--pip-args pip additional arguments required when installing or updating modules.  
--pkg-version Version of installed packages.  
--source Package installation method (pip, apt-get, yum). pip
--admin-domain-id Domain ID of the user with administrator rights.  
--domain-user Domain user with administrator rights. admin
--memcache-location URL address to access the caching system. localhost:11211
--nova-rabbit-vhost Nova RabbitMQ service virtual host. /
--keystone-rabbit-vhost Keystone RabbitMQ service virtual host. /
--sentry-enabled Parameter responsible for logging errors in Sentry. False
--sentry-dsn Sentry server address contains user key and project id. It is unique for each modules.
--sentry-log-level Sentry logging level. CRITICAL
--service-user Service username. aos
--service-password Service user password.  
--service-project OpenStack service user Project name. service
--service-user-domain-name OpenStack service user domain name. default
--service-project-domain-name Project OpenStack service user domain name. default
--redis-host Host where Redis service is located. localhost
--redis-port Redis service connection port. 6379
--redis-password Redis service password. password
--journal-db-name Journal module Database name. journal
--journal-service-name Journal module service name. journal
--journal-service-port Journal module service port. 9360
--dash-db-name Dashboard module Database name. dashboard
--monitor-db-name Monitor module Database name. monitor
--monitor-service-name Monitor module service name. monitor
--monitor-service-port Monitor module service port. 9363
--monitor-zabbix-host-group Name of the host group that will be searched by default for templates in Zabbix. aos
--monitor-zabbix-host Zabbix service path. localhost
--monitor-zabbix-password Password of a user with administrator rights in Zabbix. zabbix
--monitor-zabbix-username Username with administrator rights in Zabbix. Admin
--cm-db-name CloudManager module Database name. cloud_manager
--cm-service-name CloudManager module service name. cloud-manager
--cm-service-port CloudManager module service port. 9362
--scheduler-db-name Scheduler module Database name. scheduler
--scheduler-service-name Scheduler module service name. scheduler
--scheduler-service-port Scheduler module service port. 10001
--rs-db-name RSserver module Database name. rs_server
--rs-service-name RSserver module service name. rs-server
--rs-service-port RSserver module service port. 9364
--rs-memcache-location URL to access the caching system. localhost:11211

Environment variables

Environment variables are extracted by name from system environment variables. Only those that are in the list of extracted variables are used. If the environment variable LC_ALL is not specified, then it is created, the value for it is used from the variable LANG.

Configuring autoinstallation using a script

Using the module console utility

Variables can be specified in the parameters of the script passing them in the following form:

aos-autosetup --os-auth-url "http://controller:5000" --os-username root
aos-autosetup --help - this command lists all the available arguments in order

Using a config file

It is specified via a script parameter config-file:

aos-autosetup --config-file ~/adm

Example configuration file:

export OS_AUTH_URL="http://controller:5000"
export OS_USERNAME=root

It is also possible to initialize variables using existing module configuration files. It is need to specify the argument --overwrite-configs to do this:

aos-autosetup --overwrite-configs

Using the console utility and pip arguments

These arguments are specified via a script parameter pip-args.

Example:

aos-autosetup --pip-args="--no-deps"
aos-autosetup --pip-args="--pre --no-deps"

Installing modules without access to the Internet:

aos-autosetup --pip-args="--no-index --find-links ./packages"

where packages is a directory with packages and their dependencies.