Skip to content

Configuration

Christian Saide edited this page Sep 6, 2017 · 14 revisions

Hierarchy and Precedence

The precedence of the configuration methods is as follows:

  • Cli arguments override their corresponding environment variables, configuration file entries, and defaults
  • Environment variables override their corresponding configuration file entries and defaults
  • Configuration file entries override their corresponding defaults

The naming of the environment variables and configuration file entries are all based on the cli argument names:

  • Environment variables replace the prefixed - or -- with QUANTUM_, replace any internal - with _, and convert the case to all upper for each cli argument.
    • Example: conf-file converts to QUANTUM_CONF_FILE and tls-skip-verify converts to QUANTUM_TLS_SKIP_VERIFY.
  • Configuration file entries take the form of a flat yaml or json object, and drop the prefixed - or -- from each cli argument.
    • Example files:

      ---
      conf-file: "/etc/quantum/quantum.conf"
      public-ip: 1.1.1.1
      {
          "conf-file": "/etc/quantum/quantum.conf",
          "public-ip": "1.1.1.1"
      }

Listing of all configuration options

There a few catagories of configuration within quantum general, datastore, dtls, stats, and network.

Basic

The general configuration options manage the different low level operating semantics of quantum. These include options like networking configuration and plugins to enable.

Configuration File

The configuration file to use to configure quantum.

string

cli short cli long environment config file default
-c --conf-file QUANTUM_CONF_FILE conf-file

Quantum Device Name

The name to give the TUN device quantum uses, append '%d' to have auto incrementing names.

string

cli short cli long environment config file default
-i --device-name QUANTUM_DEVICE_NAME device-name quantum%d

Workers

The number of quantum workers to use, set to 0 for a worker per available cpu core.

int

cli short cli long environment config file default
-n --workers QUANTUM_WORKERS workers 0

Private Quantum IP

The private ip address to assign this quantum instance.

ip

cli short cli long environment config file default
-ip --private-ip QUANTUM_PRIVATE_IP private-ip

Listen Address

The local server ip to listen on, leave blank of automatic association.

ip

cli short cli long environment config file default
-lip --listen-ip QUANTUM_LISTEN_IP listen-ip

Listen Port

The local server port to listen on.

int

cli short cli long environment config file default
-p --listen-port QUANTUM_LISTEN_PORT listen-port 1099

Floating IP List

The list of floating ip's for this node to participate in failover with.

list

cli short cli long environment config file default
-fips --floating-ips QUANTUM_FLOATING_IPS floating-ips

Public IPv4 Address

The public ipv4 address to associate with this quantum instance, leave blank for automatic association.

ip

cli short cli long environment config file default
-4 --public-v4 QUANTUM_PUBLIC_V4 public-v4

Disable Public IPv4

Whether or not to disable public ipv4 auto addressing. Use this if you know the server doesn't have public ipv4 addressing.

bool

cli short cli long environment config file default
-d4 --disable-v4 QUANTUM_DISABLE_V4 disable-v4 false

Public IPv6 Address

The public ipv6 address to associate with this quantum instance, leave blank for automatic association.

ip

cli short cli long environment config file default
-6 --public-v6 QUANTUM_PUBLIC_V6 public-v6

Disable Public IPv6

Whether or not to disable public ipv6 auto addressing. Use this if you know the server doesn't have public ipv6 addressing.

bool

cli short cli long environment config file default
-d6 --disable-v6 QUANTUM_DISABLE_V6 disable-v6 false

Data Directory

The directory to store local quantum state to.

string

cli short cli long environment config file default
-d --data-dir QUANTUM_DATA_DIR data-dir /var/lib/quantum

PID File

The pid file to use for tracking rolling restarts.

string

cli short cli long environment config file default
-pf --pid-file QUANTUM_PID_FILE pid-file /var/run/quantum.pid

Plugins

Plugins

The plugins supported by this node.

list

cli short cli long environment config file default
-x --plugins QUANTUM_PLUGINS plugins

Datastore

The datastore configuration options manage how quantum interacts with the key/value datastore.

Datastore Prefix

The prefix to store quantum configuration data under in the key/value datastore.

string

cli short cli long environment config file default
-pr --datastore-prefix QUANTUM_DATASTORE_PREFIX datastore-prefix quantum

Datastore Sync Interval

The interval of full datastore syncs.

duration

cli short cli long environment config file default
-si --datastore-sync-interval QUANTUM_DATASTORE_SYNC_INTERVAL datastore-sync-interval 60s

Datastore Refresh Interval

The interval of dhcp lease refreshes with the datastore.

duration

cli short cli long environment config file default
-ri --datastore-refresh-interval QUANTUM_DATASTORE_REFRESH_INTERVAL datastore-refresh-interval 120s

Datastore Floating IP TTL

The ttl to use for floating ip addresses.

duration

cli short cli long environment config file default
-fttl --datastore-floating-ip-ttl QUANTUM_DATASTORE_FLOATING_IP_TTL datastore-floating-ip-ttl 10s

Datastore Endpoints

A comma delimited list of key/value datastore endpoints, in 'IPADDR:PORT' syntax.

list

cli short cli long environment config file default
-e --datastore-endpoints QUANTUM_DATASTORE_ENDPOINTS datastore-endpoints 127.0.0.1:2379

Datastore Username

The username to use for authentication with the datastore.

string

cli short cli long environment config file default
-u --datastore-username QUANTUM_DATASTORE_USERNAME datastore-username

Datastore Password

The password to use for authentication with the datastore.

string

cli short cli long environment config file default
-pw --datastore-password QUANTUM_DATASTORE_PASSWORD datastore-password

Datastore TLS Skip Verify

Whether or not to authenticate the TLS certificates of the key/value datastore.

bool

cli short cli long environment config file default
-tsv --datastore-tls-skip-verify QUANTUM_DATASTORE_TLS_SKIP_VERIFY datastore-tls-skip-verify false

Datastore TLS CA Certificate

The TLS CA certificate to authenticate the TLS certificates of the key/value datastore certificates.

string

cli short cli long environment config file default
-tca --datastore-tls-ca-cert QUANTUM_DATASTORE_TLS_CA_CERT datastore-tls-ca-cert

Datastore TLS Certificate

The TLS client certificate to use to authenticate with the key/value datastore.

string

cli short cli long environment config file default
-tc --datastore-tls-cert QUANTUM_DATASTORE_TLS_CERT datastore-tls-cert

Datastore TLS Key

The TLS client key to use to authenticate with the key/value datastore.

string

cli short cli long environment config file default
-tk --datastore-tls-key QUANTUM_DATASTORE_TLS_KEY datastore-tls-key

DTLS

The dtls configuration options manage how quantum interacts with the rest of the cluster when using the dtls network backend.

DTLS Skip Verify

Whether or not to authenticate the DTLS certificates when using the DTLS backend.

bool

cli short cli long environment config file default
-dtsv --dtls-skip-verify QUANTUM_DTLS_SKIP_VERIFY dtls-skip-verify false

DTLS CA Certificate

The DTLS CA certificate to authenticate the DTLS certificates when using the DTLS backend.

string

cli short cli long environment config file default
-dtca --dtls-ca-cert QUANTUM_DTLS_CA_CERT dtls-ca-cert

DTLS Certificate

The DTLS client certificate to use to authenticate when using the DTLS backend.

string

cli short cli long environment config file default
-dtc --dtls-cert QUANTUM_DTLS_CERT dtls-cert

DTLS Key

The DTLS client key to use to authenticate when using the DTLS backend.

string

cli short cli long environment config file default
-dtk --dtls-key QUANTUM_DTLS_KEY dtls-key

Stats

The stats configuration options manage how quantum exposes its internal metrics for consumption via the built in rest api.

Stats Route

The api route to serve statistics data from.

string

cli short cli long environment config file default
-sr --stats-route QUANTUM_STATS_ROUTE stats-route /stats

Stats Listen Address

The api server address.

string

cli short cli long environment config file default
-sa --stats-address QUANTUM_STATS_ADDRESS stats-address 0.0.0.0

Stats Listen Port

The api server port.

int

cli short cli long environment config file default
-sp --stats-port QUANTUM_STATS_PORT stats-port 1099

Network

The network configuration options manage how the initial quantum cluster is configured. These options are ignored after the first instance is started within a cluster, and the values are stored within the key/value datastore.

Network Subnet

The network, in CIDR notation, to use for the entire quantum cluster.

string

cli short cli long environment config file default
-nw --network QUANTUM_NETWORK network 10.99.0.0/16

Network Static Range

The reserved subnet, in CIDR notation, within the network to use for static ip address assignments.

string

cli short cli long environment config file default
-nsr --network-static-range QUANTUM_NETWORK_STATIC_RANGE network-static-range 10.99.0.0/23

Network Floating Range

The reserved subnet, in CIDR notation, within the network to use for floating ip address assignments.

string

cli short cli long environment config file default
-nfr --network-floating-range QUANTUM_NETWORK_FLOATING_RANGE network-floating-range 10.99.2.0/23

Network Backend Type

The network backend to set in the datastore, if nothing already exists in the network configuration.

string

cli short cli long environment config file default
-nb --network-backend QUANTUM_NETWORK_BACKEND network-backend udp

Network Lease Time

The lease time for DHCP assigned addresses within the quantum cluster.

duration

cli short cli long environment config file default
-nlt --network-lease-time QUANTUM_NETWORK_LEASE_TIME network-lease-time 48h

Clone this wiki locally