summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Asselstine <mark.asselstine@windriver.com>2018-04-04 16:02:56 -0400
committerBruce Ashfield <bruce.ashfield@windriver.com>2018-04-09 10:48:37 -0400
commite7b4a0b965bb40861a487c13199755044919472a (patch)
tree740373e9594abbadd846279582c596cc9e2607dd
parentc87a3d517bd49b1e915ba9bb3f20bfc86d239dbc (diff)
downloadmeta-cloud-services-e7b4a0b965bb40861a487c13199755044919472a.tar.gz
python-nova: uprev to latest openstack sable/pike release
This requires several new recipes and package uprevs (python-tooz, python-os-brick, python-pypowervm, python-networkx, python-microversion-parse, python-os-win, python-os-vif, and python-os-traits). Along with updates to make things work with systemd. We also take steps to make setup/init use the directions from https://docs.openstack.org/nova/pike/install/controller-install-ubuntu.html After these changes we can validate that nova is operating nominally using the command: +-------+--------------------------------------+ | Name | UUID | +-------+--------------------------------------+ | cell0 | 00000000-0000-0000-0000-000000000000 | | cell1 | f547fa04-7c82-4498-95ee-210fc40abdb6 | +-------+--------------------------------------+ Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/Fix-rbd-backend-not-working-for-none-admin-ceph-user.patch130
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/Make-rbd.libvirt_info-parent-class-compatible.patch48
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-all93
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-api.service14
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-cert.service14
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-compute.service15
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-conductor.service14
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-console.service14
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth110
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth.service14
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-convert-path-from-relative-to-absolute.patch33
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-fix-location-to-doc-directory.patch46
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-fix-location-to-plugin-directory.patch32
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-init75
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-init.service12
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-metadata-api.service14
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-network.service17
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy.service12
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-scheduler.service14
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-spicehtml5proxy.service11
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova-xvpvncproxy.service11
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova.conf10843
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/nova.init136
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova/websocketproxy-allow-empty-schemes-at-python-2.7.3.patch34
-rw-r--r--meta-openstack/recipes-devtools/python/python-nova_git.bb396
25 files changed, 11197 insertions, 955 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-nova/Fix-rbd-backend-not-working-for-none-admin-ceph-user.patch b/meta-openstack/recipes-devtools/python/python-nova/Fix-rbd-backend-not-working-for-none-admin-ceph-user.patch
deleted file mode 100644
index c5fbbbb..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova/Fix-rbd-backend-not-working-for-none-admin-ceph-user.patch
+++ /dev/null
@@ -1,130 +0,0 @@
1Fix rbd backend not working for none admin ceph user
2
3commit 7104a6d8b1885f04d3012d621ec14f4be5145994 from
4https://github.com/openstack/nova
5
6The 'rbd_user' option allows nova administrators to override the default user
7account used for RBD operations, with one that has potentially lower
8privileges. Not all parts of the Nova code honoured the 'rbd_user' option,
9which resulted in failures when attempting to use a lesser privileged user for
10RBD. This fix ensures the '--id' and '--config' parameters are passed to the
11RBD command line tools in all cases.
12
13Change-Id: Id99aa303791143360ad78074184583048e4878f0
14Close-bug: 1255536
15
16Signed-off-by: Haomai Wang <haomai@unitedstack.com>
17[VT: Ported to Havana branch]
18Signed-off-by: Vu Tran <vu.tran@windriver.com>
19
20diff --git a/nova/tests/virt/libvirt/test_libvirt_utils.py b/nova/tests/virt/libvirt/test_libvirt_utils.py
21index ea83d3a..74f4a9e 100644
22--- a/nova/tests/virt/libvirt/test_libvirt_utils.py
23+++ b/nova/tests/virt/libvirt/test_libvirt_utils.py
24@@ -40,3 +40,44 @@ blah BLAH: bb
25 self.mox.ReplayAll()
26 disk_type = libvirt_utils.get_disk_type(path)
27 self.assertEqual(disk_type, 'raw')
28+
29+ def test_list_rbd_volumes(self):
30+ conf = '/etc/ceph/fake_ceph.conf'
31+ pool = 'fake_pool'
32+ user = 'user'
33+ self.flags(images_rbd_ceph_conf=conf, group='libvirt')
34+ self.flags(rbd_user=user, group='libvirt')
35+ fn = self.mox.CreateMockAnything()
36+ self.mox.StubOutWithMock(libvirt_utils.utils,
37+ 'execute')
38+ libvirt_utils.utils.execute('rbd', '-p', pool, 'ls', '--id',
39+ user,
40+ '--conf', conf).AndReturn(("Out", "Error"))
41+ self.mox.ReplayAll()
42+
43+ libvirt_utils.list_rbd_volumes(pool)
44+
45+ self.mox.VerifyAll()
46+
47+ def test_remove_rbd_volumes(self):
48+ conf = '/etc/ceph/fake_ceph.conf'
49+ pool = 'fake_pool'
50+ user = 'user'
51+ names = ['volume1', 'volume2', 'volume3']
52+ self.flags(images_rbd_ceph_conf=conf, group='libvirt')
53+ self.flags(rbd_user=user, group='libvirt')
54+ fn = self.mox.CreateMockAnything()
55+ libvirt_utils.utils.execute('rbd', '-p', pool, 'rm', 'volume1',
56+ '--id', user, '--conf', conf, attempts=3,
57+ run_as_root=True)
58+ libvirt_utils.utils.execute('rbd', '-p', pool, 'rm', 'volume2',
59+ '--id', user, '--conf', conf, attempts=3,
60+ run_as_root=True)
61+ libvirt_utils.utils.execute('rbd', '-p', pool, 'rm', 'volume3',
62+ '--id', user, '--conf', conf, attempts=3,
63+ run_as_root=True)
64+ self.mox.ReplayAll()
65+
66+ libvirt_utils.remove_rbd_volumes(pool, *names)
67+
68+ self.mox.VerifyAll()
69diff --git a/nova/virt/libvirt/imagebackend.py b/nova/virt/libvirt/imagebackend.py
70index 51872cf..89fe494 100644
71--- a/nova/virt/libvirt/imagebackend.py
72+++ b/nova/virt/libvirt/imagebackend.py
73@@ -460,8 +460,10 @@ class Rbd(Image):
74
75 def _ceph_args(self):
76 args = []
77- args.extend(['--id', CONF.rbd_user])
78- args.extend(['--conf', self.ceph_conf])
79+ if CONF.rbd_user:
80+ args.extend(['--id', CONF.rbd_user])
81+ if self.ceph_conf:
82+ args.extend(['--conf', self.ceph_conf])
83 return args
84
85 def _get_mon_addrs(self):
86diff --git a/nova/virt/libvirt/utils.py b/nova/virt/libvirt/utils.py
87index d7c92b7..db533e1 100644
88--- a/nova/virt/libvirt/utils.py
89+++ b/nova/virt/libvirt/utils.py
90@@ -262,12 +262,27 @@ def import_rbd_image(*args):
91 execute('rbd', 'import', *args)
92
93
94+def _run_rbd(*args, **kwargs):
95+ total = list(args)
96+
97+ if CONF.rbd_user:
98+ total.extend(['--id', str(CONF.rbd_user)])
99+ if CONF.libvirt_images_rbd_ceph_conf:
100+ total.extend(['--conf', str(CONF.libvirt_images_rbd_ceph_conf)])
101+
102+ return utils.execute(*total, **kwargs)
103+
104+
105 def list_rbd_volumes(pool):
106 """List volumes names for given ceph pool.
107
108 :param pool: ceph pool name
109 """
110- out, err = utils.execute('rbd', '-p', pool, 'ls')
111+ try:
112+ out, err = _run_rbd('rbd', '-p', pool, 'ls')
113+ except processutils.ProcessExecutionError:
114+ # No problem when no volume in rbd pool
115+ return []
116
117 return [line.strip() for line in out.splitlines()]
118
119@@ -275,9 +290,9 @@ def list_rbd_volumes(pool):
120 def remove_rbd_volumes(pool, *names):
121 """Remove one or more rbd volume."""
122 for name in names:
123- rbd_remove = ('rbd', '-p', pool, 'rm', name)
124+ rbd_remove = ['rbd', '-p', pool, 'rm', name]
125 try:
126- execute(*rbd_remove, attempts=3, run_as_root=True)
127+ _run_rbd(*rbd_remove, attempts=3, run_as_root=True)
128 except processutils.ProcessExecutionError:
129 LOG.warn(_("rbd remove %(name)s in pool %(pool)s failed"),
130 {'name': name, 'pool': pool})
diff --git a/meta-openstack/recipes-devtools/python/python-nova/Make-rbd.libvirt_info-parent-class-compatible.patch b/meta-openstack/recipes-devtools/python/python-nova/Make-rbd.libvirt_info-parent-class-compatible.patch
deleted file mode 100644
index 542abf5..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova/Make-rbd.libvirt_info-parent-class-compatible.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1Make rbd.libvirt_info parent class compatible
2
3commit 7a34be0ec0cd0cb9555fe64ff6c486faae1ae91d from
4https://github.com/openstack/nova
5
6Rbd.libvirt_info function definition misses hypervisor_version argument added in change:
7https://review.openstack.org/32379
8
9Closes-Bug: #1233188
10Change-Id: Ib68d743e783af0f6d82d2ba180869ee642e86050
11
12diff --git a/nova/tests/virt/libvirt/test_imagebackend.py b/nova/tests/virt/libvirt/test_imagebackend.py
13index 2455ec8..5bfa94d 100644
14--- a/nova/tests/virt/libvirt/test_imagebackend.py
15+++ b/nova/tests/virt/libvirt/test_imagebackend.py
16@@ -20,6 +20,8 @@ import os
17 import fixtures
18 from oslo.config import cfg
19
20+from inspect import getargspec
21+
22 from nova import exception
23 from nova.openstack.common import uuidutils
24 from nova import test
25@@ -630,6 +632,10 @@ class RbdTestCase(_ImageTestCase, test.NoDBTestCase):
26
27 self.assertEqual(fake_processutils.fake_execute_get_log(), [])
28
29+ def test_parent_compatible(self):
30+ self.assertEqual(getargspec(imagebackend.Image.libvirt_info),
31+ getargspec(self.image_class.libvirt_info))
32+
33
34 class BackendTestCase(test.NoDBTestCase):
35 INSTANCE = {'name': 'fake-instance',
36diff --git a/nova/virt/libvirt/imagebackend.py b/nova/virt/libvirt/imagebackend.py
37index e900789..51872cf 100644
38--- a/nova/virt/libvirt/imagebackend.py
39+++ b/nova/virt/libvirt/imagebackend.py
40@@ -482,7 +482,7 @@ class Rbd(Image):
41 return hosts, ports
42
43 def libvirt_info(self, disk_bus, disk_dev, device_type, cache_mode,
44- extra_specs):
45+ extra_specs, hypervisor_version):
46 """Get `LibvirtConfigGuestDisk` filled for this image.
47
48 :disk_dev: Disk bus device name
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-all b/meta-openstack/recipes-devtools/python/python-nova/nova-all
deleted file mode 100644
index 914b714..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova/nova-all
+++ /dev/null
@@ -1,93 +0,0 @@
1#!/bin/sh
2
3### BEGIN INIT INFO
4# Provides: nova-all
5# Required-Start: $remote_fs $syslog
6# Required-Stop: $remote_fs $syslog
7# Should-Start: postgresql rabbitmq-server
8# Should-Stop: postgresql rabbitmq-server
9# Default-Start: 3 5
10# Default-Stop: 0 1 2 6
11# Short-Description: OpenStack Compute (Nova)
12# Description: OpenStack Compute (Nova)
13### END INIT INFO
14
15DESC="all nova services"
16DAEMON="/usr/bin/nova-all"
17PIDFILE="/var/run/nova-all.pid"
18
19start ()
20{
21 if [ -e $PIDFILE ]; then
22 PIDDIR=/proc/$(cat $PIDFILE)
23 if [ -d ${PIDDIR} ]; then
24 echo "$DESC already running."
25 exit 1
26 else
27 echo "Removing stale PID file $PIDFILE"
28 rm -f $PIDFILE
29 fi
30 fi
31
32 if [ ! -d /var/log/nova ]; then
33 mkdir /var/log/nova
34 fi
35
36 echo -n "Starting $DESC..."
37
38 start-stop-daemon --start --quiet --background \
39 --pidfile ${PIDFILE} --make-pidfile --exec ${DAEMON} \
40 -- --log-dir=/var/log/nova
41
42 if [ $? -eq 0 ]; then
43 echo "done."
44 else
45 echo "failed."
46 fi
47}
48
49stop ()
50{
51 echo -n "Stopping $DESC..."
52 start-stop-daemon --stop --quiet --pidfile $PIDFILE
53 if [ $? -eq 0 ]; then
54 echo "done."
55 else
56 echo "failed."
57 fi
58 rm -f $PIDFILE
59}
60
61status()
62{
63 pid=`cat $PIDFILE 2>/dev/null`
64 if [ -n "$pid" ]; then
65 if ps -p $pid > /dev/null 2>&1 ; then
66 echo "$DESC is running"
67 return
68 fi
69 fi
70 echo "$DESC is not running"
71}
72
73case "$1" in
74 start)
75 start
76 ;;
77 stop)
78 stop
79 ;;
80 restart|force-reload|reload)
81 stop
82 start
83 ;;
84 status)
85 status
86 ;;
87 *)
88 echo "Usage: $0 {start|stop|force-reload|restart|reload|status}"
89 exit 1
90 ;;
91esac
92
93exit 0
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-api.service b/meta-openstack/recipes-devtools/python/python-nova/nova-api.service
new file mode 100644
index 0000000..ed9ef0f
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-api.service
@@ -0,0 +1,14 @@
1[Unit]
2Description=OpenStack Nova API Server
3After=syslog.target network.target
4
5[Service]
6Type=notify
7NotifyAccess=all
8TimeoutStartSec=0
9Restart=always
10User=nova
11ExecStart=/usr/bin/nova-api
12
13[Install]
14WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-cert.service b/meta-openstack/recipes-devtools/python/python-nova/nova-cert.service
new file mode 100644
index 0000000..c4107cd
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-cert.service
@@ -0,0 +1,14 @@
1[Unit]
2Description=OpenStack Nova Cert Server
3After=syslog.target network.target
4
5[Service]
6Type=notify
7NotifyAccess=all
8TimeoutStartSec=0
9Restart=always
10User=nova
11ExecStart=/usr/bin/nova-cert
12
13[Install]
14WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-compute.service b/meta-openstack/recipes-devtools/python/python-nova/nova-compute.service
new file mode 100644
index 0000000..a23696f
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-compute.service
@@ -0,0 +1,15 @@
1[Unit]
2Description=OpenStack Nova Compute Server
3After=syslog.target network.target
4
5[Service]
6Environment=LIBGUESTFS_ATTACH_METHOD=appliance
7Type=notify
8NotifyAccess=all
9TimeoutStartSec=0
10Restart=always
11User=nova
12ExecStart=/usr/bin/nova-compute
13
14[Install]
15WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-conductor.service b/meta-openstack/recipes-devtools/python/python-nova/nova-conductor.service
new file mode 100644
index 0000000..f750346
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-conductor.service
@@ -0,0 +1,14 @@
1[Unit]
2Description=OpenStack Nova Conductor Server
3After=syslog.target network.target
4
5[Service]
6Type=notify
7NotifyAccess=all
8TimeoutStartSec=0
9Restart=always
10User=nova
11ExecStart=/usr/bin/nova-conductor
12
13[Install]
14WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-console.service b/meta-openstack/recipes-devtools/python/python-nova/nova-console.service
new file mode 100644
index 0000000..e40bce9
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-console.service
@@ -0,0 +1,14 @@
1[Unit]
2Description=OpenStack Nova Console Proxy Server
3After=syslog.target network.target
4
5[Service]
6Type=notify
7NotifyAccess=all
8TimeoutStartSec=0
9Restart=always
10User=nova
11ExecStart=/usr/bin/nova-console
12
13[Install]
14WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth
deleted file mode 100644
index 9a74107..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth
+++ /dev/null
@@ -1,110 +0,0 @@
1#! /bin/sh
2### BEGIN INIT INFO
3# Provides: nova-consoleauth
4# Required-Start: $remote_fs $syslog
5# Required-Stop: $remote_fs $syslog
6# Should-Start: libvirt-bin
7# Should-Stop: libvirt-bin
8# Default-Start: 2 3 4 5
9# Default-Stop: 0 1 6
10# Short-Description: nova-consoleauth service
11# Description: Provides console services for the openstack
12# cloud computing system
13### END INIT INFO
14
15
16set -e
17
18DAEMON=/usr/bin/nova-consoleauth
19DAEMON_ARGS="--log-dir=/var/log/nova "
20PIDFILE=/var/run/nova/nova-consoleauth.pid
21
22ENABLED=true
23
24if test -f /etc/default/nova-consoleauth; then
25 . /etc/default/nova-consoleauth
26fi
27
28mkdir -p /var/run/nova
29chown nova:root /var/run/nova/
30
31mkdir -p /var/lock/nova
32chown nova:root /var/lock/nova/
33
34#uid="$(getent passwd nova | cut -f3 -d:)"
35#gid="$(getent passwd nova | cut -f4 -d:)"
36
37. /lib/lsb/init-functions
38
39export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
40export TMPDIR=/var/lib/nova/tmp
41
42if ! [ -x ${DAEMON} ] ; then
43 exit 0
44fi
45
46DESC="nova console"
47status()
48{
49 pid=`cat $PIDFILE 2>/dev/null`
50 if [ -n "$pid" ]; then
51 if ps -p $pid > /dev/null 2>&1 ; then
52 echo "$DESC is running"
53 return
54 fi
55 fi
56 echo "$DESC is not running"
57}
58
59case "$1" in
60 start)
61 test "$ENABLED" = "true" || exit 0
62
63 if [ -e $PIDFILE ]; then
64 PIDDIR=/proc/$(cat $PIDFILE)
65 if [ -d ${PIDDIR} ]; then
66 echo "$DESC already running."
67 exit 1
68 else
69 echo "Removing stale PID file $PIDFILE"
70 rm -f $PIDFILE
71 fi
72 fi
73 PIDDIR=`dirname $PIDFILE`
74 if [ ! -d $PIDDIR ]; then
75 mkdir -p $PIDDIR
76 chown nova $PIDDIR
77 fi
78
79 if [ ! -d /var/log/nova ]; then
80 mkdir /var/log/nova
81 fi
82
83 echo "Starting nova console" "nova-consoleauth"
84 start-stop-daemon --start -b -m --pidfile $PIDFILE \
85 --exec ${DAEMON} -- ${DAEMON_ARGS}
86 log_end_msg $?
87 ;;
88 stop)
89 test "$ENABLED" = "true" || exit 0
90 echo "Stopping nova console" "nova-consoleauth"
91 start-stop-daemon --stop --oknodo --pidfile ${PIDFILE}
92 log_end_msg $?
93 ;;
94 restart|force-reload|reload)
95 test "$ENABLED" = "true" || exit 1
96 $0 stop
97 sleep 1
98 $0 start
99 ;;
100 status)
101 test "$ENABLED" = "true" || exit 0
102 status
103 ;;
104 *)
105 echo "Usage: /etc/init.d/nova-consoleauth {start|stop|restart|force-reload|status|reload}"
106 exit 1
107 ;;
108esac
109
110exit 0
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth.service b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth.service
new file mode 100644
index 0000000..a387483
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth.service
@@ -0,0 +1,14 @@
1[Unit]
2Description=OpenStack Nova VNC console auth Server
3After=syslog.target network.target
4
5[Service]
6Type=notify
7NotifyAccess=all
8TimeoutStartSec=0
9Restart=always
10User=nova
11ExecStart=/usr/bin/nova-consoleauth
12
13[Install]
14WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-convert-path-from-relative-to-absolute.patch b/meta-openstack/recipes-devtools/python/python-nova/nova-convert-path-from-relative-to-absolute.patch
deleted file mode 100644
index 0dba960..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova/nova-convert-path-from-relative-to-absolute.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 8fbdaba5c172dd95c08a808a3ec12309461ffbdb Mon Sep 17 00:00:00 2001
2From: Keith Holman <Keith.Holman@windriver.com>
3Date: Tue, 17 Jun 2014 14:34:27 -0400
4Subject: [PATCH] nova: convert path from relative to absolute
5
6Nova requires the configuration file "api-paste.ini". It is currently
7installed to the "/etc/nova/" directory. Nova assumes that this
8directory is accessible relative to the current location of source
9files. This works if the files are stored in the source tree,
10however, in deployment this doesn't work. This patch changes the path
11to the absolute path on the deployed system.
12
13Signed-off-by: Keith Holman <Keith.Holman@windriver.com>
14---
15 nova/tests/conf_fixture.py | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/nova/tests/conf_fixture.py b/nova/tests/conf_fixture.py
19index f8e6dda..f8935f9 100644
20--- a/nova/tests/conf_fixture.py
21+++ b/nova/tests/conf_fixture.py
22@@ -48,7 +48,7 @@ class ConfFixture(fixtures.Fixture):
23 super(ConfFixture, self).setUp()
24
25 self.conf.set_default('api_paste_config',
26- paths.state_path_def('etc/nova/api-paste.ini'))
27+ paths.state_path_def('/etc/nova/api-paste.ini'))
28 self.conf.set_default('host', 'fake-mini')
29 self.conf.set_default('compute_driver', 'nova.virt.fake.FakeDriver')
30 self.conf.set_default('fake_network', True)
31--
321.9.3
33
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-fix-location-to-doc-directory.patch b/meta-openstack/recipes-devtools/python/python-nova/nova-fix-location-to-doc-directory.patch
deleted file mode 100644
index 7893f87..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova/nova-fix-location-to-doc-directory.patch
+++ /dev/null
@@ -1,46 +0,0 @@
1From 4d74c926b8dd7eaac0c9ddac0d1161f634b69e1d Mon Sep 17 00:00:00 2001
2From: Keith Holman <Keith.Holman@windriver.com>
3Date: Tue, 17 Jun 2014 16:40:51 -0400
4Subject: [PATCH] nova: fix location to doc directory
5
6Currently, the tests included with nova expect the doc directory to be
7in the location they exist in the source tree. However, during system
8deployment the documentation is installed under the "nova" directory 1
9level higher in the directory tree. This patch fixes the relative
10path to be able to find the files.
11
12Signed-off-by: Keith Holman <Keith.Holman@windriver.com>
13---
14 nova/tests/integrated/api_samples_test_base.py | 2 +-
15 nova/tests/integrated/v3/api_sample_base.py | 2 +-
16 2 files changed, 2 insertions(+), 2 deletions(-)
17
18diff --git a/nova/tests/integrated/api_samples_test_base.py b/nova/tests/integrated/api_samples_test_base.py
19index 6acb5a1..31caa6c 100644
20--- a/nova/tests/integrated/api_samples_test_base.py
21+++ b/nova/tests/integrated/api_samples_test_base.py
22@@ -88,7 +88,7 @@ class ApiSampleTestBase(integrated_helpers._IntegratedTestBase):
23 @classmethod
24 def _get_sample(cls, name):
25 dirname = os.path.dirname(os.path.abspath(__file__))
26- dirname = os.path.normpath(os.path.join(dirname, "../../../doc"))
27+ dirname = os.path.normpath(os.path.join(dirname, "../../doc"))
28 return cls._get_sample_path(name, dirname)
29
30 @classmethod
31diff --git a/nova/tests/integrated/v3/api_sample_base.py b/nova/tests/integrated/v3/api_sample_base.py
32index aa1ca8f..d22a2c8 100644
33--- a/nova/tests/integrated/v3/api_sample_base.py
34+++ b/nova/tests/integrated/v3/api_sample_base.py
35@@ -71,7 +71,7 @@ class ApiSampleTestBaseV3(api_samples_test_base.ApiSampleTestBase):
36 @classmethod
37 def _get_sample(cls, name):
38 dirname = os.path.dirname(os.path.abspath(__file__))
39- dirname = os.path.normpath(os.path.join(dirname, "../../../../doc/v3"))
40+ dirname = os.path.normpath(os.path.join(dirname, "../../../doc/v3"))
41 return cls._get_sample_path(name, dirname)
42
43 @classmethod
44--
451.9.3
46
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-fix-location-to-plugin-directory.patch b/meta-openstack/recipes-devtools/python/python-nova/nova-fix-location-to-plugin-directory.patch
deleted file mode 100644
index 25c362c..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova/nova-fix-location-to-plugin-directory.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From aa0f004fa421cdd9e0674934d3e66d1dcd8bde07 Mon Sep 17 00:00:00 2001
2From: Keith Holman <Keith.Holman@windriver.com>
3Date: Tue, 17 Jun 2014 16:51:22 -0400
4Subject: [PATCH] nova: fix location to plugin directory
5
6Currently, the tests included with nova expect the plugin directory to
7be in the location they exist in the source tree. However, during
8system deployment the plugins are installed under the "nova" directory
9one level higher in the directory tree. This patch fixes the relative
10path to be able to find the files.
11
12Signed-off-by: Keith Holman <Keith.Holman@windriver.com>
13---
14 nova/tests/virt/xenapi/test_xenapi.py | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/nova/tests/virt/xenapi/test_xenapi.py b/nova/tests/virt/xenapi/test_xenapi.py
18index 9a45bf0..88f8a76 100644
19--- a/nova/tests/virt/xenapi/test_xenapi.py
20+++ b/nova/tests/virt/xenapi/test_xenapi.py
21@@ -4013,7 +4013,7 @@ class XenAPISessionTestCase(test.NoDBTestCase):
22
23 # Import the plugin to extract its version
24 path = os.path.dirname(__file__)
25- rel_path_elem = "../../../../plugins/xenserver/xenapi/etc/xapi.d/" \
26+ rel_path_elem = "../../../plugins/xenserver/xenapi/etc/xapi.d/" \
27 "plugins/nova_plugin_version"
28 for elem in rel_path_elem.split('/'):
29 path = os.path.join(path, elem)
30--
311.9.3
32
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-init b/meta-openstack/recipes-devtools/python/python-nova/nova-init
new file mode 100644
index 0000000..5faa7d6
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-init
@@ -0,0 +1,75 @@
1#!/bin/bash
2#
3# Basic nova setup based on:
4# https://docs.openstack.org/nova/pike/install/controller-install-ubuntu.html
5#
6# Prerequisites: keystone must be available and bootstrapped
7#
8
9# Substitutions setup at do_intall()
10DB_USER=%DB_USER%
11NOVA_USER=%NOVA_USER%
12NOVA_GROUP=%NOVA_GROUP%
13CONTROLLER_IP=%CONTROLLER_IP%
14ADMIN_USER=%ADMIN_USER%
15ADMIN_PASSWORD=%ADMIN_PASSWORD%
16ADMIN_ROLE=%ADMIN_ROLE%
17SYSCONFDIR=%SYSCONFDIR%
18PLACEMENT_USER=%PLACEMENT_USER%
19
20# sudo -u postgres createdb nova
21# sleep 2
22# nova-manage db sync
23
24# Create the neutron DB and grant the necessary permissions
25sudo -u postgres psql -c "CREATE DATABASE \"nova-api\"" 2> /dev/null
26sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"nova-api\" TO ${DB_USER}" 2> /dev/null
27
28sudo -u postgres psql -c "CREATE DATABASE nova" 2> /dev/null
29sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE nova TO ${DB_USER}" 2> /dev/null
30
31sudo -u postgres psql -c "CREATE DATABASE \"nova-cell0\"" 2> /dev/null
32sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE \"nova-cell0\" TO ${DB_USER}" 2> /dev/null
33
34source ${SYSCONFDIR}/keystone/admin-openrc
35
36openstack user create --domain default --password ${ADMIN_PASSWORD} ${NOVA_USER}
37
38# Ensure the 'service' project exists
39openstack project show service > /dev/null 2>&1
40if [ $? -ne 0 ]; then
41 openstack project create service --domain default
42fi
43openstack role add --project service --user ${NOVA_USER} ${ADMIN_ROLE}
44
45# Create nova service and service endpoints
46openstack service create --name nova --description "OpenStack Compute" compute
47openstack endpoint create --region RegionOne compute public http://${CONTROLLER_IP}:8774
48openstack endpoint create --region RegionOne compute internal http://${CONTROLLER_IP}:8774
49openstack endpoint create --region RegionOne compute admin http://${CONTROLLER_IP}:8774
50
51# Create placement service, role, and endpoints.
52openstack user create --domain default --password ${ADMIN_PASSWORD} ${PLACEMENT_USER}
53openstack role add --project service --user ${PLACEMENT_USER} ${ADMIN_ROLE}
54openstack service create --name placement --description "Placement API" placement
55openstack endpoint create --region RegionOne placement public http://${CONTROLLER_IP}:8778
56openstack endpoint create --region RegionOne placement internal http://${CONTROLLER_IP}:8778
57openstack endpoint create --region RegionOne placement admin http://${CONTROLLER_IP}:8778
58
59sudo -u ${NOVA_USER} nova-manage api_db sync
60sudo -u ${NOVA_USER} nova-manage cell_v2 map_cell0
61sudo -u ${NOVA_USER} nova-manage cell_v2 create_cell --name=cell1 --verbose
62sudo -u ${NOVA_USER} nova-manage db sync
63
64# Enable and start the nova services
65systemctl enable nova-api
66systemctl enable nova-consoleauth
67systemctl enable nova-scheduler
68systemctl enable nova-conductor
69systemctl enable nova-novncproxy
70
71systemctl start nova-api
72systemctl start nova-consoleauth
73systemctl start nova-scheduler
74systemctl start nova-conductor
75systemctl start nova-novncproxy
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-init.service b/meta-openstack/recipes-devtools/python/python-nova/nova-init.service
new file mode 100644
index 0000000..28fdf4b
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-init.service
@@ -0,0 +1,12 @@
1[Unit]
2Description=Barebones OpenStack nova initialization
3After=postgresql-init.service keystone-init.service
4
5[Service]
6Type=oneshot
7ExecStart=%SYSCONFDIR%/nova/nova-init
8ExecStartPost=/bin/systemctl --no-reload disable nova-init.service
9RemainAfterExit=No
10
11[Install]
12WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-metadata-api.service b/meta-openstack/recipes-devtools/python/python-nova/nova-metadata-api.service
new file mode 100644
index 0000000..f782921
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-metadata-api.service
@@ -0,0 +1,14 @@
1[Unit]
2Description=OpenStack Nova Metadata API Server
3After=syslog.target network.target
4
5[Service]
6Type=notify
7NotifyAccess=all
8TimeoutStartSec=0
9Restart=always
10User=nova
11ExecStart=/usr/bin/nova-api-metadata
12
13[Install]
14WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-network.service b/meta-openstack/recipes-devtools/python/python-nova/nova-network.service
new file mode 100644
index 0000000..45f4e15
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-network.service
@@ -0,0 +1,17 @@
1[Unit]
2Description=OpenStack Nova Network Server
3After=syslog.target network.target
4
5[Service]
6Type=notify
7NotifyAccess=all
8TimeoutStartSec=0
9Restart=always
10User=nova
11ExecStart=/usr/bin/nova-network
12
13# Don't kill dnsmasq on shutdown (#805947)
14KillMode=process
15
16[Install]
17WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy.service b/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy.service
new file mode 100644
index 0000000..3aa562f
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy.service
@@ -0,0 +1,12 @@
1[Unit]
2Description=OpenStack Nova NoVNC Proxy Server
3After=syslog.target network.target
4
5[Service]
6Type=simple
7User=nova
8EnvironmentFile=-/etc/sysconfig/openstack-nova-novncproxy
9ExecStart=/usr/bin/nova-novncproxy --web /usr/share/novnc/ $OPTIONS
10
11[Install]
12WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-scheduler.service b/meta-openstack/recipes-devtools/python/python-nova/nova-scheduler.service
new file mode 100644
index 0000000..c48dc72
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-scheduler.service
@@ -0,0 +1,14 @@
1[Unit]
2Description=OpenStack Nova Scheduler Server
3After=syslog.target network.target
4
5[Service]
6Type=notify
7NotifyAccess=all
8TimeoutStartSec=0
9Restart=always
10User=nova
11ExecStart=/usr/bin/nova-scheduler
12
13[Install]
14WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-spicehtml5proxy.service b/meta-openstack/recipes-devtools/python/python-nova/nova-spicehtml5proxy.service
new file mode 100644
index 0000000..81b6096
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-spicehtml5proxy.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=OpenStack Nova Spice HTML5 Proxy Server
3After=syslog.target network.target
4
5[Service]
6Type=simple
7User=nova
8ExecStart=/usr/bin/nova-spicehtml5proxy
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-xvpvncproxy.service b/meta-openstack/recipes-devtools/python/python-nova/nova-xvpvncproxy.service
new file mode 100644
index 0000000..936049d
--- /dev/null
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova-xvpvncproxy.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=OpenStack Nova XVP VncProxy Server
3After=syslog.target network.target
4
5[Service]
6Type=simple
7User=nova
8ExecStart=/usr/bin/nova-xvpvncproxy
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova.conf b/meta-openstack/recipes-devtools/python/python-nova/nova.conf
index 1082f11..d6078d1 100644
--- a/meta-openstack/recipes-devtools/python/python-nova/nova.conf
+++ b/meta-openstack/recipes-devtools/python/python-nova/nova.conf
@@ -1,98 +1,10763 @@
1[DEFAULT] 1[DEFAULT]
2# firewall_driver = nova.virt.libvirt.firewall.IptablesFirewallDriver
3firewall_driver = nova.virt.firewall.NoopFirewallDriver
4compute_driver = nova.virt.libvirt.LibvirtDriver
5default_floating_pool = public
6fixed_range =
7force_dhcp_release = True
8dhcpbridge_flagfile = /etc/nova/nova.conf
9compute_scheduler_driver = nova.scheduler.filter_scheduler.FilterScheduler
10rootwrap_config = /etc/nova/rootwrap.conf
11api_paste_config = /etc/nova/api-paste.ini
12allow_resize_to_same_host = true
13auth_strategy = keystone
14instances_path = /etc/nova/instances
15debug = True
16verbose = True
17my_ip = %CONTROLLER_IP%
18glance_host = %CONTROLLER_IP%
19lock_path=/var/lock/nova/
20state_path=/var/run/nova/
21linuxnet_interface_driver = nova.network.linux_net.LinuxOVSInterfaceDriver
22
23#VNC
24vnc_enabled = True
25vncserver_listen = %COMPUTE_IP%
26novncproxy_base_url=http://%CONTROLLER_IP%:6080/vnc_auto.html
27vncserver_proxyclient_address=%COMPUTE_IP%
28
29#Network
30flat_interface = eth0
31flat_network_bridge = br1
32vlan_interface = eth0
33public_interface = br1
34network_manager = nova.network.manager.FlatDHCPManager
35fixed_range=
36force_dhcp_release=False
37dhcpbridge=/usr/bin/nova-dhcpbridge
38network_api_class=nova.network.neutronv2.api.API
39
40#Database configuration
41sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@%CONTROLLER_IP%/nova
42
43#RabbitMQ configuration
44rpc_backend = nova.rpc.impl_kombu
45rabbit_host = %CONTROLLER_IP%
46rabbit_port = 5672
47
48# Disables reporting of network state to the controller
49vif_plugging_timeout=10
50vif_plugging_is_fatal=False
51
52# nova-compute configuration for ceilometer
53instance_usage_audit=True
54instance_usage_audit_period=hour
55notify_on_state_change=vm_and_task_state
56notification_driver=nova.openstack.common.notifier.rpc_notifier
57notification_driver=ceilometer.compute.nova_notifier
58
59# nova-compute configuration for ceph
60libvirt_images_rbd_pool=cinder-volumes
61libvirt_images_rbd_ceph_conf=/etc/ceph/ceph.conf
62rbd_user=cinder-volume
63#rbd_secret_uuid=
64
65# nova-api configuration for metadata
66# neutron_metadata_proxy_shared_secret must match
67# metadata_proxy_shared_secret in metadata_agent.ini
68service_neutron_metadata_proxy = true
69neutron_metadata_proxy_shared_secret=%METADATA_SHARED_SECRET%
70 2
71[spice] 3#
72agent_enabled=True 4# From nova.conf
73enabled=True 5#
74html5proxy_base_url=http://%CONTROLLER_IP%:6082/spice_auto.html 6
75keymap=en-us 7# DEPRECATED:
76server_listen=%COMPUTE_IP% 8# When returning instance metadata, this is the class that is used
77server_proxyclient_address=%COMPUTE_IP% 9# for getting vendor metadata when that class isn't specified in the individual
10# request. The value should be the full dot-separated path to the class to use.
11#
12# Possible values:
13#
14# * Any valid dot-separated class path that can be imported.
15# (string value)
16# This option is deprecated for removal since 13.0.0.
17# Its value may be silently ignored in the future.
18#vendordata_driver = nova.api.metadata.vendordata_json.JsonFileVendorData
19
20# DEPRECATED:
21# This option is used to enable or disable quota checking for tenant networks.
22#
23# Related options:
24#
25# * quota_networks
26# (boolean value)
27# This option is deprecated for removal since 14.0.0.
28# Its value may be silently ignored in the future.
29# Reason:
30# CRUD operations on tenant networks are only available when using nova-network
31# and nova-network is itself deprecated.
32#enable_network_quota = false
33
34# DEPRECATED:
35# This option controls the number of private networks that can be created per
36# project (or per tenant).
37#
38# Related options:
39#
40# * enable_network_quota
41# (integer value)
42# Minimum value: 0
43# This option is deprecated for removal since 14.0.0.
44# Its value may be silently ignored in the future.
45# Reason:
46# CRUD operations on tenant networks are only available when using nova-network
47# and nova-network is itself deprecated.
48#quota_networks = 3
49
50#
51# Availability zone for internal services.
52#
53# This option determines the availability zone for the various internal nova
54# services, such as 'nova-scheduler', 'nova-conductor', etc.
55#
56# Possible values:
57#
58# * Any string representing an existing availability zone name.
59# (string value)
60#internal_service_availability_zone = internal
61
62#
63# Default availability zone for compute services.
64#
65# This option determines the default availability zone for 'nova-compute'
66# services, which will be used if the service(s) do not belong to aggregates
67# with
68# availability zone metadata.
69#
70# Possible values:
71#
72# * Any string representing an existing availability zone name.
73# (string value)
74#default_availability_zone = nova
75
76#
77# Default availability zone for instances.
78#
79# This option determines the default availability zone for instances, which will
80# be used when a user does not specify one when creating an instance. The
81# instance(s) will be bound to this availability zone for their lifetime.
82#
83# Possible values:
84#
85# * Any string representing an existing availability zone name.
86# * None, which means that the instance can move from one availability zone to
87# another during its lifetime if it is moved from one compute node to another.
88# (string value)
89#default_schedule_zone = <None>
90
91# Length of generated instance admin passwords. (integer value)
92# Minimum value: 0
93#password_length = 12
94
95#
96# Time period to generate instance usages for. It is possible to define optional
97# offset to given period by appending @ character followed by a number defining
98# offset.
99#
100# Possible values:
101#
102# * period, example: ``hour``, ``day``, ``month` or ``year``
103# * period with offset, example: ``month@15`` will result in monthly audits
104# starting on 15th day of month.
105# (string value)
106#instance_usage_audit_period = month
107
108#
109# Start and use a daemon that can run the commands that need to be run with
110# root privileges. This option is usually enabled on nodes that run nova compute
111# processes.
112# (boolean value)
113#use_rootwrap_daemon = false
114
115#
116# Path to the rootwrap configuration file.
117#
118# Goal of the root wrapper is to allow a service-specific unprivileged user to
119# run a number of actions as the root user in the safest manner possible.
120# The configuration file used here must match the one defined in the sudoers
121# entry.
122# (string value)
123#rootwrap_config = /etc/nova/rootwrap.conf
124
125# Explicitly specify the temporary working directory. (string value)
126#tempdir = <None>
127
128#
129# Determine if monkey patching should be applied.
130#
131# Related options:
132#
133# * ``monkey_patch_modules``: This must have values set for this option to
134# have any effect
135# (boolean value)
136#monkey_patch = false
137
138#
139# List of modules/decorators to monkey patch.
140#
141# This option allows you to patch a decorator for all functions in specified
142# modules.
143#
144# Possible values:
145#
146# * nova.compute.api:nova.notifications.notify_decorator
147# * nova.api.ec2.cloud:nova.notifications.notify_decorator
148# * [...]
149#
150# Related options:
151#
152# * ``monkey_patch``: This must be set to ``True`` for this option to
153# have any effect
154# (list value)
155#monkey_patch_modules = nova.compute.api:nova.notifications.notify_decorator
156
157#
158# Defines which driver to use for controlling virtualization.
159#
160# Possible values:
161#
162# * ``libvirt.LibvirtDriver``
163# * ``xenapi.XenAPIDriver``
164# * ``fake.FakeDriver``
165# * ``ironic.IronicDriver``
166# * ``vmwareapi.VMwareVCDriver``
167# * ``hyperv.HyperVDriver``
168# (string value)
169#compute_driver = <None>
170
171#
172# Allow destination machine to match source for resize. Useful when
173# testing in single-host environments. By default it is not allowed
174# to resize to the same host. Setting this option to true will add
175# the same host to the destination options. Also set to true
176# if you allow the ServerGroupAffinityFilter and need to resize.
177# (boolean value)
178#allow_resize_to_same_host = false
179
180#
181# Image properties that should not be inherited from the instance
182# when taking a snapshot.
183#
184# This option gives an opportunity to select which image-properties
185# should not be inherited by newly created snapshots.
186#
187# Possible values:
188#
189# * A list whose item is an image property. Usually only the image
190# properties that are only needed by base images can be included
191# here, since the snapshots that are created from the base images
192# doesn't need them.
193# * Default list: ['cache_in_nova', 'bittorrent']
194# (list value)
195#non_inheritable_image_properties = cache_in_nova,bittorrent
196
197# DEPRECATED:
198# This option is used to decide when an image should have no external
199# ramdisk or kernel. By default this is set to 'nokernel', so when an
200# image is booted with the property 'kernel_id' with the value
201# 'nokernel', Nova assumes the image doesn't require an external kernel
202# and ramdisk.
203# (string value)
204# This option is deprecated for removal since 15.0.0.
205# Its value may be silently ignored in the future.
206# Reason:
207# When an image is booted with the property 'kernel_id' with the value
208# 'nokernel', Nova assumes the image doesn't require an external kernel and
209# ramdisk. This option allows user to change the API behaviour which should not
210# be allowed and this value "nokernel" should be hard coded.
211#null_kernel = nokernel
212
213# DEPRECATED:
214# When creating multiple instances with a single request using the
215# os-multiple-create API extension, this template will be used to build
216# the display name for each instance. The benefit is that the instances
217# end up with different hostnames. Example display names when creating
218# two VM's: name-1, name-2.
219#
220# Possible values:
221#
222# * Valid keys for the template are: name, uuid, count.
223# (string value)
224# This option is deprecated for removal since 15.0.0.
225# Its value may be silently ignored in the future.
226# Reason:
227# This config changes API behaviour. All changes in API behaviour should be
228# discoverable.
229#multi_instance_display_name_template = %(name)s-%(count)d
230
231#
232# Maximum number of devices that will result in a local image being
233# created on the hypervisor node.
234#
235# A negative number means unlimited. Setting max_local_block_devices
236# to 0 means that any request that attempts to create a local disk
237# will fail. This option is meant to limit the number of local discs
238# (so root local disc that is the result of --image being used, and
239# any other ephemeral and swap disks). 0 does not mean that images
240# will be automatically converted to volumes and boot instances from
241# volumes - it just means that all requests that attempt to create a
242# local disk will fail.
243#
244# Possible values:
245#
246# * 0: Creating a local disk is not allowed.
247# * Negative number: Allows unlimited number of local discs.
248# * Positive number: Allows only these many number of local discs.
249# (Default value is 3).
250# (integer value)
251#max_local_block_devices = 3
252
253#
254# A list of monitors that can be used for getting compute metrics.
255# You can use the alias/name from the setuptools entry points for
256# nova.compute.monitors.* namespaces. If no namespace is supplied,
257# the "cpu." namespace is assumed for backwards-compatibility.
258#
259# Possible values:
260#
261# * An empty list will disable the feature(Default).
262# * An example value that would enable both the CPU and NUMA memory
263# bandwidth monitors that used the virt driver variant:
264# ["cpu.virt_driver", "numa_mem_bw.virt_driver"]
265# (list value)
266#compute_monitors =
267
268#
269# The default format an ephemeral_volume will be formatted with on creation.
270#
271# Possible values:
272#
273# * ``ext2``
274# * ``ext3``
275# * ``ext4``
276# * ``xfs``
277# * ``ntfs`` (only for Windows guests)
278# (string value)
279#default_ephemeral_format = <None>
280
281#
282# Determine if instance should boot or fail on VIF plugging timeout.
283#
284# Nova sends a port update to Neutron after an instance has been scheduled,
285# providing Neutron with the necessary information to finish setup of the port.
286# Once completed, Neutron notifies Nova that it has finished setting up the
287# port, at which point Nova resumes the boot of the instance since network
288# connectivity is now supposed to be present. A timeout will occur if the reply
289# is not received after a given interval.
290#
291# This option determines what Nova does when the VIF plugging timeout event
292# happens. When enabled, the instance will error out. When disabled, the
293# instance will continue to boot on the assumption that the port is ready.
294#
295# Possible values:
296#
297# * True: Instances should fail after VIF plugging timeout
298# * False: Instances should continue booting after VIF plugging timeout
299# (boolean value)
300#vif_plugging_is_fatal = true
301
302#
303# Timeout for Neutron VIF plugging event message arrival.
304#
305# Number of seconds to wait for Neutron vif plugging events to
306# arrive before continuing or failing (see 'vif_plugging_is_fatal').
307#
308# Related options:
309#
310# * vif_plugging_is_fatal - If ``vif_plugging_timeout`` is set to zero and
311# ``vif_plugging_is_fatal`` is False, events should not be expected to
312# arrive at all.
313# (integer value)
314# Minimum value: 0
315#vif_plugging_timeout = 300
316
317# Path to '/etc/network/interfaces' template.
318#
319# The path to a template file for the '/etc/network/interfaces'-style file,
320# which
321# will be populated by nova and subsequently used by cloudinit. This provides a
322# method to configure network connectivity in environments without a DHCP
323# server.
324#
325# The template will be rendered using Jinja2 template engine, and receive a
326# top-level key called ``interfaces``. This key will contain a list of
327# dictionaries, one for each interface.
328#
329# Refer to the cloudinit documentaion for more information:
330#
331# https://cloudinit.readthedocs.io/en/latest/topics/datasources.html
332#
333# Possible values:
334#
335# * A path to a Jinja2-formatted template for a Debian '/etc/network/interfaces'
336# file. This applies even if using a non Debian-derived guest.
337#
338# Related options:
339#
340# * ``flat_inject``: This must be set to ``True`` to ensure nova embeds network
341# configuration information in the metadata provided through the config drive.
342# (string value)
343#injected_network_template = $pybasedir/nova/virt/interfaces.template
344
345#
346# The image preallocation mode to use.
347#
348# Image preallocation allows storage for instance images to be allocated up
349# front
350# when the instance is initially provisioned. This ensures immediate feedback is
351# given if enough space isn't available. In addition, it should significantly
352# improve performance on writes to new blocks and may even improve I/O
353# performance to prewritten blocks due to reduced fragmentation.
354#
355# Possible values:
356#
357# * "none" => no storage provisioning is done up front
358# * "space" => storage is fully allocated at instance start
359# (string value)
360# Allowed values: none, space
361#preallocate_images = none
362
363#
364# Enable use of copy-on-write (cow) images.
365#
366# QEMU/KVM allow the use of qcow2 as backing files. By disabling this,
367# backing files will not be used.
368# (boolean value)
369#use_cow_images = true
370
371#
372# Force conversion of backing images to raw format.
373#
374# Possible values:
375#
376# * True: Backing image files will be converted to raw image format
377# * False: Backing image files will not be converted
378#
379# Related options:
380#
381# * ``compute_driver``: Only the libvirt driver uses this option.
382# (boolean value)
383#force_raw_images = true
384
385#
386# Name of the mkfs commands for ephemeral device.
387#
388# The format is <os_type>=<mkfs command>
389# (multi valued)
390#virt_mkfs =
391
392#
393# Enable resizing of filesystems via a block device.
394#
395# If enabled, attempt to resize the filesystem by accessing the image over a
396# block device. This is done by the host and may not be necessary if the image
397# contains a recent version of cloud-init. Possible mechanisms require the nbd
398# driver (for qcow and raw), or loop (for raw).
399# (boolean value)
400#resize_fs_using_block_device = false
401
402# Amount of time, in seconds, to wait for NBD device start up. (integer value)
403# Minimum value: 0
404#timeout_nbd = 10
405
406#
407# Location of cached images.
408#
409# This is NOT the full path - just a folder name relative to '$instances_path'.
410# For per-compute-host cached images, set to '_base_$my_ip'
411# (string value)
412#image_cache_subdirectory_name = _base
413
414# Should unused base images be removed? (boolean value)
415#remove_unused_base_images = true
416
417#
418# Unused unresized base images younger than this will not be removed.
419# (integer value)
420#remove_unused_original_minimum_age_seconds = 86400
421
422#
423# Generic property to specify the pointer type.
424#
425# Input devices allow interaction with a graphical framebuffer. For
426# example to provide a graphic tablet for absolute cursor movement.
427#
428# If set, the 'hw_pointer_model' image property takes precedence over
429# this configuration option.
430#
431# Possible values:
432#
433# * None: Uses default behavior provided by drivers (mouse on PS2 for
434# libvirt x86)
435# * ps2mouse: Uses relative movement. Mouse connected by PS2
436# * usbtablet: Uses absolute movement. Tablet connect by USB
437#
438# Related options:
439#
440# * usbtablet must be configured with VNC enabled or SPICE enabled and SPICE
441# agent disabled. When used with libvirt the instance mode should be
442# configured as HVM.
443# (string value)
444# Allowed values: <None>, ps2mouse, usbtablet
445#pointer_model = usbtablet
446
447#
448# Defines which physical CPUs (pCPUs) can be used by instance
449# virtual CPUs (vCPUs).
450#
451# Possible values:
452#
453# * A comma-separated list of physical CPU numbers that virtual CPUs can be
454# allocated to by default. Each element should be either a single CPU number,
455# a range of CPU numbers, or a caret followed by a CPU number to be
456# excluded from a previous range. For example:
457#
458# vcpu_pin_set = "4-12,^8,15"
459# (string value)
460#vcpu_pin_set = <None>
461
462#
463# Number of huge/large memory pages to reserved per NUMA host cell.
464#
465# Possible values:
466#
467# * A list of valid key=value which reflect NUMA node ID, page size
468# (Default unit is KiB) and number of pages to be reserved.
469#
470# reserved_huge_pages = node:0,size:2048,count:64
471# reserved_huge_pages = node:1,size:1GB,count:1
472#
473# In this example we are reserving on NUMA node 0 64 pages of 2MiB
474# and on NUMA node 1 1 page of 1GiB.
475# (dict value)
476#reserved_huge_pages = <None>
477
478#
479# Amount of disk resources in MB to make them always available to host. The
480# disk usage gets reported back to the scheduler from nova-compute running
481# on the compute nodes. To prevent the disk resources from being considered
482# as available, this option can be used to reserve disk space for that host.
483#
484# Possible values:
485#
486# * Any positive integer representing amount of disk in MB to reserve
487# for the host.
488# (integer value)
489# Minimum value: 0
490#reserved_host_disk_mb = 0
491
492#
493# Amount of memory in MB to reserve for the host so that it is always available
494# to host processes. The host resources usage is reported back to the scheduler
495# continuously from nova-compute running on the compute node. To prevent the
496# host
497# memory from being considered as available, this option is used to reserve
498# memory for the host.
499#
500# Possible values:
501#
502# * Any positive integer representing amount of memory in MB to reserve
503# for the host.
504# (integer value)
505# Minimum value: 0
506#reserved_host_memory_mb = 512
507
508#
509# Number of physical CPUs to reserve for the host. The host resources usage is
510# reported back to the scheduler continuously from nova-compute running on the
511# compute node. To prevent the host CPU from being considered as available,
512# this option is used to reserve random pCPU(s) for the host.
513#
514# Possible values:
515#
516# * Any positive integer representing number of physical CPUs to reserve
517# for the host.
518# (integer value)
519# Minimum value: 0
520#reserved_host_cpus = 0
521
522#
523# This option helps you specify virtual CPU to physical CPU allocation ratio.
524#
525# From Ocata (15.0.0) this is used to influence the hosts selected by
526# the Placement API. Note that when Placement is used, the CoreFilter
527# is redundant, because the Placement API will have already filtered
528# out hosts that would have failed the CoreFilter.
529#
530# This configuration specifies ratio for CoreFilter which can be set
531# per compute node. For AggregateCoreFilter, it will fall back to this
532# configuration value if no per-aggregate setting is found.
533#
534# NOTE: This can be set per-compute, or if set to 0.0, the value
535# set on the scheduler node(s) or compute node(s) will be used
536# and defaulted to 16.0.
537#
538# NOTE: As of the 16.0.0 Pike release, this configuration option is ignored
539# for the ironic.IronicDriver compute driver and is hardcoded to 1.0.
540#
541# Possible values:
542#
543# * Any valid positive integer or float value
544# (floating point value)
545# Minimum value: 0
546#cpu_allocation_ratio = 0.0
547
548#
549# This option helps you specify virtual RAM to physical RAM
550# allocation ratio.
551#
552# From Ocata (15.0.0) this is used to influence the hosts selected by
553# the Placement API. Note that when Placement is used, the RamFilter
554# is redundant, because the Placement API will have already filtered
555# out hosts that would have failed the RamFilter.
556#
557# This configuration specifies ratio for RamFilter which can be set
558# per compute node. For AggregateRamFilter, it will fall back to this
559# configuration value if no per-aggregate setting found.
560#
561# NOTE: This can be set per-compute, or if set to 0.0, the value
562# set on the scheduler node(s) or compute node(s) will be used and
563# defaulted to 1.5.
564#
565# NOTE: As of the 16.0.0 Pike release, this configuration option is ignored
566# for the ironic.IronicDriver compute driver and is hardcoded to 1.0.
567#
568# Possible values:
569#
570# * Any valid positive integer or float value
571# (floating point value)
572# Minimum value: 0
573#ram_allocation_ratio = 0.0
574
575#
576# This option helps you specify virtual disk to physical disk
577# allocation ratio.
578#
579# From Ocata (15.0.0) this is used to influence the hosts selected by
580# the Placement API. Note that when Placement is used, the DiskFilter
581# is redundant, because the Placement API will have already filtered
582# out hosts that would have failed the DiskFilter.
583#
584# A ratio greater than 1.0 will result in over-subscription of the
585# available physical disk, which can be useful for more
586# efficiently packing instances created with images that do not
587# use the entire virtual disk, such as sparse or compressed
588# images. It can be set to a value between 0.0 and 1.0 in order
589# to preserve a percentage of the disk for uses other than
590# instances.
591#
592# NOTE: This can be set per-compute, or if set to 0.0, the value
593# set on the scheduler node(s) or compute node(s) will be used and
594# defaulted to 1.0.
595#
596# NOTE: As of the 16.0.0 Pike release, this configuration option is ignored
597# for the ironic.IronicDriver compute driver and is hardcoded to 1.0.
598#
599# Possible values:
600#
601# * Any valid positive integer or float value
602# (floating point value)
603# Minimum value: 0
604#disk_allocation_ratio = 0.0
605
606#
607# Console proxy host to be used to connect to instances on this host. It is the
608# publicly visible name for the console host.
609#
610# Possible values:
611#
612# * Current hostname (default) or any string representing hostname.
613# (string value)
614#console_host = <current_hostname>
615
616#
617# Name of the network to be used to set access IPs for instances. If there are
618# multiple IPs to choose from, an arbitrary one will be chosen.
619#
620# Possible values:
621#
622# * None (default)
623# * Any string representing network name.
624# (string value)
625#default_access_ip_network_name = <None>
626
627#
628# Whether to batch up the application of IPTables rules during a host restart
629# and apply all at the end of the init phase.
630# (boolean value)
631#defer_iptables_apply = false
632
633#
634# Specifies where instances are stored on the hypervisor's disk.
635# It can point to locally attached storage or a directory on NFS.
636#
637# Possible values:
638#
639# * $state_path/instances where state_path is a config option that specifies
640# the top-level directory for maintaining nova's state. (default) or
641# Any string representing directory path.
642# (string value)
643#instances_path = $state_path/instances
644
645#
646# This option enables periodic compute.instance.exists notifications. Each
647# compute node must be configured to generate system usage data. These
648# notifications are consumed by OpenStack Telemetry service.
649# (boolean value)
650#instance_usage_audit = false
651
652#
653# Maximum number of 1 second retries in live_migration. It specifies number
654# of retries to iptables when it complains. It happens when an user continuously
655# sends live-migration request to same host leading to concurrent request
656# to iptables.
657#
658# Possible values:
659#
660# * Any positive integer representing retry count.
661# (integer value)
662# Minimum value: 0
663#live_migration_retry_count = 30
664
665#
666# This option specifies whether to start guests that were running before the
667# host rebooted. It ensures that all of the instances on a Nova compute node
668# resume their state each time the compute node boots or restarts.
669# (boolean value)
670#resume_guests_state_on_host_boot = false
671
672#
673# Number of times to retry network allocation. It is required to attempt network
674# allocation retries if the virtual interface plug fails.
675#
676# Possible values:
677#
678# * Any positive integer representing retry count.
679# (integer value)
680# Minimum value: 0
681#network_allocate_retries = 0
682
683#
684# Limits the maximum number of instance builds to run concurrently by
685# nova-compute. Compute service can attempt to build an infinite number of
686# instances, if asked to do so. This limit is enforced to avoid building
687# unlimited instance concurrently on a compute node. This value can be set
688# per compute node.
689#
690# Possible Values:
691#
692# * 0 : treated as unlimited.
693# * Any positive integer representing maximum concurrent builds.
694# (integer value)
695# Minimum value: 0
696#max_concurrent_builds = 10
697
698#
699# Maximum number of live migrations to run concurrently. This limit is enforced
700# to avoid outbound live migrations overwhelming the host/network and causing
701# failures. It is not recommended that you change this unless you are very sure
702# that doing so is safe and stable in your environment.
703#
704# Possible values:
705#
706# * 0 : treated as unlimited.
707# * Negative value defaults to 0.
708# * Any positive integer representing maximum number of live migrations
709# to run concurrently.
710# (integer value)
711#max_concurrent_live_migrations = 1
712
713#
714# Number of times to retry block device allocation on failures. Starting with
715# Liberty, Cinder can use image volume cache. This may help with block device
716# allocation performance. Look at the cinder image_volume_cache_enabled
717# configuration option.
718#
719# Possible values:
720#
721# * 60 (default)
722# * If value is 0, then one attempt is made.
723# * Any negative value is treated as 0.
724# * For any value > 0, total attempts are (value + 1)
725# (integer value)
726#block_device_allocate_retries = 60
727
728#
729# Number of greenthreads available for use to sync power states.
730#
731# This option can be used to reduce the number of concurrent requests
732# made to the hypervisor or system with real instance power states
733# for performance reasons, for example, with Ironic.
734#
735# Possible values:
736#
737# * Any positive integer representing greenthreads count.
738# (integer value)
739#sync_power_state_pool_size = 1000
740
741#
742# Number of seconds to wait between runs of the image cache manager.
743#
744# Possible values:
745# * 0: run at the default rate.
746# * -1: disable
747# * Any other value
748# (integer value)
749# Minimum value: -1
750#image_cache_manager_interval = 2400
751
752#
753# Interval to pull network bandwidth usage info.
754#
755# Not supported on all hypervisors. If a hypervisor doesn't support bandwidth
756# usage, it will not get the info in the usage events.
757#
758# Possible values:
759#
760# * 0: Will run at the default periodic interval.
761# * Any value < 0: Disables the option.
762# * Any positive integer in seconds.
763# (integer value)
764#bandwidth_poll_interval = 600
765
766#
767# Interval to sync power states between the database and the hypervisor.
768#
769# The interval that Nova checks the actual virtual machine power state
770# and the power state that Nova has in its database. If a user powers
771# down their VM, Nova updates the API to report the VM has been
772# powered down. Should something turn on the VM unexpectedly,
773# Nova will turn the VM back off to keep the system in the expected
774# state.
775#
776# Possible values:
777#
778# * 0: Will run at the default periodic interval.
779# * Any value < 0: Disables the option.
780# * Any positive integer in seconds.
781#
782# Related options:
783#
784# * If ``handle_virt_lifecycle_events`` in workarounds_group is
785# false and this option is negative, then instances that get out
786# of sync between the hypervisor and the Nova database will have
787# to be synchronized manually.
788# (integer value)
789#sync_power_state_interval = 600
790
791#
792# Interval between instance network information cache updates.
793#
794# Number of seconds after which each compute node runs the task of
795# querying Neutron for all of its instances networking information,
796# then updates the Nova db with that information. Nova will never
797# update it's cache if this option is set to 0. If we don't update the
798# cache, the metadata service and nova-api endpoints will be proxying
799# incorrect network data about the instance. So, it is not recommended
800# to set this option to 0.
801#
802# Possible values:
803#
804# * Any positive integer in seconds.
805# * Any value <=0 will disable the sync. This is not recommended.
806# (integer value)
807#heal_instance_info_cache_interval = 60
808
809#
810# Interval for reclaiming deleted instances.
811#
812# A value greater than 0 will enable SOFT_DELETE of instances.
813# This option decides whether the server to be deleted will be put into
814# the SOFT_DELETED state. If this value is greater than 0, the deleted
815# server will not be deleted immediately, instead it will be put into
816# a queue until it's too old (deleted time greater than the value of
817# reclaim_instance_interval). The server can be recovered from the
818# delete queue by using the restore action. If the deleted server remains
819# longer than the value of reclaim_instance_interval, it will be
820# deleted by a periodic task in the compute service automatically.
821#
822# Note that this option is read from both the API and compute nodes, and
823# must be set globally otherwise servers could be put into a soft deleted
824# state in the API and never actually reclaimed (deleted) on the compute
825# node.
826#
827# Possible values:
828#
829# * Any positive integer(in seconds) greater than 0 will enable
830# this option.
831# * Any value <=0 will disable the option.
832# (integer value)
833#reclaim_instance_interval = 0
834
835#
836# Interval for gathering volume usages.
837#
838# This option updates the volume usage cache for every
839# volume_usage_poll_interval number of seconds.
840#
841# Possible values:
842#
843# * Any positive integer(in seconds) greater than 0 will enable
844# this option.
845# * Any value <=0 will disable the option.
846# (integer value)
847#volume_usage_poll_interval = 0
848
849#
850# Interval for polling shelved instances to offload.
851#
852# The periodic task runs for every shelved_poll_interval number
853# of seconds and checks if there are any shelved instances. If it
854# finds a shelved instance, based on the 'shelved_offload_time' config
855# value it offloads the shelved instances. Check 'shelved_offload_time'
856# config option description for details.
857#
858# Possible values:
859#
860# * Any value <= 0: Disables the option.
861# * Any positive integer in seconds.
862#
863# Related options:
864#
865# * ``shelved_offload_time``
866# (integer value)
867#shelved_poll_interval = 3600
868
869#
870# Time before a shelved instance is eligible for removal from a host.
871#
872# By default this option is set to 0 and the shelved instance will be
873# removed from the hypervisor immediately after shelve operation.
874# Otherwise, the instance will be kept for the value of
875# shelved_offload_time(in seconds) so that during the time period the
876# unshelve action will be faster, then the periodic task will remove
877# the instance from hypervisor after shelved_offload_time passes.
878#
879# Possible values:
880#
881# * 0: Instance will be immediately offloaded after being
882# shelved.
883# * Any value < 0: An instance will never offload.
884# * Any positive integer in seconds: The instance will exist for
885# the specified number of seconds before being offloaded.
886# (integer value)
887#shelved_offload_time = 0
888
889#
890# Interval for retrying failed instance file deletes.
891#
892# This option depends on 'maximum_instance_delete_attempts'.
893# This option specifies how often to retry deletes whereas
894# 'maximum_instance_delete_attempts' specifies the maximum number
895# of retry attempts that can be made.
896#
897# Possible values:
898#
899# * 0: Will run at the default periodic interval.
900# * Any value < 0: Disables the option.
901# * Any positive integer in seconds.
902#
903# Related options:
904#
905# * ``maximum_instance_delete_attempts`` from instance_cleaning_opts
906# group.
907# (integer value)
908#instance_delete_interval = 300
909
910#
911# Interval (in seconds) between block device allocation retries on failures.
912#
913# This option allows the user to specify the time interval between
914# consecutive retries. 'block_device_allocate_retries' option specifies
915# the maximum number of retries.
916#
917# Possible values:
918#
919# * 0: Disables the option.
920# * Any positive integer in seconds enables the option.
921#
922# Related options:
923#
924# * ``block_device_allocate_retries`` in compute_manager_opts group.
925# (integer value)
926# Minimum value: 0
927#block_device_allocate_retries_interval = 3
928
929#
930# Interval between sending the scheduler a list of current instance UUIDs to
931# verify that its view of instances is in sync with nova.
932#
933# If the CONF option 'scheduler_tracks_instance_changes' is
934# False, the sync calls will not be made. So, changing this option will
935# have no effect.
936#
937# If the out of sync situations are not very common, this interval
938# can be increased to lower the number of RPC messages being sent.
939# Likewise, if sync issues turn out to be a problem, the interval
940# can be lowered to check more frequently.
941#
942# Possible values:
943#
944# * 0: Will run at the default periodic interval.
945# * Any value < 0: Disables the option.
946# * Any positive integer in seconds.
947#
948# Related options:
949#
950# * This option has no impact if ``scheduler_tracks_instance_changes``
951# is set to False.
952# (integer value)
953#scheduler_instance_sync_interval = 120
954
955#
956# Interval for updating compute resources.
957#
958# This option specifies how often the update_available_resources
959# periodic task should run. A number less than 0 means to disable the
960# task completely. Leaving this at the default of 0 will cause this to
961# run at the default periodic interval. Setting it to any positive
962# value will cause it to run at approximately that number of seconds.
963#
964# Possible values:
965#
966# * 0: Will run at the default periodic interval.
967# * Any value < 0: Disables the option.
968# * Any positive integer in seconds.
969# (integer value)
970#update_resources_interval = 0
971
972#
973# Time interval after which an instance is hard rebooted automatically.
974#
975# When doing a soft reboot, it is possible that a guest kernel is
976# completely hung in a way that causes the soft reboot task
977# to not ever finish. Setting this option to a time period in seconds
978# will automatically hard reboot an instance if it has been stuck
979# in a rebooting state longer than N seconds.
980#
981# Possible values:
982#
983# * 0: Disables the option (default).
984# * Any positive integer in seconds: Enables the option.
985# (integer value)
986# Minimum value: 0
987#reboot_timeout = 0
988
989#
990# Maximum time in seconds that an instance can take to build.
991#
992# If this timer expires, instance status will be changed to ERROR.
993# Enabling this option will make sure an instance will not be stuck
994# in BUILD state for a longer period.
995#
996# Possible values:
997#
998# * 0: Disables the option (default)
999# * Any positive integer in seconds: Enables the option.
1000# (integer value)
1001# Minimum value: 0
1002#instance_build_timeout = 0
1003
1004#
1005# Interval to wait before un-rescuing an instance stuck in RESCUE.
1006#
1007# Possible values:
1008#
1009# * 0: Disables the option (default)
1010# * Any positive integer in seconds: Enables the option.
1011# (integer value)
1012# Minimum value: 0
1013#rescue_timeout = 0
1014
1015#
1016# Automatically confirm resizes after N seconds.
1017#
1018# Resize functionality will save the existing server before resizing.
1019# After the resize completes, user is requested to confirm the resize.
1020# The user has the opportunity to either confirm or revert all
1021# changes. Confirm resize removes the original server and changes
1022# server status from resized to active. Setting this option to a time
1023# period (in seconds) will automatically confirm the resize if the
1024# server is in resized state longer than that time.
1025#
1026# Possible values:
1027#
1028# * 0: Disables the option (default)
1029# * Any positive integer in seconds: Enables the option.
1030# (integer value)
1031# Minimum value: 0
1032#resize_confirm_window = 0
1033
1034#
1035# Total time to wait in seconds for an instance toperform a clean
1036# shutdown.
1037#
1038# It determines the overall period (in seconds) a VM is allowed to
1039# perform a clean shutdown. While performing stop, rescue and shelve,
1040# rebuild operations, configuring this option gives the VM a chance
1041# to perform a controlled shutdown before the instance is powered off.
1042# The default timeout is 60 seconds.
1043#
1044# The timeout value can be overridden on a per image basis by means
1045# of os_shutdown_timeout that is an image metadata setting allowing
1046# different types of operating systems to specify how much time they
1047# need to shut down cleanly.
1048#
1049# Possible values:
1050#
1051# * Any positive integer in seconds (default value is 60).
1052# (integer value)
1053# Minimum value: 1
1054#shutdown_timeout = 60
1055
1056#
1057# The compute service periodically checks for instances that have been
1058# deleted in the database but remain running on the compute node. The
1059# above option enables action to be taken when such instances are
1060# identified.
1061#
1062# Possible values:
1063#
1064# * reap: Powers down the instances and deletes them(default)
1065# * log: Logs warning message about deletion of the resource
1066# * shutdown: Powers down instances and marks them as non-
1067# bootable which can be later used for debugging/analysis
1068# * noop: Takes no action
1069#
1070# Related options:
1071#
1072# * running_deleted_instance_poll_interval
1073# * running_deleted_instance_timeout
1074# (string value)
1075# Allowed values: noop, log, shutdown, reap
1076#running_deleted_instance_action = reap
1077
1078#
1079# Time interval in seconds to wait between runs for the clean up action.
1080# If set to 0, above check will be disabled. If "running_deleted_instance
1081# _action" is set to "log" or "reap", a value greater than 0 must be set.
1082#
1083# Possible values:
1084#
1085# * Any positive integer in seconds enables the option.
1086# * 0: Disables the option.
1087# * 1800: Default value.
1088#
1089# Related options:
1090#
1091# * running_deleted_instance_action
1092# (integer value)
1093#running_deleted_instance_poll_interval = 1800
1094
1095#
1096# Time interval in seconds to wait for the instances that have
1097# been marked as deleted in database to be eligible for cleanup.
1098#
1099# Possible values:
1100#
1101# * Any positive integer in seconds(default is 0).
1102#
1103# Related options:
1104#
1105# * "running_deleted_instance_action"
1106# (integer value)
1107#running_deleted_instance_timeout = 0
1108
1109#
1110# The number of times to attempt to reap an instance's files.
1111#
1112# This option specifies the maximum number of retry attempts
1113# that can be made.
1114#
1115# Possible values:
1116#
1117# * Any positive integer defines how many attempts are made.
1118# * Any value <=0 means no delete attempts occur, but you should use
1119# ``instance_delete_interval`` to disable the delete attempts.
1120#
1121# Related options:
1122# * ``instance_delete_interval`` in interval_opts group can be used to disable
1123# this option.
1124# (integer value)
1125#maximum_instance_delete_attempts = 5
1126
1127#
1128# Sets the scope of the check for unique instance names.
1129#
1130# The default doesn't check for unique names. If a scope for the name check is
1131# set, a launch of a new instance or an update of an existing instance with a
1132# duplicate name will result in an ''InstanceExists'' error. The uniqueness is
1133# case-insensitive. Setting this option can increase the usability for end
1134# users as they don't have to distinguish among instances with the same name
1135# by their IDs.
1136#
1137# Possible values:
1138#
1139# * '': An empty value means that no uniqueness check is done and duplicate
1140# names are possible.
1141# * "project": The instance name check is done only for instances within the
1142# same project.
1143# * "global": The instance name check is done for all instances regardless of
1144# the project.
1145# (string value)
1146# Allowed values: '', project, global
1147#osapi_compute_unique_server_name_scope =
1148
1149#
1150# Enable new nova-compute services on this host automatically.
1151#
1152# When a new nova-compute service starts up, it gets
1153# registered in the database as an enabled service. Sometimes it can be useful
1154# to register new compute services in disabled state and then enabled them at a
1155# later point in time. This option only sets this behavior for nova-compute
1156# services, it does not auto-disable other services like nova-conductor,
1157# nova-scheduler, nova-consoleauth, or nova-osapi_compute.
1158#
1159# Possible values:
1160#
1161# * ``True``: Each new compute service is enabled as soon as it registers
1162# itself.
1163# * ``False``: Compute services must be enabled via an os-services REST API call
1164# or with the CLI with ``nova service-enable <hostname> <binary>``, otherwise
1165# they are not ready to use.
1166# (boolean value)
1167#enable_new_services = true
1168
1169#
1170# Template string to be used to generate instance names.
1171#
1172# This template controls the creation of the database name of an instance. This
1173# is *not* the display name you enter when creating an instance (via Horizon
1174# or CLI). For a new deployment it is advisable to change the default value
1175# (which uses the database autoincrement) to another value which makes use
1176# of the attributes of an instance, like ``instance-%(uuid)s``. If you
1177# already have instances in your deployment when you change this, your
1178# deployment will break.
1179#
1180# Possible values:
1181#
1182# * A string which either uses the instance database ID (like the
1183# default)
1184# * A string with a list of named database columns, for example ``%(id)d``
1185# or ``%(uuid)s`` or ``%(hostname)s``.
1186#
1187# Related options:
1188#
1189# * not to be confused with: ``multi_instance_display_name_template``
1190# (string value)
1191#instance_name_template = instance-%08x
1192
1193#
1194# Number of times to retry live-migration before failing.
1195#
1196# Possible values:
1197#
1198# * If == -1, try until out of hosts (default)
1199# * If == 0, only try once, no retries
1200# * Integer greater than 0
1201# (integer value)
1202# Minimum value: -1
1203#migrate_max_retries = -1
1204
1205#
1206# Configuration drive format
1207#
1208# Configuration drive format that will contain metadata attached to the
1209# instance when it boots.
1210#
1211# Possible values:
1212#
1213# * iso9660: A file system image standard that is widely supported across
1214# operating systems. NOTE: Mind the libvirt bug
1215# (https://bugs.launchpad.net/nova/+bug/1246201) - If your hypervisor
1216# driver is libvirt, and you want live migrate to work without shared storage,
1217# then use VFAT.
1218# * vfat: For legacy reasons, you can configure the configuration drive to
1219# use VFAT format instead of ISO 9660.
1220#
1221# Related options:
1222#
1223# * This option is meaningful when one of the following alternatives occur:
1224# 1. force_config_drive option set to 'true'
1225# 2. the REST API call to create the instance contains an enable flag for
1226# config drive option
1227# 3. the image used to create the instance requires a config drive,
1228# this is defined by img_config_drive property for that image.
1229# * A compute node running Hyper-V hypervisor can be configured to attach
1230# configuration drive as a CD drive. To attach the configuration drive as a CD
1231# drive, set config_drive_cdrom option at hyperv section, to true.
1232# (string value)
1233# Allowed values: iso9660, vfat
1234#config_drive_format = iso9660
1235
1236#
1237# Force injection to take place on a config drive
1238#
1239# When this option is set to true configuration drive functionality will be
1240# forced enabled by default, otherwise user can still enable configuration
1241# drives via the REST API or image metadata properties.
1242#
1243# Possible values:
1244#
1245# * True: Force to use of configuration drive regardless the user's input in the
1246# REST API call.
1247# * False: Do not force use of configuration drive. Config drives can still be
1248# enabled via the REST API or image metadata properties.
1249#
1250# Related options:
1251#
1252# * Use the 'mkisofs_cmd' flag to set the path where you install the
1253# genisoimage program. If genisoimage is in same path as the
1254# nova-compute service, you do not need to set this flag.
1255# * To use configuration drive with Hyper-V, you must set the
1256# 'mkisofs_cmd' value to the full path to an mkisofs.exe installation.
1257# Additionally, you must set the qemu_img_cmd value in the hyperv
1258# configuration section to the full path to an qemu-img command
1259# installation.
1260# (boolean value)
1261#force_config_drive = false
1262
1263#
1264# Name or path of the tool used for ISO image creation
1265#
1266# Use the mkisofs_cmd flag to set the path where you install the genisoimage
1267# program. If genisoimage is on the system path, you do not need to change
1268# the default value.
1269#
1270# To use configuration drive with Hyper-V, you must set the mkisofs_cmd value
1271# to the full path to an mkisofs.exe installation. Additionally, you must set
1272# the qemu_img_cmd value in the hyperv configuration section to the full path
1273# to an qemu-img command installation.
1274#
1275# Possible values:
1276#
1277# * Name of the ISO image creator program, in case it is in the same directory
1278# as the nova-compute service
1279# * Path to ISO image creator program
1280#
1281# Related options:
1282#
1283# * This option is meaningful when config drives are enabled.
1284# * To use configuration drive with Hyper-V, you must set the qemu_img_cmd
1285# value in the hyperv configuration section to the full path to an qemu-img
1286# command installation.
1287# (string value)
1288#mkisofs_cmd = genisoimage
1289
1290# DEPRECATED: The driver to use for database access (string value)
1291# This option is deprecated for removal since 13.0.0.
1292# Its value may be silently ignored in the future.
1293#db_driver = nova.db
1294
1295# DEPRECATED:
1296# Default flavor to use for the EC2 API only.
1297# The Nova API does not support a default flavor.
1298# (string value)
1299# This option is deprecated for removal since 14.0.0.
1300# Its value may be silently ignored in the future.
1301# Reason: The EC2 API is deprecated.
1302#default_flavor = m1.small
1303
1304# DEPRECATED:
1305# Abstracts out IPv6 address generation to pluggable backends.
1306#
1307# nova-network can be put into dual-stack mode, so that it uses
1308# both IPv4 and IPv6 addresses. In dual-stack mode, by default, instances
1309# acquire IPv6 global unicast addresses with the help of stateless address
1310# auto-configuration mechanism.
1311#
1312# Related options:
1313#
1314# * use_neutron: this option only works with nova-network.
1315# * use_ipv6: this option only works if ipv6 is enabled for nova-network.
1316# (string value)
1317# Allowed values: rfc2462, account_identifier
1318# This option is deprecated for removal since 16.0.0.
1319# Its value may be silently ignored in the future.
1320# Reason:
1321# nova-network is deprecated, as are any related configuration options.
1322#ipv6_backend = rfc2462
1323
1324#
1325# The IP address which the host is using to connect to the management network.
1326#
1327# Possible values:
1328#
1329# * String with valid IP address. Default is IPv4 address of this host.
1330#
1331# Related options:
1332#
1333# * metadata_host
1334# * my_block_storage_ip
1335# * routing_source_ip
1336# * vpn_ip
1337# (string value)
1338#my_ip = <host_ipv4>
1339
1340#
1341# The IP address which is used to connect to the block storage network.
1342#
1343# Possible values:
1344#
1345# * String with valid IP address. Default is IP address of this host.
1346#
1347# Related options:
1348#
1349# * my_ip - if my_block_storage_ip is not set, then my_ip value is used.
1350# (string value)
1351#my_block_storage_ip = $my_ip
1352
1353#
1354# Hostname, FQDN or IP address of this host.
1355#
1356# Used as:
1357#
1358# * the oslo.messaging queue name for nova-compute worker
1359# * we use this value for the binding_host sent to neutron. This means if you
1360# use
1361# a neutron agent, it should have the same value for host.
1362# * cinder host attachment information
1363#
1364# Must be valid within AMQP key.
1365#
1366# Possible values:
1367#
1368# * String with hostname, FQDN or IP address. Default is hostname of this host.
1369# (string value)
1370#host = <current_hostname>
1371
1372# DEPRECATED:
1373# Assign IPv6 and IPv4 addresses when creating instances.
1374#
1375# Related options:
1376#
1377# * use_neutron: this only works with nova-network.
1378# (boolean value)
1379# This option is deprecated for removal since 16.0.0.
1380# Its value may be silently ignored in the future.
1381# Reason:
1382# nova-network is deprecated, as are any related configuration options.
1383#use_ipv6 = false
1384
1385# DEPRECATED:
1386# This option is a list of full paths to one or more configuration files for
1387# dhcpbridge. In most cases the default path of '/etc/nova/nova-dhcpbridge.conf'
1388# should be sufficient, but if you have special needs for configuring
1389# dhcpbridge,
1390# you can change or add to this list.
1391#
1392# Possible values
1393#
1394# * A list of strings, where each string is the full path to a dhcpbridge
1395# configuration file.
1396# (multi valued)
1397# This option is deprecated for removal since 16.0.0.
1398# Its value may be silently ignored in the future.
1399# Reason:
1400# nova-network is deprecated, as are any related configuration options.
1401#dhcpbridge_flagfile = /etc/nova/nova-dhcpbridge.conf
1402
1403# DEPRECATED:
1404# The location where the network configuration files will be kept. The default
1405# is
1406# the 'networks' directory off of the location where nova's Python module is
1407# installed.
1408#
1409# Possible values
1410#
1411# * A string containing the full path to the desired configuration directory
1412# (string value)
1413# This option is deprecated for removal since 16.0.0.
1414# Its value may be silently ignored in the future.
1415# Reason:
1416# nova-network is deprecated, as are any related configuration options.
1417#networks_path = $state_path/networks
1418
1419# DEPRECATED:
1420# This is the name of the network interface for public IP addresses. The default
1421# is 'eth0'.
1422#
1423# Possible values:
1424#
1425# * Any string representing a network interface name
1426# (string value)
1427# This option is deprecated for removal since 16.0.0.
1428# Its value may be silently ignored in the future.
1429# Reason:
1430# nova-network is deprecated, as are any related configuration options.
1431#public_interface = eth0
1432
1433# DEPRECATED:
1434# The location of the binary nova-dhcpbridge. By default it is the binary named
1435# 'nova-dhcpbridge' that is installed with all the other nova binaries.
1436#
1437# Possible values:
1438#
1439# * Any string representing the full path to the binary for dhcpbridge
1440# (string value)
1441# This option is deprecated for removal since 16.0.0.
1442# Its value may be silently ignored in the future.
1443# Reason:
1444# nova-network is deprecated, as are any related configuration options.
1445#dhcpbridge = $bindir/nova-dhcpbridge
1446
1447# DEPRECATED:
1448# The public IP address of the network host.
1449#
1450# This is used when creating an SNAT rule.
1451#
1452# Possible values:
1453#
1454# * Any valid IP address
1455#
1456# Related options:
1457#
1458# * ``force_snat_range``
1459# (string value)
1460# This option is deprecated for removal since 16.0.0.
1461# Its value may be silently ignored in the future.
1462# Reason:
1463# nova-network is deprecated, as are any related configuration options.
1464#routing_source_ip = $my_ip
1465
1466# DEPRECATED:
1467# The lifetime of a DHCP lease, in seconds. The default is 86400 (one day).
1468#
1469# Possible values:
1470#
1471# * Any positive integer value.
1472# (integer value)
1473# Minimum value: 1
1474# This option is deprecated for removal since 16.0.0.
1475# Its value may be silently ignored in the future.
1476# Reason:
1477# nova-network is deprecated, as are any related configuration options.
1478#dhcp_lease_time = 86400
1479
1480# DEPRECATED:
1481# Despite the singular form of the name of this option, it is actually a list of
1482# zero or more server addresses that dnsmasq will use for DNS nameservers. If
1483# this is not empty, dnsmasq will not read /etc/resolv.conf, but will only use
1484# the servers specified in this option. If the option use_network_dns_servers is
1485# True, the dns1 and dns2 servers from the network will be appended to this
1486# list,
1487# and will be used as DNS servers, too.
1488#
1489# Possible values:
1490#
1491# * A list of strings, where each string is either an IP address or a FQDN.
1492#
1493# Related options:
1494#
1495# * ``use_network_dns_servers``
1496# (multi valued)
1497# This option is deprecated for removal since 16.0.0.
1498# Its value may be silently ignored in the future.
1499# Reason:
1500# nova-network is deprecated, as are any related configuration options.
1501#dns_server =
1502
1503# DEPRECATED:
1504# When this option is set to True, the dns1 and dns2 servers for the network
1505# specified by the user on boot will be used for DNS, as well as any specified
1506# in
1507# the `dns_server` option.
1508#
1509# Related options:
1510#
1511# * ``dns_server``
1512# (boolean value)
1513# This option is deprecated for removal since 16.0.0.
1514# Its value may be silently ignored in the future.
1515# Reason:
1516# nova-network is deprecated, as are any related configuration options.
1517#use_network_dns_servers = false
1518
1519# DEPRECATED:
1520# This option is a list of zero or more IP address ranges in your network's DMZ
1521# that should be accepted.
1522#
1523# Possible values:
1524#
1525# * A list of strings, each of which should be a valid CIDR.
1526# (list value)
1527# This option is deprecated for removal since 16.0.0.
1528# Its value may be silently ignored in the future.
1529# Reason:
1530# nova-network is deprecated, as are any related configuration options.
1531#dmz_cidr =
1532
1533# DEPRECATED:
1534# This is a list of zero or more IP ranges that traffic from the
1535# `routing_source_ip` will be SNATted to. If the list is empty, then no SNAT
1536# rules are created.
1537#
1538# Possible values:
1539#
1540# * A list of strings, each of which should be a valid CIDR.
1541#
1542# Related options:
1543#
1544# * ``routing_source_ip``
1545# (multi valued)
1546# This option is deprecated for removal since 16.0.0.
1547# Its value may be silently ignored in the future.
1548# Reason:
1549# nova-network is deprecated, as are any related configuration options.
1550#force_snat_range =
1551
1552# DEPRECATED:
1553# The path to the custom dnsmasq configuration file, if any.
1554#
1555# Possible values:
1556#
1557# * The full path to the configuration file, or an empty string if there is no
1558# custom dnsmasq configuration file.
1559# (string value)
1560# This option is deprecated for removal since 16.0.0.
1561# Its value may be silently ignored in the future.
1562# Reason:
1563# nova-network is deprecated, as are any related configuration options.
1564#dnsmasq_config_file =
1565
1566# DEPRECATED:
1567# This is the class used as the ethernet device driver for linuxnet bridge
1568# operations. The default value should be all you need for most cases, but if
1569# you
1570# wish to use a customized class, set this option to the full dot-separated
1571# import path for that class.
1572#
1573# Possible values:
1574#
1575# * Any string representing a dot-separated class path that Nova can import.
1576# (string value)
1577# This option is deprecated for removal since 16.0.0.
1578# Its value may be silently ignored in the future.
1579# Reason:
1580# nova-network is deprecated, as are any related configuration options.
1581#linuxnet_interface_driver = nova.network.linux_net.LinuxBridgeInterfaceDriver
1582
1583# DEPRECATED:
1584# The name of the Open vSwitch bridge that is used with linuxnet when connecting
1585# with Open vSwitch."
1586#
1587# Possible values:
1588#
1589# * Any string representing a valid bridge name.
1590# (string value)
1591# This option is deprecated for removal since 16.0.0.
1592# Its value may be silently ignored in the future.
1593# Reason:
1594# nova-network is deprecated, as are any related configuration options.
1595#linuxnet_ovs_integration_bridge = br-int
1596
1597#
1598# When True, when a device starts up, and upon binding floating IP addresses,
1599# arp
1600# messages will be sent to ensure that the arp caches on the compute hosts are
1601# up-to-date.
1602#
1603# Related options:
1604#
1605# * ``send_arp_for_ha_count``
1606# (boolean value)
1607#send_arp_for_ha = false
1608
1609#
1610# When arp messages are configured to be sent, they will be sent with the count
1611# set to the value of this option. Of course, if this is set to zero, no arp
1612# messages will be sent.
1613#
1614# Possible values:
1615#
1616# * Any integer greater than or equal to 0
1617#
1618# Related options:
1619#
1620# * ``send_arp_for_ha``
1621# (integer value)
1622#send_arp_for_ha_count = 3
1623
1624# DEPRECATED:
1625# When set to True, only the firt nic of a VM will get its default gateway from
1626# the DHCP server.
1627# (boolean value)
1628# This option is deprecated for removal since 16.0.0.
1629# Its value may be silently ignored in the future.
1630# Reason:
1631# nova-network is deprecated, as are any related configuration options.
1632#use_single_default_gateway = false
1633
1634# DEPRECATED:
1635# One or more interfaces that bridges can forward traffic to. If any of the
1636# items
1637# in this list is the special keyword 'all', then all traffic will be forwarded.
1638#
1639# Possible values:
1640#
1641# * A list of zero or more interface names, or the word 'all'.
1642# (multi valued)
1643# This option is deprecated for removal since 16.0.0.
1644# Its value may be silently ignored in the future.
1645# Reason:
1646# nova-network is deprecated, as are any related configuration options.
1647#forward_bridge_interface = all
1648
1649#
1650# This option determines the IP address for the network metadata API server.
1651#
1652# This is really the client side of the metadata host equation that allows
1653# nova-network to find the metadata server when doing a default multi host
1654# networking.
1655#
1656# Possible values:
1657#
1658# * Any valid IP address. The default is the address of the Nova API server.
1659#
1660# Related options:
1661#
1662# * ``metadata_port``
1663# (string value)
1664#metadata_host = $my_ip
1665
1666# DEPRECATED:
1667# This option determines the port used for the metadata API server.
1668#
1669# Related options:
1670#
1671# * ``metadata_host``
1672# (port value)
1673# Minimum value: 0
1674# Maximum value: 65535
1675# This option is deprecated for removal since 16.0.0.
1676# Its value may be silently ignored in the future.
1677# Reason:
1678# nova-network is deprecated, as are any related configuration options.
1679#metadata_port = 8775
1680
1681# DEPRECATED:
1682# This expression, if defined, will select any matching iptables rules and place
1683# them at the top when applying metadata changes to the rules.
1684#
1685# Possible values:
1686#
1687# * Any string representing a valid regular expression, or an empty string
1688#
1689# Related options:
1690#
1691# * ``iptables_bottom_regex``
1692# (string value)
1693# This option is deprecated for removal since 16.0.0.
1694# Its value may be silently ignored in the future.
1695# Reason:
1696# nova-network is deprecated, as are any related configuration options.
1697#iptables_top_regex =
1698
1699# DEPRECATED:
1700# This expression, if defined, will select any matching iptables rules and place
1701# them at the bottom when applying metadata changes to the rules.
1702#
1703# Possible values:
1704#
1705# * Any string representing a valid regular expression, or an empty string
1706#
1707# Related options:
1708#
1709# * iptables_top_regex
1710# (string value)
1711# This option is deprecated for removal since 16.0.0.
1712# Its value may be silently ignored in the future.
1713# Reason:
1714# nova-network is deprecated, as are any related configuration options.
1715#iptables_bottom_regex =
1716
1717# DEPRECATED:
1718# By default, packets that do not pass the firewall are DROPped. In many cases,
1719# though, an operator may find it more useful to change this from DROP to
1720# REJECT,
1721# so that the user issuing those packets may have a better idea as to what's
1722# going on, or LOGDROP in order to record the blocked traffic before DROPping.
1723#
1724# Possible values:
1725#
1726# * A string representing an iptables chain. The default is DROP.
1727# (string value)
1728# This option is deprecated for removal since 16.0.0.
1729# Its value may be silently ignored in the future.
1730# Reason:
1731# nova-network is deprecated, as are any related configuration options.
1732#iptables_drop_action = DROP
1733
1734# DEPRECATED:
1735# This option represents the period of time, in seconds, that the ovs_vsctl
1736# calls
1737# will wait for a response from the database before timing out. A setting of 0
1738# means that the utility should wait forever for a response.
1739#
1740# Possible values:
1741#
1742# * Any positive integer if a limited timeout is desired, or zero if the calls
1743# should wait forever for a response.
1744# (integer value)
1745# Minimum value: 0
1746# This option is deprecated for removal since 16.0.0.
1747# Its value may be silently ignored in the future.
1748# Reason:
1749# nova-network is deprecated, as are any related configuration options.
1750#ovs_vsctl_timeout = 120
1751
1752# DEPRECATED:
1753# This option is used mainly in testing to avoid calls to the underlying network
1754# utilities.
1755# (boolean value)
1756# This option is deprecated for removal since 16.0.0.
1757# Its value may be silently ignored in the future.
1758# Reason:
1759# nova-network is deprecated, as are any related configuration options.
1760#fake_network = false
1761
1762# DEPRECATED:
1763# This option determines the number of times to retry ebtables commands before
1764# giving up. The minimum number of retries is 1.
1765#
1766# Possible values:
1767#
1768# * Any positive integer
1769#
1770# Related options:
1771#
1772# * ``ebtables_retry_interval``
1773# (integer value)
1774# Minimum value: 1
1775# This option is deprecated for removal since 16.0.0.
1776# Its value may be silently ignored in the future.
1777# Reason:
1778# nova-network is deprecated, as are any related configuration options.
1779#ebtables_exec_attempts = 3
1780
1781# DEPRECATED:
1782# This option determines the time, in seconds, that the system will sleep in
1783# between ebtables retries. Note that each successive retry waits a multiple of
1784# this value, so for example, if this is set to the default of 1.0 seconds, and
1785# ebtables_exec_attempts is 4, after the first failure, the system will sleep
1786# for
1787# 1 * 1.0 seconds, after the second failure it will sleep 2 * 1.0 seconds, and
1788# after the third failure it will sleep 3 * 1.0 seconds.
1789#
1790# Possible values:
1791#
1792# * Any non-negative float or integer. Setting this to zero will result in no
1793# waiting between attempts.
1794#
1795# Related options:
1796#
1797# * ebtables_exec_attempts
1798# (floating point value)
1799# This option is deprecated for removal since 16.0.0.
1800# Its value may be silently ignored in the future.
1801# Reason:
1802# nova-network is deprecated, as are any related configuration options.
1803#ebtables_retry_interval = 1.0
1804
1805# DEPRECATED:
1806# Enable neutron as the backend for networking.
1807#
1808# Determine whether to use Neutron or Nova Network as the back end. Set to true
1809# to use neutron.
1810# (boolean value)
1811# This option is deprecated for removal since 15.0.0.
1812# Its value may be silently ignored in the future.
1813# Reason:
1814# nova-network is deprecated, as are any related configuration options.
1815#use_neutron = true
1816
1817#
1818# This option determines whether the network setup information is injected into
1819# the VM before it is booted. While it was originally designed to be used only
1820# by nova-network, it is also used by the vmware and xenapi virt drivers to
1821# control whether network information is injected into a VM. The libvirt virt
1822# driver also uses it when we use config_drive to configure network to control
1823# whether network information is injected into a VM.
1824# (boolean value)
1825#flat_injected = false
1826
1827# DEPRECATED:
1828# This option determines the bridge used for simple network interfaces when no
1829# bridge is specified in the VM creation request.
1830#
1831# Please note that this option is only used when using nova-network instead of
1832# Neutron in your deployment.
1833#
1834# Possible values:
1835#
1836# * Any string representing a valid network bridge, such as 'br100'
1837#
1838# Related options:
1839#
1840# * ``use_neutron``
1841# (string value)
1842# This option is deprecated for removal since 15.0.0.
1843# Its value may be silently ignored in the future.
1844# Reason:
1845# nova-network is deprecated, as are any related configuration options.
1846#flat_network_bridge = <None>
1847
1848# DEPRECATED:
1849# This is the address of the DNS server for a simple network. If this option is
1850# not specified, the default of '8.8.4.4' is used.
1851#
1852# Please note that this option is only used when using nova-network instead of
1853# Neutron in your deployment.
1854#
1855# Possible values:
1856#
1857# * Any valid IP address.
1858#
1859# Related options:
1860#
1861# * ``use_neutron``
1862# (string value)
1863# This option is deprecated for removal since 15.0.0.
1864# Its value may be silently ignored in the future.
1865# Reason:
1866# nova-network is deprecated, as are any related configuration options.
1867#flat_network_dns = 8.8.4.4
1868
1869# DEPRECATED:
1870# This option is the name of the virtual interface of the VM on which the bridge
1871# will be built. While it was originally designed to be used only by
1872# nova-network, it is also used by libvirt for the bridge interface name.
1873#
1874# Possible values:
1875#
1876# * Any valid virtual interface name, such as 'eth0'
1877# (string value)
1878# This option is deprecated for removal since 15.0.0.
1879# Its value may be silently ignored in the future.
1880# Reason:
1881# nova-network is deprecated, as are any related configuration options.
1882#flat_interface = <None>
1883
1884# DEPRECATED:
1885# This is the VLAN number used for private networks. Note that the when creating
1886# the networks, if the specified number has already been assigned, nova-network
1887# will increment this number until it finds an available VLAN.
1888#
1889# Please note that this option is only used when using nova-network instead of
1890# Neutron in your deployment. It also will be ignored if the configuration
1891# option
1892# for `network_manager` is not set to the default of
1893# 'nova.network.manager.VlanManager'.
1894#
1895# Possible values:
1896#
1897# * Any integer between 1 and 4094. Values outside of that range will raise a
1898# ValueError exception.
1899#
1900# Related options:
1901#
1902# * ``network_manager``
1903# * ``use_neutron``
1904# (integer value)
1905# Minimum value: 1
1906# Maximum value: 4094
1907# This option is deprecated for removal since 15.0.0.
1908# Its value may be silently ignored in the future.
1909# Reason:
1910# nova-network is deprecated, as are any related configuration options.
1911#vlan_start = 100
1912
1913# DEPRECATED:
1914# This option is the name of the virtual interface of the VM on which the VLAN
1915# bridge will be built. While it was originally designed to be used only by
1916# nova-network, it is also used by libvirt and xenapi for the bridge interface
1917# name.
1918#
1919# Please note that this setting will be ignored in nova-network if the
1920# configuration option for `network_manager` is not set to the default of
1921# 'nova.network.manager.VlanManager'.
1922#
1923# Possible values:
1924#
1925# * Any valid virtual interface name, such as 'eth0'
1926# (string value)
1927# This option is deprecated for removal since 15.0.0.
1928# Its value may be silently ignored in the future.
1929# Reason:
1930# nova-network is deprecated, as are any related configuration options. While
1931# this option has an effect when using neutron, it incorrectly override the
1932# value
1933# provided by neutron and should therefore not be used.
1934#vlan_interface = <None>
1935
1936# DEPRECATED:
1937# This option represents the number of networks to create if not explicitly
1938# specified when the network is created. The only time this is used is if a CIDR
1939# is specified, but an explicit network_size is not. In that case, the subnets
1940# are created by diving the IP address space of the CIDR by num_networks. The
1941# resulting subnet sizes cannot be larger than the configuration option
1942# `network_size`; in that event, they are reduced to `network_size`, and a
1943# warning is logged.
1944#
1945# Please note that this option is only used when using nova-network instead of
1946# Neutron in your deployment.
1947#
1948# Possible values:
1949#
1950# * Any positive integer is technically valid, although there are practical
1951# limits based upon available IP address space and virtual interfaces.
1952#
1953# Related options:
1954#
1955# * ``use_neutron``
1956# * ``network_size``
1957# (integer value)
1958# Minimum value: 1
1959# This option is deprecated for removal since 15.0.0.
1960# Its value may be silently ignored in the future.
1961# Reason:
1962# nova-network is deprecated, as are any related configuration options.
1963#num_networks = 1
1964
1965# DEPRECATED:
1966# This option is no longer used since the /os-cloudpipe API was removed in the
1967# 16.0.0 Pike release. This is the public IP address for the cloudpipe VPN
1968# servers. It defaults to the IP address of the host.
1969#
1970# Please note that this option is only used when using nova-network instead of
1971# Neutron in your deployment. It also will be ignored if the configuration
1972# option
1973# for `network_manager` is not set to the default of
1974# 'nova.network.manager.VlanManager'.
1975#
1976# Possible values:
1977#
1978# * Any valid IP address. The default is ``$my_ip``, the IP address of the VM.
1979#
1980# Related options:
1981#
1982# * ``network_manager``
1983# * ``use_neutron``
1984# * ``vpn_start``
1985# (string value)
1986# This option is deprecated for removal since 15.0.0.
1987# Its value may be silently ignored in the future.
1988# Reason:
1989# nova-network is deprecated, as are any related configuration options.
1990#vpn_ip = $my_ip
1991
1992# DEPRECATED:
1993# This is the port number to use as the first VPN port for private networks.
1994#
1995# Please note that this option is only used when using nova-network instead of
1996# Neutron in your deployment. It also will be ignored if the configuration
1997# option
1998# for `network_manager` is not set to the default of
1999# 'nova.network.manager.VlanManager', or if you specify a value the 'vpn_start'
2000# parameter when creating a network.
2001#
2002# Possible values:
2003#
2004# * Any integer representing a valid port number. The default is 1000.
2005#
2006# Related options:
2007#
2008# * ``use_neutron``
2009# * ``vpn_ip``
2010# * ``network_manager``
2011# (port value)
2012# Minimum value: 0
2013# Maximum value: 65535
2014# This option is deprecated for removal since 15.0.0.
2015# Its value may be silently ignored in the future.
2016# Reason:
2017# nova-network is deprecated, as are any related configuration options.
2018#vpn_start = 1000
2019
2020# DEPRECATED:
2021# This option determines the number of addresses in each private subnet.
2022#
2023# Please note that this option is only used when using nova-network instead of
2024# Neutron in your deployment.
2025#
2026# Possible values:
2027#
2028# * Any positive integer that is less than or equal to the available network
2029# size. Note that if you are creating multiple networks, they must all fit in
2030# the available IP address space. The default is 256.
2031#
2032# Related options:
2033#
2034# * ``use_neutron``
2035# * ``num_networks``
2036# (integer value)
2037# Minimum value: 1
2038# This option is deprecated for removal since 15.0.0.
2039# Its value may be silently ignored in the future.
2040# Reason:
2041# nova-network is deprecated, as are any related configuration options.
2042#network_size = 256
2043
2044# DEPRECATED:
2045# This option determines the fixed IPv6 address block when creating a network.
2046#
2047# Please note that this option is only used when using nova-network instead of
2048# Neutron in your deployment.
2049#
2050# Possible values:
2051#
2052# * Any valid IPv6 CIDR
2053#
2054# Related options:
2055#
2056# * ``use_neutron``
2057# (string value)
2058# This option is deprecated for removal since 15.0.0.
2059# Its value may be silently ignored in the future.
2060# Reason:
2061# nova-network is deprecated, as are any related configuration options.
2062#fixed_range_v6 = fd00::/48
2063
2064# DEPRECATED:
2065# This is the default IPv4 gateway. It is used only in the testing suite.
2066#
2067# Please note that this option is only used when using nova-network instead of
2068# Neutron in your deployment.
2069#
2070# Possible values:
2071#
2072# * Any valid IP address.
2073#
2074# Related options:
2075#
2076# * ``use_neutron``
2077# * ``gateway_v6``
2078# (string value)
2079# This option is deprecated for removal since 15.0.0.
2080# Its value may be silently ignored in the future.
2081# Reason:
2082# nova-network is deprecated, as are any related configuration options.
2083#gateway = <None>
2084
2085# DEPRECATED:
2086# This is the default IPv6 gateway. It is used only in the testing suite.
2087#
2088# Please note that this option is only used when using nova-network instead of
2089# Neutron in your deployment.
2090#
2091# Possible values:
2092#
2093# * Any valid IP address.
2094#
2095# Related options:
2096#
2097# * ``use_neutron``
2098# * ``gateway``
2099# (string value)
2100# This option is deprecated for removal since 15.0.0.
2101# Its value may be silently ignored in the future.
2102# Reason:
2103# nova-network is deprecated, as are any related configuration options.
2104#gateway_v6 = <None>
2105
2106# DEPRECATED:
2107# This option represents the number of IP addresses to reserve at the top of the
2108# address range for VPN clients. It also will be ignored if the configuration
2109# option for `network_manager` is not set to the default of
2110# 'nova.network.manager.VlanManager'.
2111#
2112# Possible values:
2113#
2114# * Any integer, 0 or greater.
2115#
2116# Related options:
2117#
2118# * ``use_neutron``
2119# * ``network_manager``
2120# (integer value)
2121# Minimum value: 0
2122# This option is deprecated for removal since 15.0.0.
2123# Its value may be silently ignored in the future.
2124# Reason:
2125# nova-network is deprecated, as are any related configuration options.
2126#cnt_vpn_clients = 0
2127
2128# DEPRECATED:
2129# This is the number of seconds to wait before disassociating a deallocated
2130# fixed
2131# IP address. This is only used with the nova-network service, and has no effect
2132# when using neutron for networking.
2133#
2134# Possible values:
2135#
2136# * Any integer, zero or greater.
2137#
2138# Related options:
2139#
2140# * ``use_neutron``
2141# (integer value)
2142# Minimum value: 0
2143# This option is deprecated for removal since 15.0.0.
2144# Its value may be silently ignored in the future.
2145# Reason:
2146# nova-network is deprecated, as are any related configuration options.
2147#fixed_ip_disassociate_timeout = 600
2148
2149# DEPRECATED:
2150# This option determines how many times nova-network will attempt to create a
2151# unique MAC address before giving up and raising a
2152# `VirtualInterfaceMacAddressException` error.
2153#
2154# Possible values:
2155#
2156# * Any positive integer. The default is 5.
2157#
2158# Related options:
2159#
2160# * ``use_neutron``
2161# (integer value)
2162# Minimum value: 1
2163# This option is deprecated for removal since 15.0.0.
2164# Its value may be silently ignored in the future.
2165# Reason:
2166# nova-network is deprecated, as are any related configuration options.
2167#create_unique_mac_address_attempts = 5
2168
2169# DEPRECATED:
2170# Determines whether unused gateway devices, both VLAN and bridge, are deleted
2171# if
2172# the network is in nova-network VLAN mode and is multi-hosted.
2173#
2174# Related options:
2175#
2176# * ``use_neutron``
2177# * ``vpn_ip``
2178# * ``fake_network``
2179# (boolean value)
2180# This option is deprecated for removal since 15.0.0.
2181# Its value may be silently ignored in the future.
2182# Reason:
2183# nova-network is deprecated, as are any related configuration options.
2184#teardown_unused_network_gateway = false
2185
2186# DEPRECATED:
2187# When this option is True, a call is made to release the DHCP for the instance
2188# when that instance is terminated.
2189#
2190# Related options:
2191#
2192# * ``use_neutron``
2193# (boolean value)
2194# This option is deprecated for removal since 15.0.0.
2195# Its value may be silently ignored in the future.
2196# Reason:
2197# nova-network is deprecated, as are any related configuration options.
2198#force_dhcp_release = true
2199
2200# DEPRECATED:
2201# When this option is True, whenever a DNS entry must be updated, a fanout cast
2202# message is sent to all network hosts to update their DNS entries in multi-host
2203# mode.
2204#
2205# Related options:
2206#
2207# * ``use_neutron``
2208# (boolean value)
2209# This option is deprecated for removal since 15.0.0.
2210# Its value may be silently ignored in the future.
2211# Reason:
2212# nova-network is deprecated, as are any related configuration options.
2213#update_dns_entries = false
2214
2215# DEPRECATED:
2216# This option determines the time, in seconds, to wait between refreshing DNS
2217# entries for the network.
2218#
2219# Possible values:
2220#
2221# * A positive integer
2222# * -1 to disable updates
2223#
2224# Related options:
2225#
2226# * ``use_neutron``
2227# (integer value)
2228# Minimum value: -1
2229# This option is deprecated for removal since 15.0.0.
2230# Its value may be silently ignored in the future.
2231# Reason:
2232# nova-network is deprecated, as are any related configuration options.
2233#dns_update_periodic_interval = -1
2234
2235# DEPRECATED:
2236# This option allows you to specify the domain for the DHCP server.
2237#
2238# Possible values:
2239#
2240# * Any string that is a valid domain name.
2241#
2242# Related options:
2243#
2244# * ``use_neutron``
2245# (string value)
2246# This option is deprecated for removal since 15.0.0.
2247# Its value may be silently ignored in the future.
2248# Reason:
2249# nova-network is deprecated, as are any related configuration options.
2250#dhcp_domain = novalocal
2251
2252# DEPRECATED:
2253# This option allows you to specify the L3 management library to be used.
2254#
2255# Possible values:
2256#
2257# * Any dot-separated string that represents the import path to an L3 networking
2258# library.
2259#
2260# Related options:
2261#
2262# * ``use_neutron``
2263# (string value)
2264# This option is deprecated for removal since 15.0.0.
2265# Its value may be silently ignored in the future.
2266# Reason:
2267# nova-network is deprecated, as are any related configuration options.
2268#l3_lib = nova.network.l3.LinuxNetL3
2269
2270# DEPRECATED:
2271# THIS VALUE SHOULD BE SET WHEN CREATING THE NETWORK.
2272#
2273# If True in multi_host mode, all compute hosts share the same dhcp address. The
2274# same IP address used for DHCP will be added on each nova-network node which is
2275# only visible to the VMs on the same host.
2276#
2277# The use of this configuration has been deprecated and may be removed in any
2278# release after Mitaka. It is recommended that instead of relying on this
2279# option,
2280# an explicit value should be passed to 'create_networks()' as a keyword
2281# argument
2282# with the name 'share_address'.
2283# (boolean value)
2284# This option is deprecated for removal since 2014.2.
2285# Its value may be silently ignored in the future.
2286#share_dhcp_address = false
2287
2288# DEPRECATED:
2289# URL for LDAP server which will store DNS entries
2290#
2291# Possible values:
2292#
2293# * A valid LDAP URL representing the server
2294# (uri value)
2295# This option is deprecated for removal since 16.0.0.
2296# Its value may be silently ignored in the future.
2297# Reason:
2298# nova-network is deprecated, as are any related configuration options.
2299#ldap_dns_url = ldap://ldap.example.com:389
2300
2301# DEPRECATED: Bind user for LDAP server (string value)
2302# This option is deprecated for removal since 16.0.0.
2303# Its value may be silently ignored in the future.
2304# Reason:
2305# nova-network is deprecated, as are any related configuration options.
2306#ldap_dns_user = uid=admin,ou=people,dc=example,dc=org
2307
2308# DEPRECATED: Bind user's password for LDAP server (string value)
2309# This option is deprecated for removal since 16.0.0.
2310# Its value may be silently ignored in the future.
2311# Reason:
2312# nova-network is deprecated, as are any related configuration options.
2313#ldap_dns_password = password
2314
2315# DEPRECATED:
2316# Hostmaster for LDAP DNS driver Statement of Authority
2317#
2318# Possible values:
2319#
2320# * Any valid string representing LDAP DNS hostmaster.
2321# (string value)
2322# This option is deprecated for removal since 16.0.0.
2323# Its value may be silently ignored in the future.
2324# Reason:
2325# nova-network is deprecated, as are any related configuration options.
2326#ldap_dns_soa_hostmaster = hostmaster@example.org
2327
2328# DEPRECATED:
2329# DNS Servers for LDAP DNS driver
2330#
2331# Possible values:
2332#
2333# * A valid URL representing a DNS server
2334# (multi valued)
2335# This option is deprecated for removal since 16.0.0.
2336# Its value may be silently ignored in the future.
2337# Reason:
2338# nova-network is deprecated, as are any related configuration options.
2339#ldap_dns_servers = dns.example.org
2340
2341# DEPRECATED:
2342# Base distinguished name for the LDAP search query
2343#
2344# This option helps to decide where to look up the host in LDAP.
2345# (string value)
2346# This option is deprecated for removal since 16.0.0.
2347# Its value may be silently ignored in the future.
2348# Reason:
2349# nova-network is deprecated, as are any related configuration options.
2350#ldap_dns_base_dn = ou=hosts,dc=example,dc=org
2351
2352# DEPRECATED:
2353# Refresh interval (in seconds) for LDAP DNS driver Start of Authority
2354#
2355# Time interval, a secondary/slave DNS server waits before requesting for
2356# primary DNS server's current SOA record. If the records are different,
2357# secondary DNS server will request a zone transfer from primary.
2358#
2359# NOTE: Lower values would cause more traffic.
2360# (integer value)
2361# This option is deprecated for removal since 16.0.0.
2362# Its value may be silently ignored in the future.
2363# Reason:
2364# nova-network is deprecated, as are any related configuration options.
2365#ldap_dns_soa_refresh = 1800
2366
2367# DEPRECATED:
2368# Retry interval (in seconds) for LDAP DNS driver Start of Authority
2369#
2370# Time interval, a secondary/slave DNS server should wait, if an
2371# attempt to transfer zone failed during the previous refresh interval.
2372# (integer value)
2373# This option is deprecated for removal since 16.0.0.
2374# Its value may be silently ignored in the future.
2375# Reason:
2376# nova-network is deprecated, as are any related configuration options.
2377#ldap_dns_soa_retry = 3600
2378
2379# DEPRECATED:
2380# Expiry interval (in seconds) for LDAP DNS driver Start of Authority
2381#
2382# Time interval, a secondary/slave DNS server holds the information
2383# before it is no longer considered authoritative.
2384# (integer value)
2385# This option is deprecated for removal since 16.0.0.
2386# Its value may be silently ignored in the future.
2387# Reason:
2388# nova-network is deprecated, as are any related configuration options.
2389#ldap_dns_soa_expiry = 86400
2390
2391# DEPRECATED:
2392# Minimum interval (in seconds) for LDAP DNS driver Start of Authority
2393#
2394# It is Minimum time-to-live applies for all resource records in the
2395# zone file. This value is supplied to other servers how long they
2396# should keep the data in cache.
2397# (integer value)
2398# This option is deprecated for removal since 16.0.0.
2399# Its value may be silently ignored in the future.
2400# Reason:
2401# nova-network is deprecated, as are any related configuration options.
2402#ldap_dns_soa_minimum = 7200
2403
2404# DEPRECATED:
2405# Default value for multi_host in networks.
2406#
2407# nova-network service can operate in a multi-host or single-host mode.
2408# In multi-host mode each compute node runs a copy of nova-network and the
2409# instances on that compute node use the compute node as a gateway to the
2410# Internet. Where as in single-host mode, a central server runs the nova-network
2411# service. All compute nodes forward traffic from the instances to the
2412# cloud controller which then forwards traffic to the Internet.
2413#
2414# If this options is set to true, some rpc network calls will be sent directly
2415# to host.
2416#
2417# Note that this option is only used when using nova-network instead of
2418# Neutron in your deployment.
2419#
2420# Related options:
2421#
2422# * ``use_neutron``
2423# (boolean value)
2424# This option is deprecated for removal since 15.0.0.
2425# Its value may be silently ignored in the future.
2426# Reason:
2427# nova-network is deprecated, as are any related configuration options.
2428#multi_host = false
2429
2430# DEPRECATED:
2431# Driver to use for network creation.
2432#
2433# Network driver initializes (creates bridges and so on) only when the
2434# first VM lands on a host node. All network managers configure the
2435# network using network drivers. The driver is not tied to any particular
2436# network manager.
2437#
2438# The default Linux driver implements vlans, bridges, and iptables rules
2439# using linux utilities.
2440#
2441# Note that this option is only used when using nova-network instead
2442# of Neutron in your deployment.
2443#
2444# Related options:
2445#
2446# * ``use_neutron``
2447# (string value)
2448# This option is deprecated for removal since 15.0.0.
2449# Its value may be silently ignored in the future.
2450# Reason:
2451# nova-network is deprecated, as are any related configuration options.
2452#network_driver = nova.network.linux_net
2453
2454# DEPRECATED:
2455# Firewall driver to use with ``nova-network`` service.
2456#
2457# This option only applies when using the ``nova-network`` service. When using
2458# another networking services, such as Neutron, this should be to set to the
2459# ``nova.virt.firewall.NoopFirewallDriver``.
2460#
2461# Possible values:
2462#
2463# * ``nova.virt.firewall.IptablesFirewallDriver``
2464# * ``nova.virt.firewall.NoopFirewallDriver``
2465# * ``nova.virt.libvirt.firewall.IptablesFirewallDriver``
2466# * [...]
2467#
2468# Related options:
2469#
2470# * ``use_neutron``: This must be set to ``False`` to enable ``nova-network``
2471# networking
2472# (string value)
2473# This option is deprecated for removal since 16.0.0.
2474# Its value may be silently ignored in the future.
2475# Reason:
2476# nova-network is deprecated, as are any related configuration options.
2477#firewall_driver = nova.virt.firewall.NoopFirewallDriver
2478
2479# DEPRECATED:
2480# Determine whether to allow network traffic from same network.
2481#
2482# When set to true, hosts on the same subnet are not filtered and are allowed
2483# to pass all types of traffic between them. On a flat network, this allows
2484# all instances from all projects unfiltered communication. With VLAN
2485# networking, this allows access between instances within the same project.
2486#
2487# This option only applies when using the ``nova-network`` service. When using
2488# another networking services, such as Neutron, security groups or other
2489# approaches should be used.
2490#
2491# Possible values:
2492#
2493# * True: Network traffic should be allowed pass between all instances on the
2494# same network, regardless of their tenant and security policies
2495# * False: Network traffic should not be allowed pass between instances unless
2496# it is unblocked in a security group
2497#
2498# Related options:
2499#
2500# * ``use_neutron``: This must be set to ``False`` to enable ``nova-network``
2501# networking
2502# * ``firewall_driver``: This must be set to
2503# ``nova.virt.libvirt.firewall.IptablesFirewallDriver`` to ensure the
2504# libvirt firewall driver is enabled.
2505# (boolean value)
2506# This option is deprecated for removal since 16.0.0.
2507# Its value may be silently ignored in the future.
2508# Reason:
2509# nova-network is deprecated, as are any related configuration options.
2510#allow_same_net_traffic = true
2511
2512# DEPRECATED:
2513# Default pool for floating IPs.
2514#
2515# This option specifies the default floating IP pool for allocating floating
2516# IPs.
2517#
2518# While allocating a floating ip, users can optionally pass in the name of the
2519# pool they want to allocate from, otherwise it will be pulled from the
2520# default pool.
2521#
2522# If this option is not set, then 'nova' is used as default floating pool.
2523#
2524# Possible values:
2525#
2526# * Any string representing a floating IP pool name
2527# (string value)
2528# This option is deprecated for removal since 16.0.0.
2529# Its value may be silently ignored in the future.
2530# Reason:
2531# This option was used for two purposes: to set the floating IP pool name for
2532# nova-network and to do the same for neutron. nova-network is deprecated, as
2533# are
2534# any related configuration options. Users of neutron, meanwhile, should use the
2535# 'default_floating_pool' option in the '[neutron]' group.
2536#default_floating_pool = nova
2537
2538# DEPRECATED:
2539# Autoassigning floating IP to VM
2540#
2541# When set to True, floating IP is auto allocated and associated
2542# to the VM upon creation.
2543#
2544# Related options:
2545#
2546# * use_neutron: this options only works with nova-network.
2547# (boolean value)
2548# This option is deprecated for removal since 15.0.0.
2549# Its value may be silently ignored in the future.
2550# Reason:
2551# nova-network is deprecated, as are any related configuration options.
2552#auto_assign_floating_ip = false
2553
2554# DEPRECATED:
2555# Full class name for the DNS Manager for floating IPs.
2556#
2557# This option specifies the class of the driver that provides functionality
2558# to manage DNS entries associated with floating IPs.
2559#
2560# When a user adds a DNS entry for a specified domain to a floating IP,
2561# nova will add a DNS entry using the specified floating DNS driver.
2562# When a floating IP is deallocated, its DNS entry will automatically be
2563# deleted.
2564#
2565# Possible values:
2566#
2567# * Full Python path to the class to be used
2568#
2569# Related options:
2570#
2571# * use_neutron: this options only works with nova-network.
2572# (string value)
2573# This option is deprecated for removal since 15.0.0.
2574# Its value may be silently ignored in the future.
2575# Reason:
2576# nova-network is deprecated, as are any related configuration options.
2577#floating_ip_dns_manager = nova.network.noop_dns_driver.NoopDNSDriver
2578
2579# DEPRECATED:
2580# Full class name for the DNS Manager for instance IPs.
2581#
2582# This option specifies the class of the driver that provides functionality
2583# to manage DNS entries for instances.
2584#
2585# On instance creation, nova will add DNS entries for the instance name and
2586# id, using the specified instance DNS driver and domain. On instance deletion,
2587# nova will remove the DNS entries.
2588#
2589# Possible values:
2590#
2591# * Full Python path to the class to be used
2592#
2593# Related options:
2594#
2595# * use_neutron: this options only works with nova-network.
2596# (string value)
2597# This option is deprecated for removal since 15.0.0.
2598# Its value may be silently ignored in the future.
2599# Reason:
2600# nova-network is deprecated, as are any related configuration options.
2601#instance_dns_manager = nova.network.noop_dns_driver.NoopDNSDriver
2602
2603# DEPRECATED:
2604# If specified, Nova checks if the availability_zone of every instance matches
2605# what the database says the availability_zone should be for the specified
2606# dns_domain.
2607#
2608# Related options:
2609#
2610# * use_neutron: this options only works with nova-network.
2611# (string value)
2612# This option is deprecated for removal since 15.0.0.
2613# Its value may be silently ignored in the future.
2614# Reason:
2615# nova-network is deprecated, as are any related configuration options.
2616#instance_dns_domain =
2617
2618#
2619# Filename that will be used for storing websocket frames received
2620# and sent by a proxy service (like VNC, spice, serial) running on this host.
2621# If this is not set, no recording will be done.
2622# (string value)
2623#record = <None>
2624
2625# Run as a background process. (boolean value)
2626#daemon = false
2627
2628# Disallow non-encrypted connections. (boolean value)
2629#ssl_only = false
2630
2631# Set to True if source host is addressed with IPv6. (boolean value)
2632#source_is_ipv6 = false
2633
2634# Path to SSL certificate file. (string value)
2635#cert = self.pem
2636
2637# SSL key file (if separate from cert). (string value)
2638#key = <None>
2639
2640#
2641# Path to directory with content which will be served by a web server.
2642# (string value)
2643#web = /usr/share/spice-html5
2644
2645#
2646# The directory where the Nova python modules are installed.
2647#
2648# This directory is used to store template files for networking and remote
2649# console access. It is also the default path for other config options which
2650# need to persist Nova internal data. It is very unlikely that you need to
2651# change this option from its default value.
2652#
2653# Possible values:
2654#
2655# * The full path to a directory.
2656#
2657# Related options:
2658#
2659# * ``state_path``
2660# (string value)
2661#pybasedir = /home/zuul/.venv/local/lib/python2.7/site-packages
2662
2663#
2664# The directory where the Nova binaries are installed.
2665#
2666# This option is only relevant if the networking capabilities from Nova are
2667# used (see services below). Nova's networking capabilities are targeted to
2668# be fully replaced by Neutron in the future. It is very unlikely that you need
2669# to change this option from its default value.
2670#
2671# Possible values:
2672#
2673# * The full path to a directory.
2674# (string value)
2675#bindir = /home/zuul/.venv/local/bin
2676
2677#
2678# The top-level directory for maintaining Nova's state.
2679#
2680# This directory is used to store Nova's internal state. It is used by a
2681# variety of other config options which derive from this. In some scenarios
2682# (for example migrations) it makes sense to use a storage location which is
2683# shared between multiple compute hosts (for example via NFS). Unless the
2684# option ``instances_path`` gets overwritten, this directory can grow very
2685# large.
2686#
2687# Possible values:
2688#
2689# * The full path to a directory. Defaults to value provided in ``pybasedir``.
2690# (string value)
2691#state_path = $pybasedir
2692
2693#
2694# Number of seconds indicating how frequently the state of services on a
2695# given hypervisor is reported. Nova needs to know this to determine the
2696# overall health of the deployment.
2697#
2698# Related Options:
2699#
2700# * service_down_time
2701# report_interval should be less than service_down_time. If service_down_time
2702# is less than report_interval, services will routinely be considered down,
2703# because they report in too rarely.
2704# (integer value)
2705#report_interval = 10
2706
2707#
2708# Maximum time in seconds since last check-in for up service
2709#
2710# Each compute node periodically updates their database status based on the
2711# specified report interval. If the compute node hasn't updated the status
2712# for more than service_down_time, then the compute node is considered down.
2713#
2714# Related Options:
2715#
2716# * report_interval (service_down_time should not be less than report_interval)
2717# (integer value)
2718#service_down_time = 60
2719
2720#
2721# Enable periodic tasks.
2722#
2723# If set to true, this option allows services to periodically run tasks
2724# on the manager.
2725#
2726# In case of running multiple schedulers or conductors you may want to run
2727# periodic tasks on only one host - in this case disable this option for all
2728# hosts but one.
2729# (boolean value)
2730#periodic_enable = true
2731
2732#
2733# Number of seconds to randomly delay when starting the periodic task
2734# scheduler to reduce stampeding.
2735#
2736# When compute workers are restarted in unison across a cluster,
2737# they all end up running the periodic tasks at the same time
2738# causing problems for the external services. To mitigate this
2739# behavior, periodic_fuzzy_delay option allows you to introduce a
2740# random initial delay when starting the periodic task scheduler.
2741#
2742# Possible Values:
2743#
2744# * Any positive integer (in seconds)
2745# * 0 : disable the random delay
2746# (integer value)
2747# Minimum value: 0
2748#periodic_fuzzy_delay = 60
2749
2750# List of APIs to be enabled by default. (list value)
2751#enabled_apis = osapi_compute,metadata
2752
2753#
2754# List of APIs with enabled SSL.
2755#
2756# Nova provides SSL support for the API servers. enabled_ssl_apis option
2757# allows configuring the SSL support.
2758# (list value)
2759#enabled_ssl_apis =
2760
2761#
2762# IP address on which the OpenStack API will listen.
2763#
2764# The OpenStack API service listens on this IP address for incoming
2765# requests.
2766# (string value)
2767#osapi_compute_listen = 0.0.0.0
2768
2769#
2770# Port on which the OpenStack API will listen.
2771#
2772# The OpenStack API service listens on this port number for incoming
2773# requests.
2774# (port value)
2775# Minimum value: 0
2776# Maximum value: 65535
2777#osapi_compute_listen_port = 8774
2778
2779#
2780# Number of workers for OpenStack API service. The default will be the number
2781# of CPUs available.
2782#
2783# OpenStack API services can be configured to run as multi-process (workers).
2784# This overcomes the problem of reduction in throughput when API request
2785# concurrency increases. OpenStack API service will run in the specified
2786# number of processes.
2787#
2788# Possible Values:
2789#
2790# * Any positive integer
2791# * None (default value)
2792# (integer value)
2793# Minimum value: 1
2794#osapi_compute_workers = <None>
2795
2796#
2797# IP address on which the metadata API will listen.
2798#
2799# The metadata API service listens on this IP address for incoming
2800# requests.
2801# (string value)
2802#metadata_listen = 0.0.0.0
2803
2804#
2805# Port on which the metadata API will listen.
2806#
2807# The metadata API service listens on this port number for incoming
2808# requests.
2809# (port value)
2810# Minimum value: 0
2811# Maximum value: 65535
2812#metadata_listen_port = 8775
2813
2814#
2815# Number of workers for metadata service. If not specified the number of
2816# available CPUs will be used.
2817#
2818# The metadata service can be configured to run as multi-process (workers).
2819# This overcomes the problem of reduction in throughput when API request
2820# concurrency increases. The metadata service will run in the specified
2821# number of processes.
2822#
2823# Possible Values:
2824#
2825# * Any positive integer
2826# * None (default value)
2827# (integer value)
2828# Minimum value: 1
2829#metadata_workers = <None>
2830
2831# Full class name for the Manager for network (string value)
2832# Allowed values: nova.network.manager.FlatManager, nova.network.manager.FlatDHCPManager, nova.network.manager.VlanManager
2833#network_manager = nova.network.manager.VlanManager
2834
2835#
2836# This option specifies the driver to be used for the servicegroup service.
2837#
2838# ServiceGroup API in nova enables checking status of a compute node. When a
2839# compute worker running the nova-compute daemon starts, it calls the join API
2840# to join the compute group. Services like nova scheduler can query the
2841# ServiceGroup API to check if a node is alive. Internally, the ServiceGroup
2842# client driver automatically updates the compute worker status. There are
2843# multiple backend implementations for this service: Database ServiceGroup
2844# driver
2845# and Memcache ServiceGroup driver.
2846#
2847# Possible Values:
2848#
2849# * db : Database ServiceGroup driver
2850# * mc : Memcache ServiceGroup driver
2851#
2852# Related Options:
2853#
2854# * service_down_time (maximum time since last check-in for up service)
2855# (string value)
2856# Allowed values: db, mc
2857#servicegroup_driver = db
2858
2859#
2860# From oslo.log
2861#
2862
2863# If set to true, the logging level will be set to DEBUG instead of the default
2864# INFO level. (boolean value)
2865# Note: This option can be changed without restarting.
2866#debug = false
2867
2868# The name of a logging configuration file. This file is appended to any
2869# existing logging configuration files. For details about logging configuration
2870# files, see the Python logging module documentation. Note that when logging
2871# configuration files are used then all logging configuration is set in the
2872# configuration file and other logging configuration options are ignored (for
2873# example, logging_context_format_string). (string value)
2874# Note: This option can be changed without restarting.
2875# Deprecated group/name - [DEFAULT]/log_config
2876#log_config_append = <None>
2877
2878# Defines the format string for %%(asctime)s in log records. Default:
2879# %(default)s . This option is ignored if log_config_append is set. (string
2880# value)
2881#log_date_format = %Y-%m-%d %H:%M:%S
2882
2883# (Optional) Name of log file to send logging output to. If no default is set,
2884# logging will go to stderr as defined by use_stderr. This option is ignored if
2885# log_config_append is set. (string value)
2886# Deprecated group/name - [DEFAULT]/logfile
2887#log_file = <None>
2888
2889# (Optional) The base directory used for relative log_file paths. This option
2890# is ignored if log_config_append is set. (string value)
2891# Deprecated group/name - [DEFAULT]/logdir
2892#log_dir = <None>
2893
2894# Uses logging handler designed to watch file system. When log file is moved or
2895# removed this handler will open a new log file with specified path
2896# instantaneously. It makes sense only if log_file option is specified and Linux
2897# platform is used. This option is ignored if log_config_append is set. (boolean
2898# value)
2899#watch_log_file = false
2900
2901# Use syslog for logging. Existing syslog format is DEPRECATED and will be
2902# changed later to honor RFC5424. This option is ignored if log_config_append is
2903# set. (boolean value)
2904#use_syslog = false
2905
2906# Enable journald for logging. If running in a systemd environment you may wish
2907# to enable journal support. Doing so will use the journal native protocol which
2908# includes structured metadata in addition to log messages.This option is
2909# ignored if log_config_append is set. (boolean value)
2910#use_journal = false
2911
2912# Syslog facility to receive log lines. This option is ignored if
2913# log_config_append is set. (string value)
2914#syslog_log_facility = LOG_USER
2915
2916# Log output to standard error. This option is ignored if log_config_append is
2917# set. (boolean value)
2918#use_stderr = false
2919
2920# Format string to use for log messages with context. (string value)
2921#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
2922
2923# Format string to use for log messages when context is undefined. (string
2924# value)
2925#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
2926
2927# Additional data to append to log message when logging level for the message is
2928# DEBUG. (string value)
2929#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d
2930
2931# Prefix each line of exception output with this format. (string value)
2932#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
2933
2934# Defines the format string for %(user_identity)s that is used in
2935# logging_context_format_string. (string value)
2936#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
2937
2938# List of package logging levels in logger=LEVEL pairs. This option is ignored
2939# if log_config_append is set. (list value)
2940#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
2941
2942# Enables or disables publication of error events. (boolean value)
2943#publish_errors = false
2944
2945# The format for an instance that is passed with the log message. (string value)
2946#instance_format = "[instance: %(uuid)s] "
2947
2948# The format for an instance UUID that is passed with the log message. (string
2949# value)
2950#instance_uuid_format = "[instance: %(uuid)s] "
2951
2952# Interval, number of seconds, of log rate limiting. (integer value)
2953#rate_limit_interval = 0
2954
2955# Maximum number of logged messages per rate_limit_interval. (integer value)
2956#rate_limit_burst = 0
2957
2958# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG or
2959# empty string. Logs with level greater or equal to rate_limit_except_level are
2960# not filtered. An empty string means that all levels are filtered. (string
2961# value)
2962#rate_limit_except_level = CRITICAL
2963
2964# Enables or disables fatal status of deprecations. (boolean value)
2965#fatal_deprecations = false
2966
2967#
2968# From oslo.messaging
2969#
2970
2971# Size of RPC connection pool. (integer value)
2972#rpc_conn_pool_size = 30
2973
2974# The pool size limit for connections expiration policy (integer value)
2975#conn_pool_min_size = 2
2976
2977# The time-to-live in sec of idle connections in the pool (integer value)
2978#conn_pool_ttl = 1200
2979
2980# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
2981# The "host" option should point or resolve to this address. (string value)
2982#rpc_zmq_bind_address = *
2983
2984# MatchMaker driver. (string value)
2985# Allowed values: redis, sentinel, dummy
2986#rpc_zmq_matchmaker = redis
2987
2988# Number of ZeroMQ contexts, defaults to 1. (integer value)
2989#rpc_zmq_contexts = 1
2990
2991# Maximum number of ingress messages to locally buffer per topic. Default is
2992# unlimited. (integer value)
2993#rpc_zmq_topic_backlog = <None>
2994
2995# Directory for holding IPC sockets. (string value)
2996#rpc_zmq_ipc_dir = /var/run/openstack
2997
2998# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
2999# "host" option, if running Nova. (string value)
3000#rpc_zmq_host = localhost
3001
3002# Number of seconds to wait before all pending messages will be sent after
3003# closing a socket. The default value of -1 specifies an infinite linger period.
3004# The value of 0 specifies no linger period. Pending messages shall be discarded
3005# immediately when the socket is closed. Positive values specify an upper bound
3006# for the linger period. (integer value)
3007# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
3008#zmq_linger = -1
3009
3010# The default number of seconds that poll should wait. Poll raises timeout
3011# exception when timeout expired. (integer value)
3012#rpc_poll_timeout = 1
3013
3014# Expiration timeout in seconds of a name service record about existing target (
3015# < 0 means no timeout). (integer value)
3016#zmq_target_expire = 300
3017
3018# Update period in seconds of a name service record about existing target.
3019# (integer value)
3020#zmq_target_update = 180
3021
3022# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
3023# value)
3024#use_pub_sub = false
3025
3026# Use ROUTER remote proxy. (boolean value)
3027#use_router_proxy = false
3028
3029# This option makes direct connections dynamic or static. It makes sense only
3030# with use_router_proxy=False which means to use direct connections for direct
3031# message types (ignored otherwise). (boolean value)
3032#use_dynamic_connections = false
3033
3034# How many additional connections to a host will be made for failover reasons.
3035# This option is actual only in dynamic connections mode. (integer value)
3036#zmq_failover_connections = 2
3037
3038# Minimal port number for random ports range. (port value)
3039# Minimum value: 0
3040# Maximum value: 65535
3041#rpc_zmq_min_port = 49153
3042
3043# Maximal port number for random ports range. (integer value)
3044# Minimum value: 1
3045# Maximum value: 65536
3046#rpc_zmq_max_port = 65536
3047
3048# Number of retries to find free port number before fail with ZMQBindError.
3049# (integer value)
3050#rpc_zmq_bind_port_retries = 100
3051
3052# Default serialization mechanism for serializing/deserializing
3053# outgoing/incoming messages (string value)
3054# Allowed values: json, msgpack
3055#rpc_zmq_serialization = json
3056
3057# This option configures round-robin mode in zmq socket. True means not keeping
3058# a queue when server side disconnects. False means to keep queue and messages
3059# even if server is disconnected, when the server appears we send all
3060# accumulated messages to it. (boolean value)
3061#zmq_immediate = true
3062
3063# Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any
3064# other negative value) means to skip any overrides and leave it to OS default;
3065# 0 and 1 (or any other positive value) mean to disable and enable the option
3066# respectively. (integer value)
3067#zmq_tcp_keepalive = -1
3068
3069# The duration between two keepalive transmissions in idle condition. The unit
3070# is platform dependent, for example, seconds in Linux, milliseconds in Windows
3071# etc. The default value of -1 (or any other negative value and 0) means to skip
3072# any overrides and leave it to OS default. (integer value)
3073#zmq_tcp_keepalive_idle = -1
3074
3075# The number of retransmissions to be carried out before declaring that remote
3076# end is not available. The default value of -1 (or any other negative value and
3077# 0) means to skip any overrides and leave it to OS default. (integer value)
3078#zmq_tcp_keepalive_cnt = -1
3079
3080# The duration between two successive keepalive retransmissions, if
3081# acknowledgement to the previous keepalive transmission is not received. The
3082# unit is platform dependent, for example, seconds in Linux, milliseconds in
3083# Windows etc. The default value of -1 (or any other negative value and 0) means
3084# to skip any overrides and leave it to OS default. (integer value)
3085#zmq_tcp_keepalive_intvl = -1
3086
3087# Maximum number of (green) threads to work concurrently. (integer value)
3088#rpc_thread_pool_size = 100
3089
3090# Expiration timeout in seconds of a sent/received message after which it is not
3091# tracked anymore by a client/server. (integer value)
3092#rpc_message_ttl = 300
3093
3094# Wait for message acknowledgements from receivers. This mechanism works only
3095# via proxy without PUB/SUB. (boolean value)
3096#rpc_use_acks = false
3097
3098# Number of seconds to wait for an ack from a cast/call. After each retry
3099# attempt this timeout is multiplied by some specified multiplier. (integer
3100# value)
3101#rpc_ack_timeout_base = 15
3102
3103# Number to multiply base ack timeout by after each retry attempt. (integer
3104# value)
3105#rpc_ack_timeout_multiplier = 2
3106
3107# Default number of message sending attempts in case of any problems occurred:
3108# positive value N means at most N retries, 0 means no retries, None or -1 (or
3109# any other negative values) mean to retry forever. This option is used only if
3110# acknowledgments are enabled. (integer value)
3111#rpc_retry_attempts = 3
3112
3113# List of publisher hosts SubConsumer can subscribe on. This option has higher
3114# priority then the default publishers list taken from the matchmaker. (list
3115# value)
3116#subscribe_on =
3117
3118# Size of executor thread pool when executor is threading or eventlet. (integer
3119# value)
3120# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
3121#executor_thread_pool_size = 64
3122
3123# Seconds to wait for a response from a call. (integer value)
3124#rpc_response_timeout = 60
3125
3126# A URL representing the messaging driver to use and its full configuration.
3127# (string value)
3128#transport_url = <None>
3129
3130# DEPRECATED: The messaging driver to use, defaults to rabbit. Other drivers
3131# include amqp and zmq. (string value)
3132# This option is deprecated for removal.
3133# Its value may be silently ignored in the future.
3134# Reason: Replaced by [DEFAULT]/transport_url
3135#rpc_backend = rabbit
3136
3137# The default exchange under which topics are scoped. May be overridden by an
3138# exchange name specified in the transport_url option. (string value)
3139#control_exchange = openstack
3140
3141#
3142# From oslo.service.periodic_task
3143#
3144
3145# Some periodic tasks can be run in a separate process. Should we run them here?
3146# (boolean value)
3147#run_external_periodic_tasks = true
3148
3149#
3150# From oslo.service.service
3151#
3152
3153# Enable eventlet backdoor. Acceptable values are 0, <port>, and <start>:<end>,
3154# where 0 results in listening on a random tcp port number; <port> results in
3155# listening on the specified port number (and not enabling backdoor if that port
3156# is in use); and <start>:<end> results in listening on the smallest unused port
3157# number within the specified range of port numbers. The chosen port is
3158# displayed in the service's log file. (string value)
3159#backdoor_port = <None>
3160
3161# Enable eventlet backdoor, using the provided path as a unix socket that can
3162# receive connections. This option is mutually exclusive with 'backdoor_port' in
3163# that only one should be provided. If both are provided then the existence of
3164# this option overrides the usage of that option. (string value)
3165#backdoor_socket = <None>
3166
3167# Enables or disables logging values of all registered options when starting a
3168# service (at DEBUG level). (boolean value)
3169#log_options = true
3170
3171# Specify a timeout after which a gracefully shutdown server will exit. Zero
3172# value means endless wait. (integer value)
3173#graceful_shutdown_timeout = 60
3174
3175
3176[api]
3177#
3178# Options under this group are used to define Nova API.
3179
3180#
3181# From nova.conf
3182#
3183
3184#
3185# This determines the strategy to use for authentication: keystone or noauth2.
3186# 'noauth2' is designed for testing only, as it does no actual credential
3187# checking. 'noauth2' provides administrative credentials only if 'admin' is
3188# specified as the username.
3189# (string value)
3190# Allowed values: keystone, noauth2
3191#auth_strategy = keystone
3192
3193#
3194# When True, the 'X-Forwarded-For' header is treated as the canonical remote
3195# address. When False (the default), the 'remote_address' header is used.
3196#
3197# You should only enable this if you have an HTML sanitizing proxy.
3198# (boolean value)
3199#use_forwarded_for = false
3200
3201#
3202# When gathering the existing metadata for a config drive, the EC2-style
3203# metadata is returned for all versions that don't appear in this option.
3204# As of the Liberty release, the available versions are:
3205#
3206# * 1.0
3207# * 2007-01-19
3208# * 2007-03-01
3209# * 2007-08-29
3210# * 2007-10-10
3211# * 2007-12-15
3212# * 2008-02-01
3213# * 2008-09-01
3214# * 2009-04-04
3215#
3216# The option is in the format of a single string, with each version separated
3217# by a space.
3218#
3219# Possible values:
3220#
3221# * Any string that represents zero or more versions, separated by spaces.
3222# (string value)
3223#config_drive_skip_versions = 1.0 2007-01-19 2007-03-01 2007-08-29 2007-10-10 2007-12-15 2008-02-01 2008-09-01
3224
3225#
3226# A list of vendordata providers.
3227#
3228# vendordata providers are how deployers can provide metadata via configdrive
3229# and metadata that is specific to their deployment. There are currently two
3230# supported providers: StaticJSON and DynamicJSON.
3231#
3232# StaticJSON reads a JSON file configured by the flag vendordata_jsonfile_path
3233# and places the JSON from that file into vendor_data.json and
3234# vendor_data2.json.
3235#
3236# DynamicJSON is configured via the vendordata_dynamic_targets flag, which is
3237# documented separately. For each of the endpoints specified in that flag, a
3238# section is added to the vendor_data2.json.
3239#
3240# For more information on the requirements for implementing a vendordata
3241# dynamic endpoint, please see the vendordata.rst file in the nova developer
3242# reference.
3243#
3244# Possible values:
3245#
3246# * A list of vendordata providers, with StaticJSON and DynamicJSON being
3247# current options.
3248#
3249# Related options:
3250#
3251# * vendordata_dynamic_targets
3252# * vendordata_dynamic_ssl_certfile
3253# * vendordata_dynamic_connect_timeout
3254# * vendordata_dynamic_read_timeout
3255# * vendordata_dynamic_failure_fatal
3256# (list value)
3257#vendordata_providers =
3258
3259#
3260# A list of targets for the dynamic vendordata provider. These targets are of
3261# the form <name>@<url>.
3262#
3263# The dynamic vendordata provider collects metadata by contacting external REST
3264# services and querying them for information about the instance. This behaviour
3265# is documented in the vendordata.rst file in the nova developer reference.
3266# (list value)
3267#vendordata_dynamic_targets =
3268
3269#
3270# Path to an optional certificate file or CA bundle to verify dynamic
3271# vendordata REST services ssl certificates against.
3272#
3273# Possible values:
3274#
3275# * An empty string, or a path to a valid certificate file
3276#
3277# Related options:
3278#
3279# * vendordata_providers
3280# * vendordata_dynamic_targets
3281# * vendordata_dynamic_connect_timeout
3282# * vendordata_dynamic_read_timeout
3283# * vendordata_dynamic_failure_fatal
3284# (string value)
3285#vendordata_dynamic_ssl_certfile =
3286
3287#
3288# Maximum wait time for an external REST service to connect.
3289#
3290# Possible values:
3291#
3292# * Any integer with a value greater than three (the TCP packet retransmission
3293# timeout). Note that instance start may be blocked during this wait time,
3294# so this value should be kept small.
3295#
3296# Related options:
3297#
3298# * vendordata_providers
3299# * vendordata_dynamic_targets
3300# * vendordata_dynamic_ssl_certfile
3301# * vendordata_dynamic_read_timeout
3302# * vendordata_dynamic_failure_fatal
3303# (integer value)
3304# Minimum value: 3
3305#vendordata_dynamic_connect_timeout = 5
3306
3307#
3308# Maximum wait time for an external REST service to return data once connected.
3309#
3310# Possible values:
3311#
3312# * Any integer. Note that instance start is blocked during this wait time,
3313# so this value should be kept small.
3314#
3315# Related options:
3316#
3317# * vendordata_providers
3318# * vendordata_dynamic_targets
3319# * vendordata_dynamic_ssl_certfile
3320# * vendordata_dynamic_connect_timeout
3321# * vendordata_dynamic_failure_fatal
3322# (integer value)
3323# Minimum value: 0
3324#vendordata_dynamic_read_timeout = 5
3325
3326#
3327# Should failures to fetch dynamic vendordata be fatal to instance boot?
3328#
3329# Related options:
3330#
3331# * vendordata_providers
3332# * vendordata_dynamic_targets
3333# * vendordata_dynamic_ssl_certfile
3334# * vendordata_dynamic_connect_timeout
3335# * vendordata_dynamic_read_timeout
3336# (boolean value)
3337#vendordata_dynamic_failure_fatal = false
3338
3339#
3340# This option is the time (in seconds) to cache metadata. When set to 0,
3341# metadata caching is disabled entirely; this is generally not recommended for
3342# performance reasons. Increasing this setting should improve response times
3343# of the metadata API when under heavy load. Higher values may increase memory
3344# usage, and result in longer times for host metadata changes to take effect.
3345# (integer value)
3346# Minimum value: 0
3347#metadata_cache_expiration = 15
3348
3349#
3350# Cloud providers may store custom data in vendor data file that will then be
3351# available to the instances via the metadata service, and to the rendering of
3352# config-drive. The default class for this, JsonFileVendorData, loads this
3353# information from a JSON file, whose path is configured by this option. If
3354# there is no path set by this option, the class returns an empty dictionary.
3355#
3356# Possible values:
3357#
3358# * Any string representing the path to the data file, or an empty string
3359# (default).
3360# (string value)
3361#vendordata_jsonfile_path = <None>
3362
3363#
3364# As a query can potentially return many thousands of items, you can limit the
3365# maximum number of items in a single response by setting this option.
3366# (integer value)
3367# Minimum value: 0
3368# Deprecated group/name - [DEFAULT]/osapi_max_limit
3369#max_limit = 1000
3370
3371#
3372# This string is prepended to the normal URL that is returned in links to the
3373# OpenStack Compute API. If it is empty (the default), the URLs are returned
3374# unchanged.
3375#
3376# Possible values:
3377#
3378# * Any string, including an empty string (the default).
3379# (string value)
3380# Deprecated group/name - [DEFAULT]/osapi_compute_link_prefix
3381#compute_link_prefix = <None>
3382
3383#
3384# This string is prepended to the normal URL that is returned in links to
3385# Glance resources. If it is empty (the default), the URLs are returned
3386# unchanged.
3387#
3388# Possible values:
3389#
3390# * Any string, including an empty string (the default).
3391# (string value)
3392# Deprecated group/name - [DEFAULT]/osapi_glance_link_prefix
3393#glance_link_prefix = <None>
3394
3395# DEPRECATED:
3396# Operators can turn off the ability for a user to take snapshots of their
3397# instances by setting this option to False. When disabled, any attempt to
3398# take a snapshot will result in a HTTP 400 response ("Bad Request").
3399# (boolean value)
3400# This option is deprecated for removal since 16.0.0.
3401# Its value may be silently ignored in the future.
3402# Reason: This option disables the createImage server action API in a non-
3403# discoverable way and is thus a barrier to interoperability. Also, it is not
3404# used for other APIs that create snapshots like shelve or createBackup.
3405# Disabling snapshots should be done via policy if so desired.
3406#allow_instance_snapshots = true
3407
3408#
3409# This option is a list of all instance states for which network address
3410# information should not be returned from the API.
3411#
3412# Possible values:
3413#
3414# A list of strings, where each string is a valid VM state, as defined in
3415# nova/compute/vm_states.py. As of the Newton release, they are:
3416#
3417# * "active"
3418# * "building"
3419# * "paused"
3420# * "suspended"
3421# * "stopped"
3422# * "rescued"
3423# * "resized"
3424# * "soft-delete"
3425# * "deleted"
3426# * "error"
3427# * "shelved"
3428# * "shelved_offloaded"
3429# (list value)
3430# Deprecated group/name - [DEFAULT]/osapi_hide_server_address_states
3431#hide_server_address_states = building
3432
3433# The full path to the fping binary. (string value)
3434#fping_path = /usr/sbin/fping
3435
3436#
3437# When True, the TenantNetworkController will query the Neutron API to get the
3438# default networks to use.
3439#
3440# Related options:
3441#
3442# * neutron_default_tenant_id
3443# (boolean value)
3444#use_neutron_default_nets = false
3445
3446#
3447# Tenant ID for getting the default network from Neutron API (also referred in
3448# some places as the 'project ID') to use.
3449#
3450# Related options:
3451#
3452# * use_neutron_default_nets
3453# (string value)
3454#neutron_default_tenant_id = default
3455
3456#
3457# Enables returning of the instance password by the relevant server API calls
3458# such as create, rebuild, evacuate, or rescue. If the hypervisor does not
3459# support password injection, then the password returned will not be correct,
3460# so if your hypervisor does not support password injection, set this to False.
3461# (boolean value)
3462#enable_instance_password = true
3463
3464
3465[api_database]
3466#
3467# The *Nova API Database* is a separate database which is used for information
3468# which is used across *cells*. This database is mandatory since the Mitaka
3469# release (13.0.0).
3470
3471#
3472# From nova.conf
3473#
3474
3475# The SQLAlchemy connection string to use to connect to the database. (string
3476# value)
3477#connection = <None>
3478
3479# If True, SQLite uses synchronous mode. (boolean value)
3480#sqlite_synchronous = true
3481
3482# The SQLAlchemy connection string to use to connect to the slave database.
3483# (string value)
3484#slave_connection = <None>
3485
3486# The SQL mode to be used for MySQL sessions. This option, including the
3487# default, overrides any server-set SQL mode. To use whatever SQL mode is set by
3488# the server configuration, set this to no value. Example: mysql_sql_mode=
3489# (string value)
3490#mysql_sql_mode = TRADITIONAL
3491
3492# Timeout before idle SQL connections are reaped. (integer value)
3493#idle_timeout = 3600
3494
3495# Maximum number of SQL connections to keep open in a pool. Setting a value of 0
3496# indicates no limit. (integer value)
3497#max_pool_size = <None>
3498
3499# Maximum number of database connection retries during startup. Set to -1 to
3500# specify an infinite retry count. (integer value)
3501#max_retries = 10
3502
3503# Interval between retries of opening a SQL connection. (integer value)
3504#retry_interval = 10
3505
3506# If set, use this value for max_overflow with SQLAlchemy. (integer value)
3507#max_overflow = <None>
3508
3509# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
3510# value)
3511#connection_debug = 0
3512
3513# Add Python stack traces to SQL as comment strings. (boolean value)
3514#connection_trace = false
3515
3516# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
3517#pool_timeout = <None>
3518
3519
3520[barbican]
3521
3522#
3523# From nova.conf
3524#
3525
3526# Use this endpoint to connect to Barbican, for example:
3527# "http://localhost:9311/" (string value)
3528#barbican_endpoint = <None>
3529
3530# Version of the Barbican API, for example: "v1" (string value)
3531#barbican_api_version = <None>
3532
3533# Use this endpoint to connect to Keystone (string value)
3534# Deprecated group/name - [key_manager]/auth_url
3535#auth_endpoint = http://localhost/identity/v3
3536
3537# Number of seconds to wait before retrying poll for key creation completion
3538# (integer value)
3539#retry_delay = 1
3540
3541# Number of times to retry poll for key creation completion (integer value)
3542#number_of_retries = 60
3543
3544# Specifies if insecure TLS (https) requests. If False, the server's certificate
3545# will not be validated (boolean value)
3546#verify_ssl = true
3547
3548
3549[cache]
3550
3551#
3552# From nova.conf
3553#
3554
3555# Prefix for building the configuration dictionary for the cache region. This
3556# should not need to be changed unless there is another dogpile.cache region
3557# with the same configuration name. (string value)
3558#config_prefix = cache.oslo
3559
3560# Default TTL, in seconds, for any cached item in the dogpile.cache region. This
3561# applies to any cached method that doesn't have an explicit cache expiration
3562# time defined for it. (integer value)
3563#expiration_time = 600
3564
3565# Cache backend module. For eventlet-based or environments with hundreds of
3566# threaded servers, Memcache with pooling (oslo_cache.memcache_pool) is
3567# recommended. For environments with less than 100 threaded servers, Memcached
3568# (dogpile.cache.memcached) or Redis (dogpile.cache.redis) is recommended. Test
3569# environments with a single instance of the server can use the
3570# dogpile.cache.memory backend. (string value)
3571# Allowed values: oslo_cache.memcache_pool, oslo_cache.dict, dogpile.cache.memcached, dogpile.cache.redis, dogpile.cache.memory, dogpile.cache.null
3572#backend = dogpile.cache.null
3573
3574# Arguments supplied to the backend module. Specify this option once per
3575# argument to be passed to the dogpile.cache backend. Example format:
3576# "<argname>:<value>". (multi valued)
3577#backend_argument =
3578
3579# Proxy classes to import that will affect the way the dogpile.cache backend
3580# functions. See the dogpile.cache documentation on changing-backend-behavior.
3581# (list value)
3582#proxies =
3583
3584# Global toggle for caching. (boolean value)
3585#enabled = false
3586
3587# Extra debugging from the cache backend (cache keys, get/set/delete/etc calls).
3588# This is only really useful if you need to see the specific cache-backend
3589# get/set/delete calls with the keys/values. Typically this should be left set
3590# to false. (boolean value)
3591#debug_cache_backend = false
3592
3593# Memcache servers in the format of "host:port". (dogpile.cache.memcache and
3594# oslo_cache.memcache_pool backends only). (list value)
3595#memcache_servers = localhost:11211
3596
3597# Number of seconds memcached server is considered dead before it is tried
3598# again. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only).
3599# (integer value)
3600#memcache_dead_retry = 300
3601
3602# Timeout in seconds for every call to a server. (dogpile.cache.memcache and
3603# oslo_cache.memcache_pool backends only). (integer value)
3604#memcache_socket_timeout = 3
3605
3606# Max total number of open connections to every memcached server.
3607# (oslo_cache.memcache_pool backend only). (integer value)
3608#memcache_pool_maxsize = 10
3609
3610# Number of seconds a connection to memcached is held unused in the pool before
3611# it is closed. (oslo_cache.memcache_pool backend only). (integer value)
3612#memcache_pool_unused_timeout = 60
3613
3614# Number of seconds that an operation will wait to get a memcache client
3615# connection. (integer value)
3616#memcache_pool_connection_get_timeout = 10
3617
3618
3619[cells]
3620#
3621# DEPRECATED: Cells options allow you to use cells v1 functionality in an
3622# OpenStack deployment.
3623#
3624# Note that the options in this group are only for cells v1 functionality, which
3625# is considered experimental and not recommended for new deployments. Cells v1
3626# is being replaced with cells v2, which starting in the 15.0.0 Ocata release is
3627# required and all Nova deployments will be at least a cells v2 cell of one.
3628#
3629
3630#
3631# From nova.conf
3632#
3633
3634# DEPRECATED:
3635# Enable cell v1 functionality.
3636#
3637# Note that cells v1 is considered experimental and not recommended for new
3638# Nova deployments. Cells v1 is being replaced by cells v2 which starting in
3639# the 15.0.0 Ocata release, all Nova deployments are at least a cells v2 cell
3640# of one. Setting this option, or any other options in the [cells] group, is
3641# not required for cells v2.
3642#
3643# When this functionality is enabled, it lets you to scale an OpenStack
3644# Compute cloud in a more distributed fashion without having to use
3645# complicated technologies like database and message queue clustering.
3646# Cells are configured as a tree. The top-level cell should have a host
3647# that runs a nova-api service, but no nova-compute services. Each
3648# child cell should run all of the typical nova-* services in a regular
3649# Compute cloud except for nova-api. You can think of cells as a normal
3650# Compute deployment in that each cell has its own database server and
3651# message queue broker.
3652#
3653# Related options:
3654#
3655# * name: A unique cell name must be given when this functionality
3656# is enabled.
3657# * cell_type: Cell type should be defined for all cells.
3658# (boolean value)
3659# This option is deprecated for removal since 16.0.0.
3660# Its value may be silently ignored in the future.
3661# Reason: Cells v1 is being replaced with Cells v2.
3662#enable = false
3663
3664# DEPRECATED:
3665# Name of the current cell.
3666#
3667# This value must be unique for each cell. Name of a cell is used as
3668# its id, leaving this option unset or setting the same name for
3669# two or more cells may cause unexpected behaviour.
3670#
3671# Related options:
3672#
3673# * enabled: This option is meaningful only when cells service
3674# is enabled
3675# (string value)
3676# This option is deprecated for removal since 16.0.0.
3677# Its value may be silently ignored in the future.
3678# Reason: Cells v1 is being replaced with Cells v2.
3679#name = nova
3680
3681# DEPRECATED:
3682# Cell capabilities.
3683#
3684# List of arbitrary key=value pairs defining capabilities of the
3685# current cell to be sent to the parent cells. These capabilities
3686# are intended to be used in cells scheduler filters/weighers.
3687#
3688# Possible values:
3689#
3690# * key=value pairs list for example;
3691# ``hypervisor=xenserver;kvm,os=linux;windows``
3692# (list value)
3693# This option is deprecated for removal since 16.0.0.
3694# Its value may be silently ignored in the future.
3695# Reason: Cells v1 is being replaced with Cells v2.
3696#capabilities = hypervisor=xenserver;kvm,os=linux;windows
3697
3698# DEPRECATED:
3699# Call timeout.
3700#
3701# Cell messaging module waits for response(s) to be put into the
3702# eventlet queue. This option defines the seconds waited for
3703# response from a call to a cell.
3704#
3705# Possible values:
3706#
3707# * An integer, corresponding to the interval time in seconds.
3708# (integer value)
3709# Minimum value: 0
3710# This option is deprecated for removal since 16.0.0.
3711# Its value may be silently ignored in the future.
3712# Reason: Cells v1 is being replaced with Cells v2.
3713#call_timeout = 60
3714
3715# DEPRECATED:
3716# Reserve percentage
3717#
3718# Percentage of cell capacity to hold in reserve, so the minimum
3719# amount of free resource is considered to be;
3720#
3721# min_free = total * (reserve_percent / 100.0)
3722#
3723# This option affects both memory and disk utilization.
3724#
3725# The primary purpose of this reserve is to ensure some space is
3726# available for users who want to resize their instance to be larger.
3727# Note that currently once the capacity expands into this reserve
3728# space this option is ignored.
3729#
3730# Possible values:
3731#
3732# * An integer or float, corresponding to the percentage of cell capacity to
3733# be held in reserve.
3734# (floating point value)
3735# This option is deprecated for removal since 16.0.0.
3736# Its value may be silently ignored in the future.
3737# Reason: Cells v1 is being replaced with Cells v2.
3738#reserve_percent = 10.0
3739
3740# DEPRECATED:
3741# Type of cell.
3742#
3743# When cells feature is enabled the hosts in the OpenStack Compute
3744# cloud are partitioned into groups. Cells are configured as a tree.
3745# The top-level cell's cell_type must be set to ``api``. All other
3746# cells are defined as a ``compute cell`` by default.
3747#
3748# Related option:
3749#
3750# * quota_driver: Disable quota checking for the child cells.
3751# (nova.quota.NoopQuotaDriver)
3752# (string value)
3753# Allowed values: api, compute
3754# This option is deprecated for removal since 16.0.0.
3755# Its value may be silently ignored in the future.
3756# Reason: Cells v1 is being replaced with Cells v2.
3757#cell_type = compute
3758
3759# DEPRECATED:
3760# Mute child interval.
3761#
3762# Number of seconds after which a lack of capability and capacity
3763# update the child cell is to be treated as a mute cell. Then the
3764# child cell will be weighed as recommend highly that it be skipped.
3765#
3766# Possible values:
3767#
3768# * An integer, corresponding to the interval time in seconds.
3769# (integer value)
3770# This option is deprecated for removal since 16.0.0.
3771# Its value may be silently ignored in the future.
3772# Reason: Cells v1 is being replaced with Cells v2.
3773#mute_child_interval = 300
3774
3775# DEPRECATED:
3776# Bandwidth update interval.
3777#
3778# Seconds between bandwidth usage cache updates for cells.
3779#
3780# Possible values:
3781#
3782# * An integer, corresponding to the interval time in seconds.
3783# (integer value)
3784# This option is deprecated for removal since 16.0.0.
3785# Its value may be silently ignored in the future.
3786# Reason: Cells v1 is being replaced with Cells v2.
3787#bandwidth_update_interval = 600
3788
3789# DEPRECATED:
3790# Instance update sync database limit.
3791#
3792# Number of instances to pull from the database at one time for
3793# a sync. If there are more instances to update the results will
3794# be paged through.
3795#
3796# Possible values:
3797#
3798# * An integer, corresponding to a number of instances.
3799# (integer value)
3800# This option is deprecated for removal since 16.0.0.
3801# Its value may be silently ignored in the future.
3802# Reason: Cells v1 is being replaced with Cells v2.
3803#instance_update_sync_database_limit = 100
3804
3805# DEPRECATED:
3806# Mute weight multiplier.
3807#
3808# Multiplier used to weigh mute children. Mute children cells are
3809# recommended to be skipped so their weight is multiplied by this
3810# negative value.
3811#
3812# Possible values:
3813#
3814# * Negative numeric number
3815# (floating point value)
3816# This option is deprecated for removal since 16.0.0.
3817# Its value may be silently ignored in the future.
3818# Reason: Cells v1 is being replaced with Cells v2.
3819#mute_weight_multiplier = -10000.0
3820
3821# DEPRECATED:
3822# Ram weight multiplier.
3823#
3824# Multiplier used for weighing ram. Negative numbers indicate that
3825# Compute should stack VMs on one host instead of spreading out new
3826# VMs to more hosts in the cell.
3827#
3828# Possible values:
3829#
3830# * Numeric multiplier
3831# (floating point value)
3832# This option is deprecated for removal since 16.0.0.
3833# Its value may be silently ignored in the future.
3834# Reason: Cells v1 is being replaced with Cells v2.
3835#ram_weight_multiplier = 10.0
3836
3837# DEPRECATED:
3838# Offset weight multiplier
3839#
3840# Multiplier used to weigh offset weigher. Cells with higher
3841# weight_offsets in the DB will be preferred. The weight_offset
3842# is a property of a cell stored in the database. It can be used
3843# by a deployer to have scheduling decisions favor or disfavor
3844# cells based on the setting.
3845#
3846# Possible values:
3847#
3848# * Numeric multiplier
3849# (floating point value)
3850# This option is deprecated for removal since 16.0.0.
3851# Its value may be silently ignored in the future.
3852# Reason: Cells v1 is being replaced with Cells v2.
3853#offset_weight_multiplier = 1.0
3854
3855# DEPRECATED:
3856# Instance updated at threshold
3857#
3858# Number of seconds after an instance was updated or deleted to
3859# continue to update cells. This option lets cells manager to only
3860# attempt to sync instances that have been updated recently.
3861# i.e., a threshold of 3600 means to only update instances that
3862# have modified in the last hour.
3863#
3864# Possible values:
3865#
3866# * Threshold in seconds
3867#
3868# Related options:
3869#
3870# * This value is used with the ``instance_update_num_instances``
3871# value in a periodic task run.
3872# (integer value)
3873# This option is deprecated for removal since 16.0.0.
3874# Its value may be silently ignored in the future.
3875# Reason: Cells v1 is being replaced with Cells v2.
3876#instance_updated_at_threshold = 3600
3877
3878# DEPRECATED:
3879# Instance update num instances
3880#
3881# On every run of the periodic task, nova cells manager will attempt to
3882# sync instance_updated_at_threshold number of instances. When the
3883# manager gets the list of instances, it shuffles them so that multiple
3884# nova-cells services do not attempt to sync the same instances in
3885# lockstep.
3886#
3887# Possible values:
3888#
3889# * Positive integer number
3890#
3891# Related options:
3892#
3893# * This value is used with the ``instance_updated_at_threshold``
3894# value in a periodic task run.
3895# (integer value)
3896# This option is deprecated for removal since 16.0.0.
3897# Its value may be silently ignored in the future.
3898# Reason: Cells v1 is being replaced with Cells v2.
3899#instance_update_num_instances = 1
3900
3901# DEPRECATED:
3902# Maximum hop count
3903#
3904# When processing a targeted message, if the local cell is not the
3905# target, a route is defined between neighbouring cells. And the
3906# message is processed across the whole routing path. This option
3907# defines the maximum hop counts until reaching the target.
3908#
3909# Possible values:
3910#
3911# * Positive integer value
3912# (integer value)
3913# This option is deprecated for removal since 16.0.0.
3914# Its value may be silently ignored in the future.
3915# Reason: Cells v1 is being replaced with Cells v2.
3916#max_hop_count = 10
3917
3918# DEPRECATED:
3919# Cells scheduler.
3920#
3921# The class of the driver used by the cells scheduler. This should be
3922# the full Python path to the class to be used. If nothing is specified
3923# in this option, the CellsScheduler is used.
3924# (string value)
3925# This option is deprecated for removal since 16.0.0.
3926# Its value may be silently ignored in the future.
3927# Reason: Cells v1 is being replaced with Cells v2.
3928#scheduler = nova.cells.scheduler.CellsScheduler
3929
3930# DEPRECATED:
3931# RPC driver queue base.
3932#
3933# When sending a message to another cell by JSON-ifying the message
3934# and making an RPC cast to 'process_message', a base queue is used.
3935# This option defines the base queue name to be used when communicating
3936# between cells. Various topics by message type will be appended to this.
3937#
3938# Possible values:
3939#
3940# * The base queue name to be used when communicating between cells.
3941# (string value)
3942# This option is deprecated for removal since 16.0.0.
3943# Its value may be silently ignored in the future.
3944# Reason: Cells v1 is being replaced with Cells v2.
3945#rpc_driver_queue_base = cells.intercell
3946
3947# DEPRECATED:
3948# Scheduler filter classes.
3949#
3950# Filter classes the cells scheduler should use. An entry of
3951# "nova.cells.filters.all_filters" maps to all cells filters
3952# included with nova. As of the Mitaka release the following
3953# filter classes are available:
3954#
3955# Different cell filter: A scheduler hint of 'different_cell'
3956# with a value of a full cell name may be specified to route
3957# a build away from a particular cell.
3958#
3959# Image properties filter: Image metadata named
3960# 'hypervisor_version_requires' with a version specification
3961# may be specified to ensure the build goes to a cell which
3962# has hypervisors of the required version. If either the version
3963# requirement on the image or the hypervisor capability of the
3964# cell is not present, this filter returns without filtering out
3965# the cells.
3966#
3967# Target cell filter: A scheduler hint of 'target_cell' with a
3968# value of a full cell name may be specified to route a build to
3969# a particular cell. No error handling is done as there's no way
3970# to know whether the full path is a valid.
3971#
3972# As an admin user, you can also add a filter that directs builds
3973# to a particular cell.
3974#
3975# (list value)
3976# This option is deprecated for removal since 16.0.0.
3977# Its value may be silently ignored in the future.
3978# Reason: Cells v1 is being replaced with Cells v2.
3979#scheduler_filter_classes = nova.cells.filters.all_filters
3980
3981# DEPRECATED:
3982# Scheduler weight classes.
3983#
3984# Weigher classes the cells scheduler should use. An entry of
3985# "nova.cells.weights.all_weighers" maps to all cell weighers
3986# included with nova. As of the Mitaka release the following
3987# weight classes are available:
3988#
3989# mute_child: Downgrades the likelihood of child cells being
3990# chosen for scheduling requests, which haven't sent capacity
3991# or capability updates in a while. Options include
3992# mute_weight_multiplier (multiplier for mute children; value
3993# should be negative).
3994#
3995# ram_by_instance_type: Select cells with the most RAM capacity
3996# for the instance type being requested. Because higher weights
3997# win, Compute returns the number of available units for the
3998# instance type requested. The ram_weight_multiplier option defaults
3999# to 10.0 that adds to the weight by a factor of 10. Use a negative
4000# number to stack VMs on one host instead of spreading out new VMs
4001# to more hosts in the cell.
4002#
4003# weight_offset: Allows modifying the database to weight a particular
4004# cell. The highest weight will be the first cell to be scheduled for
4005# launching an instance. When the weight_offset of a cell is set to 0,
4006# it is unlikely to be picked but it could be picked if other cells
4007# have a lower weight, like if they're full. And when the weight_offset
4008# is set to a very high value (for example, '999999999999999'), it is
4009# likely to be picked if another cell do not have a higher weight.
4010# (list value)
4011# This option is deprecated for removal since 16.0.0.
4012# Its value may be silently ignored in the future.
4013# Reason: Cells v1 is being replaced with Cells v2.
4014#scheduler_weight_classes = nova.cells.weights.all_weighers
4015
4016# DEPRECATED:
4017# Scheduler retries.
4018#
4019# How many retries when no cells are available. Specifies how many
4020# times the scheduler tries to launch a new instance when no cells
4021# are available.
4022#
4023# Possible values:
4024#
4025# * Positive integer value
4026#
4027# Related options:
4028#
4029# * This value is used with the ``scheduler_retry_delay`` value
4030# while retrying to find a suitable cell.
4031# (integer value)
4032# This option is deprecated for removal since 16.0.0.
4033# Its value may be silently ignored in the future.
4034# Reason: Cells v1 is being replaced with Cells v2.
4035#scheduler_retries = 10
4036
4037# DEPRECATED:
4038# Scheduler retry delay.
4039#
4040# Specifies the delay (in seconds) between scheduling retries when no
4041# cell can be found to place the new instance on. When the instance
4042# could not be scheduled to a cell after ``scheduler_retries`` in
4043# combination with ``scheduler_retry_delay``, then the scheduling
4044# of the instance failed.
4045#
4046# Possible values:
4047#
4048# * Time in seconds.
4049#
4050# Related options:
4051#
4052# * This value is used with the ``scheduler_retries`` value
4053# while retrying to find a suitable cell.
4054# (integer value)
4055# This option is deprecated for removal since 16.0.0.
4056# Its value may be silently ignored in the future.
4057# Reason: Cells v1 is being replaced with Cells v2.
4058#scheduler_retry_delay = 2
4059
4060# DEPRECATED:
4061# DB check interval.
4062#
4063# Cell state manager updates cell status for all cells from the DB
4064# only after this particular interval time is passed. Otherwise cached
4065# status are used. If this value is 0 or negative all cell status are
4066# updated from the DB whenever a state is needed.
4067#
4068# Possible values:
4069#
4070# * Interval time, in seconds.
4071#
4072# (integer value)
4073# This option is deprecated for removal since 16.0.0.
4074# Its value may be silently ignored in the future.
4075# Reason: Cells v1 is being replaced with Cells v2.
4076#db_check_interval = 60
4077
4078# DEPRECATED:
4079# Optional cells configuration.
4080#
4081# Configuration file from which to read cells configuration. If given,
4082# overrides reading cells from the database.
4083#
4084# Cells store all inter-cell communication data, including user names
4085# and passwords, in the database. Because the cells data is not updated
4086# very frequently, use this option to specify a JSON file to store
4087# cells data. With this configuration, the database is no longer
4088# consulted when reloading the cells data. The file must have columns
4089# present in the Cell model (excluding common database fields and the
4090# id column). You must specify the queue connection information through
4091# a transport_url field, instead of username, password, and so on.
4092#
4093# The transport_url has the following form:
4094# rabbit://USERNAME:PASSWORD@HOSTNAME:PORT/VIRTUAL_HOST
4095#
4096# Possible values:
4097#
4098# The scheme can be either qpid or rabbit, the following sample shows
4099# this optional configuration:
4100#
4101# {
4102# "parent": {
4103# "name": "parent",
4104# "api_url": "http://api.example.com:8774",
4105# "transport_url": "rabbit://rabbit.example.com",
4106# "weight_offset": 0.0,
4107# "weight_scale": 1.0,
4108# "is_parent": true
4109# },
4110# "cell1": {
4111# "name": "cell1",
4112# "api_url": "http://api.example.com:8774",
4113# "transport_url": "rabbit://rabbit1.example.com",
4114# "weight_offset": 0.0,
4115# "weight_scale": 1.0,
4116# "is_parent": false
4117# },
4118# "cell2": {
4119# "name": "cell2",
4120# "api_url": "http://api.example.com:8774",
4121# "transport_url": "rabbit://rabbit2.example.com",
4122# "weight_offset": 0.0,
4123# "weight_scale": 1.0,
4124# "is_parent": false
4125# }
4126# }
4127#
4128# (string value)
4129# This option is deprecated for removal since 16.0.0.
4130# Its value may be silently ignored in the future.
4131# Reason: Cells v1 is being replaced with Cells v2.
4132#cells_config = <None>
4133
4134
4135[cinder]
4136
4137#
4138# From nova.conf
4139#
4140
4141#
4142# Info to match when looking for cinder in the service catalog.
4143#
4144# Possible values:
4145#
4146# * Format is separated values of the form:
4147# <service_type>:<service_name>:<endpoint_type>
4148#
4149# Note: Nova does not support the Cinder v1 API since the Nova 15.0.0 Ocata
4150# release.
4151#
4152# Related options:
4153#
4154# * endpoint_template - Setting this option will override catalog_info
4155# (string value)
4156#catalog_info = volumev3:cinderv3:publicURL
4157
4158#
4159# If this option is set then it will override service catalog lookup with
4160# this template for cinder endpoint
4161#
4162# Possible values:
4163#
4164# * URL for cinder endpoint API
4165# e.g. http://localhost:8776/v2/%(project_id)s
4166#
4167# Note: Nova does not support the Cinder v1 API since the Nova 15.0.0 Ocata
4168# release.
4169#
4170# Related options:
4171#
4172# * catalog_info - If endpoint_template is not set, catalog_info will be used.
4173# (string value)
4174#endpoint_template = <None>
4175
4176#
4177# Region name of this node. This is used when picking the URL in the service
4178# catalog.
4179#
4180# Possible values:
4181#
4182# * Any string representing region name
4183# (string value)
4184#os_region_name = <None>
4185
4186#
4187# Number of times cinderclient should retry on any failed http call.
4188# 0 means connection is attempted only once. Setting it to any positive integer
4189# means that on failure connection is retried that many times e.g. setting it
4190# to 3 means total attempts to connect will be 4.
4191#
4192# Possible values:
4193#
4194# * Any integer value. 0 means connection is attempted only once
4195# (integer value)
4196# Minimum value: 0
4197#http_retries = 3
4198
4199#
4200# Allow attach between instance and volume in different availability zones.
4201#
4202# If False, volumes attached to an instance must be in the same availability
4203# zone in Cinder as the instance availability zone in Nova.
4204# This also means care should be taken when booting an instance from a volume
4205# where source is not "volume" because Nova will attempt to create a volume
4206# using
4207# the same availability zone as what is assigned to the instance.
4208# If that AZ is not in Cinder (or allow_availability_zone_fallback=False in
4209# cinder.conf), the volume create request will fail and the instance will fail
4210# the build request.
4211# By default there is no availability zone restriction on volume attach.
4212# (boolean value)
4213#cross_az_attach = true
4214
4215# PEM encoded Certificate Authority to use when verifying HTTPs connections.
4216# (string value)
4217#cafile = <None>
4218
4219# PEM encoded client certificate cert file (string value)
4220#certfile = <None>
4221
4222# PEM encoded client certificate key file (string value)
4223#keyfile = <None>
4224
4225# Verify HTTPS connections. (boolean value)
4226#insecure = false
4227
4228# Timeout value for http requests (integer value)
4229#timeout = <None>
4230
4231
4232[compute]
4233
4234#
4235# From nova.conf
4236#
4237
4238#
4239# Number of consecutive failed builds that result in disabling a compute
4240# service.
4241#
4242# This option will cause nova-compute to set itself to a disabled state
4243# if a certain number of consecutive build failures occur. This will
4244# prevent the scheduler from continuing to send builds to a compute node that is
4245# consistently failing. Note that all failures qualify and count towards this
4246# score, including reschedules that may have been due to racy scheduler
4247# behavior.
4248# Since the failures must be consecutive, it is unlikely that occasional
4249# expected
4250# reschedules will actually disable a compute node.
4251#
4252# Possible values:
4253#
4254# * Any positive integer representing a build failure count.
4255# * Zero to never auto-disable.
4256# (integer value)
4257#consecutive_build_service_disable_threshold = 10
4258
4259
4260[conductor]
4261#
4262# Options under this group are used to define Conductor's communication,
4263# which manager should be act as a proxy between computes and database,
4264# and finally, how many worker processes will be used.
4265
4266#
4267# From nova.conf
4268#
4269
4270# DEPRECATED:
4271# Topic exchange name on which conductor nodes listen.
4272# (string value)
4273# This option is deprecated for removal since 15.0.0.
4274# Its value may be silently ignored in the future.
4275# Reason:
4276# There is no need to let users choose the RPC topic for all services - there
4277# is little gain from this. Furthermore, it makes it really easy to break Nova
4278# by using this option.
4279#topic = conductor
4280
4281#
4282# Number of workers for OpenStack Conductor service. The default will be the
4283# number of CPUs available.
4284# (integer value)
4285#workers = <None>
4286
4287
4288[console]
4289#
4290# Options under this group allow to tune the configuration of the console proxy
4291# service.
4292#
4293# Note: in configuration of every compute is a ``console_host`` option,
4294# which allows to select the console proxy service to connect to.
4295
4296#
4297# From nova.conf
4298#
4299
4300#
4301# Adds list of allowed origins to the console websocket proxy to allow
4302# connections from other origin hostnames.
4303# Websocket proxy matches the host header with the origin header to
4304# prevent cross-site requests. This list specifies if any there are
4305# values other than host are allowed in the origin header.
4306#
4307# Possible values:
4308#
4309# * A list where each element is an allowed origin hostnames, else an empty list
4310# (list value)
4311# Deprecated group/name - [DEFAULT]/console_allowed_origins
4312#allowed_origins =
4313
4314
4315[consoleauth]
4316
4317#
4318# From nova.conf
4319#
4320
4321#
4322# The lifetime of a console auth token.
4323#
4324# A console auth token is used in authorizing console access for a user.
4325# Once the auth token time to live count has elapsed, the token is
4326# considered expired. Expired tokens are then deleted.
4327# (integer value)
4328# Minimum value: 0
4329# Deprecated group/name - [DEFAULT]/console_token_ttl
4330#token_ttl = 600
4331
4332
4333[cors]
4334
4335#
4336# From oslo.middleware
4337#
4338
4339# Indicate whether this resource may be shared with the domain received in the
4340# requests "origin" header. Format: "<protocol>://<host>[:<port>]", no trailing
4341# slash. Example: https://horizon.example.com (list value)
4342#allowed_origin = <None>
4343
4344# Indicate that the actual request can include user credentials (boolean value)
4345#allow_credentials = true
4346
4347# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple
4348# Headers. (list value)
4349#expose_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,X-Service-Token
4350
4351# Maximum cache age of CORS preflight requests. (integer value)
4352#max_age = 3600
4353
4354# Indicate which methods can be used during the actual request. (list value)
4355#allow_methods = GET,PUT,POST,DELETE,PATCH
4356
4357# Indicate which header field names may be used during the actual request. (list
4358# value)
4359#allow_headers = X-Auth-Token,X-Openstack-Request-Id,X-Identity-Status,X-Roles,X-Service-Catalog,X-User-Id,X-Tenant-Id
4360
4361
4362[crypto]
4363
4364#
4365# From nova.conf
4366#
4367
4368#
4369# Filename of root CA (Certificate Authority). This is a container format
4370# and includes root certificates.
4371#
4372# Possible values:
4373#
4374# * Any file name containing root CA, cacert.pem is default
4375#
4376# Related options:
4377#
4378# * ca_path
4379# (string value)
4380#ca_file = cacert.pem
4381
4382#
4383# Filename of a private key.
4384#
4385# Related options:
4386#
4387# * keys_path
4388# (string value)
4389#key_file = private/cakey.pem
4390
4391#
4392# Filename of root Certificate Revocation List (CRL). This is a list of
4393# certificates that have been revoked, and therefore, entities presenting
4394# those (revoked) certificates should no longer be trusted.
4395#
4396# Related options:
4397#
4398# * ca_path
4399# (string value)
4400#crl_file = crl.pem
4401
4402#
4403# Directory path where keys are located.
4404#
4405# Related options:
4406#
4407# * key_file
4408# (string value)
4409#keys_path = $state_path/keys
4410
4411#
4412# Directory path where root CA is located.
4413#
4414# Related options:
4415#
4416# * ca_file
4417# (string value)
4418#ca_path = $state_path/CA
4419
4420# Option to enable/disable use of CA for each project. (boolean value)
4421#use_project_ca = false
4422
4423#
4424# Subject for certificate for users, %s for
4425# project, user, timestamp
4426# (string value)
4427#user_cert_subject = /C=US/ST=California/O=OpenStack/OU=NovaDev/CN=%.16s-%.16s-%s
4428
4429#
4430# Subject for certificate for projects, %s for
4431# project, timestamp
4432# (string value)
4433#project_cert_subject = /C=US/ST=California/O=OpenStack/OU=NovaDev/CN=project-ca-%.16s-%s
4434
4435
4436[database]
4437
4438#
4439# From oslo.db
4440#
4441
4442# If True, SQLite uses synchronous mode. (boolean value)
4443#sqlite_synchronous = true
4444
4445# The back end to use for the database. (string value)
4446# Deprecated group/name - [DEFAULT]/db_backend
4447#backend = sqlalchemy
4448
4449# The SQLAlchemy connection string to use to connect to the database. (string
4450# value)
4451# Deprecated group/name - [DEFAULT]/sql_connection
4452# Deprecated group/name - [DATABASE]/sql_connection
4453# Deprecated group/name - [sql]/connection
4454#connection = <None>
4455
4456# The SQLAlchemy connection string to use to connect to the slave database.
4457# (string value)
4458#slave_connection = <None>
4459
4460# The SQL mode to be used for MySQL sessions. This option, including the
4461# default, overrides any server-set SQL mode. To use whatever SQL mode is set by
4462# the server configuration, set this to no value. Example: mysql_sql_mode=
4463# (string value)
4464#mysql_sql_mode = TRADITIONAL
4465
4466# If True, transparently enables support for handling MySQL Cluster (NDB).
4467# (boolean value)
4468#mysql_enable_ndb = false
4469
4470# Timeout before idle SQL connections are reaped. (integer value)
4471# Deprecated group/name - [DEFAULT]/sql_idle_timeout
4472# Deprecated group/name - [DATABASE]/sql_idle_timeout
4473# Deprecated group/name - [sql]/idle_timeout
4474#idle_timeout = 3600
4475
4476# Minimum number of SQL connections to keep open in a pool. (integer value)
4477# Deprecated group/name - [DEFAULT]/sql_min_pool_size
4478# Deprecated group/name - [DATABASE]/sql_min_pool_size
4479#min_pool_size = 1
4480
4481# Maximum number of SQL connections to keep open in a pool. Setting a value of 0
4482# indicates no limit. (integer value)
4483# Deprecated group/name - [DEFAULT]/sql_max_pool_size
4484# Deprecated group/name - [DATABASE]/sql_max_pool_size
4485#max_pool_size = 5
4486
4487# Maximum number of database connection retries during startup. Set to -1 to
4488# specify an infinite retry count. (integer value)
4489# Deprecated group/name - [DEFAULT]/sql_max_retries
4490# Deprecated group/name - [DATABASE]/sql_max_retries
4491#max_retries = 10
4492
4493# Interval between retries of opening a SQL connection. (integer value)
4494# Deprecated group/name - [DEFAULT]/sql_retry_interval
4495# Deprecated group/name - [DATABASE]/reconnect_interval
4496#retry_interval = 10
4497
4498# If set, use this value for max_overflow with SQLAlchemy. (integer value)
4499# Deprecated group/name - [DEFAULT]/sql_max_overflow
4500# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
4501#max_overflow = 50
4502
4503# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
4504# value)
4505# Minimum value: 0
4506# Maximum value: 100
4507# Deprecated group/name - [DEFAULT]/sql_connection_debug
4508#connection_debug = 0
4509
4510# Add Python stack traces to SQL as comment strings. (boolean value)
4511# Deprecated group/name - [DEFAULT]/sql_connection_trace
4512#connection_trace = false
4513
4514# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
4515# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout
4516#pool_timeout = <None>
4517
4518# Enable the experimental use of database reconnect on connection lost. (boolean
4519# value)
4520#use_db_reconnect = false
4521
4522# Seconds between retries of a database transaction. (integer value)
4523#db_retry_interval = 1
4524
4525# If True, increases the interval between retries of a database operation up to
4526# db_max_retry_interval. (boolean value)
4527#db_inc_retry_interval = true
4528
4529# If db_inc_retry_interval is set, the maximum seconds between retries of a
4530# database operation. (integer value)
4531#db_max_retry_interval = 10
4532
4533# Maximum retries in case of connection error or deadlock error before error is
4534# raised. Set to -1 to specify an infinite retry count. (integer value)
4535#db_max_retries = 20
4536
4537#
4538# From oslo.db.concurrency
4539#
4540
4541# Enable the experimental use of thread pooling for all DB API calls (boolean
4542# value)
4543# Deprecated group/name - [DEFAULT]/dbapi_use_tpool
4544#use_tpool = false
4545
4546
4547[ephemeral_storage_encryption]
4548
4549#
4550# From nova.conf
4551#
4552
4553#
4554# Enables/disables LVM ephemeral storage encryption.
4555# (boolean value)
4556#enabled = false
4557
4558#
4559# Cipher-mode string to be used.
4560#
4561# The cipher and mode to be used to encrypt ephemeral storage. The set of
4562# cipher-mode combinations available depends on kernel support. According
4563# to the dm-crypt documentation, the cipher is expected to be in the format:
4564# "<cipher>-<chainmode>-<ivmode>".
4565#
4566# Possible values:
4567#
4568# * Any crypto option listed in ``/proc/crypto``.
4569# (string value)
4570#cipher = aes-xts-plain64
4571
4572#
4573# Encryption key length in bits.
4574#
4575# The bit length of the encryption key to be used to encrypt ephemeral storage.
4576# In XTS mode only half of the bits are used for encryption key.
4577# (integer value)
4578# Minimum value: 1
4579#key_size = 512
4580
4581
4582[filter_scheduler]
4583
4584#
4585# From nova.conf
4586#
4587
4588#
4589# Size of subset of best hosts selected by scheduler.
4590#
4591# New instances will be scheduled on a host chosen randomly from a subset of the
4592# N best hosts, where N is the value set by this option.
4593#
4594# Setting this to a value greater than 1 will reduce the chance that multiple
4595# scheduler processes handling similar requests will select the same host,
4596# creating a potential race condition. By selecting a host randomly from the N
4597# hosts that best fit the request, the chance of a conflict is reduced. However,
4598# the higher you set this value, the less optimal the chosen host may be for a
4599# given request.
4600#
4601# This option is only used by the FilterScheduler and its subclasses; if you use
4602# a different scheduler, this option has no effect.
4603#
4604# Possible values:
4605#
4606# * An integer, where the integer corresponds to the size of a host subset. Any
4607# integer is valid, although any value less than 1 will be treated as 1
4608# (integer value)
4609# Minimum value: 1
4610# Deprecated group/name - [DEFAULT]/scheduler_host_subset_size
4611#host_subset_size = 1
4612
4613#
4614# The number of instances that can be actively performing IO on a host.
4615#
4616# Instances performing IO includes those in the following states: build, resize,
4617# snapshot, migrate, rescue, unshelve.
4618#
4619# This option is only used by the FilterScheduler and its subclasses; if you use
4620# a different scheduler, this option has no effect. Also note that this setting
4621# only affects scheduling if the 'io_ops_filter' filter is enabled.
4622#
4623# Possible values:
4624#
4625# * An integer, where the integer corresponds to the max number of instances
4626# that can be actively performing IO on any given host.
4627# (integer value)
4628#max_io_ops_per_host = 8
4629
4630#
4631# Maximum number of instances that be active on a host.
4632#
4633# If you need to limit the number of instances on any given host, set this
4634# option
4635# to the maximum number of instances you want to allow. The num_instances_filter
4636# will reject any host that has at least as many instances as this option's
4637# value.
4638#
4639# This option is only used by the FilterScheduler and its subclasses; if you use
4640# a different scheduler, this option has no effect. Also note that this setting
4641# only affects scheduling if the 'num_instances_filter' filter is enabled.
4642#
4643# Possible values:
4644#
4645# * An integer, where the integer corresponds to the max instances that can be
4646# scheduled on a host.
4647# (integer value)
4648# Minimum value: 1
4649#max_instances_per_host = 50
4650
4651#
4652# Enable querying of individual hosts for instance information.
4653#
4654# The scheduler may need information about the instances on a host in order to
4655# evaluate its filters and weighers. The most common need for this information
4656# is
4657# for the (anti-)affinity filters, which need to choose a host based on the
4658# instances already running on a host.
4659#
4660# If the configured filters and weighers do not need this information, disabling
4661# this option will improve performance. It may also be disabled when the
4662# tracking
4663# overhead proves too heavy, although this will cause classes requiring host
4664# usage data to query the database on each request instead.
4665#
4666# This option is only used by the FilterScheduler and its subclasses; if you use
4667# a different scheduler, this option has no effect.
4668#
4669# NOTE: In a multi-cell (v2) setup where the cell MQ is separated from the
4670# top-level, computes cannot directly communicate with the scheduler. Thus,
4671# this option cannot be enabled in that scenario. See also the
4672# [workarounds]/disable_group_policy_check_upcall option.
4673# (boolean value)
4674# Deprecated group/name - [DEFAULT]/scheduler_tracks_instance_changes
4675#track_instance_changes = true
4676
4677#
4678# Filters that the scheduler can use.
4679#
4680# An unordered list of the filter classes the nova scheduler may apply. Only
4681# the
4682# filters specified in the 'scheduler_enabled_filters' option will be used, but
4683# any filter appearing in that option must also be included in this list.
4684#
4685# By default, this is set to all filters that are included with nova.
4686#
4687# This option is only used by the FilterScheduler and its subclasses; if you use
4688# a different scheduler, this option has no effect.
4689#
4690# Possible values:
4691#
4692# * A list of zero or more strings, where each string corresponds to the name of
4693# a filter that may be used for selecting a host
4694#
4695# Related options:
4696#
4697# * scheduler_enabled_filters
4698# (multi valued)
4699# Deprecated group/name - [DEFAULT]/scheduler_available_filters
4700#available_filters = nova.scheduler.filters.all_filters
4701
4702#
4703# Filters that the scheduler will use.
4704#
4705# An ordered list of filter class names that will be used for filtering
4706# hosts. These filters will be applied in the order they are listed so
4707# place your most restrictive filters first to make the filtering process more
4708# efficient.
4709#
4710# This option is only used by the FilterScheduler and its subclasses; if you use
4711# a different scheduler, this option has no effect.
4712#
4713# Possible values:
4714#
4715# * A list of zero or more strings, where each string corresponds to the name of
4716# a filter to be used for selecting a host
4717#
4718# Related options:
4719#
4720# * All of the filters in this option *must* be present in the
4721# 'scheduler_available_filters' option, or a SchedulerHostFilterNotFound
4722# exception will be raised.
4723# (list value)
4724# Deprecated group/name - [DEFAULT]/scheduler_default_filters
4725#enabled_filters = RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter
4726
4727# DEPRECATED:
4728# Filters used for filtering baremetal hosts.
4729#
4730# Filters are applied in order, so place your most restrictive filters first to
4731# make the filtering process more efficient.
4732#
4733# This option is only used by the FilterScheduler and its subclasses; if you use
4734# a different scheduler, this option has no effect.
4735#
4736# Possible values:
4737#
4738# * A list of zero or more strings, where each string corresponds to the name of
4739# a filter to be used for selecting a baremetal host
4740#
4741# Related options:
4742#
4743# * If the 'scheduler_use_baremetal_filters' option is False, this option has
4744# no effect.
4745# (list value)
4746# Deprecated group/name - [DEFAULT]/baremetal_scheduler_default_filters
4747# This option is deprecated for removal.
4748# Its value may be silently ignored in the future.
4749# Reason:
4750# These filters were used to overcome some of the baremetal scheduling
4751# limitations in Nova prior to the use of the Placement API. Now scheduling will
4752# use the custom resource class defined for each baremetal node to make its
4753# selection.
4754#baremetal_enabled_filters = RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ExactRamFilter,ExactDiskFilter,ExactCoreFilter
4755
4756# DEPRECATED:
4757# Enable baremetal filters.
4758#
4759# Set this to True to tell the nova scheduler that it should use the filters
4760# specified in the 'baremetal_scheduler_enabled_filters' option. If you are not
4761# scheduling baremetal nodes, leave this at the default setting of False.
4762#
4763# This option is only used by the FilterScheduler and its subclasses; if you use
4764# a different scheduler, this option has no effect.
4765#
4766# Related options:
4767#
4768# * If this option is set to True, then the filters specified in the
4769# 'baremetal_scheduler_enabled_filters' are used instead of the filters
4770# specified in 'scheduler_enabled_filters'.
4771# (boolean value)
4772# Deprecated group/name - [DEFAULT]/scheduler_use_baremetal_filters
4773# This option is deprecated for removal.
4774# Its value may be silently ignored in the future.
4775# Reason:
4776# These filters were used to overcome some of the baremetal scheduling
4777# limitations in Nova prior to the use of the Placement API. Now scheduling will
4778# use the custom resource class defined for each baremetal node to make its
4779# selection.
4780#use_baremetal_filters = false
4781
4782#
4783# Weighers that the scheduler will use.
4784#
4785# Only hosts which pass the filters are weighed. The weight for any host starts
4786# at 0, and the weighers order these hosts by adding to or subtracting from the
4787# weight assigned by the previous weigher. Weights may become negative. An
4788# instance will be scheduled to one of the N most-weighted hosts, where N is
4789# 'scheduler_host_subset_size'.
4790#
4791# By default, this is set to all weighers that are included with Nova.
4792#
4793# This option is only used by the FilterScheduler and its subclasses; if you use
4794# a different scheduler, this option has no effect.
4795#
4796# Possible values:
4797#
4798# * A list of zero or more strings, where each string corresponds to the name of
4799# a weigher that will be used for selecting a host
4800# (list value)
4801# Deprecated group/name - [DEFAULT]/scheduler_weight_classes
4802#weight_classes = nova.scheduler.weights.all_weighers
4803
4804#
4805# Ram weight multipler ratio.
4806#
4807# This option determines how hosts with more or less available RAM are weighed.
4808# A
4809# positive value will result in the scheduler preferring hosts with more
4810# available RAM, and a negative number will result in the scheduler preferring
4811# hosts with less available RAM. Another way to look at it is that positive
4812# values for this option will tend to spread instances across many hosts, while
4813# negative values will tend to fill up (stack) hosts as much as possible before
4814# scheduling to a less-used host. The absolute value, whether positive or
4815# negative, controls how strong the RAM weigher is relative to other weighers.
4816#
4817# This option is only used by the FilterScheduler and its subclasses; if you use
4818# a different scheduler, this option has no effect. Also note that this setting
4819# only affects scheduling if the 'ram' weigher is enabled.
4820#
4821# Possible values:
4822#
4823# * An integer or float value, where the value corresponds to the multipler
4824# ratio for this weigher.
4825# (floating point value)
4826#ram_weight_multiplier = 1.0
4827
4828#
4829# Disk weight multipler ratio.
4830#
4831# Multiplier used for weighing free disk space. Negative numbers mean to
4832# stack vs spread.
4833#
4834# This option is only used by the FilterScheduler and its subclasses; if you use
4835# a different scheduler, this option has no effect. Also note that this setting
4836# only affects scheduling if the 'disk' weigher is enabled.
4837#
4838# Possible values:
4839#
4840# * An integer or float value, where the value corresponds to the multipler
4841# ratio for this weigher.
4842# (floating point value)
4843#disk_weight_multiplier = 1.0
4844
4845#
4846# IO operations weight multipler ratio.
4847#
4848# This option determines how hosts with differing workloads are weighed.
4849# Negative
4850# values, such as the default, will result in the scheduler preferring hosts
4851# with
4852# lighter workloads whereas positive values will prefer hosts with heavier
4853# workloads. Another way to look at it is that positive values for this option
4854# will tend to schedule instances onto hosts that are already busy, while
4855# negative values will tend to distribute the workload across more hosts. The
4856# absolute value, whether positive or negative, controls how strong the io_ops
4857# weigher is relative to other weighers.
4858#
4859# This option is only used by the FilterScheduler and its subclasses; if you use
4860# a different scheduler, this option has no effect. Also note that this setting
4861# only affects scheduling if the 'io_ops' weigher is enabled.
4862#
4863# Possible values:
4864#
4865# * An integer or float value, where the value corresponds to the multipler
4866# ratio for this weigher.
4867# (floating point value)
4868#io_ops_weight_multiplier = -1.0
4869
4870#
4871# PCI device affinity weight multiplier.
4872#
4873# The PCI device affinity weighter computes a weighting based on the number of
4874# PCI devices on the host and the number of PCI devices requested by the
4875# instance. The ``NUMATopologyFilter`` filter must be enabled for this to have
4876# any significance. For more information, refer to the filter documentation:
4877#
4878# https://docs.openstack.org/developer/nova/filter_scheduler.html
4879#
4880# Possible values:
4881#
4882# * A positive integer or float value, where the value corresponds to the
4883# multiplier ratio for this weigher.
4884# (floating point value)
4885# Minimum value: 0
4886#pci_weight_multiplier = 1.0
4887
4888#
4889# Multiplier used for weighing hosts for group soft-affinity.
4890#
4891# Possible values:
4892#
4893# * An integer or float value, where the value corresponds to weight multiplier
4894# for hosts with group soft affinity. Only a positive value are meaningful, as
4895# negative values would make this behave as a soft anti-affinity weigher.
4896# (floating point value)
4897#soft_affinity_weight_multiplier = 1.0
4898
4899#
4900# Multiplier used for weighing hosts for group soft-anti-affinity.
4901#
4902# Possible values:
4903#
4904# * An integer or float value, where the value corresponds to weight multiplier
4905# for hosts with group soft anti-affinity. Only a positive value are
4906# meaningful, as negative values would make this behave as a soft affinity
4907# weigher.
4908# (floating point value)
4909#soft_anti_affinity_weight_multiplier = 1.0
4910
4911#
4912# List of UUIDs for images that can only be run on certain hosts.
4913#
4914# If there is a need to restrict some images to only run on certain designated
4915# hosts, list those image UUIDs here.
4916#
4917# This option is only used by the FilterScheduler and its subclasses; if you use
4918# a different scheduler, this option has no effect. Also note that this setting
4919# only affects scheduling if the 'IsolatedHostsFilter' filter is enabled.
4920#
4921# Possible values:
4922#
4923# * A list of UUID strings, where each string corresponds to the UUID of an
4924# image
4925#
4926# Related options:
4927#
4928# * scheduler/isolated_hosts
4929# * scheduler/restrict_isolated_hosts_to_isolated_images
4930# (list value)
4931#isolated_images =
4932
4933#
4934# List of hosts that can only run certain images.
4935#
4936# If there is a need to restrict some images to only run on certain designated
4937# hosts, list those host names here.
4938#
4939# This option is only used by the FilterScheduler and its subclasses; if you use
4940# a different scheduler, this option has no effect. Also note that this setting
4941# only affects scheduling if the 'IsolatedHostsFilter' filter is enabled.
4942#
4943# Possible values:
4944#
4945# * A list of strings, where each string corresponds to the name of a host
4946#
4947# Related options:
4948#
4949# * scheduler/isolated_images
4950# * scheduler/restrict_isolated_hosts_to_isolated_images
4951# (list value)
4952#isolated_hosts =
4953
4954#
4955# Prevent non-isolated images from being built on isolated hosts.
4956#
4957# This option is only used by the FilterScheduler and its subclasses; if you use
4958# a different scheduler, this option has no effect. Also note that this setting
4959# only affects scheduling if the 'IsolatedHostsFilter' filter is enabled. Even
4960# then, this option doesn't affect the behavior of requests for isolated images,
4961# which will *always* be restricted to isolated hosts.
4962#
4963# Related options:
4964#
4965# * scheduler/isolated_images
4966# * scheduler/isolated_hosts
4967# (boolean value)
4968#restrict_isolated_hosts_to_isolated_images = true
4969
4970#
4971# Image property namespace for use in the host aggregate.
4972#
4973# Images and hosts can be configured so that certain images can only be
4974# scheduled
4975# to hosts in a particular aggregate. This is done with metadata values set on
4976# the host aggregate that are identified by beginning with the value of this
4977# option. If the host is part of an aggregate with such a metadata key, the
4978# image
4979# in the request spec must have the value of that metadata in its properties in
4980# order for the scheduler to consider the host as acceptable.
4981#
4982# This option is only used by the FilterScheduler and its subclasses; if you use
4983# a different scheduler, this option has no effect. Also note that this setting
4984# only affects scheduling if the 'aggregate_image_properties_isolation' filter
4985# is
4986# enabled.
4987#
4988# Possible values:
4989#
4990# * A string, where the string corresponds to an image property namespace
4991#
4992# Related options:
4993#
4994# * aggregate_image_properties_isolation_separator
4995# (string value)
4996#aggregate_image_properties_isolation_namespace = <None>
4997
4998#
4999# Separator character(s) for image property namespace and name.
5000#
5001# When using the aggregate_image_properties_isolation filter, the relevant
5002# metadata keys are prefixed with the namespace defined in the
5003# aggregate_image_properties_isolation_namespace configuration option plus a
5004# separator. This option defines the separator to be used.
5005#
5006# This option is only used by the FilterScheduler and its subclasses; if you use
5007# a different scheduler, this option has no effect. Also note that this setting
5008# only affects scheduling if the 'aggregate_image_properties_isolation' filter
5009# is enabled.
5010#
5011# Possible values:
5012#
5013# * A string, where the string corresponds to an image property namespace
5014# separator character
5015#
5016# Related options:
5017#
5018# * aggregate_image_properties_isolation_namespace
5019# (string value)
5020#aggregate_image_properties_isolation_separator = .
5021
5022
5023[glance]
5024# Configuration options for the Image service
5025
5026#
5027# From nova.conf
5028#
5029
5030#
5031# List of glance api servers endpoints available to nova.
5032#
5033# https is used for ssl-based glance api servers.
5034#
5035# Possible values:
5036#
5037# * A list of any fully qualified url of the form
5038# "scheme://hostname:port[/path]"
5039# (i.e. "http://10.0.1.0:9292" or "https://my.glance.server/image").
5040# (list value)
5041#api_servers = <None>
5042
5043#
5044# Enable glance operation retries.
5045#
5046# Specifies the number of retries when uploading / downloading
5047# an image to / from glance. 0 means no retries.
5048# (integer value)
5049# Minimum value: 0
5050#num_retries = 0
5051
5052#
5053# List of url schemes that can be directly accessed.
5054#
5055# This option specifies a list of url schemes that can be downloaded
5056# directly via the direct_url. This direct_URL can be fetched from
5057# Image metadata which can be used by nova to get the
5058# image more efficiently. nova-compute could benefit from this by
5059# invoking a copy when it has access to the same file system as glance.
5060#
5061# Possible values:
5062#
5063# * [file], Empty list (default)
5064# (list value)
5065#allowed_direct_url_schemes =
5066
5067#
5068# Enable image signature verification.
5069#
5070# nova uses the image signature metadata from glance and verifies the signature
5071# of a signed image while downloading that image. If the image signature cannot
5072# be verified or if the image signature metadata is either incomplete or
5073# unavailable, then nova will not boot the image and instead will place the
5074# instance into an error state. This provides end users with stronger assurances
5075# of the integrity of the image data they are using to create servers.
5076#
5077# Related options:
5078#
5079# * The options in the `key_manager` group, as the key_manager is used
5080# for the signature validation.
5081# * Both enable_certificate_validation and default_trusted_certificate_ids
5082# below depend on this option being enabled.
5083# (boolean value)
5084#verify_glance_signatures = false
5085
5086# DEPRECATED:
5087# Enable certificate validation for image signature verification.
5088#
5089# During image signature verification nova will first verify the validity of the
5090# image's signing certificate using the set of trusted certificates associated
5091# with the instance. If certificate validation fails, signature verification
5092# will not be performed and the image will be placed into an error state. This
5093# provides end users with stronger assurances that the image data is unmodified
5094# and trustworthy. If left disabled, image signature verification can still
5095# occur but the end user will not have any assurance that the signing
5096# certificate used to generate the image signature is still trustworthy.
5097#
5098# Related options:
5099#
5100# * This option only takes effect if verify_glance_signatures is enabled.
5101# * The value of default_trusted_certificate_ids may be used when this option
5102# is enabled.
5103# (boolean value)
5104# This option is deprecated for removal since 16.0.0.
5105# Its value may be silently ignored in the future.
5106# Reason:
5107# This option is intended to ease the transition for deployments leveraging
5108# image signature verification. The intended state long-term is for signature
5109# verification and certificate validation to always happen together.
5110#enable_certificate_validation = false
5111
5112#
5113# List of certificate IDs for certificates that should be trusted.
5114#
5115# May be used as a default list of trusted certificate IDs for certificate
5116# validation. The value of this option will be ignored if the user provides a
5117# list of trusted certificate IDs with an instance API request. The value of
5118# this option will be persisted with the instance data if signature verification
5119# and certificate validation are enabled and if the user did not provide an
5120# alternative list. If left empty when certificate validation is enabled the
5121# user must provide a list of trusted certificate IDs otherwise certificate
5122# validation will fail.
5123#
5124# Related options:
5125#
5126# * The value of this option may be used if both verify_glance_signatures and
5127# enable_certificate_validation are enabled.
5128# (list value)
5129#default_trusted_certificate_ids =
5130
5131# Enable or disable debug logging with glanceclient. (boolean value)
5132#debug = false
5133
5134# PEM encoded Certificate Authority to use when verifying HTTPs connections.
5135# (string value)
5136#cafile = <None>
5137
5138# PEM encoded client certificate cert file (string value)
5139#certfile = <None>
5140
5141# PEM encoded client certificate key file (string value)
5142#keyfile = <None>
5143
5144# Verify HTTPS connections. (boolean value)
5145#insecure = false
5146
5147# Timeout value for http requests (integer value)
5148#timeout = <None>
5149
5150
5151[guestfs]
5152#
5153# libguestfs is a set of tools for accessing and modifying virtual
5154# machine (VM) disk images. You can use this for viewing and editing
5155# files inside guests, scripting changes to VMs, monitoring disk
5156# used/free statistics, creating guests, P2V, V2V, performing backups,
5157# cloning VMs, building VMs, formatting disks and resizing disks.
5158
5159#
5160# From nova.conf
5161#
5162
5163#
5164# Enable/disables guestfs logging.
5165#
5166# This configures guestfs to debug messages and push them to Openstack
5167# logging system. When set to True, it traces libguestfs API calls and
5168# enable verbose debug messages. In order to use the above feature,
5169# "libguestfs" package must be installed.
5170#
5171# Related options:
5172# Since libguestfs access and modifies VM's managed by libvirt, below options
5173# should be set to give access to those VM's.
5174# * libvirt.inject_key
5175# * libvirt.inject_partition
5176# * libvirt.inject_password
5177# (boolean value)
5178#debug = false
5179
5180
5181[healthcheck]
5182
5183#
5184# From oslo.middleware
5185#
5186
5187# DEPRECATED: The path to respond to healtcheck requests on. (string value)
5188# This option is deprecated for removal.
5189# Its value may be silently ignored in the future.
5190#path = /healthcheck
5191
5192# Show more detailed information as part of the response (boolean value)
5193#detailed = false
5194
5195# Additional backends that can perform health checks and report that information
5196# back as part of a request. (list value)
5197#backends =
5198
5199# Check the presence of a file to determine if an application is running on a
5200# port. Used by DisableByFileHealthcheck plugin. (string value)
5201#disable_by_file_path = <None>
5202
5203# Check the presence of a file based on a port to determine if an application is
5204# running on a port. Expects a "port:path" list of strings. Used by
5205# DisableByFilesPortsHealthcheck plugin. (list value)
5206#disable_by_file_paths =
5207
5208
5209[hyperv]
5210#
5211# The hyperv feature allows you to configure the Hyper-V hypervisor
5212# driver to be used within an OpenStack deployment.
5213
5214#
5215# From nova.conf
5216#
5217
5218#
5219# Dynamic memory ratio
5220#
5221# Enables dynamic memory allocation (ballooning) when set to a value
5222# greater than 1. The value expresses the ratio between the total RAM
5223# assigned to an instance and its startup RAM amount. For example a
5224# ratio of 2.0 for an instance with 1024MB of RAM implies 512MB of
5225# RAM allocated at startup.
5226#
5227# Possible values:
5228#
5229# * 1.0: Disables dynamic memory allocation (Default).
5230# * Float values greater than 1.0: Enables allocation of total implied
5231# RAM divided by this value for startup.
5232# (floating point value)
5233#dynamic_memory_ratio = 1.0
5234
5235#
5236# Enable instance metrics collection
5237#
5238# Enables metrics collections for an instance by using Hyper-V's
5239# metric APIs. Collected data can by retrieved by other apps and
5240# services, e.g.: Ceilometer.
5241# (boolean value)
5242#enable_instance_metrics_collection = false
5243
5244#
5245# Instances path share
5246#
5247# The name of a Windows share mapped to the "instances_path" dir
5248# and used by the resize feature to copy files to the target host.
5249# If left blank, an administrative share (hidden network share) will
5250# be used, looking for the same "instances_path" used locally.
5251#
5252# Possible values:
5253#
5254# * "": An administrative share will be used (Default).
5255# * Name of a Windows share.
5256#
5257# Related options:
5258#
5259# * "instances_path": The directory which will be used if this option
5260# here is left blank.
5261# (string value)
5262#instances_path_share =
5263
5264#
5265# Limit CPU features
5266#
5267# This flag is needed to support live migration to hosts with
5268# different CPU features and checked during instance creation
5269# in order to limit the CPU features used by the instance.
5270# (boolean value)
5271#limit_cpu_features = false
5272
5273#
5274# Mounted disk query retry count
5275#
5276# The number of times to retry checking for a mounted disk.
5277# The query runs until the device can be found or the retry
5278# count is reached.
5279#
5280# Possible values:
5281#
5282# * Positive integer values. Values greater than 1 is recommended
5283# (Default: 10).
5284#
5285# Related options:
5286#
5287# * Time interval between disk mount retries is declared with
5288# "mounted_disk_query_retry_interval" option.
5289# (integer value)
5290# Minimum value: 0
5291#mounted_disk_query_retry_count = 10
5292
5293#
5294# Mounted disk query retry interval
5295#
5296# Interval between checks for a mounted disk, in seconds.
5297#
5298# Possible values:
5299#
5300# * Time in seconds (Default: 5).
5301#
5302# Related options:
5303#
5304# * This option is meaningful when the mounted_disk_query_retry_count
5305# is greater than 1.
5306# * The retry loop runs with mounted_disk_query_retry_count and
5307# mounted_disk_query_retry_interval configuration options.
5308# (integer value)
5309# Minimum value: 0
5310#mounted_disk_query_retry_interval = 5
5311
5312#
5313# Power state check timeframe
5314#
5315# The timeframe to be checked for instance power state changes.
5316# This option is used to fetch the state of the instance from Hyper-V
5317# through the WMI interface, within the specified timeframe.
5318#
5319# Possible values:
5320#
5321# * Timeframe in seconds (Default: 60).
5322# (integer value)
5323# Minimum value: 0
5324#power_state_check_timeframe = 60
5325
5326#
5327# Power state event polling interval
5328#
5329# Instance power state change event polling frequency. Sets the
5330# listener interval for power state events to the given value.
5331# This option enhances the internal lifecycle notifications of
5332# instances that reboot themselves. It is unlikely that an operator
5333# has to change this value.
5334#
5335# Possible values:
5336#
5337# * Time in seconds (Default: 2).
5338# (integer value)
5339# Minimum value: 0
5340#power_state_event_polling_interval = 2
5341
5342#
5343# qemu-img command
5344#
5345# qemu-img is required for some of the image related operations
5346# like converting between different image types. You can get it
5347# from here: (http://qemu.weilnetz.de/) or you can install the
5348# Cloudbase OpenStack Hyper-V Compute Driver
5349# (https://cloudbase.it/openstack-hyperv-driver/) which automatically
5350# sets the proper path for this config option. You can either give the
5351# full path of qemu-img.exe or set its path in the PATH environment
5352# variable and leave this option to the default value.
5353#
5354# Possible values:
5355#
5356# * Name of the qemu-img executable, in case it is in the same
5357# directory as the nova-compute service or its path is in the
5358# PATH environment variable (Default).
5359# * Path of qemu-img command (DRIVELETTER:\PATH\TO\QEMU-IMG\COMMAND).
5360#
5361# Related options:
5362#
5363# * If the config_drive_cdrom option is False, qemu-img will be used to
5364# convert the ISO to a VHD, otherwise the configuration drive will
5365# remain an ISO. To use configuration drive with Hyper-V, you must
5366# set the mkisofs_cmd value to the full path to an mkisofs.exe
5367# installation.
5368# (string value)
5369#qemu_img_cmd = qemu-img.exe
5370
5371#
5372# External virtual switch name
5373#
5374# The Hyper-V Virtual Switch is a software-based layer-2 Ethernet
5375# network switch that is available with the installation of the
5376# Hyper-V server role. The switch includes programmatically managed
5377# and extensible capabilities to connect virtual machines to both
5378# virtual networks and the physical network. In addition, Hyper-V
5379# Virtual Switch provides policy enforcement for security, isolation,
5380# and service levels. The vSwitch represented by this config option
5381# must be an external one (not internal or private).
5382#
5383# Possible values:
5384#
5385# * If not provided, the first of a list of available vswitches
5386# is used. This list is queried using WQL.
5387# * Virtual switch name.
5388# (string value)
5389#vswitch_name = <None>
5390
5391#
5392# Wait soft reboot seconds
5393#
5394# Number of seconds to wait for instance to shut down after soft
5395# reboot request is made. We fall back to hard reboot if instance
5396# does not shutdown within this window.
5397#
5398# Possible values:
5399#
5400# * Time in seconds (Default: 60).
5401# (integer value)
5402# Minimum value: 0
5403#wait_soft_reboot_seconds = 60
5404
5405#
5406# Configuration drive cdrom
5407#
5408# OpenStack can be configured to write instance metadata to
5409# a configuration drive, which is then attached to the
5410# instance before it boots. The configuration drive can be
5411# attached as a disk drive (default) or as a CD drive.
5412#
5413# Possible values:
5414#
5415# * True: Attach the configuration drive image as a CD drive.
5416# * False: Attach the configuration drive image as a disk drive (Default).
5417#
5418# Related options:
5419#
5420# * This option is meaningful with force_config_drive option set to 'True'
5421# or when the REST API call to create an instance will have
5422# '--config-drive=True' flag.
5423# * config_drive_format option must be set to 'iso9660' in order to use
5424# CD drive as the configuration drive image.
5425# * To use configuration drive with Hyper-V, you must set the
5426# mkisofs_cmd value to the full path to an mkisofs.exe installation.
5427# Additionally, you must set the qemu_img_cmd value to the full path
5428# to an qemu-img command installation.
5429# * You can configure the Compute service to always create a configuration
5430# drive by setting the force_config_drive option to 'True'.
5431# (boolean value)
5432#config_drive_cdrom = false
5433
5434#
5435# Configuration drive inject password
5436#
5437# Enables setting the admin password in the configuration drive image.
5438#
5439# Related options:
5440#
5441# * This option is meaningful when used with other options that enable
5442# configuration drive usage with Hyper-V, such as force_config_drive.
5443# * Currently, the only accepted config_drive_format is 'iso9660'.
5444# (boolean value)
5445#config_drive_inject_password = false
5446
5447#
5448# Volume attach retry count
5449#
5450# The number of times to retry attaching a volume. Volume attachment
5451# is retried until success or the given retry count is reached.
5452#
5453# Possible values:
5454#
5455# * Positive integer values (Default: 10).
5456#
5457# Related options:
5458#
5459# * Time interval between attachment attempts is declared with
5460# volume_attach_retry_interval option.
5461# (integer value)
5462# Minimum value: 0
5463#volume_attach_retry_count = 10
5464
5465#
5466# Volume attach retry interval
5467#
5468# Interval between volume attachment attempts, in seconds.
5469#
5470# Possible values:
5471#
5472# * Time in seconds (Default: 5).
5473#
5474# Related options:
5475#
5476# * This options is meaningful when volume_attach_retry_count
5477# is greater than 1.
5478# * The retry loop runs with volume_attach_retry_count and
5479# volume_attach_retry_interval configuration options.
5480# (integer value)
5481# Minimum value: 0
5482#volume_attach_retry_interval = 5
5483
5484#
5485# Enable RemoteFX feature
5486#
5487# This requires at least one DirectX 11 capable graphics adapter for
5488# Windows / Hyper-V Server 2012 R2 or newer and RDS-Virtualization
5489# feature has to be enabled.
5490#
5491# Instances with RemoteFX can be requested with the following flavor
5492# extra specs:
5493#
5494# **os:resolution**. Guest VM screen resolution size. Acceptable values::
5495#
5496# 1024x768, 1280x1024, 1600x1200, 1920x1200, 2560x1600, 3840x2160
5497#
5498# ``3840x2160`` is only available on Windows / Hyper-V Server 2016.
5499#
5500# **os:monitors**. Guest VM number of monitors. Acceptable values::
5501#
5502# [1, 4] - Windows / Hyper-V Server 2012 R2
5503# [1, 8] - Windows / Hyper-V Server 2016
5504#
5505# **os:vram**. Guest VM VRAM amount. Only available on
5506# Windows / Hyper-V Server 2016. Acceptable values::
5507#
5508# 64, 128, 256, 512, 1024
5509# (boolean value)
5510#enable_remotefx = false
5511
5512#
5513# Use multipath connections when attaching iSCSI or FC disks.
5514#
5515# This requires the Multipath IO Windows feature to be enabled. MPIO must be
5516# configured to claim such devices.
5517# (boolean value)
5518#use_multipath_io = false
5519
5520#
5521# List of iSCSI initiators that will be used for estabilishing iSCSI sessions.
5522#
5523# If none are specified, the Microsoft iSCSI initiator service will choose the
5524# initiator.
5525# (list value)
5526#iscsi_initiator_list =
5527
5528
5529[ironic]
5530#
5531# Configuration options for Ironic driver (Bare Metal).
5532# If using the Ironic driver following options must be set:
5533# * auth_type
5534# * auth_url
5535# * project_name
5536# * username
5537# * password
5538# * project_domain_id or project_domain_name
5539# * user_domain_id or user_domain_name
5540
5541#
5542# From nova.conf
5543#
5544
5545# URL override for the Ironic API endpoint. (uri value)
5546#api_endpoint = http://ironic.example.org:6385/
5547
5548#
5549# The number of times to retry when a request conflicts.
5550# If set to 0, only try once, no retries.
5551#
5552# Related options:
5553#
5554# * api_retry_interval
5555# (integer value)
5556# Minimum value: 0
5557#api_max_retries = 60
5558
5559#
5560# The number of seconds to wait before retrying the request.
5561#
5562# Related options:
5563#
5564# * api_max_retries
5565# (integer value)
5566# Minimum value: 0
5567#api_retry_interval = 2
5568
5569# Timeout (seconds) to wait for node serial console state changed. Set to 0 to
5570# disable timeout. (integer value)
5571# Minimum value: 0
5572#serial_console_state_timeout = 10
5573
5574# PEM encoded Certificate Authority to use when verifying HTTPs connections.
5575# (string value)
5576#cafile = <None>
5577
5578# PEM encoded client certificate cert file (string value)
5579#certfile = <None>
5580
5581# PEM encoded client certificate key file (string value)
5582#keyfile = <None>
5583
5584# Verify HTTPS connections. (boolean value)
5585#insecure = false
5586
5587# Timeout value for http requests (integer value)
5588#timeout = <None>
5589
5590# Authentication type to load (string value)
5591# Deprecated group/name - [ironic]/auth_plugin
5592#auth_type = <None>
5593
5594# Config Section from which to load plugin specific options (string value)
5595#auth_section = <None>
5596
5597# Authentication URL (string value)
5598#auth_url = <None>
5599
5600# Domain ID to scope to (string value)
5601#domain_id = <None>
5602
5603# Domain name to scope to (string value)
5604#domain_name = <None>
5605
5606# Project ID to scope to (string value)
5607#project_id = <None>
5608
5609# Project name to scope to (string value)
5610#project_name = <None>
5611
5612# Domain ID containing project (string value)
5613#project_domain_id = <None>
5614
5615# Domain name containing project (string value)
5616#project_domain_name = <None>
5617
5618# Trust ID (string value)
5619#trust_id = <None>
5620
5621# User ID (string value)
5622#user_id = <None>
5623
5624# Username (string value)
5625# Deprecated group/name - [ironic]/user_name
5626#username = <None>
5627
5628# User's domain id (string value)
5629#user_domain_id = <None>
5630
5631# User's domain name (string value)
5632#user_domain_name = <None>
5633
5634# User's password (string value)
5635#password = <None>
5636
5637
5638[key_manager]
5639
5640#
5641# From nova.conf
5642#
5643
5644#
5645# Fixed key returned by key manager, specified in hex.
5646#
5647# Possible values:
5648#
5649# * Empty string or a key in hex value
5650# (string value)
5651#fixed_key = <None>
5652
5653# The full class name of the key manager API class (string value)
5654#api_class = castellan.key_manager.barbican_key_manager.BarbicanKeyManager
5655
5656# The type of authentication credential to create. Possible values are 'token',
5657# 'password', 'keystone_token', and 'keystone_password'. Required if no context
5658# is passed to the credential factory. (string value)
5659#auth_type = <None>
5660
5661# Token for authentication. Required for 'token' and 'keystone_token' auth_type
5662# if no context is passed to the credential factory. (string value)
5663#token = <None>
5664
5665# Username for authentication. Required for 'password' auth_type. Optional for
5666# the 'keystone_password' auth_type. (string value)
5667#username = <None>
5668
5669# Password for authentication. Required for 'password' and 'keystone_password'
5670# auth_type. (string value)
5671#password = <None>
5672
5673# Use this endpoint to connect to Keystone. (string value)
5674#auth_url = <None>
5675
5676# User ID for authentication. Optional for 'keystone_token' and
5677# 'keystone_password' auth_type. (string value)
5678#user_id = <None>
5679
5680# User's domain ID for authentication. Optional for 'keystone_token' and
5681# 'keystone_password' auth_type. (string value)
5682#user_domain_id = <None>
5683
5684# User's domain name for authentication. Optional for 'keystone_token' and
5685# 'keystone_password' auth_type. (string value)
5686#user_domain_name = <None>
5687
5688# Trust ID for trust scoping. Optional for 'keystone_token' and
5689# 'keystone_password' auth_type. (string value)
5690#trust_id = <None>
5691
5692# Domain ID for domain scoping. Optional for 'keystone_token' and
5693# 'keystone_password' auth_type. (string value)
5694#domain_id = <None>
5695
5696# Domain name for domain scoping. Optional for 'keystone_token' and
5697# 'keystone_password' auth_type. (string value)
5698#domain_name = <None>
5699
5700# Project ID for project scoping. Optional for 'keystone_token' and
5701# 'keystone_password' auth_type. (string value)
5702#project_id = <None>
5703
5704# Project name for project scoping. Optional for 'keystone_token' and
5705# 'keystone_password' auth_type. (string value)
5706#project_name = <None>
5707
5708# Project's domain ID for project. Optional for 'keystone_token' and
5709# 'keystone_password' auth_type. (string value)
5710#project_domain_id = <None>
5711
5712# Project's domain name for project. Optional for 'keystone_token' and
5713# 'keystone_password' auth_type. (string value)
5714#project_domain_name = <None>
5715
5716# Allow fetching a new token if the current one is going to expire. Optional for
5717# 'keystone_token' and 'keystone_password' auth_type. (boolean value)
5718#reauthenticate = true
5719
5720
5721[keystone]
5722# Configuration options for the identity service
5723
5724#
5725# From nova.conf
5726#
5727
5728# PEM encoded Certificate Authority to use when verifying HTTPs connections.
5729# (string value)
5730#cafile = <None>
5731
5732# PEM encoded client certificate cert file (string value)
5733#certfile = <None>
5734
5735# PEM encoded client certificate key file (string value)
5736#keyfile = <None>
5737
5738# Verify HTTPS connections. (boolean value)
5739#insecure = false
5740
5741# Timeout value for http requests (integer value)
5742#timeout = <None>
5743
78 5744
79[keystone_authtoken] 5745[keystone_authtoken]
80identity_uri=http://127.0.0.1:8081/keystone/admin 5746
81admin_tenant_name = %SERVICE_TENANT_NAME% 5747#
82admin_user = %SERVICE_USER% 5748# From keystonemiddleware.auth_token
83admin_password = %SERVICE_PASSWORD% 5749#
5750
5751# Complete "public" Identity API endpoint. This endpoint should not be an
5752# "admin" endpoint, as it should be accessible by all end users. Unauthenticated
5753# clients are redirected to this endpoint to authenticate. Although this
5754# endpoint should ideally be unversioned, client support in the wild varies. If
5755# you're using a versioned v2 endpoint here, then this should *not* be the same
5756# endpoint the service user utilizes for validating tokens, because normal end
5757# users may not be able to reach that endpoint. (string value)
5758#auth_uri = <None>
5759
5760# API version of the admin Identity API endpoint. (string value)
5761#auth_version = <None>
5762
5763# Do not handle authorization requests within the middleware, but delegate the
5764# authorization decision to downstream WSGI components. (boolean value)
5765#delay_auth_decision = false
5766
5767# Request timeout value for communicating with Identity API server. (integer
5768# value)
5769#http_connect_timeout = <None>
5770
5771# How many times are we trying to reconnect when communicating with Identity API
5772# Server. (integer value)
5773#http_request_max_retries = 3
5774
5775# Request environment key where the Swift cache object is stored. When
5776# auth_token middleware is deployed with a Swift cache, use this option to have
5777# the middleware share a caching backend with swift. Otherwise, use the
5778# ``memcached_servers`` option instead. (string value)
5779#cache = <None>
5780
5781# Required if identity server requires client certificate (string value)
5782#certfile = <None>
5783
5784# Required if identity server requires client certificate (string value)
5785#keyfile = <None>
5786
5787# A PEM encoded Certificate Authority to use when verifying HTTPs connections.
5788# Defaults to system CAs. (string value)
5789#cafile = <None>
5790
5791# Verify HTTPS connections. (boolean value)
5792#insecure = false
5793
5794# The region in which the identity server can be found. (string value)
5795#region_name = <None>
5796
5797# DEPRECATED: Directory used to cache files related to PKI tokens. This option
5798# has been deprecated in the Ocata release and will be removed in the P release.
5799# (string value)
5800# This option is deprecated for removal since Ocata.
5801# Its value may be silently ignored in the future.
5802# Reason: PKI token format is no longer supported.
5803#signing_dir = <None>
5804
5805# Optionally specify a list of memcached server(s) to use for caching. If left
5806# undefined, tokens will instead be cached in-process. (list value)
5807# Deprecated group/name - [keystone_authtoken]/memcache_servers
5808#memcached_servers = <None>
5809
5810# In order to prevent excessive effort spent validating tokens, the middleware
5811# caches previously-seen tokens for a configurable duration (in seconds). Set to
5812# -1 to disable caching completely. (integer value)
5813#token_cache_time = 300
5814
5815# DEPRECATED: Determines the frequency at which the list of revoked tokens is
5816# retrieved from the Identity service (in seconds). A high number of revocation
5817# events combined with a low cache duration may significantly reduce
5818# performance. Only valid for PKI tokens. This option has been deprecated in the
5819# Ocata release and will be removed in the P release. (integer value)
5820# This option is deprecated for removal since Ocata.
5821# Its value may be silently ignored in the future.
5822# Reason: PKI token format is no longer supported.
5823#revocation_cache_time = 10
5824
5825# (Optional) If defined, indicate whether token data should be authenticated or
5826# authenticated and encrypted. If MAC, token data is authenticated (with HMAC)
5827# in the cache. If ENCRYPT, token data is encrypted and authenticated in the
5828# cache. If the value is not one of these options or empty, auth_token will
5829# raise an exception on initialization. (string value)
5830# Allowed values: None, MAC, ENCRYPT
5831#memcache_security_strategy = None
5832
5833# (Optional, mandatory if memcache_security_strategy is defined) This string is
5834# used for key derivation. (string value)
5835#memcache_secret_key = <None>
5836
5837# (Optional) Number of seconds memcached server is considered dead before it is
5838# tried again. (integer value)
5839#memcache_pool_dead_retry = 300
5840
5841# (Optional) Maximum total number of open connections to every memcached server.
5842# (integer value)
5843#memcache_pool_maxsize = 10
5844
5845# (Optional) Socket timeout in seconds for communicating with a memcached
5846# server. (integer value)
5847#memcache_pool_socket_timeout = 3
5848
5849# (Optional) Number of seconds a connection to memcached is held unused in the
5850# pool before it is closed. (integer value)
5851#memcache_pool_unused_timeout = 60
5852
5853# (Optional) Number of seconds that an operation will wait to get a memcached
5854# client connection from the pool. (integer value)
5855#memcache_pool_conn_get_timeout = 10
5856
5857# (Optional) Use the advanced (eventlet safe) memcached client pool. The
5858# advanced pool will only work under python 2.x. (boolean value)
5859#memcache_use_advanced_pool = false
5860
5861# (Optional) Indicate whether to set the X-Service-Catalog header. If False,
5862# middleware will not ask for service catalog on token validation and will not
5863# set the X-Service-Catalog header. (boolean value)
5864#include_service_catalog = true
5865
5866# Used to control the use and type of token binding. Can be set to: "disabled"
5867# to not check token binding. "permissive" (default) to validate binding
5868# information if the bind type is of a form known to the server and ignore it if
5869# not. "strict" like "permissive" but if the bind type is unknown the token will
5870# be rejected. "required" any form of token binding is needed to be allowed.
5871# Finally the name of a binding method that must be present in tokens. (string
5872# value)
5873#enforce_token_bind = permissive
5874
5875# DEPRECATED: If true, the revocation list will be checked for cached tokens.
5876# This requires that PKI tokens are configured on the identity server. (boolean
5877# value)
5878# This option is deprecated for removal since Ocata.
5879# Its value may be silently ignored in the future.
5880# Reason: PKI token format is no longer supported.
5881#check_revocations_for_cached = false
5882
5883# DEPRECATED: Hash algorithms to use for hashing PKI tokens. This may be a
5884# single algorithm or multiple. The algorithms are those supported by Python
5885# standard hashlib.new(). The hashes will be tried in the order given, so put
5886# the preferred one first for performance. The result of the first hash will be
5887# stored in the cache. This will typically be set to multiple values only while
5888# migrating from a less secure algorithm to a more secure one. Once all the old
5889# tokens are expired this option should be set to a single value for better
5890# performance. (list value)
5891# This option is deprecated for removal since Ocata.
5892# Its value may be silently ignored in the future.
5893# Reason: PKI token format is no longer supported.
5894#hash_algorithms = md5
5895
5896# A choice of roles that must be present in a service token. Service tokens are
5897# allowed to request that an expired token can be used and so this check should
5898# tightly control that only actual services should be sending this token. Roles
5899# here are applied as an ANY check so any role in this list must be present. For
5900# backwards compatibility reasons this currently only affects the allow_expired
5901# check. (list value)
5902#service_token_roles = service
5903
5904# For backwards compatibility reasons we must let valid service tokens pass that
5905# don't pass the service_token_roles check as valid. Setting this true will
5906# become the default in a future release and should be enabled if possible.
5907# (boolean value)
5908#service_token_roles_required = false
5909
5910# Authentication type to load (string value)
5911# Deprecated group/name - [keystone_authtoken]/auth_plugin
5912#auth_type = <None>
5913
5914# Config Section from which to load plugin specific options (string value)
5915#auth_section = <None>
5916
84 5917
85[libvirt] 5918[libvirt]
86virt_type = kvm 5919#
87libvirt_cpu_mode = none 5920# Libvirt options allows cloud administrator to configure related
88libvirt_images_type = %LIBVIRT_IMAGES_TYPE% 5921# libvirt hypervisor driver to be used within an OpenStack deployment.
5922#
5923# Almost all of the libvirt config options are influence by ``virt_type`` config
5924# which describes the virtualization type (or so called domain type) libvirt
5925# should use for specific features such as live migration, snapshot.
5926
5927#
5928# From nova.conf
5929#
5930
5931#
5932# The ID of the image to boot from to rescue data from a corrupted instance.
5933#
5934# If the rescue REST API operation doesn't provide an ID of an image to
5935# use, the image which is referenced by this ID is used. If this
5936# option is not set, the image from the instance is used.
5937#
5938# Possible values:
5939#
5940# * An ID of an image or nothing. If it points to an *Amazon Machine
5941# Image* (AMI), consider to set the config options ``rescue_kernel_id``
5942# and ``rescue_ramdisk_id`` too. If nothing is set, the image of the instance
5943# is used.
5944#
5945# Related options:
5946#
5947# * ``rescue_kernel_id``: If the chosen rescue image allows the separate
5948# definition of its kernel disk, the value of this option is used,
5949# if specified. This is the case when *Amazon*'s AMI/AKI/ARI image
5950# format is used for the rescue image.
5951# * ``rescue_ramdisk_id``: If the chosen rescue image allows the separate
5952# definition of its RAM disk, the value of this option is used if,
5953# specified. This is the case when *Amazon*'s AMI/AKI/ARI image
5954# format is used for the rescue image.
5955# (string value)
5956#rescue_image_id = <None>
5957
5958#
5959# The ID of the kernel (AKI) image to use with the rescue image.
5960#
5961# If the chosen rescue image allows the separate definition of its kernel
5962# disk, the value of this option is used, if specified. This is the case
5963# when *Amazon*'s AMI/AKI/ARI image format is used for the rescue image.
5964#
5965# Possible values:
5966#
5967# * An ID of an kernel image or nothing. If nothing is specified, the kernel
5968# disk from the instance is used if it was launched with one.
5969#
5970# Related options:
5971#
5972# * ``rescue_image_id``: If that option points to an image in *Amazon*'s
5973# AMI/AKI/ARI image format, it's useful to use ``rescue_kernel_id`` too.
5974# (string value)
5975#rescue_kernel_id = <None>
5976
5977#
5978# The ID of the RAM disk (ARI) image to use with the rescue image.
5979#
5980# If the chosen rescue image allows the separate definition of its RAM
5981# disk, the value of this option is used, if specified. This is the case
5982# when *Amazon*'s AMI/AKI/ARI image format is used for the rescue image.
5983#
5984# Possible values:
5985#
5986# * An ID of a RAM disk image or nothing. If nothing is specified, the RAM
5987# disk from the instance is used if it was launched with one.
5988#
5989# Related options:
5990#
5991# * ``rescue_image_id``: If that option points to an image in *Amazon*'s
5992# AMI/AKI/ARI image format, it's useful to use ``rescue_ramdisk_id`` too.
5993# (string value)
5994#rescue_ramdisk_id = <None>
5995
5996#
5997# Describes the virtualization type (or so called domain type) libvirt should
5998# use.
5999#
6000# The choice of this type must match the underlying virtualization strategy
6001# you have chosen for this host.
6002#
6003# Possible values:
6004#
6005# * See the predefined set of case-sensitive values.
6006#
6007# Related options:
6008#
6009# * ``connection_uri``: depends on this
6010# * ``disk_prefix``: depends on this
6011# * ``cpu_mode``: depends on this
6012# * ``cpu_model``: depends on this
6013# (string value)
6014# Allowed values: kvm, lxc, qemu, uml, xen, parallels
6015#virt_type = kvm
6016
6017#
6018# Overrides the default libvirt URI of the chosen virtualization type.
6019#
6020# If set, Nova will use this URI to connect to libvirt.
6021#
6022# Possible values:
6023#
6024# * An URI like ``qemu:///system`` or ``xen+ssh://oirase/`` for example.
6025# This is only necessary if the URI differs to the commonly known URIs
6026# for the chosen virtualization type.
6027#
6028# Related options:
6029#
6030# * ``virt_type``: Influences what is used as default value here.
6031# (string value)
6032#connection_uri =
6033
6034#
6035# Allow the injection of an admin password for instance only at ``create`` and
6036# ``rebuild`` process.
6037#
6038# There is no agent needed within the image to do this. If *libguestfs* is
6039# available on the host, it will be used. Otherwise *nbd* is used. The file
6040# system of the image will be mounted and the admin password, which is provided
6041# in the REST API call will be injected as password for the root user. If no
6042# root user is available, the instance won't be launched and an error is thrown.
6043# Be aware that the injection is *not* possible when the instance gets launched
6044# from a volume.
6045#
6046# Possible values:
6047#
6048# * True: Allows the injection.
6049# * False (default): Disallows the injection. Any via the REST API provided
6050# admin password will be silently ignored.
6051#
6052# Related options:
6053#
6054# * ``inject_partition``: That option will decide about the discovery and usage
6055# of the file system. It also can disable the injection at all.
6056# (boolean value)
6057#inject_password = false
6058
6059#
6060# Allow the injection of an SSH key at boot time.
6061#
6062# There is no agent needed within the image to do this. If *libguestfs* is
6063# available on the host, it will be used. Otherwise *nbd* is used. The file
6064# system of the image will be mounted and the SSH key, which is provided
6065# in the REST API call will be injected as SSH key for the root user and
6066# appended to the ``authorized_keys`` of that user. The SELinux context will
6067# be set if necessary. Be aware that the injection is *not* possible when the
6068# instance gets launched from a volume.
6069#
6070# This config option will enable directly modifying the instance disk and does
6071# not affect what cloud-init may do using data from config_drive option or the
6072# metadata service.
6073#
6074# Related options:
6075#
6076# * ``inject_partition``: That option will decide about the discovery and usage
6077# of the file system. It also can disable the injection at all.
6078# (boolean value)
6079#inject_key = false
6080
6081#
6082# Determines the way how the file system is chosen to inject data into it.
6083#
6084# *libguestfs* will be used a first solution to inject data. If that's not
6085# available on the host, the image will be locally mounted on the host as a
6086# fallback solution. If libguestfs is not able to determine the root partition
6087# (because there are more or less than one root partition) or cannot mount the
6088# file system it will result in an error and the instance won't be boot.
6089#
6090# Possible values:
6091#
6092# * -2 => disable the injection of data.
6093# * -1 => find the root partition with the file system to mount with libguestfs
6094# * 0 => The image is not partitioned
6095# * >0 => The number of the partition to use for the injection
6096#
6097# Related options:
6098#
6099# * ``inject_key``: If this option allows the injection of a SSH key it depends
6100# on value greater or equal to -1 for ``inject_partition``.
6101# * ``inject_password``: If this option allows the injection of an admin
6102# password
6103# it depends on value greater or equal to -1 for ``inject_partition``.
6104# * ``guestfs`` You can enable the debug log level of libguestfs with this
6105# config option. A more verbose output will help in debugging issues.
6106# * ``virt_type``: If you use ``lxc`` as virt_type it will be treated as a
6107# single partition image
6108# (integer value)
6109# Minimum value: -2
6110#inject_partition = -2
6111
6112# DEPRECATED:
6113# Enable a mouse cursor within a graphical VNC or SPICE sessions.
6114#
6115# This will only be taken into account if the VM is fully virtualized and VNC
6116# and/or SPICE is enabled. If the node doesn't support a graphical framebuffer,
6117# then it is valid to set this to False.
6118#
6119# Related options:
6120# * ``[vnc]enabled``: If VNC is enabled, ``use_usb_tablet`` will have an effect.
6121# * ``[spice]enabled`` + ``[spice].agent_enabled``: If SPICE is enabled and the
6122# spice agent is disabled, the config value of ``use_usb_tablet`` will have
6123# an effect.
6124# (boolean value)
6125# This option is deprecated for removal since 14.0.0.
6126# Its value may be silently ignored in the future.
6127# Reason: This option is being replaced by the 'pointer_model' option.
6128#use_usb_tablet = true
6129
6130#
6131# The IP address or hostname to be used as the target for live migration
6132# traffic.
6133#
6134# If this option is set to None, the hostname of the migration target compute
6135# node will be used.
6136#
6137# This option is useful in environments where the live-migration traffic can
6138# impact the network plane significantly. A separate network for live-migration
6139# traffic can then use this config option and avoids the impact on the
6140# management network.
6141#
6142# Possible values:
6143#
6144# * A valid IP address or hostname, else None.
6145#
6146# Related options:
6147#
6148# * ``live_migration_tunnelled``: The live_migration_inbound_addr value is
6149# ignored if tunneling is enabled.
6150# (string value)
6151#live_migration_inbound_addr = <None>
6152
6153# DEPRECATED:
6154# Live migration target URI to use.
6155#
6156# Override the default libvirt live migration target URI (which is dependent
6157# on virt_type). Any included "%s" is replaced with the migration target
6158# hostname.
6159#
6160# If this option is set to None (which is the default), Nova will automatically
6161# generate the `live_migration_uri` value based on only 4 supported `virt_type`
6162# in following list:
6163#
6164# * 'kvm': 'qemu+tcp://%s/system'
6165# * 'qemu': 'qemu+tcp://%s/system'
6166# * 'xen': 'xenmigr://%s/system'
6167# * 'parallels': 'parallels+tcp://%s/system'
6168#
6169# Related options:
6170#
6171# * ``live_migration_inbound_addr``: If ``live_migration_inbound_addr`` value
6172# is not None and ``live_migration_tunnelled`` is False, the ip/hostname
6173# address of target compute node is used instead of ``live_migration_uri`` as
6174# the uri for live migration.
6175# * ``live_migration_scheme``: If ``live_migration_uri`` is not set, the scheme
6176# used for live migration is taken from ``live_migration_scheme`` instead.
6177# (string value)
6178# This option is deprecated for removal since 15.0.0.
6179# Its value may be silently ignored in the future.
6180# Reason:
6181# live_migration_uri is deprecated for removal in favor of two other options
6182# that
6183# allow to change live migration scheme and target URI:
6184# ``live_migration_scheme``
6185# and ``live_migration_inbound_addr`` respectively.
6186#live_migration_uri = <None>
6187
6188#
6189# URI scheme used for live migration.
6190#
6191# Override the default libvirt live migration scheme (which is dependent on
6192# virt_type). If this option is set to None, nova will automatically choose a
6193# sensible default based on the hypervisor. It is not recommended that you
6194# change
6195# this unless you are very sure that hypervisor supports a particular scheme.
6196#
6197# Related options:
6198#
6199# * ``virt_type``: This option is meaningful only when ``virt_type`` is set to
6200# `kvm` or `qemu`.
6201# * ``live_migration_uri``: If ``live_migration_uri`` value is not None, the
6202# scheme used for live migration is taken from ``live_migration_uri`` instead.
6203# (string value)
6204#live_migration_scheme = <None>
6205
6206#
6207# Enable tunnelled migration.
6208#
6209# This option enables the tunnelled migration feature, where migration data is
6210# transported over the libvirtd connection. If enabled, we use the
6211# VIR_MIGRATE_TUNNELLED migration flag, avoiding the need to configure
6212# the network to allow direct hypervisor to hypervisor communication.
6213# If False, use the native transport. If not set, Nova will choose a
6214# sensible default based on, for example the availability of native
6215# encryption support in the hypervisor. Enabling this option will definitely
6216# impact performance massively.
6217#
6218# Note that this option is NOT compatible with use of block migration.
6219#
6220# Related options:
6221#
6222# * ``live_migration_inbound_addr``: The live_migration_inbound_addr value is
6223# ignored if tunneling is enabled.
6224# (boolean value)
6225#live_migration_tunnelled = false
6226
6227#
6228# Maximum bandwidth(in MiB/s) to be used during migration.
6229#
6230# If set to 0, the hypervisor will choose a suitable default. Some hypervisors
6231# do not support this feature and will return an error if bandwidth is not 0.
6232# Please refer to the libvirt documentation for further details.
6233# (integer value)
6234#live_migration_bandwidth = 0
6235
6236#
6237# Maximum permitted downtime, in milliseconds, for live migration
6238# switchover.
6239#
6240# Will be rounded up to a minimum of 100ms. You can increase this value
6241# if you want to allow live-migrations to complete faster, or avoid
6242# live-migration timeout errors by allowing the guest to be paused for
6243# longer during the live-migration switch over.
6244#
6245# Related options:
6246#
6247# * live_migration_completion_timeout
6248# (integer value)
6249# Minimum value: 100
6250#live_migration_downtime = 500
6251
6252#
6253# Number of incremental steps to reach max downtime value.
6254#
6255# Will be rounded up to a minimum of 3 steps.
6256# (integer value)
6257# Minimum value: 3
6258#live_migration_downtime_steps = 10
6259
6260#
6261# Time to wait, in seconds, between each step increase of the migration
6262# downtime.
6263#
6264# Minimum delay is 3 seconds. Value is per GiB of guest RAM + disk to be
6265# transferred, with lower bound of a minimum of 2 GiB per device.
6266# (integer value)
6267# Minimum value: 3
6268#live_migration_downtime_delay = 75
6269
6270#
6271# Time to wait, in seconds, for migration to successfully complete transferring
6272# data before aborting the operation.
6273#
6274# Value is per GiB of guest RAM + disk to be transferred, with lower bound of
6275# a minimum of 2 GiB. Should usually be larger than downtime delay * downtime
6276# steps. Set to 0 to disable timeouts.
6277#
6278# Related options:
6279#
6280# * live_migration_downtime
6281# * live_migration_downtime_steps
6282# * live_migration_downtime_delay
6283# (integer value)
6284# Note: This option can be changed without restarting.
6285#live_migration_completion_timeout = 800
6286
6287# DEPRECATED:
6288# Time to wait, in seconds, for migration to make forward progress in
6289# transferring data before aborting the operation.
6290#
6291# Set to 0 to disable timeouts.
6292#
6293# This is deprecated, and now disabled by default because we have found serious
6294# bugs in this feature that caused false live-migration timeout failures. This
6295# feature will be removed or replaced in a future release.
6296# (integer value)
6297# Note: This option can be changed without restarting.
6298# This option is deprecated for removal.
6299# Its value may be silently ignored in the future.
6300# Reason: Serious bugs found in this feature.
6301#live_migration_progress_timeout = 0
6302
6303#
6304# This option allows nova to switch an on-going live migration to post-copy
6305# mode, i.e., switch the active VM to the one on the destination node before the
6306# migration is complete, therefore ensuring an upper bound on the memory that
6307# needs to be transferred. Post-copy requires libvirt>=1.3.3 and QEMU>=2.5.0.
6308#
6309# When permitted, post-copy mode will be automatically activated if a
6310# live-migration memory copy iteration does not make percentage increase of at
6311# least 10% over the last iteration.
6312#
6313# The live-migration force complete API also uses post-copy when permitted. If
6314# post-copy mode is not available, force complete falls back to pausing the VM
6315# to ensure the live-migration operation will complete.
6316#
6317# When using post-copy mode, if the source and destination hosts loose network
6318# connectivity, the VM being live-migrated will need to be rebooted. For more
6319# details, please see the Administration guide.
6320#
6321# Related options:
6322#
6323# * live_migration_permit_auto_converge
6324# (boolean value)
6325#live_migration_permit_post_copy = false
6326
6327#
6328# This option allows nova to start live migration with auto converge on.
6329#
6330# Auto converge throttles down CPU if a progress of on-going live migration
6331# is slow. Auto converge will only be used if this flag is set to True and
6332# post copy is not permitted or post copy is unavailable due to the version
6333# of libvirt and QEMU in use.
6334#
6335# Related options:
6336#
6337# * live_migration_permit_post_copy
6338# (boolean value)
6339#live_migration_permit_auto_converge = false
6340
6341#
6342# Determine the snapshot image format when sending to the image service.
6343#
6344# If set, this decides what format is used when sending the snapshot to the
6345# image service.
6346# If not set, defaults to same type as source image.
6347#
6348# Possible values:
6349#
6350# * ``raw``: RAW disk format
6351# * ``qcow2``: KVM default disk format
6352# * ``vmdk``: VMWare default disk format
6353# * ``vdi``: VirtualBox default disk format
6354# * If not set, defaults to same type as source image.
6355# (string value)
6356# Allowed values: raw, qcow2, vmdk, vdi
6357#snapshot_image_format = <None>
6358
6359#
6360# Override the default disk prefix for the devices attached to an instance.
6361#
6362# If set, this is used to identify a free disk device name for a bus.
6363#
6364# Possible values:
6365#
6366# * Any prefix which will result in a valid disk device name like 'sda' or 'hda'
6367# for example. This is only necessary if the device names differ to the
6368# commonly known device name prefixes for a virtualization type such as: sd,
6369# xvd, uvd, vd.
6370#
6371# Related options:
6372#
6373# * ``virt_type``: Influences which device type is used, which determines
6374# the default disk prefix.
6375# (string value)
6376#disk_prefix = <None>
6377
6378# Number of seconds to wait for instance to shut down after soft reboot request
6379# is made. We fall back to hard reboot if instance does not shutdown within this
6380# window. (integer value)
6381#wait_soft_reboot_seconds = 120
6382
6383#
6384# Is used to set the CPU mode an instance should have.
6385#
6386# If virt_type="kvm|qemu", it will default to "host-model", otherwise it will
6387# default to "none".
6388#
6389# Possible values:
6390#
6391# * ``host-model``: Clones the host CPU feature flags.
6392# * ``host-passthrough``: Use the host CPU model exactly;
6393# * ``custom``: Use a named CPU model;
6394# * ``none``: Not set any CPU model.
6395#
6396# Related options:
6397#
6398# * ``cpu_model``: If ``custom`` is used for ``cpu_mode``, set this config
6399# option too, otherwise this would result in an error and the instance won't
6400# be launched.
6401# (string value)
6402# Allowed values: host-model, host-passthrough, custom, none
6403#cpu_mode = <None>
6404
6405#
6406# Set the name of the libvirt CPU model the instance should use.
6407#
6408# Possible values:
6409#
6410# * The names listed in /usr/share/libvirt/cpu_map.xml
6411#
6412# Related options:
6413#
6414# * ``cpu_mode``: Don't set this when ``cpu_mode`` is NOT set to ``custom``.
6415# This would result in an error and the instance won't be launched.
6416# * ``virt_type``: Only the virtualization types ``kvm`` and ``qemu`` use this.
6417# (string value)
6418#cpu_model = <None>
6419
6420# Location where libvirt driver will store snapshots before uploading them to
6421# image service (string value)
6422#snapshots_directory = $instances_path/snapshots
6423
6424# Location where the Xen hvmloader is kept (string value)
6425#xen_hvmloader_path = /usr/lib/xen/boot/hvmloader
6426
6427#
6428# Specific cache modes to use for different disk types.
6429#
6430# For example: file=directsync,block=none,network=writeback
6431#
6432# For local or direct-attached storage, it is recommended that you use
6433# writethrough (default) mode, as it ensures data integrity and has acceptable
6434# I/O performance for applications running in the guest, especially for read
6435# operations. However, caching mode none is recommended for remote NFS storage,
6436# because direct I/O operations (O_DIRECT) perform better than synchronous I/O
6437# operations (with O_SYNC). Caching mode none effectively turns all guest I/O
6438# operations into direct I/O operations on the host, which is the NFS client in
6439# this environment.
6440#
6441# Possible cache modes:
6442#
6443# * default: Same as writethrough.
6444# * none: With caching mode set to none, the host page cache is disabled, but
6445# the disk write cache is enabled for the guest. In this mode, the write
6446# performance in the guest is optimal because write operations bypass the host
6447# page cache and go directly to the disk write cache. If the disk write cache
6448# is battery-backed, or if the applications or storage stack in the guest
6449# transfer data properly (either through fsync operations or file system
6450# barriers), then data integrity can be ensured. However, because the host
6451# page cache is disabled, the read performance in the guest would not be as
6452# good as in the modes where the host page cache is enabled, such as
6453# writethrough mode.
6454# * writethrough: writethrough mode is the default caching mode. With
6455# caching set to writethrough mode, the host page cache is enabled, but the
6456# disk write cache is disabled for the guest. Consequently, this caching mode
6457# ensures data integrity even if the applications and storage stack in the
6458# guest do not transfer data to permanent storage properly (either through
6459# fsync operations or file system barriers). Because the host page cache is
6460# enabled in this mode, the read performance for applications running in the
6461# guest is generally better. However, the write performance might be reduced
6462# because the disk write cache is disabled.
6463# * writeback: With caching set to writeback mode, both the host page cache
6464# and the disk write cache are enabled for the guest. Because of this, the
6465# I/O performance for applications running in the guest is good, but the data
6466# is not protected in a power failure. As a result, this caching mode is
6467# recommended only for temporary data where potential data loss is not a
6468# concern.
6469# * directsync: Like "writethrough", but it bypasses the host page cache.
6470# * unsafe: Caching mode of unsafe ignores cache transfer operations
6471# completely. As its name implies, this caching mode should be used only for
6472# temporary data where data loss is not a concern. This mode can be useful for
6473# speeding up guest installations, but you should switch to another caching
6474# mode in production environments.
6475# (list value)
6476#disk_cachemodes =
6477
6478# A path to a device that will be used as source of entropy on the host.
6479# Permitted options are: /dev/random or /dev/hwrng (string value)
6480#rng_dev_path = <None>
6481
6482# For qemu or KVM guests, set this option to specify a default machine type per
6483# host architecture. You can find a list of supported machine types in your
6484# environment by checking the output of the "virsh capabilities"command. The
6485# format of the value for this config option is host-arch=machine-type. For
6486# example: x86_64=machinetype1,armv7l=machinetype2 (list value)
6487#hw_machine_type = <None>
6488
6489# The data source used to the populate the host "serial" UUID exposed to guest
6490# in the virtual BIOS. (string value)
6491# Allowed values: none, os, hardware, auto
6492#sysinfo_serial = auto
6493
6494# A number of seconds to memory usage statistics period. Zero or negative value
6495# mean to disable memory usage statistics. (integer value)
6496#mem_stats_period_seconds = 10
6497
6498# List of uid targets and ranges.Syntax is guest-uid:host-uid:countMaximum of 5
6499# allowed. (list value)
6500#uid_maps =
6501
6502# List of guid targets and ranges.Syntax is guest-gid:host-gid:countMaximum of 5
6503# allowed. (list value)
6504#gid_maps =
6505
6506# In a realtime host context vCPUs for guest will run in that scheduling
6507# priority. Priority depends on the host kernel (usually 1-99) (integer value)
6508#realtime_scheduler_priority = 1
6509
6510#
6511# This is a performance event list which could be used as monitor. These events
6512# will be passed to libvirt domain xml while creating a new instances.
6513# Then event statistics data can be collected from libvirt. The minimum
6514# libvirt version is 2.0.0. For more information about `Performance monitoring
6515# events`, refer https://libvirt.org/formatdomain.html#elementsPerf .
6516#
6517# Possible values:
6518# * A string list. For example: ``enabled_perf_events = cmt, mbml, mbmt``
6519# The supported events list can be found in
6520# https://libvirt.org/html/libvirt-libvirt-domain.html ,
6521# which you may need to search key words ``VIR_PERF_PARAM_*``
6522# (list value)
6523#enabled_perf_events =
6524
6525#
6526# VM Images format.
6527#
6528# If default is specified, then use_cow_images flag is used instead of this
6529# one.
6530#
6531# Related options:
6532#
6533# * virt.use_cow_images
6534# * images_volume_group
6535# (string value)
6536# Allowed values: raw, flat, qcow2, lvm, rbd, ploop, default
6537#images_type = default
6538
6539#
6540# LVM Volume Group that is used for VM images, when you specify images_type=lvm
6541#
6542# Related options:
6543#
6544# * images_type
6545# (string value)
6546#images_volume_group = <None>
6547
6548#
6549# Create sparse logical volumes (with virtualsize) if this flag is set to True.
6550# (boolean value)
6551#sparse_logical_volumes = false
6552
6553# The RADOS pool in which rbd volumes are stored (string value)
6554#images_rbd_pool = rbd
6555
6556# Path to the ceph configuration file to use (string value)
6557#images_rbd_ceph_conf =
6558
6559#
6560# Discard option for nova managed disks.
6561#
6562# Requires:
6563#
6564# * Libvirt >= 1.0.6
6565# * Qemu >= 1.5 (raw format)
6566# * Qemu >= 1.6 (qcow2 format)
6567# (string value)
6568# Allowed values: ignore, unmap
6569#hw_disk_discard = <None>
6570
6571# DEPRECATED: Allows image information files to be stored in non-standard
6572# locations (string value)
6573# This option is deprecated for removal since 14.0.0.
6574# Its value may be silently ignored in the future.
6575# Reason: Image info files are no longer used by the image cache
6576#image_info_filename_pattern = $instances_path/$image_cache_subdirectory_name/%(image)s.info
6577
6578# Unused resized base images younger than this will not be removed (integer
6579# value)
6580#remove_unused_resized_minimum_age_seconds = 3600
6581
6582# DEPRECATED: Write a checksum for files in _base to disk (boolean value)
6583# This option is deprecated for removal since 14.0.0.
6584# Its value may be silently ignored in the future.
6585# Reason: The image cache no longer periodically calculates checksums of stored
6586# images. Data integrity can be checked at the block or filesystem level.
6587#checksum_base_images = false
6588
6589# DEPRECATED: How frequently to checksum base images (integer value)
6590# This option is deprecated for removal since 14.0.0.
6591# Its value may be silently ignored in the future.
6592# Reason: The image cache no longer periodically calculates checksums of stored
6593# images. Data integrity can be checked at the block or filesystem level.
6594#checksum_interval_seconds = 3600
6595
6596#
6597# Method used to wipe ephemeral disks when they are deleted. Only takes effect
6598# if LVM is set as backing storage.
6599#
6600# Possible values:
6601#
6602# * none - do not wipe deleted volumes
6603# * zero - overwrite volumes with zeroes
6604# * shred - overwrite volume repeatedly
6605#
6606# Related options:
6607#
6608# * images_type - must be set to ``lvm``
6609# * volume_clear_size
6610# (string value)
6611# Allowed values: none, zero, shred
6612#volume_clear = zero
6613
6614#
6615# Size of area in MiB, counting from the beginning of the allocated volume,
6616# that will be cleared using method set in ``volume_clear`` option.
6617#
6618# Possible values:
6619#
6620# * 0 - clear whole volume
6621# * >0 - clear specified amount of MiB
6622#
6623# Related options:
6624#
6625# * images_type - must be set to ``lvm``
6626# * volume_clear - must be set and the value must be different than ``none``
6627# for this option to have any impact
6628# (integer value)
6629# Minimum value: 0
6630#volume_clear_size = 0
6631
6632#
6633# Enable snapshot compression for ``qcow2`` images.
6634#
6635# Note: you can set ``snapshot_image_format`` to ``qcow2`` to force all
6636# snapshots to be in ``qcow2`` format, independently from their original image
6637# type.
6638#
6639# Related options:
6640#
6641# * snapshot_image_format
6642# (boolean value)
6643#snapshot_compression = false
6644
6645# Use virtio for bridge interfaces with KVM/QEMU (boolean value)
6646#use_virtio_for_bridges = true
6647
6648#
6649# Use multipath connection of the iSCSI or FC volume
6650#
6651# Volumes can be connected in the LibVirt as multipath devices. This will
6652# provide high availability and fault tolerance.
6653# (boolean value)
6654# Deprecated group/name - [libvirt]/iscsi_use_multipath
6655#volume_use_multipath = false
6656
6657#
6658# Number of times to scan given storage protocol to find volume.
6659# (integer value)
6660# Deprecated group/name - [libvirt]/num_iscsi_scan_tries
6661#num_volume_scan_tries = 5
6662
6663#
6664# Number of times to rediscover AoE target to find volume.
6665#
6666# Nova provides support for block storage attaching to hosts via AOE (ATA over
6667# Ethernet). This option allows the user to specify the maximum number of retry
6668# attempts that can be made to discover the AoE device.
6669# (integer value)
6670#num_aoe_discover_tries = 3
6671
6672#
6673# The iSCSI transport iface to use to connect to target in case offload support
6674# is desired.
6675#
6676# Default format is of the form <transport_name>.<hwaddress> where
6677# <transport_name> is one of (be2iscsi, bnx2i, cxgb3i, cxgb4i, qla4xxx, ocs) and
6678# <hwaddress> is the MAC address of the interface and can be generated via the
6679# iscsiadm -m iface command. Do not confuse the iscsi_iface parameter to be
6680# provided here with the actual transport name.
6681# (string value)
6682# Deprecated group/name - [libvirt]/iscsi_transport
6683#iscsi_iface = <None>
6684
6685#
6686# Number of times to scan iSER target to find volume.
6687#
6688# iSER is a server network protocol that extends iSCSI protocol to use Remote
6689# Direct Memory Access (RDMA). This option allows the user to specify the
6690# maximum
6691# number of scan attempts that can be made to find iSER volume.
6692# (integer value)
6693#num_iser_scan_tries = 5
6694
6695#
6696# Use multipath connection of the iSER volume.
6697#
6698# iSER volumes can be connected as multipath devices. This will provide high
6699# availability and fault tolerance.
6700# (boolean value)
6701#iser_use_multipath = false
6702
6703#
6704# The RADOS client name for accessing rbd(RADOS Block Devices) volumes.
6705#
6706# Libvirt will refer to this user when connecting and authenticating with
6707# the Ceph RBD server.
6708# (string value)
6709#rbd_user = <None>
6710
6711#
6712# The libvirt UUID of the secret for the rbd_user volumes.
6713# (string value)
6714#rbd_secret_uuid = <None>
6715
6716#
6717# Directory where the NFS volume is mounted on the compute node.
6718# The default is 'mnt' directory of the location where nova's Python module
6719# is installed.
6720#
6721# NFS provides shared storage for the OpenStack Block Storage service.
6722#
6723# Possible values:
6724#
6725# * A string representing absolute path of mount point.
6726# (string value)
6727#nfs_mount_point_base = $state_path/mnt
6728
6729#
6730# Mount options passed to the NFS client. See section of the nfs man page
6731# for details.
6732#
6733# Mount options controls the way the filesystem is mounted and how the
6734# NFS client behaves when accessing files on this mount point.
6735#
6736# Possible values:
6737#
6738# * Any string representing mount options separated by commas.
6739# * Example string: vers=3,lookupcache=pos
6740# (string value)
6741#nfs_mount_options = <None>
6742
6743#
6744# Directory where the Quobyte volume is mounted on the compute node.
6745#
6746# Nova supports Quobyte volume driver that enables storing Block Storage
6747# service volumes on a Quobyte storage back end. This Option sepcifies the
6748# path of the directory where Quobyte volume is mounted.
6749#
6750# Possible values:
6751#
6752# * A string representing absolute path of mount point.
6753# (string value)
6754#quobyte_mount_point_base = $state_path/mnt
6755
6756# Path to a Quobyte Client configuration file. (string value)
6757#quobyte_client_cfg = <None>
6758
6759#
6760# Directory where the SMBFS shares are mounted on the compute node.
6761# (string value)
6762#smbfs_mount_point_base = $state_path/mnt
6763
6764#
6765# Mount options passed to the SMBFS client.
6766#
6767# Provide SMBFS options as a single string containing all parameters.
6768# See mount.cifs man page for details. Note that the libvirt-qemu ``uid``
6769# and ``gid`` must be specified.
6770# (string value)
6771#smbfs_mount_options =
6772
6773#
6774# libvirt's transport method for remote file operations.
6775#
6776# Because libvirt cannot use RPC to copy files over network to/from other
6777# compute nodes, other method must be used for:
6778#
6779# * creating directory on remote host
6780# * creating file on remote host
6781# * removing file from remote host
6782# * copying file to remote host
6783# (string value)
6784# Allowed values: ssh, rsync
6785#remote_filesystem_transport = ssh
6786
6787#
6788# Directory where the Virtuozzo Storage clusters are mounted on the compute
6789# node.
6790#
6791# This option defines non-standard mountpoint for Vzstorage cluster.
6792#
6793# Related options:
6794#
6795# * vzstorage_mount_* group of parameters
6796# (string value)
6797#vzstorage_mount_point_base = $state_path/mnt
6798
6799#
6800# Mount owner user name.
6801#
6802# This option defines the owner user of Vzstorage cluster mountpoint.
6803#
6804# Related options:
6805#
6806# * vzstorage_mount_* group of parameters
6807# (string value)
6808#vzstorage_mount_user = stack
6809
6810#
6811# Mount owner group name.
6812#
6813# This option defines the owner group of Vzstorage cluster mountpoint.
6814#
6815# Related options:
6816#
6817# * vzstorage_mount_* group of parameters
6818# (string value)
6819#vzstorage_mount_group = qemu
6820
6821#
6822# Mount access mode.
6823#
6824# This option defines the access bits of Vzstorage cluster mountpoint,
6825# in the format similar to one of chmod(1) utility, like this: 0770.
6826# It consists of one to four digits ranging from 0 to 7, with missing
6827# lead digits assumed to be 0's.
6828#
6829# Related options:
6830#
6831# * vzstorage_mount_* group of parameters
6832# (string value)
6833#vzstorage_mount_perms = 0770
6834
6835#
6836# Path to vzstorage client log.
6837#
6838# This option defines the log of cluster operations,
6839# it should include "%(cluster_name)s" template to separate
6840# logs from multiple shares.
6841#
6842# Related options:
6843#
6844# * vzstorage_mount_opts may include more detailed logging options.
6845# (string value)
6846#vzstorage_log_path = /var/log/vstorage/%(cluster_name)s/nova.log.gz
6847
6848#
6849# Path to the SSD cache file.
6850#
6851# You can attach an SSD drive to a client and configure the drive to store
6852# a local cache of frequently accessed data. By having a local cache on a
6853# client's SSD drive, you can increase the overall cluster performance by
6854# up to 10 and more times.
6855# WARNING! There is a lot of SSD models which are not server grade and
6856# may loose arbitrary set of data changes on power loss.
6857# Such SSDs should not be used in Vstorage and are dangerous as may lead
6858# to data corruptions and inconsistencies. Please consult with the manual
6859# on which SSD models are known to be safe or verify it using
6860# vstorage-hwflush-check(1) utility.
6861#
6862# This option defines the path which should include "%(cluster_name)s"
6863# template to separate caches from multiple shares.
6864#
6865# Related options:
6866#
6867# * vzstorage_mount_opts may include more detailed cache options.
6868# (string value)
6869#vzstorage_cache_path = <None>
6870
6871#
6872# Extra mount options for pstorage-mount
6873#
6874# For full description of them, see
6875# https://static.openvz.org/vz-man/man1/pstorage-mount.1.gz.html
6876# Format is a python string representation of arguments list, like:
6877# "['-v', '-R', '500']"
6878# Shouldn't include -c, -l, -C, -u, -g and -m as those have
6879# explicit vzstorage_* options.
6880#
6881# Related options:
6882#
6883# * All other vzstorage_* options
6884# (list value)
6885#vzstorage_mount_opts =
6886
6887
6888[matchmaker_redis]
6889
6890#
6891# From oslo.messaging
6892#
6893
6894# DEPRECATED: Host to locate redis. (string value)
6895# This option is deprecated for removal.
6896# Its value may be silently ignored in the future.
6897# Reason: Replaced by [DEFAULT]/transport_url
6898#host = 127.0.0.1
6899
6900# DEPRECATED: Use this port to connect to redis host. (port value)
6901# Minimum value: 0
6902# Maximum value: 65535
6903# This option is deprecated for removal.
6904# Its value may be silently ignored in the future.
6905# Reason: Replaced by [DEFAULT]/transport_url
6906#port = 6379
6907
6908# DEPRECATED: Password for Redis server (optional). (string value)
6909# This option is deprecated for removal.
6910# Its value may be silently ignored in the future.
6911# Reason: Replaced by [DEFAULT]/transport_url
6912#password =
6913
6914# DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g.,
6915# [host:port, host1:port ... ] (list value)
6916# This option is deprecated for removal.
6917# Its value may be silently ignored in the future.
6918# Reason: Replaced by [DEFAULT]/transport_url
6919#sentinel_hosts =
6920
6921# Redis replica set name. (string value)
6922#sentinel_group_name = oslo-messaging-zeromq
6923
6924# Time in ms to wait between connection attempts. (integer value)
6925#wait_timeout = 2000
6926
6927# Time in ms to wait before the transaction is killed. (integer value)
6928#check_timeout = 20000
6929
6930# Timeout in ms on blocking socket operations. (integer value)
6931#socket_timeout = 10000
6932
6933
6934[metrics]
6935#
6936# Configuration options for metrics
6937#
6938# Options under this group allow to adjust how values assigned to metrics are
6939# calculated.
6940
6941#
6942# From nova.conf
6943#
6944
6945#
6946# When using metrics to weight the suitability of a host, you can use this
6947# option
6948# to change how the calculated weight influences the weight assigned to a host
6949# as
6950# follows:
6951#
6952# * >1.0: increases the effect of the metric on overall weight
6953# * 1.0: no change to the calculated weight
6954# * >0.0,<1.0: reduces the effect of the metric on overall weight
6955# * 0.0: the metric value is ignored, and the value of the
6956# 'weight_of_unavailable' option is returned instead
6957# * >-1.0,<0.0: the effect is reduced and reversed
6958# * -1.0: the effect is reversed
6959# * <-1.0: the effect is increased proportionally and reversed
6960#
6961# This option is only used by the FilterScheduler and its subclasses; if you use
6962# a different scheduler, this option has no effect.
6963#
6964# Possible values:
6965#
6966# * An integer or float value, where the value corresponds to the multipler
6967# ratio for this weigher.
6968#
6969# Related options:
6970#
6971# * weight_of_unavailable
6972# (floating point value)
6973#weight_multiplier = 1.0
6974
6975#
6976# This setting specifies the metrics to be weighed and the relative ratios for
6977# each metric. This should be a single string value, consisting of a series of
6978# one or more 'name=ratio' pairs, separated by commas, where 'name' is the name
6979# of the metric to be weighed, and 'ratio' is the relative weight for that
6980# metric.
6981#
6982# Note that if the ratio is set to 0, the metric value is ignored, and instead
6983# the weight will be set to the value of the 'weight_of_unavailable' option.
6984#
6985# As an example, let's consider the case where this option is set to:
6986#
6987# ``name1=1.0, name2=-1.3``
6988#
6989# The final weight will be:
6990#
6991# ``(name1.value * 1.0) + (name2.value * -1.3)``
6992#
6993# This option is only used by the FilterScheduler and its subclasses; if you use
6994# a different scheduler, this option has no effect.
6995#
6996# Possible values:
6997#
6998# * A list of zero or more key/value pairs separated by commas, where the key is
6999# a string representing the name of a metric and the value is a numeric weight
7000# for that metric. If any value is set to 0, the value is ignored and the
7001# weight will be set to the value of the 'weight_of_unavailable' option.
7002#
7003# Related options:
7004#
7005# * weight_of_unavailable
7006# (list value)
7007#weight_setting =
7008
7009#
7010# This setting determines how any unavailable metrics are treated. If this
7011# option
7012# is set to True, any hosts for which a metric is unavailable will raise an
7013# exception, so it is recommended to also use the MetricFilter to filter out
7014# those hosts before weighing.
7015#
7016# This option is only used by the FilterScheduler and its subclasses; if you use
7017# a different scheduler, this option has no effect.
7018#
7019# Possible values:
7020#
7021# * True or False, where False ensures any metric being unavailable for a host
7022# will set the host weight to 'weight_of_unavailable'.
7023#
7024# Related options:
7025#
7026# * weight_of_unavailable
7027# (boolean value)
7028#required = true
7029
7030#
7031# When any of the following conditions are met, this value will be used in place
7032# of any actual metric value:
7033#
7034# * One of the metrics named in 'weight_setting' is not available for a host,
7035# and the value of 'required' is False
7036# * The ratio specified for a metric in 'weight_setting' is 0
7037# * The 'weight_multiplier' option is set to 0
7038#
7039# This option is only used by the FilterScheduler and its subclasses; if you use
7040# a different scheduler, this option has no effect.
7041#
7042# Possible values:
7043#
7044# * An integer or float value, where the value corresponds to the multipler
7045# ratio for this weigher.
7046#
7047# Related options:
7048#
7049# * weight_setting
7050# * required
7051# * weight_multiplier
7052# (floating point value)
7053#weight_of_unavailable = -10000.0
7054
7055
7056[mks]
7057#
7058# Nova compute node uses WebMKS, a desktop sharing protocol to provide
7059# instance console access to VM's created by VMware hypervisors.
7060#
7061# Related options:
7062# Following options must be set to provide console access.
7063# * mksproxy_base_url
7064# * enabled
7065
7066#
7067# From nova.conf
7068#
7069
7070#
7071# Location of MKS web console proxy
7072#
7073# The URL in the response points to a WebMKS proxy which
7074# starts proxying between client and corresponding vCenter
7075# server where instance runs. In order to use the web based
7076# console access, WebMKS proxy should be installed and configured
7077#
7078# Possible values:
7079#
7080# * Must be a valid URL of the form:``http://host:port/`` or
7081# ``https://host:port/``
7082# (uri value)
7083#mksproxy_base_url = http://127.0.0.1:6090/
7084
7085#
7086# Enables graphical console access for virtual machines.
7087# (boolean value)
7088#enabled = false
7089
89 7090
90[neutron] 7091[neutron]
91# Neutron 7092#
92url=http://%CONTROLLER_IP%:9696 7093# Configuration options for neutron (network connectivity as a service).
93auth_strategy=keystone 7094
94admin_tenant_name=service 7095#
95admin_username=neutron 7096# From nova.conf
96admin_password=password 7097#
97admin_auth_url=http://%CONTROLLER_IP%:8081/keystone/main/v2.0 7098
7099#
7100# This option specifies the URL for connecting to Neutron.
7101#
7102# Possible values:
7103#
7104# * Any valid URL that points to the Neutron API service is appropriate here.
7105# This typically matches the URL returned for the 'network' service type
7106# from the Keystone service catalog.
7107# (uri value)
7108#url = http://127.0.0.1:9696
7109
7110#
7111# Region name for connecting to Neutron in admin context.
7112#
7113# This option is used in multi-region setups. If there are two Neutron
7114# servers running in two regions in two different machines, then two
7115# services need to be created in Keystone with two different regions and
7116# associate corresponding endpoints to those services. When requests are made
7117# to Keystone, the Keystone service uses the region_name to determine the
7118# region the request is coming from.
7119# (string value)
7120#region_name = RegionOne
7121
7122#
7123# Default name for the Open vSwitch integration bridge.
7124#
7125# Specifies the name of an integration bridge interface used by OpenvSwitch.
7126# This option is only used if Neutron does not specify the OVS bridge name in
7127# port binding responses.
7128# (string value)
7129#ovs_bridge = br-int
7130
7131#
7132# Default name for the floating IP pool.
7133#
7134# Specifies the name of floating IP pool used for allocating floating IPs. This
7135# option is only used if Neutron does not specify the floating IP pool name in
7136# port binding reponses.
7137# (string value)
7138#default_floating_pool = nova
7139
7140#
7141# Integer value representing the number of seconds to wait before querying
7142# Neutron for extensions. After this number of seconds the next time Nova
7143# needs to create a resource in Neutron it will requery Neutron for the
7144# extensions that it has loaded. Setting value to 0 will refresh the
7145# extensions with no wait.
7146# (integer value)
7147# Minimum value: 0
7148#extension_sync_interval = 600
7149
7150#
7151# When set to True, this option indicates that Neutron will be used to proxy
7152# metadata requests and resolve instance ids. Otherwise, the instance ID must be
7153# passed to the metadata request in the 'X-Instance-ID' header.
7154#
7155# Related options:
7156#
7157# * metadata_proxy_shared_secret
7158# (boolean value)
7159#service_metadata_proxy = false
7160
7161#
7162# This option holds the shared secret string used to validate proxy requests to
7163# Neutron metadata requests. In order to be used, the
7164# 'X-Metadata-Provider-Signature' header must be supplied in the request.
7165#
7166# Related options:
7167#
7168# * service_metadata_proxy
7169# (string value)
7170#metadata_proxy_shared_secret =
7171
7172# PEM encoded Certificate Authority to use when verifying HTTPs connections.
7173# (string value)
7174#cafile = <None>
7175
7176# PEM encoded client certificate cert file (string value)
7177#certfile = <None>
7178
7179# PEM encoded client certificate key file (string value)
7180#keyfile = <None>
7181
7182# Verify HTTPS connections. (boolean value)
7183#insecure = false
7184
7185# Timeout value for http requests (integer value)
7186#timeout = <None>
7187
7188# Authentication type to load (string value)
7189# Deprecated group/name - [neutron]/auth_plugin
7190#auth_type = <None>
7191
7192# Config Section from which to load plugin specific options (string value)
7193#auth_section = <None>
7194
7195# Authentication URL (string value)
7196#auth_url = <None>
7197
7198# Domain ID to scope to (string value)
7199#domain_id = <None>
7200
7201# Domain name to scope to (string value)
7202#domain_name = <None>
7203
7204# Project ID to scope to (string value)
7205#project_id = <None>
7206
7207# Project name to scope to (string value)
7208#project_name = <None>
7209
7210# Domain ID containing project (string value)
7211#project_domain_id = <None>
7212
7213# Domain name containing project (string value)
7214#project_domain_name = <None>
7215
7216# Trust ID (string value)
7217#trust_id = <None>
7218
7219# Optional domain ID to use with v3 and v2 parameters. It will be used for both
7220# the user and project domain in v3 and ignored in v2 authentication. (string
7221# value)
7222#default_domain_id = <None>
7223
7224# Optional domain name to use with v3 API and v2 parameters. It will be used for
7225# both the user and project domain in v3 and ignored in v2 authentication.
7226# (string value)
7227#default_domain_name = <None>
7228
7229# User ID (string value)
7230#user_id = <None>
7231
7232# Username (string value)
7233# Deprecated group/name - [neutron]/user_name
7234#username = <None>
7235
7236# User's domain id (string value)
7237#user_domain_id = <None>
7238
7239# User's domain name (string value)
7240#user_domain_name = <None>
7241
7242# User's password (string value)
7243#password = <None>
7244
7245# Tenant ID (string value)
7246#tenant_id = <None>
7247
7248# Tenant Name (string value)
7249#tenant_name = <None>
7250
7251
7252[notifications]
7253#
7254# Most of the actions in Nova which manipulate the system state generate
7255# notifications which are posted to the messaging component (e.g. RabbitMQ) and
7256# can be consumed by any service outside the Openstack. More technical details
7257# at http://docs.openstack.org/developer/nova/notifications.html
7258
7259#
7260# From nova.conf
7261#
7262
7263#
7264# If set, send compute.instance.update notifications on
7265# instance state changes.
7266#
7267# Please refer to
7268# https://docs.openstack.org/nova/latest/reference/notifications.html for
7269# additional information on notifications.
7270#
7271# Possible values:
7272#
7273# * None - no notifications
7274# * "vm_state" - notifications are sent with VM state transition information in
7275# the ``old_state`` and ``state`` fields. The ``old_task_state`` and
7276# ``new_task_state`` fields will be set to the current task_state of the
7277# instance.
7278# * "vm_and_task_state" - notifications are sent with VM and task state
7279# transition information.
7280# (string value)
7281# Allowed values: <None>, vm_state, vm_and_task_state
7282#notify_on_state_change = <None>
7283
7284#
7285# If enabled, send api.fault notifications on caught exceptions in the
7286# API service.
7287# (boolean value)
7288# Deprecated group/name - [DEFAULT]/notify_api_faults
7289#notify_on_api_faults = false
7290
7291# Default notification level for outgoing notifications. (string value)
7292# Allowed values: DEBUG, INFO, WARN, ERROR, CRITICAL
7293# Deprecated group/name - [DEFAULT]/default_notification_level
7294#default_level = INFO
7295
7296#
7297# Default publisher_id for outgoing notifications. If you consider routing
7298# notifications using different publisher, change this value accordingly.
7299#
7300# Possible values:
7301#
7302# * Defaults to the IPv4 address of this host, but it can be any valid
7303# oslo.messaging publisher_id
7304#
7305# Related options:
7306#
7307# * my_ip - IP address of this host
7308# (string value)
7309#default_publisher_id = $my_ip
7310
7311#
7312# Specifies which notification format shall be used by nova.
7313#
7314# The default value is fine for most deployments and rarely needs to be changed.
7315# This value can be set to 'versioned' once the infrastructure moves closer to
7316# consuming the newer format of notifications. After this occurs, this option
7317# will be removed (possibly in the "P" release).
7318#
7319# Possible values:
7320# * unversioned: Only the legacy unversioned notifications are emitted.
7321# * versioned: Only the new versioned notifications are emitted.
7322# * both: Both the legacy unversioned and the new versioned notifications are
7323# emitted. (Default)
7324#
7325# The list of versioned notifications is visible in
7326# http://docs.openstack.org/developer/nova/notifications.html
7327# (string value)
7328# Allowed values: unversioned, versioned, both
7329#notification_format = both
7330
7331#
7332# Specifies the topics for the versioned notifications issued by nova.
7333#
7334# The default value is fine for most deployments and rarely needs to be changed.
7335# However, if you have a third-party service that consumes versioned
7336# notifications, it might be worth getting a topic for that service.
7337# Nova will send a message containing a versioned notification payload to each
7338# topic queue in this list.
7339#
7340# The list of versioned notifications is visible in
7341# http://docs.openstack.org/developer/nova/notifications.html
7342# (list value)
7343#versioned_notifications_topics = versioned_notifications
7344
7345#
7346# If enabled, include block device information in the versioned notification
7347# payload. Sending block device information is disabled by default as providing
7348# that information can incur some overhead on the system since the information
7349# may need to be loaded from the database.
7350# (boolean value)
7351#bdms_in_notifications = false
7352
7353
7354[osapi_v21]
7355
7356#
7357# From nova.conf
7358#
7359
7360# DEPRECATED:
7361# This option is a string representing a regular expression (regex) that matches
7362# the project_id as contained in URLs. If not set, it will match normal UUIDs
7363# created by keystone.
7364#
7365# Possible values:
7366#
7367# * A string representing any legal regular expression
7368# (string value)
7369# This option is deprecated for removal since 13.0.0.
7370# Its value may be silently ignored in the future.
7371# Reason:
7372# Recent versions of nova constrain project IDs to hexadecimal characters and
7373# dashes. If your installation uses IDs outside of this range, you should use
7374# this option to provide your own regex and give you time to migrate offending
7375# projects to valid IDs before the next release.
7376#project_id_regex = <None>
7377
7378
7379[oslo_concurrency]
7380
7381#
7382# From oslo.concurrency
7383#
7384
7385# Enables or disables inter-process locks. (boolean value)
7386#disable_process_locking = false
7387
7388# Directory to use for lock files. For security, the specified directory should
7389# only be writable by the user running the processes that need locking. Defaults
7390# to environment variable OSLO_LOCK_PATH. If external locks are used, a lock
7391# path must be set. (string value)
7392#lock_path = <None>
7393
7394
7395[oslo_messaging_amqp]
7396
7397#
7398# From oslo.messaging
7399#
7400
7401# Name for the AMQP container. must be globally unique. Defaults to a generated
7402# UUID (string value)
7403#container_name = <None>
7404
7405# Timeout for inactive connections (in seconds) (integer value)
7406#idle_timeout = 0
7407
7408# Debug: dump AMQP frames to stdout (boolean value)
7409#trace = false
7410
7411# Attempt to connect via SSL. If no other ssl-related parameters are given, it
7412# will use the system's CA-bundle to verify the server's certificate. (boolean
7413# value)
7414#ssl = false
7415
7416# CA certificate PEM file used to verify the server's certificate (string value)
7417#ssl_ca_file =
7418
7419# Self-identifying certificate PEM file for client authentication (string value)
7420#ssl_cert_file =
7421
7422# Private key PEM file used to sign ssl_cert_file certificate (optional) (string
7423# value)
7424#ssl_key_file =
7425
7426# Password for decrypting ssl_key_file (if encrypted) (string value)
7427#ssl_key_password = <None>
7428
7429# By default SSL checks that the name in the server's certificate matches the
7430# hostname in the transport_url. In some configurations it may be preferable to
7431# use the virtual hostname instead, for example if the server uses the Server
7432# Name Indication TLS extension (rfc6066) to provide a certificate per virtual
7433# host. Set ssl_verify_vhost to True if the server's SSL certificate uses the
7434# virtual host name instead of the DNS name. (boolean value)
7435#ssl_verify_vhost = false
7436
7437# DEPRECATED: Accept clients using either SSL or plain TCP (boolean value)
7438# This option is deprecated for removal.
7439# Its value may be silently ignored in the future.
7440# Reason: Not applicable - not a SSL server
7441#allow_insecure_clients = false
7442
7443# Space separated list of acceptable SASL mechanisms (string value)
7444#sasl_mechanisms =
7445
7446# Path to directory that contains the SASL configuration (string value)
7447#sasl_config_dir =
7448
7449# Name of configuration file (without .conf suffix) (string value)
7450#sasl_config_name =
7451
7452# SASL realm to use if no realm present in username (string value)
7453#sasl_default_realm =
7454
7455# DEPRECATED: User name for message broker authentication (string value)
7456# This option is deprecated for removal.
7457# Its value may be silently ignored in the future.
7458# Reason: Should use configuration option transport_url to provide the username.
7459#username =
7460
7461# DEPRECATED: Password for message broker authentication (string value)
7462# This option is deprecated for removal.
7463# Its value may be silently ignored in the future.
7464# Reason: Should use configuration option transport_url to provide the password.
7465#password =
7466
7467# Seconds to pause before attempting to re-connect. (integer value)
7468# Minimum value: 1
7469#connection_retry_interval = 1
7470
7471# Increase the connection_retry_interval by this many seconds after each
7472# unsuccessful failover attempt. (integer value)
7473# Minimum value: 0
7474#connection_retry_backoff = 2
7475
7476# Maximum limit for connection_retry_interval + connection_retry_backoff
7477# (integer value)
7478# Minimum value: 1
7479#connection_retry_interval_max = 30
7480
7481# Time to pause between re-connecting an AMQP 1.0 link that failed due to a
7482# recoverable error. (integer value)
7483# Minimum value: 1
7484#link_retry_delay = 10
7485
7486# The maximum number of attempts to re-send a reply message which failed due to
7487# a recoverable error. (integer value)
7488# Minimum value: -1
7489#default_reply_retry = 0
7490
7491# The deadline for an rpc reply message delivery. (integer value)
7492# Minimum value: 5
7493#default_reply_timeout = 30
7494
7495# The deadline for an rpc cast or call message delivery. Only used when caller
7496# does not provide a timeout expiry. (integer value)
7497# Minimum value: 5
7498#default_send_timeout = 30
7499
7500# The deadline for a sent notification message delivery. Only used when caller
7501# does not provide a timeout expiry. (integer value)
7502# Minimum value: 5
7503#default_notify_timeout = 30
7504
7505# The duration to schedule a purge of idle sender links. Detach link after
7506# expiry. (integer value)
7507# Minimum value: 1
7508#default_sender_link_timeout = 600
7509
7510# Indicates the addressing mode used by the driver.
7511# Permitted values:
7512# 'legacy' - use legacy non-routable addressing
7513# 'routable' - use routable addresses
7514# 'dynamic' - use legacy addresses if the message bus does not support routing
7515# otherwise use routable addressing (string value)
7516#addressing_mode = dynamic
7517
7518# Enable virtual host support for those message buses that do not natively
7519# support virtual hosting (such as qpidd). When set to true the virtual host
7520# name will be added to all message bus addresses, effectively creating a
7521# private 'subnet' per virtual host. Set to False if the message bus supports
7522# virtual hosting using the 'hostname' field in the AMQP 1.0 Open performative
7523# as the name of the virtual host. (boolean value)
7524#pseudo_vhost = true
7525
7526# address prefix used when sending to a specific server (string value)
7527#server_request_prefix = exclusive
7528
7529# address prefix used when broadcasting to all servers (string value)
7530#broadcast_prefix = broadcast
7531
7532# address prefix when sending to any server in group (string value)
7533#group_request_prefix = unicast
7534
7535# Address prefix for all generated RPC addresses (string value)
7536#rpc_address_prefix = openstack.org/om/rpc
7537
7538# Address prefix for all generated Notification addresses (string value)
7539#notify_address_prefix = openstack.org/om/notify
7540
7541# Appended to the address prefix when sending a fanout message. Used by the
7542# message bus to identify fanout messages. (string value)
7543#multicast_address = multicast
7544
7545# Appended to the address prefix when sending to a particular RPC/Notification
7546# server. Used by the message bus to identify messages sent to a single
7547# destination. (string value)
7548#unicast_address = unicast
7549
7550# Appended to the address prefix when sending to a group of consumers. Used by
7551# the message bus to identify messages that should be delivered in a round-robin
7552# fashion across consumers. (string value)
7553#anycast_address = anycast
7554
7555# Exchange name used in notification addresses.
7556# Exchange name resolution precedence:
7557# Target.exchange if set
7558# else default_notification_exchange if set
7559# else control_exchange if set
7560# else 'notify' (string value)
7561#default_notification_exchange = <None>
7562
7563# Exchange name used in RPC addresses.
7564# Exchange name resolution precedence:
7565# Target.exchange if set
7566# else default_rpc_exchange if set
7567# else control_exchange if set
7568# else 'rpc' (string value)
7569#default_rpc_exchange = <None>
7570
7571# Window size for incoming RPC Reply messages. (integer value)
7572# Minimum value: 1
7573#reply_link_credit = 200
7574
7575# Window size for incoming RPC Request messages (integer value)
7576# Minimum value: 1
7577#rpc_server_credit = 100
7578
7579# Window size for incoming Notification messages (integer value)
7580# Minimum value: 1
7581#notify_server_credit = 100
7582
7583# Send messages of this type pre-settled.
7584# Pre-settled messages will not receive acknowledgement
7585# from the peer. Note well: pre-settled messages may be
7586# silently discarded if the delivery fails.
7587# Permitted values:
7588# 'rpc-call' - send RPC Calls pre-settled
7589# 'rpc-reply'- send RPC Replies pre-settled
7590# 'rpc-cast' - Send RPC Casts pre-settled
7591# 'notify' - Send Notifications pre-settled
7592# (multi valued)
7593#pre_settled = rpc-cast
7594#pre_settled = rpc-reply
7595
7596
7597[oslo_messaging_kafka]
7598
7599#
7600# From oslo.messaging
7601#
7602
7603# DEPRECATED: Default Kafka broker Host (string value)
7604# This option is deprecated for removal.
7605# Its value may be silently ignored in the future.
7606# Reason: Replaced by [DEFAULT]/transport_url
7607#kafka_default_host = localhost
7608
7609# DEPRECATED: Default Kafka broker Port (port value)
7610# Minimum value: 0
7611# Maximum value: 65535
7612# This option is deprecated for removal.
7613# Its value may be silently ignored in the future.
7614# Reason: Replaced by [DEFAULT]/transport_url
7615#kafka_default_port = 9092
7616
7617# Max fetch bytes of Kafka consumer (integer value)
7618#kafka_max_fetch_bytes = 1048576
7619
7620# Default timeout(s) for Kafka consumers (floating point value)
7621#kafka_consumer_timeout = 1.0
7622
7623# Pool Size for Kafka Consumers (integer value)
7624#pool_size = 10
7625
7626# The pool size limit for connections expiration policy (integer value)
7627#conn_pool_min_size = 2
7628
7629# The time-to-live in sec of idle connections in the pool (integer value)
7630#conn_pool_ttl = 1200
7631
7632# Group id for Kafka consumer. Consumers in one group will coordinate message
7633# consumption (string value)
7634#consumer_group = oslo_messaging_consumer
7635
7636# Upper bound on the delay for KafkaProducer batching in seconds (floating point
7637# value)
7638#producer_batch_timeout = 0.0
7639
7640# Size of batch for the producer async send (integer value)
7641#producer_batch_size = 16384
7642
7643
7644[oslo_messaging_notifications]
7645
7646#
7647# From oslo.messaging
7648#
7649
7650# The Drivers(s) to handle sending notifications. Possible values are messaging,
7651# messagingv2, routing, log, test, noop (multi valued)
7652# Deprecated group/name - [DEFAULT]/notification_driver
7653#driver =
7654
7655# A URL representing the messaging driver to use for notifications. If not set,
7656# we fall back to the same configuration used for RPC. (string value)
7657# Deprecated group/name - [DEFAULT]/notification_transport_url
7658#transport_url = <None>
7659
7660# AMQP topic used for OpenStack notifications. (list value)
7661# Deprecated group/name - [rpc_notifier2]/topics
7662# Deprecated group/name - [DEFAULT]/notification_topics
7663#topics = notifications
7664
7665# The maximum number of attempts to re-send a notification message which failed
7666# to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite
7667# (integer value)
7668#retry = -1
7669
7670
7671[oslo_messaging_rabbit]
7672
7673#
7674# From oslo.messaging
7675#
7676
7677# Use durable queues in AMQP. (boolean value)
7678# Deprecated group/name - [DEFAULT]/amqp_durable_queues
7679# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
7680#amqp_durable_queues = false
7681
7682# Auto-delete queues in AMQP. (boolean value)
7683#amqp_auto_delete = false
7684
7685# Enable SSL (boolean value)
7686#ssl = <None>
7687
7688# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and
7689# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some
7690# distributions. (string value)
7691# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_version
7692#ssl_version =
7693
7694# SSL key file (valid only if SSL enabled). (string value)
7695# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_keyfile
7696#ssl_key_file =
7697
7698# SSL cert file (valid only if SSL enabled). (string value)
7699# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_certfile
7700#ssl_cert_file =
7701
7702# SSL certification authority file (valid only if SSL enabled). (string value)
7703# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_ca_certs
7704#ssl_ca_file =
7705
7706# How long to wait before reconnecting in response to an AMQP consumer cancel
7707# notification. (floating point value)
7708#kombu_reconnect_delay = 1.0
7709
7710# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not
7711# be used. This option may not be available in future versions. (string value)
7712#kombu_compression = <None>
7713
7714# How long to wait a missing client before abandoning to send it its replies.
7715# This value should not be longer than rpc_response_timeout. (integer value)
7716# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
7717#kombu_missing_consumer_retry_timeout = 60
7718
7719# Determines how the next RabbitMQ node is chosen in case the one we are
7720# currently connected to becomes unavailable. Takes effect only if more than one
7721# RabbitMQ node is provided in config. (string value)
7722# Allowed values: round-robin, shuffle
7723#kombu_failover_strategy = round-robin
7724
7725# DEPRECATED: The RabbitMQ broker address where a single node is used. (string
7726# value)
7727# This option is deprecated for removal.
7728# Its value may be silently ignored in the future.
7729# Reason: Replaced by [DEFAULT]/transport_url
7730#rabbit_host = localhost
7731
7732# DEPRECATED: The RabbitMQ broker port where a single node is used. (port value)
7733# Minimum value: 0
7734# Maximum value: 65535
7735# This option is deprecated for removal.
7736# Its value may be silently ignored in the future.
7737# Reason: Replaced by [DEFAULT]/transport_url
7738#rabbit_port = 5672
7739
7740# DEPRECATED: RabbitMQ HA cluster host:port pairs. (list value)
7741# This option is deprecated for removal.
7742# Its value may be silently ignored in the future.
7743# Reason: Replaced by [DEFAULT]/transport_url
7744#rabbit_hosts = $rabbit_host:$rabbit_port
7745
7746# DEPRECATED: The RabbitMQ userid. (string value)
7747# This option is deprecated for removal.
7748# Its value may be silently ignored in the future.
7749# Reason: Replaced by [DEFAULT]/transport_url
7750#rabbit_userid = guest
7751
7752# DEPRECATED: The RabbitMQ password. (string value)
7753# This option is deprecated for removal.
7754# Its value may be silently ignored in the future.
7755# Reason: Replaced by [DEFAULT]/transport_url
7756#rabbit_password = guest
7757
7758# The RabbitMQ login method. (string value)
7759# Allowed values: PLAIN, AMQPLAIN, RABBIT-CR-DEMO
7760#rabbit_login_method = AMQPLAIN
7761
7762# DEPRECATED: The RabbitMQ virtual host. (string value)
7763# This option is deprecated for removal.
7764# Its value may be silently ignored in the future.
7765# Reason: Replaced by [DEFAULT]/transport_url
7766#rabbit_virtual_host = /
7767
7768# How frequently to retry connecting with RabbitMQ. (integer value)
7769#rabbit_retry_interval = 1
7770
7771# How long to backoff for between retries when connecting to RabbitMQ. (integer
7772# value)
7773#rabbit_retry_backoff = 2
7774
7775# Maximum interval of RabbitMQ connection retries. Default is 30 seconds.
7776# (integer value)
7777#rabbit_interval_max = 30
7778
7779# DEPRECATED: Maximum number of RabbitMQ connection retries. Default is 0
7780# (infinite retry count). (integer value)
7781# This option is deprecated for removal.
7782# Its value may be silently ignored in the future.
7783#rabbit_max_retries = 0
7784
7785# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this
7786# option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring
7787# is no longer controlled by the x-ha-policy argument when declaring a queue. If
7788# you just want to make sure that all queues (except those with auto-generated
7789# names) are mirrored across all nodes, run: "rabbitmqctl set_policy HA
7790# '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value)
7791#rabbit_ha_queues = false
7792
7793# Positive integer representing duration in seconds for queue TTL (x-expires).
7794# Queues which are unused for the duration of the TTL are automatically deleted.
7795# The parameter affects only reply and fanout queues. (integer value)
7796# Minimum value: 1
7797#rabbit_transient_queues_ttl = 1800
7798
7799# Specifies the number of messages to prefetch. Setting to zero allows unlimited
7800# messages. (integer value)
7801#rabbit_qos_prefetch_count = 0
7802
7803# Number of seconds after which the Rabbit broker is considered down if
7804# heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer
7805# value)
7806#heartbeat_timeout_threshold = 60
7807
7808# How often times during the heartbeat_timeout_threshold we check the heartbeat.
7809# (integer value)
7810#heartbeat_rate = 2
7811
7812# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value)
7813#fake_rabbit = false
7814
7815# Maximum number of channels to allow (integer value)
7816#channel_max = <None>
7817
7818# The maximum byte size for an AMQP frame (integer value)
7819#frame_max = <None>
7820
7821# How often to send heartbeats for consumer's connections (integer value)
7822#heartbeat_interval = 3
7823
7824# Arguments passed to ssl.wrap_socket (dict value)
7825#ssl_options = <None>
7826
7827# Set socket timeout in seconds for connection's socket (floating point value)
7828#socket_timeout = 0.25
7829
7830# Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point value)
7831#tcp_user_timeout = 0.25
7832
7833# Set delay for reconnection to some host which has connection error (floating
7834# point value)
7835#host_connection_reconnect_delay = 0.25
7836
7837# Connection factory implementation (string value)
7838# Allowed values: new, single, read_write
7839#connection_factory = single
7840
7841# Maximum number of connections to keep queued. (integer value)
7842#pool_max_size = 30
7843
7844# Maximum number of connections to create above `pool_max_size`. (integer value)
7845#pool_max_overflow = 0
7846
7847# Default number of seconds to wait for a connections to available (integer
7848# value)
7849#pool_timeout = 30
7850
7851# Lifetime of a connection (since creation) in seconds or None for no recycling.
7852# Expired connections are closed on acquire. (integer value)
7853#pool_recycle = 600
7854
7855# Threshold at which inactive (since release) connections are considered stale
7856# in seconds or None for no staleness. Stale connections are closed on acquire.
7857# (integer value)
7858#pool_stale = 60
7859
7860# Default serialization mechanism for serializing/deserializing
7861# outgoing/incoming messages (string value)
7862# Allowed values: json, msgpack
7863#default_serializer_type = json
7864
7865# Persist notification messages. (boolean value)
7866#notification_persistence = false
7867
7868# Exchange name for sending notifications (string value)
7869#default_notification_exchange = ${control_exchange}_notification
7870
7871# Max number of not acknowledged message which RabbitMQ can send to notification
7872# listener. (integer value)
7873#notification_listener_prefetch_count = 100
7874
7875# Reconnecting retry count in case of connectivity problem during sending
7876# notification, -1 means infinite retry. (integer value)
7877#default_notification_retry_attempts = -1
7878
7879# Reconnecting retry delay in case of connectivity problem during sending
7880# notification message (floating point value)
7881#notification_retry_delay = 0.25
7882
7883# Time to live for rpc queues without consumers in seconds. (integer value)
7884#rpc_queue_expiration = 60
7885
7886# Exchange name for sending RPC messages (string value)
7887#default_rpc_exchange = ${control_exchange}_rpc
7888
7889# Exchange name for receiving RPC replies (string value)
7890#rpc_reply_exchange = ${control_exchange}_rpc_reply
7891
7892# Max number of not acknowledged message which RabbitMQ can send to rpc
7893# listener. (integer value)
7894#rpc_listener_prefetch_count = 100
7895
7896# Max number of not acknowledged message which RabbitMQ can send to rpc reply
7897# listener. (integer value)
7898#rpc_reply_listener_prefetch_count = 100
7899
7900# Reconnecting retry count in case of connectivity problem during sending reply.
7901# -1 means infinite retry during rpc_timeout (integer value)
7902#rpc_reply_retry_attempts = -1
7903
7904# Reconnecting retry delay in case of connectivity problem during sending reply.
7905# (floating point value)
7906#rpc_reply_retry_delay = 0.25
7907
7908# Reconnecting retry count in case of connectivity problem during sending RPC
7909# message, -1 means infinite retry. If actual retry attempts in not 0 the rpc
7910# request could be processed more than one time (integer value)
7911#default_rpc_retry_attempts = -1
7912
7913# Reconnecting retry delay in case of connectivity problem during sending RPC
7914# message (floating point value)
7915#rpc_retry_delay = 0.25
7916
7917
7918[oslo_messaging_zmq]
7919
7920#
7921# From oslo.messaging
7922#
7923
7924# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP.
7925# The "host" option should point or resolve to this address. (string value)
7926#rpc_zmq_bind_address = *
7927
7928# MatchMaker driver. (string value)
7929# Allowed values: redis, sentinel, dummy
7930#rpc_zmq_matchmaker = redis
7931
7932# Number of ZeroMQ contexts, defaults to 1. (integer value)
7933#rpc_zmq_contexts = 1
7934
7935# Maximum number of ingress messages to locally buffer per topic. Default is
7936# unlimited. (integer value)
7937#rpc_zmq_topic_backlog = <None>
7938
7939# Directory for holding IPC sockets. (string value)
7940#rpc_zmq_ipc_dir = /var/run/openstack
7941
7942# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match
7943# "host" option, if running Nova. (string value)
7944#rpc_zmq_host = localhost
7945
7946# Number of seconds to wait before all pending messages will be sent after
7947# closing a socket. The default value of -1 specifies an infinite linger period.
7948# The value of 0 specifies no linger period. Pending messages shall be discarded
7949# immediately when the socket is closed. Positive values specify an upper bound
7950# for the linger period. (integer value)
7951# Deprecated group/name - [DEFAULT]/rpc_cast_timeout
7952#zmq_linger = -1
7953
7954# The default number of seconds that poll should wait. Poll raises timeout
7955# exception when timeout expired. (integer value)
7956#rpc_poll_timeout = 1
7957
7958# Expiration timeout in seconds of a name service record about existing target (
7959# < 0 means no timeout). (integer value)
7960#zmq_target_expire = 300
7961
7962# Update period in seconds of a name service record about existing target.
7963# (integer value)
7964#zmq_target_update = 180
7965
7966# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean
7967# value)
7968#use_pub_sub = false
7969
7970# Use ROUTER remote proxy. (boolean value)
7971#use_router_proxy = false
7972
7973# This option makes direct connections dynamic or static. It makes sense only
7974# with use_router_proxy=False which means to use direct connections for direct
7975# message types (ignored otherwise). (boolean value)
7976#use_dynamic_connections = false
7977
7978# How many additional connections to a host will be made for failover reasons.
7979# This option is actual only in dynamic connections mode. (integer value)
7980#zmq_failover_connections = 2
7981
7982# Minimal port number for random ports range. (port value)
7983# Minimum value: 0
7984# Maximum value: 65535
7985#rpc_zmq_min_port = 49153
7986
7987# Maximal port number for random ports range. (integer value)
7988# Minimum value: 1
7989# Maximum value: 65536
7990#rpc_zmq_max_port = 65536
7991
7992# Number of retries to find free port number before fail with ZMQBindError.
7993# (integer value)
7994#rpc_zmq_bind_port_retries = 100
7995
7996# Default serialization mechanism for serializing/deserializing
7997# outgoing/incoming messages (string value)
7998# Allowed values: json, msgpack
7999#rpc_zmq_serialization = json
8000
8001# This option configures round-robin mode in zmq socket. True means not keeping
8002# a queue when server side disconnects. False means to keep queue and messages
8003# even if server is disconnected, when the server appears we send all
8004# accumulated messages to it. (boolean value)
8005#zmq_immediate = true
8006
8007# Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any
8008# other negative value) means to skip any overrides and leave it to OS default;
8009# 0 and 1 (or any other positive value) mean to disable and enable the option
8010# respectively. (integer value)
8011#zmq_tcp_keepalive = -1
8012
8013# The duration between two keepalive transmissions in idle condition. The unit
8014# is platform dependent, for example, seconds in Linux, milliseconds in Windows
8015# etc. The default value of -1 (or any other negative value and 0) means to skip
8016# any overrides and leave it to OS default. (integer value)
8017#zmq_tcp_keepalive_idle = -1
8018
8019# The number of retransmissions to be carried out before declaring that remote
8020# end is not available. The default value of -1 (or any other negative value and
8021# 0) means to skip any overrides and leave it to OS default. (integer value)
8022#zmq_tcp_keepalive_cnt = -1
8023
8024# The duration between two successive keepalive retransmissions, if
8025# acknowledgement to the previous keepalive transmission is not received. The
8026# unit is platform dependent, for example, seconds in Linux, milliseconds in
8027# Windows etc. The default value of -1 (or any other negative value and 0) means
8028# to skip any overrides and leave it to OS default. (integer value)
8029#zmq_tcp_keepalive_intvl = -1
8030
8031# Maximum number of (green) threads to work concurrently. (integer value)
8032#rpc_thread_pool_size = 100
8033
8034# Expiration timeout in seconds of a sent/received message after which it is not
8035# tracked anymore by a client/server. (integer value)
8036#rpc_message_ttl = 300
8037
8038# Wait for message acknowledgements from receivers. This mechanism works only
8039# via proxy without PUB/SUB. (boolean value)
8040#rpc_use_acks = false
8041
8042# Number of seconds to wait for an ack from a cast/call. After each retry
8043# attempt this timeout is multiplied by some specified multiplier. (integer
8044# value)
8045#rpc_ack_timeout_base = 15
8046
8047# Number to multiply base ack timeout by after each retry attempt. (integer
8048# value)
8049#rpc_ack_timeout_multiplier = 2
8050
8051# Default number of message sending attempts in case of any problems occurred:
8052# positive value N means at most N retries, 0 means no retries, None or -1 (or
8053# any other negative values) mean to retry forever. This option is used only if
8054# acknowledgments are enabled. (integer value)
8055#rpc_retry_attempts = 3
8056
8057# List of publisher hosts SubConsumer can subscribe on. This option has higher
8058# priority then the default publishers list taken from the matchmaker. (list
8059# value)
8060#subscribe_on =
8061
8062
8063[oslo_middleware]
8064
8065#
8066# From oslo.middleware
8067#
8068
8069# The maximum body size for each request, in bytes. (integer value)
8070# Deprecated group/name - [DEFAULT]/osapi_max_request_body_size
8071# Deprecated group/name - [DEFAULT]/max_request_body_size
8072#max_request_body_size = 114688
8073
8074# DEPRECATED: The HTTP Header that will be used to determine what the original
8075# request protocol scheme was, even if it was hidden by a SSL termination proxy.
8076# (string value)
8077# This option is deprecated for removal.
8078# Its value may be silently ignored in the future.
8079#secure_proxy_ssl_header = X-Forwarded-Proto
8080
8081# Whether the application is behind a proxy or not. This determines if the
8082# middleware should parse the headers or not. (boolean value)
8083#enable_proxy_headers_parsing = false
8084
8085
8086[oslo_policy]
8087
8088#
8089# From oslo.policy
8090#
8091
8092# The file that defines policies. (string value)
8093#policy_file = policy.json
8094
8095# Default rule. Enforced when a requested rule is not found. (string value)
8096#policy_default_rule = default
8097
8098# Directories where policy configuration files are stored. They can be relative
8099# to any directory in the search path defined by the config_dir option, or
8100# absolute paths. The file defined by policy_file must exist for these
8101# directories to be searched. Missing or empty directories are ignored. (multi
8102# valued)
8103#policy_dirs = policy.d
8104
8105
8106[pci]
8107
8108#
8109# From nova.conf
8110#
8111
8112#
8113# An alias for a PCI passthrough device requirement.
8114#
8115# This allows users to specify the alias in the extra_spec for a flavor, without
8116# needing to repeat all the PCI property requirements.
8117#
8118# Possible Values:
8119#
8120# * A list of JSON values which describe the aliases. For example:
8121#
8122# alias = {
8123# "name": "QuickAssist",
8124# "product_id": "0443",
8125# "vendor_id": "8086",
8126# "device_type": "type-PCI"
8127# }
8128#
8129# defines an alias for the Intel QuickAssist card. (multi valued). Valid key
8130# values are :
8131#
8132# * "name": Name of the PCI alias.
8133# * "product_id": Product ID of the device in hexadecimal.
8134# * "vendor_id": Vendor ID of the device in hexadecimal.
8135# * "device_type": Type of PCI device. Valid values are: "type-PCI",
8136# "type-PF" and "type-VF".
8137# (multi valued)
8138# Deprecated group/name - [DEFAULT]/pci_alias
8139#alias =
8140
8141#
8142# White list of PCI devices available to VMs.
8143#
8144# Possible values:
8145#
8146# * A JSON dictionary which describe a whitelisted PCI device. It should take
8147# the following format:
8148#
8149# ["vendor_id": "<id>",] ["product_id": "<id>",]
8150# ["address": "[[[[<domain>]:]<bus>]:][<slot>][.[<function>]]" |
8151# "devname": "<name>",]
8152# {"<tag>": "<tag_value>",}
8153#
8154# Where '[' indicates zero or one occurrences, '{' indicates zero or multiple
8155# occurrences, and '|' mutually exclusive options. Note that any missing
8156# fields are automatically wildcarded.
8157#
8158# Valid key values are :
8159#
8160# * "vendor_id": Vendor ID of the device in hexadecimal.
8161# * "product_id": Product ID of the device in hexadecimal.
8162# * "address": PCI address of the device.
8163# * "devname": Device name of the device (for e.g. interface name). Not all
8164# PCI devices have a name.
8165# * "<tag>": Additional <tag> and <tag_value> used for matching PCI devices.
8166# Supported <tag>: "physical_network".
8167#
8168# The address key supports traditional glob style and regular expression
8169# syntax. Valid examples are:
8170#
8171# passthrough_whitelist = {"devname":"eth0",
8172# "physical_network":"physnet"}
8173# passthrough_whitelist = {"address":"*:0a:00.*"}
8174# passthrough_whitelist = {"address":":0a:00.",
8175# "physical_network":"physnet1"}
8176# passthrough_whitelist = {"vendor_id":"1137",
8177# "product_id":"0071"}
8178# passthrough_whitelist = {"vendor_id":"1137",
8179# "product_id":"0071",
8180# "address": "0000:0a:00.1",
8181# "physical_network":"physnet1"}
8182# passthrough_whitelist = {"address":{"domain": ".*",
8183# "bus": "02", "slot": "01",
8184# "function": "[2-7]"},
8185# "physical_network":"physnet1"}
8186# passthrough_whitelist = {"address":{"domain": ".*",
8187# "bus": "02", "slot": "0[1-2]",
8188# "function": ".*"},
8189# "physical_network":"physnet1"}
8190#
8191# The following are invalid, as they specify mutually exclusive options:
8192#
8193# passthrough_whitelist = {"devname":"eth0",
8194# "physical_network":"physnet",
8195# "address":"*:0a:00.*"}
8196#
8197# * A JSON list of JSON dictionaries corresponding to the above format. For
8198# example:
8199#
8200# passthrough_whitelist = [{"product_id":"0001", "vendor_id":"8086"},
8201# {"product_id":"0002", "vendor_id":"8086"}]
8202# (multi valued)
8203# Deprecated group/name - [DEFAULT]/pci_passthrough_whitelist
8204#passthrough_whitelist =
8205
8206
8207[placement]
8208
8209#
8210# From nova.conf
8211#
8212
8213#
8214# Region name of this node. This is used when picking the URL in the service
8215# catalog.
8216#
8217# Possible values:
8218#
8219# * Any string representing region name
8220# (string value)
8221#os_region_name = <None>
8222
8223#
8224# Endpoint interface for this node. This is used when picking the URL in the
8225# service catalog.
8226# (string value)
8227#os_interface = <None>
8228
8229# PEM encoded Certificate Authority to use when verifying HTTPs connections.
8230# (string value)
8231#cafile = <None>
8232
8233# PEM encoded client certificate cert file (string value)
8234#certfile = <None>
8235
8236# PEM encoded client certificate key file (string value)
8237#keyfile = <None>
8238
8239# Verify HTTPS connections. (boolean value)
8240#insecure = false
8241
8242# Timeout value for http requests (integer value)
8243#timeout = <None>
8244
8245# Authentication type to load (string value)
8246# Deprecated group/name - [placement]/auth_plugin
8247#auth_type = <None>
8248
8249# Config Section from which to load plugin specific options (string value)
8250#auth_section = <None>
8251
8252# Authentication URL (string value)
8253#auth_url = <None>
8254
8255# Domain ID to scope to (string value)
8256#domain_id = <None>
8257
8258# Domain name to scope to (string value)
8259#domain_name = <None>
8260
8261# Project ID to scope to (string value)
8262#project_id = <None>
8263
8264# Project name to scope to (string value)
8265#project_name = <None>
8266
8267# Domain ID containing project (string value)
8268#project_domain_id = <None>
8269
8270# Domain name containing project (string value)
8271#project_domain_name = <None>
8272
8273# Trust ID (string value)
8274#trust_id = <None>
8275
8276# Optional domain ID to use with v3 and v2 parameters. It will be used for both
8277# the user and project domain in v3 and ignored in v2 authentication. (string
8278# value)
8279#default_domain_id = <None>
8280
8281# Optional domain name to use with v3 API and v2 parameters. It will be used for
8282# both the user and project domain in v3 and ignored in v2 authentication.
8283# (string value)
8284#default_domain_name = <None>
8285
8286# User ID (string value)
8287#user_id = <None>
8288
8289# Username (string value)
8290# Deprecated group/name - [placement]/user_name
8291#username = <None>
8292
8293# User's domain id (string value)
8294#user_domain_id = <None>
8295
8296# User's domain name (string value)
8297#user_domain_name = <None>
8298
8299# User's password (string value)
8300#password = <None>
8301
8302# Tenant ID (string value)
8303#tenant_id = <None>
8304
8305# Tenant Name (string value)
8306#tenant_name = <None>
8307
8308
8309[quota]
8310#
8311# Quota options allow to manage quotas in openstack deployment.
8312
8313#
8314# From nova.conf
8315#
8316
8317#
8318# The number of instances allowed per project.
8319#
8320# Possible Values
8321#
8322# * A positive integer or 0.
8323# * -1 to disable the quota.
8324# (integer value)
8325# Minimum value: -1
8326# Deprecated group/name - [DEFAULT]/quota_instances
8327#instances = 10
8328
8329#
8330# The number of instance cores or vCPUs allowed per project.
8331#
8332# Possible values:
8333#
8334# * A positive integer or 0.
8335# * -1 to disable the quota.
8336# (integer value)
8337# Minimum value: -1
8338# Deprecated group/name - [DEFAULT]/quota_cores
8339#cores = 20
8340
8341#
8342# The number of megabytes of instance RAM allowed per project.
8343#
8344# Possible values:
8345#
8346# * A positive integer or 0.
8347# * -1 to disable the quota.
8348# (integer value)
8349# Minimum value: -1
8350# Deprecated group/name - [DEFAULT]/quota_ram
8351#ram = 51200
8352
8353# DEPRECATED:
8354# The number of floating IPs allowed per project.
8355#
8356# Floating IPs are not allocated to instances by default. Users need to select
8357# them from the pool configured by the OpenStack administrator to attach to
8358# their
8359# instances.
8360#
8361# Possible values:
8362#
8363# * A positive integer or 0.
8364# * -1 to disable the quota.
8365# (integer value)
8366# Minimum value: -1
8367# Deprecated group/name - [DEFAULT]/quota_floating_ips
8368# This option is deprecated for removal since 15.0.0.
8369# Its value may be silently ignored in the future.
8370# Reason:
8371# nova-network is deprecated, as are any related configuration options.
8372#floating_ips = 10
8373
8374# DEPRECATED:
8375# The number of fixed IPs allowed per project.
8376#
8377# Unlike floating IPs, fixed IPs are allocated dynamically by the network
8378# component when instances boot up. This quota value should be at least the
8379# number of instances allowed
8380#
8381# Possible values:
8382#
8383# * A positive integer or 0.
8384# * -1 to disable the quota.
8385# (integer value)
8386# Minimum value: -1
8387# Deprecated group/name - [DEFAULT]/quota_fixed_ips
8388# This option is deprecated for removal since 15.0.0.
8389# Its value may be silently ignored in the future.
8390# Reason:
8391# nova-network is deprecated, as are any related configuration options.
8392#fixed_ips = -1
8393
8394#
8395# The number of metadata items allowed per instance.
8396#
8397# Users can associate metadata with an instance during instance creation. This
8398# metadata takes the form of key-value pairs.
8399#
8400# Possible values:
8401#
8402# * A positive integer or 0.
8403# * -1 to disable the quota.
8404# (integer value)
8405# Minimum value: -1
8406# Deprecated group/name - [DEFAULT]/quota_metadata_items
8407#metadata_items = 128
8408
8409#
8410# The number of injected files allowed.
8411#
8412# File injection allows users to customize the personality of an instance by
8413# injecting data into it upon boot. Only text file injection is permitted:
8414# binary
8415# or ZIP files are not accepted. During file injection, any existing files that
8416# match specified files are renamed to include ``.bak`` extension appended with
8417# a
8418# timestamp.
8419#
8420# Possible values:
8421#
8422# * A positive integer or 0.
8423# * -1 to disable the quota.
8424# (integer value)
8425# Minimum value: -1
8426# Deprecated group/name - [DEFAULT]/quota_injected_files
8427#injected_files = 5
8428
8429#
8430# The number of bytes allowed per injected file.
8431#
8432# Possible values:
8433#
8434# * A positive integer or 0.
8435# * -1 to disable the quota.
8436# (integer value)
8437# Minimum value: -1
8438# Deprecated group/name - [DEFAULT]/quota_injected_file_content_bytes
8439#injected_file_content_bytes = 10240
8440
8441#
8442# The maximum allowed injected file path length.
8443#
8444# Possible values:
8445#
8446# * A positive integer or 0.
8447# * -1 to disable the quota.
8448# (integer value)
8449# Minimum value: -1
8450# Deprecated group/name - [DEFAULT]/quota_injected_file_path_length
8451#injected_file_path_length = 255
8452
8453# DEPRECATED:
8454# The number of security groups per project.
8455#
8456# Possible values:
8457#
8458# * A positive integer or 0.
8459# * -1 to disable the quota.
8460# (integer value)
8461# Minimum value: -1
8462# Deprecated group/name - [DEFAULT]/quota_security_groups
8463# This option is deprecated for removal since 15.0.0.
8464# Its value may be silently ignored in the future.
8465# Reason:
8466# nova-network is deprecated, as are any related configuration options.
8467#security_groups = 10
8468
8469# DEPRECATED:
8470# The number of security rules per security group.
8471#
8472# The associated rules in each security group control the traffic to instances
8473# in
8474# the group.
8475#
8476# Possible values:
8477#
8478# * A positive integer or 0.
8479# * -1 to disable the quota.
8480# (integer value)
8481# Minimum value: -1
8482# Deprecated group/name - [DEFAULT]/quota_security_group_rules
8483# This option is deprecated for removal since 15.0.0.
8484# Its value may be silently ignored in the future.
8485# Reason:
8486# nova-network is deprecated, as are any related configuration options.
8487#security_group_rules = 20
8488
8489#
8490# The maximum number of key pairs allowed per user.
8491#
8492# Users can create at least one key pair for each project and use the key pair
8493# for multiple instances that belong to that project.
8494#
8495# Possible values:
8496#
8497# * A positive integer or 0.
8498# * -1 to disable the quota.
8499# (integer value)
8500# Minimum value: -1
8501# Deprecated group/name - [DEFAULT]/quota_key_pairs
8502#key_pairs = 100
8503
8504#
8505# The maxiumum number of server groups per project.
8506#
8507# Server groups are used to control the affinity and anti-affinity scheduling
8508# policy for a group of servers or instances. Reducing the quota will not affect
8509# any existing group, but new servers will not be allowed into groups that have
8510# become over quota.
8511#
8512# Possible values:
8513#
8514# * A positive integer or 0.
8515# * -1 to disable the quota.
8516# (integer value)
8517# Minimum value: -1
8518# Deprecated group/name - [DEFAULT]/quota_server_groups
8519#server_groups = 10
8520
8521#
8522# The maximum number of servers per server group.
8523#
8524# Possible values:
8525#
8526# * A positive integer or 0.
8527# * -1 to disable the quota.
8528# (integer value)
8529# Minimum value: -1
8530# Deprecated group/name - [DEFAULT]/quota_server_group_members
8531#server_group_members = 10
8532
8533#
8534# The number of seconds until a reservation expires.
8535#
8536# This quota represents the time period for invalidating quota reservations.
8537# (integer value)
8538#reservation_expire = 86400
8539
8540#
8541# The count of reservations until usage is refreshed.
8542#
8543# This defaults to 0 (off) to avoid additional load but it is useful to turn on
8544# to help keep quota usage up-to-date and reduce the impact of out of sync usage
8545# issues.
8546# (integer value)
8547# Minimum value: 0
8548#until_refresh = 0
8549
8550#
8551# The number of seconds between subsequent usage refreshes.
8552#
8553# This defaults to 0 (off) to avoid additional load but it is useful to turn on
8554# to help keep quota usage up-to-date and reduce the impact of out of sync usage
8555# issues. Note that quotas are not updated on a periodic task, they will update
8556# on a new reservation if max_age has passed since the last reservation.
8557# (integer value)
8558# Minimum value: 0
8559#max_age = 0
8560
8561# DEPRECATED:
8562# The quota enforcer driver.
8563#
8564# Provides abstraction for quota checks. Users can configure a specific
8565# driver to use for quota checks.
8566#
8567# Possible values:
8568#
8569# * nova.quota.DbQuotaDriver (default) or any string representing fully
8570# qualified class name.
8571# (string value)
8572# Deprecated group/name - [DEFAULT]/quota_driver
8573# This option is deprecated for removal since 14.0.0.
8574# Its value may be silently ignored in the future.
8575#driver = nova.quota.DbQuotaDriver
8576
8577#
8578# Recheck quota after resource creation to prevent allowing quota to be
8579# exceeded.
8580#
8581# This defaults to True (recheck quota after resource creation) but can be set
8582# to
8583# False to avoid additional load if allowing quota to be exceeded because of
8584# racing requests is considered acceptable. For example, when set to False, if a
8585# user makes highly parallel REST API requests to create servers, it will be
8586# possible for them to create more servers than their allowed quota during the
8587# race. If their quota is 10 servers, they might be able to create 50 during the
8588# burst. After the burst, they will not be able to create any more servers but
8589# they will be able to keep their 50 servers until they delete them.
8590#
8591# The initial quota check is done before resources are created, so if multiple
8592# parallel requests arrive at the same time, all could pass the quota check and
8593# create resources, potentially exceeding quota. When recheck_quota is True,
8594# quota will be checked a second time after resources have been created and if
8595# the resource is over quota, it will be deleted and OverQuota will be raised,
8596# usually resulting in a 403 response to the REST API user. This makes it
8597# impossible for a user to exceed their quota with the caveat that it will,
8598# however, be possible for a REST API user to be rejected with a 403 response in
8599# the event of a collision close to reaching their quota limit, even if the user
8600# has enough quota available when they made the request.
8601# (boolean value)
8602#recheck_quota = true
8603
8604
8605[rdp]
8606#
8607# Options under this group enable and configure Remote Desktop Protocol (
8608# RDP) related features.
8609#
8610# This group is only relevant to Hyper-V users.
8611
8612#
8613# From nova.conf
8614#
8615
8616#
8617# Enable Remote Desktop Protocol (RDP) related features.
8618#
8619# Hyper-V, unlike the majority of the hypervisors employed on Nova compute
8620# nodes, uses RDP instead of VNC and SPICE as a desktop sharing protocol to
8621# provide instance console access. This option enables RDP for graphical
8622# console access for virtual machines created by Hyper-V.
8623#
8624# **Note:** RDP should only be enabled on compute nodes that support the Hyper-V
8625# virtualization platform.
8626#
8627# Related options:
8628#
8629# * ``compute_driver``: Must be hyperv.
8630#
8631# (boolean value)
8632#enabled = false
8633
8634#
8635# The URL an end user would use to connect to the RDP HTML5 console proxy.
8636# The console proxy service is called with this token-embedded URL and
8637# establishes the connection to the proper instance.
8638#
8639# An RDP HTML5 console proxy service will need to be configured to listen on the
8640# address configured here. Typically the console proxy service would be run on a
8641# controller node. The localhost address used as default would only work in a
8642# single node environment i.e. devstack.
8643#
8644# An RDP HTML5 proxy allows a user to access via the web the text or graphical
8645# console of any Windows server or workstation using RDP. RDP HTML5 console
8646# proxy services include FreeRDP, wsgate.
8647# See https://github.com/FreeRDP/FreeRDP-WebConnect
8648#
8649# Possible values:
8650#
8651# * <scheme>://<ip-address>:<port-number>/
8652#
8653# The scheme must be identical to the scheme configured for the RDP HTML5
8654# console proxy service. It is ``http`` or ``https``.
8655#
8656# The IP address must be identical to the address on which the RDP HTML5
8657# console proxy service is listening.
8658#
8659# The port must be identical to the port on which the RDP HTML5 console proxy
8660# service is listening.
8661#
8662# Related options:
8663#
8664# * ``rdp.enabled``: Must be set to ``True`` for ``html5_proxy_base_url`` to be
8665# effective.
8666# (uri value)
8667#html5_proxy_base_url = http://127.0.0.1:6083/
8668
8669
8670[remote_debug]
8671
8672#
8673# From nova.conf
8674#
8675
8676#
8677# Debug host (IP or name) to connect to. This command line parameter is used
8678# when
8679# you want to connect to a nova service via a debugger running on a different
8680# host.
8681#
8682# Note that using the remote debug option changes how Nova uses the eventlet
8683# library to support async IO. This could result in failures that do not occur
8684# under normal operation. Use at your own risk.
8685#
8686# Possible Values:
8687#
8688# * IP address of a remote host as a command line parameter
8689# to a nova service. For Example:
8690#
8691# /usr/local/bin/nova-compute --config-file /etc/nova/nova.conf
8692# --remote_debug-host <IP address where the debugger is running>
8693# (unknown value)
8694#host = <None>
8695
8696#
8697# Debug port to connect to. This command line parameter allows you to specify
8698# the port you want to use to connect to a nova service via a debugger running
8699# on different host.
8700#
8701# Note that using the remote debug option changes how Nova uses the eventlet
8702# library to support async IO. This could result in failures that do not occur
8703# under normal operation. Use at your own risk.
8704#
8705# Possible Values:
8706#
8707# * Port number you want to use as a command line parameter
8708# to a nova service. For Example:
8709#
8710# /usr/local/bin/nova-compute --config-file /etc/nova/nova.conf
8711# --remote_debug-host <IP address where the debugger is running>
8712# --remote_debug-port <port> it's listening on>.
8713# (port value)
8714# Minimum value: 0
8715# Maximum value: 65535
8716#port = <None>
8717
8718
8719[scheduler]
8720
8721#
8722# From nova.conf
8723#
8724
8725#
8726# The scheduler host manager to use.
8727#
8728# The host manager manages the in-memory picture of the hosts that the scheduler
8729# uses. The options values are chosen from the entry points under the namespace
8730# 'nova.scheduler.host_manager' in 'setup.cfg'.
8731# (string value)
8732# Allowed values: host_manager, ironic_host_manager
8733# Deprecated group/name - [DEFAULT]/scheduler_host_manager
8734#host_manager = host_manager
8735
8736#
8737# The class of the driver used by the scheduler. This should be chosen from one
8738# of the entrypoints under the namespace 'nova.scheduler.driver' of file
8739# 'setup.cfg'. If nothing is specified in this option, the 'filter_scheduler' is
8740# used.
8741#
8742# Other options are:
8743#
8744# * 'caching_scheduler' which aggressively caches the system state for better
8745# individual scheduler performance at the risk of more retries when running
8746# multiple schedulers. [DEPRECATED]
8747# * 'chance_scheduler' which simply picks a host at random. [DEPRECATED]
8748# * 'fake_scheduler' which is used for testing.
8749#
8750# Possible values:
8751#
8752# * Any of the drivers included in Nova:
8753# ** filter_scheduler
8754# ** caching_scheduler
8755# ** chance_scheduler
8756# ** fake_scheduler
8757# * You may also set this to the entry point name of a custom scheduler driver,
8758# but you will be responsible for creating and maintaining it in your
8759# setup.cfg
8760# file.
8761# (string value)
8762# Deprecated group/name - [DEFAULT]/scheduler_driver
8763#driver = filter_scheduler
8764
8765#
8766# Periodic task interval.
8767#
8768# This value controls how often (in seconds) to run periodic tasks in the
8769# scheduler. The specific tasks that are run for each period are determined by
8770# the particular scheduler being used.
8771#
8772# If this is larger than the nova-service 'service_down_time' setting, Nova may
8773# report the scheduler service as down. This is because the scheduler driver is
8774# responsible for sending a heartbeat and it will only do that as often as this
8775# option allows. As each scheduler can work a little differently than the
8776# others,
8777# be sure to test this with your selected scheduler.
8778#
8779# Possible values:
8780#
8781# * An integer, where the integer corresponds to periodic task interval in
8782# seconds. 0 uses the default interval (60 seconds). A negative value disables
8783# periodic tasks.
8784#
8785# Related options:
8786#
8787# * ``nova-service service_down_time``
8788# (integer value)
8789# Deprecated group/name - [DEFAULT]/scheduler_driver_task_period
8790#periodic_task_interval = 60
8791
8792#
8793# Maximum number of schedule attempts for a chosen host.
8794#
8795# This is the maximum number of attempts that will be made to schedule an
8796# instance before it is assumed that the failures aren't due to normal
8797# occasional
8798# race conflicts, but rather some other problem. When this is reached a
8799# MaxRetriesExceeded exception is raised, and the instance is set to an error
8800# state.
8801#
8802# Possible values:
8803#
8804# * A positive integer, where the integer corresponds to the max number of
8805# attempts that can be made when scheduling an instance.
8806# (integer value)
8807# Minimum value: 1
8808# Deprecated group/name - [DEFAULT]/scheduler_max_attempts
8809#max_attempts = 3
8810
8811#
8812# Periodic task interval.
8813#
8814# This value controls how often (in seconds) the scheduler should attempt
8815# to discover new hosts that have been added to cells. If negative (the
8816# default), no automatic discovery will occur.
8817#
8818# Deployments where compute nodes come and go frequently may want this
8819# enabled, where others may prefer to manually discover hosts when one
8820# is added to avoid any overhead from constantly checking. If enabled,
8821# every time this runs, we will select any unmapped hosts out of each
8822# cell database on every run.
8823# (integer value)
8824# Minimum value: -1
8825#discover_hosts_in_cells_interval = -1
8826
8827
8828[serial_console]
8829#
8830# The serial console feature allows you to connect to a guest in case a
8831# graphical console like VNC, RDP or SPICE is not available. This is only
8832# currently supported for the libvirt, Ironic and hyper-v drivers.
8833
8834#
8835# From nova.conf
8836#
8837
8838#
8839# Enable the serial console feature.
8840#
8841# In order to use this feature, the service ``nova-serialproxy`` needs to run.
8842# This service is typically executed on the controller node.
8843# (boolean value)
8844#enabled = false
8845
8846#
8847# A range of TCP ports a guest can use for its backend.
8848#
8849# Each instance which gets created will use one port out of this range. If the
8850# range is not big enough to provide another port for an new instance, this
8851# instance won't get launched.
8852#
8853# Possible values:
8854#
8855# * Each string which passes the regex ``\d+:\d+`` For example ``10000:20000``.
8856# Be sure that the first port number is lower than the second port number
8857# and that both are in range from 0 to 65535.
8858# (string value)
8859#port_range = 10000:20000
8860
8861#
8862# The URL an end user would use to connect to the ``nova-serialproxy`` service.
8863#
8864# The ``nova-serialproxy`` service is called with this token enriched URL
8865# and establishes the connection to the proper instance.
8866#
8867# Related options:
8868#
8869# * The IP address must be identical to the address to which the
8870# ``nova-serialproxy`` service is listening (see option ``serialproxy_host``
8871# in this section).
8872# * The port must be the same as in the option ``serialproxy_port`` of this
8873# section.
8874# * If you choose to use a secured websocket connection, then start this option
8875# with ``wss://`` instead of the unsecured ``ws://``. The options ``cert``
8876# and ``key`` in the ``[DEFAULT]`` section have to be set for that.
8877# (uri value)
8878#base_url = ws://127.0.0.1:6083/
8879
8880#
8881# The IP address to which proxy clients (like ``nova-serialproxy``) should
8882# connect to get the serial console of an instance.
8883#
8884# This is typically the IP address of the host of a ``nova-compute`` service.
8885# (string value)
8886#proxyclient_address = 127.0.0.1
8887
8888#
8889# The IP address which is used by the ``nova-serialproxy`` service to listen
8890# for incoming requests.
8891#
8892# The ``nova-serialproxy`` service listens on this IP address for incoming
8893# connection requests to instances which expose serial console.
8894#
8895# Related options:
8896#
8897# * Ensure that this is the same IP address which is defined in the option
8898# ``base_url`` of this section or use ``0.0.0.0`` to listen on all addresses.
8899# (string value)
8900#serialproxy_host = 0.0.0.0
8901
8902#
8903# The port number which is used by the ``nova-serialproxy`` service to listen
8904# for incoming requests.
8905#
8906# The ``nova-serialproxy`` service listens on this port number for incoming
8907# connection requests to instances which expose serial console.
8908#
8909# Related options:
8910#
8911# * Ensure that this is the same port number which is defined in the option
8912# ``base_url`` of this section.
8913# (port value)
8914# Minimum value: 0
8915# Maximum value: 65535
8916#serialproxy_port = 6083
8917
8918
8919[service_user]
8920#
8921# Configuration options for service to service authentication using a service
8922# token. These options allow to send a service token along with the
8923# user's token when contacting external REST APIs.
8924
8925#
8926# From nova.conf
8927#
8928
8929#
8930# When True, if sending a user token to an REST API, also send a service token.
8931#
8932# Nova often reuses the user token provided to the nova-api to talk to other
8933# REST APIs, such as Cinder, Glance and Neutron. It is possible that while the
8934# user token was valid when the request was made to Nova, the token may expire
8935# before it reaches the other service. To avoid any failures, and to
8936# make it clear it is Nova calling the service on the users behalf, we include
8937# a server token along with the user token. Should the user's token have
8938# expired, a valid service token ensures the REST API request will still be
8939# accepted by the keystone middleware.
8940#
8941# This feature is currently experimental, and as such is turned off by default
8942# while full testing and performance tuning of this feature is completed.
8943# (boolean value)
8944#send_service_user_token = false
8945
8946# PEM encoded Certificate Authority to use when verifying HTTPs connections.
8947# (string value)
8948#cafile = <None>
8949
8950# PEM encoded client certificate cert file (string value)
8951#certfile = <None>
8952
8953# PEM encoded client certificate key file (string value)
8954#keyfile = <None>
8955
8956# Verify HTTPS connections. (boolean value)
8957#insecure = false
8958
8959# Timeout value for http requests (integer value)
8960#timeout = <None>
8961
8962# Authentication type to load (string value)
8963# Deprecated group/name - [service_user]/auth_plugin
8964#auth_type = <None>
8965
8966# Config Section from which to load plugin specific options (string value)
8967#auth_section = <None>
8968
8969# Authentication URL (string value)
8970#auth_url = <None>
8971
8972# Domain ID to scope to (string value)
8973#domain_id = <None>
8974
8975# Domain name to scope to (string value)
8976#domain_name = <None>
8977
8978# Project ID to scope to (string value)
8979#project_id = <None>
8980
8981# Project name to scope to (string value)
8982#project_name = <None>
8983
8984# Domain ID containing project (string value)
8985#project_domain_id = <None>
8986
8987# Domain name containing project (string value)
8988#project_domain_name = <None>
8989
8990# Trust ID (string value)
8991#trust_id = <None>
8992
8993# Optional domain ID to use with v3 and v2 parameters. It will be used for both
8994# the user and project domain in v3 and ignored in v2 authentication. (string
8995# value)
8996#default_domain_id = <None>
8997
8998# Optional domain name to use with v3 API and v2 parameters. It will be used for
8999# both the user and project domain in v3 and ignored in v2 authentication.
9000# (string value)
9001#default_domain_name = <None>
9002
9003# User ID (string value)
9004#user_id = <None>
9005
9006# Username (string value)
9007# Deprecated group/name - [service_user]/user_name
9008#username = <None>
9009
9010# User's domain id (string value)
9011#user_domain_id = <None>
9012
9013# User's domain name (string value)
9014#user_domain_name = <None>
9015
9016# User's password (string value)
9017#password = <None>
9018
9019# Tenant ID (string value)
9020#tenant_id = <None>
9021
9022# Tenant Name (string value)
9023#tenant_name = <None>
9024
9025
9026[spice]
9027#
9028# SPICE console feature allows you to connect to a guest virtual machine.
9029# SPICE is a replacement for fairly limited VNC protocol.
9030#
9031# Following requirements must be met in order to use SPICE:
9032#
9033# * Virtualization driver must be libvirt
9034# * spice.enabled set to True
9035# * vnc.enabled set to False
9036# * update html5proxy_base_url
9037# * update server_proxyclient_address
9038
9039#
9040# From nova.conf
9041#
9042
9043#
9044# Enable SPICE related features.
9045#
9046# Related options:
9047#
9048# * VNC must be explicitly disabled to get access to the SPICE console. Set the
9049# enabled option to False in the [vnc] section to disable the VNC console.
9050# (boolean value)
9051#enabled = false
9052
9053#
9054# Enable the SPICE guest agent support on the instances.
9055#
9056# The Spice agent works with the Spice protocol to offer a better guest console
9057# experience. However, the Spice console can still be used without the Spice
9058# Agent. With the Spice agent installed the following features are enabled:
9059#
9060# * Copy & Paste of text and images between the guest and client machine
9061# * Automatic adjustment of resolution when the client screen changes - e.g.
9062# if you make the Spice console full screen the guest resolution will adjust
9063# to
9064# match it rather than letterboxing.
9065# * Better mouse integration - The mouse can be captured and released without
9066# needing to click inside the console or press keys to release it. The
9067# performance of mouse movement is also improved.
9068# (boolean value)
9069#agent_enabled = true
9070
9071#
9072# Location of the SPICE HTML5 console proxy.
9073#
9074# End user would use this URL to connect to the `nova-spicehtml5proxy``
9075# service. This service will forward request to the console of an instance.
9076#
9077# In order to use SPICE console, the service ``nova-spicehtml5proxy`` should be
9078# running. This service is typically launched on the controller node.
9079#
9080# Possible values:
9081#
9082# * Must be a valid URL of the form: ``http://host:port/spice_auto.html``
9083# where host is the node running ``nova-spicehtml5proxy`` and the port is
9084# typically 6082. Consider not using default value as it is not well defined
9085# for any real deployment.
9086#
9087# Related options:
9088#
9089# * This option depends on ``html5proxy_host`` and ``html5proxy_port`` options.
9090# The access URL returned by the compute node must have the host
9091# and port where the ``nova-spicehtml5proxy`` service is listening.
9092# (uri value)
9093#html5proxy_base_url = http://127.0.0.1:6082/spice_auto.html
9094
9095#
9096# The address where the SPICE server running on the instances should listen.
9097#
9098# Typically, the ``nova-spicehtml5proxy`` proxy client runs on the controller
9099# node and connects over the private network to this address on the compute
9100# node(s).
9101#
9102# Possible values:
9103#
9104# * IP address to listen on.
9105# (string value)
9106#server_listen = 127.0.0.1
9107
9108#
9109# The address used by ``nova-spicehtml5proxy`` client to connect to instance
9110# console.
9111#
9112# Typically, the ``nova-spicehtml5proxy`` proxy client runs on the
9113# controller node and connects over the private network to this address on the
9114# compute node(s).
9115#
9116# Possible values:
9117#
9118# * Any valid IP address on the compute node.
9119#
9120# Related options:
9121#
9122# * This option depends on the ``server_listen`` option.
9123# The proxy client must be able to access the address specified in
9124# ``server_listen`` using the value of this option.
9125# (string value)
9126#server_proxyclient_address = 127.0.0.1
9127
9128#
9129# A keyboard layout which is supported by the underlying hypervisor on this
9130# node.
9131#
9132# Possible values:
9133# * This is usually an 'IETF language tag' (default is 'en-us'). If you
9134# use QEMU as hypervisor, you should find the list of supported keyboard
9135# layouts at /usr/share/qemu/keymaps.
9136# (string value)
9137#keymap = en-us
9138
9139#
9140# IP address or a hostname on which the ``nova-spicehtml5proxy`` service
9141# listens for incoming requests.
9142#
9143# Related options:
9144#
9145# * This option depends on the ``html5proxy_base_url`` option.
9146# The ``nova-spicehtml5proxy`` service must be listening on a host that is
9147# accessible from the HTML5 client.
9148# (unknown value)
9149#html5proxy_host = 0.0.0.0
9150
9151#
9152# Port on which the ``nova-spicehtml5proxy`` service listens for incoming
9153# requests.
9154#
9155# Related options:
9156#
9157# * This option depends on the ``html5proxy_base_url`` option.
9158# The ``nova-spicehtml5proxy`` service must be listening on a port that is
9159# accessible from the HTML5 client.
9160# (port value)
9161# Minimum value: 0
9162# Maximum value: 65535
9163#html5proxy_port = 6082
9164
9165
9166[trusted_computing]
9167#
9168# Configuration options for enabling Trusted Platform Module.
9169
9170#
9171# From nova.conf
9172#
9173
9174# DEPRECATED:
9175# The host to use as the attestation server.
9176#
9177# Cloud computing pools can involve thousands of compute nodes located at
9178# different geographical locations, making it difficult for cloud providers to
9179# identify a node's trustworthiness. When using the Trusted filter, users can
9180# request that their VMs only be placed on nodes that have been verified by the
9181# attestation server specified in this option.
9182#
9183# This option is only used by the FilterScheduler and its subclasses; if you use
9184# a different scheduler, this option has no effect. Also note that this setting
9185# only affects scheduling if the 'TrustedFilter' filter is enabled.
9186#
9187# Possible values:
9188#
9189# * A string representing the host name or IP address of the attestation server,
9190# or an empty string.
9191#
9192# Related options:
9193#
9194# * attestation_server_ca_file
9195# * attestation_port
9196# * attestation_api_url
9197# * attestation_auth_blob
9198# * attestation_auth_timeout
9199# * attestation_insecure_ssl
9200# (unknown value)
9201# This option is deprecated for removal since Pike.
9202# Its value may be silently ignored in the future.
9203# Reason: Incomplete filter
9204#attestation_server = <None>
9205
9206# DEPRECATED:
9207# The absolute path to the certificate to use for authentication when connecting
9208# to the attestation server. See the `attestation_server` help text for more
9209# information about host verification.
9210#
9211# This option is only used by the FilterScheduler and its subclasses; if you use
9212# a different scheduler, this option has no effect. Also note that this setting
9213# only affects scheduling if the 'TrustedFilter' filter is enabled.
9214#
9215# Possible values:
9216#
9217# * A string representing the path to the authentication certificate for the
9218# attestation server, or an empty string.
9219#
9220# Related options:
9221#
9222# * attestation_server
9223# * attestation_port
9224# * attestation_api_url
9225# * attestation_auth_blob
9226# * attestation_auth_timeout
9227# * attestation_insecure_ssl
9228# (string value)
9229# This option is deprecated for removal since Pike.
9230# Its value may be silently ignored in the future.
9231# Reason: Incomplete filter
9232#attestation_server_ca_file = <None>
9233
9234# DEPRECATED:
9235# The port to use when connecting to the attestation server. See the
9236# `attestation_server` help text for more information about host verification.
9237#
9238# This option is only used by the FilterScheduler and its subclasses; if you use
9239# a different scheduler, this option has no effect. Also note that this setting
9240# only affects scheduling if the 'TrustedFilter' filter is enabled.
9241#
9242# Related options:
9243#
9244# * attestation_server
9245# * attestation_server_ca_file
9246# * attestation_api_url
9247# * attestation_auth_blob
9248# * attestation_auth_timeout
9249# * attestation_insecure_ssl
9250# (port value)
9251# Minimum value: 0
9252# Maximum value: 65535
9253# This option is deprecated for removal since Pike.
9254# Its value may be silently ignored in the future.
9255# Reason: Incomplete filter
9256#attestation_port = 8443
9257
9258# DEPRECATED:
9259# The URL on the attestation server to use. See the `attestation_server` help
9260# text for more information about host verification.
9261#
9262# This value must be just that path portion of the full URL, as it will be
9263# joined
9264# to the host specified in the attestation_server option.
9265#
9266# This option is only used by the FilterScheduler and its subclasses; if you use
9267# a different scheduler, this option has no effect. Also note that this setting
9268# only affects scheduling if the 'TrustedFilter' filter is enabled.
9269#
9270# Possible values:
9271#
9272# * A valid URL string of the attestation server, or an empty string.
9273#
9274# Related options:
9275#
9276# * attestation_server
9277# * attestation_server_ca_file
9278# * attestation_port
9279# * attestation_auth_blob
9280# * attestation_auth_timeout
9281# * attestation_insecure_ssl
9282# (string value)
9283# This option is deprecated for removal since Pike.
9284# Its value may be silently ignored in the future.
9285# Reason: Incomplete filter
9286#attestation_api_url = /OpenAttestationWebServices/V1.0
9287
9288# DEPRECATED:
9289# Attestation servers require a specific blob that is used to authenticate. The
9290# content and format of the blob are determined by the particular attestation
9291# server being used. There is no default value; you must supply the value as
9292# specified by your attestation service. See the `attestation_server` help text
9293# for more information about host verification.
9294#
9295# This option is only used by the FilterScheduler and its subclasses; if you use
9296# a different scheduler, this option has no effect. Also note that this setting
9297# only affects scheduling if the 'TrustedFilter' filter is enabled.
9298#
9299# Possible values:
9300#
9301# * A string containing the specific blob required by the attestation server, or
9302# an empty string.
9303#
9304# Related options:
9305#
9306# * attestation_server
9307# * attestation_server_ca_file
9308# * attestation_port
9309# * attestation_api_url
9310# * attestation_auth_timeout
9311# * attestation_insecure_ssl
9312# (string value)
9313# This option is deprecated for removal since Pike.
9314# Its value may be silently ignored in the future.
9315# Reason: Incomplete filter
9316#attestation_auth_blob = <None>
9317
9318# DEPRECATED:
9319# This value controls how long a successful attestation is cached. Once this
9320# period has elapsed, a new attestation request will be made. See the
9321# `attestation_server` help text for more information about host verification.
9322#
9323# This option is only used by the FilterScheduler and its subclasses; if you use
9324# a different scheduler, this option has no effect. Also note that this setting
9325# only affects scheduling if the 'TrustedFilter' filter is enabled.
9326#
9327# Possible values:
9328#
9329# * A integer value, corresponding to the timeout interval for attestations in
9330# seconds. Any integer is valid, although setting this to zero or negative
9331# values can greatly impact performance when using an attestation service.
9332#
9333# Related options:
9334#
9335# * attestation_server
9336# * attestation_server_ca_file
9337# * attestation_port
9338# * attestation_api_url
9339# * attestation_auth_blob
9340# * attestation_insecure_ssl
9341# (integer value)
9342# Minimum value: 0
9343# This option is deprecated for removal since Pike.
9344# Its value may be silently ignored in the future.
9345# Reason: Incomplete filter
9346#attestation_auth_timeout = 60
9347
9348# DEPRECATED:
9349# When set to True, the SSL certificate verification is skipped for the
9350# attestation service. See the `attestation_server` help text for more
9351# information about host verification.
9352#
9353# This option is only used by the FilterScheduler and its subclasses; if you use
9354# a different scheduler, this option has no effect. Also note that this setting
9355# only affects scheduling if the 'TrustedFilter' filter is enabled.
9356#
9357# Related options:
9358#
9359# * attestation_server
9360# * attestation_server_ca_file
9361# * attestation_port
9362# * attestation_api_url
9363# * attestation_auth_blob
9364# * attestation_auth_timeout
9365# (boolean value)
9366# This option is deprecated for removal since Pike.
9367# Its value may be silently ignored in the future.
9368# Reason: Incomplete filter
9369#attestation_insecure_ssl = false
9370
9371
9372[upgrade_levels]
9373#
9374# upgrade_levels options are used to set version cap for RPC
9375# messages sent between different nova services.
9376#
9377# By default all services send messages using the latest version
9378# they know about.
9379#
9380# The compute upgrade level is an important part of rolling upgrades
9381# where old and new nova-compute services run side by side.
9382#
9383# The other options can largely be ignored, and are only kept to
9384# help with a possible future backport issue.
9385
9386#
9387# From nova.conf
9388#
9389
9390#
9391# Compute RPC API version cap.
9392#
9393# By default, we always send messages using the most recent version
9394# the client knows about.
9395#
9396# Where you have old and new compute services running, you should set
9397# this to the lowest deployed version. This is to guarantee that all
9398# services never send messages that one of the compute nodes can't
9399# understand. Note that we only support upgrading from release N to
9400# release N+1.
9401#
9402# Set this option to "auto" if you want to let the compute RPC module
9403# automatically determine what version to use based on the service
9404# versions in the deployment.
9405#
9406# Possible values:
9407#
9408# * By default send the latest version the client knows about
9409# * 'auto': Automatically determines what version to use based on
9410# the service versions in the deployment.
9411# * A string representing a version number in the format 'N.N';
9412# for example, possible values might be '1.12' or '2.0'.
9413# * An OpenStack release name, in lower case, such as 'mitaka' or
9414# 'liberty'.
9415# (string value)
9416#compute = <None>
9417
9418# Cells RPC API version cap (string value)
9419#cells = <None>
9420
9421# Intercell RPC API version cap (string value)
9422#intercell = <None>
9423
9424# Cert RPC API version cap (string value)
9425#cert = <None>
9426
9427# Scheduler RPC API version cap (string value)
9428#scheduler = <None>
9429
9430# Conductor RPC API version cap (string value)
9431#conductor = <None>
9432
9433# Console RPC API version cap (string value)
9434#console = <None>
9435
9436# Consoleauth RPC API version cap (string value)
9437#consoleauth = <None>
9438
9439# Network RPC API version cap (string value)
9440#network = <None>
9441
9442# Base API RPC API version cap (string value)
9443#baseapi = <None>
9444
9445
9446[vendordata_dynamic_auth]
9447#
9448# Options within this group control the authentication of the vendordata
9449# subsystem of the metadata API server (and config drive) with external systems.
9450
9451#
9452# From nova.conf
9453#
9454
9455# PEM encoded Certificate Authority to use when verifying HTTPs connections.
9456# (string value)
9457#cafile = <None>
9458
9459# PEM encoded client certificate cert file (string value)
9460#certfile = <None>
9461
9462# PEM encoded client certificate key file (string value)
9463#keyfile = <None>
9464
9465# Verify HTTPS connections. (boolean value)
9466#insecure = false
9467
9468# Timeout value for http requests (integer value)
9469#timeout = <None>
9470
9471# Authentication type to load (string value)
9472# Deprecated group/name - [vendordata_dynamic_auth]/auth_plugin
9473#auth_type = <None>
9474
9475# Config Section from which to load plugin specific options (string value)
9476#auth_section = <None>
9477
9478# Authentication URL (string value)
9479#auth_url = <None>
9480
9481# Domain ID to scope to (string value)
9482#domain_id = <None>
9483
9484# Domain name to scope to (string value)
9485#domain_name = <None>
9486
9487# Project ID to scope to (string value)
9488#project_id = <None>
9489
9490# Project name to scope to (string value)
9491#project_name = <None>
9492
9493# Domain ID containing project (string value)
9494#project_domain_id = <None>
9495
9496# Domain name containing project (string value)
9497#project_domain_name = <None>
9498
9499# Trust ID (string value)
9500#trust_id = <None>
9501
9502# Optional domain ID to use with v3 and v2 parameters. It will be used for both
9503# the user and project domain in v3 and ignored in v2 authentication. (string
9504# value)
9505#default_domain_id = <None>
9506
9507# Optional domain name to use with v3 API and v2 parameters. It will be used for
9508# both the user and project domain in v3 and ignored in v2 authentication.
9509# (string value)
9510#default_domain_name = <None>
9511
9512# User ID (string value)
9513#user_id = <None>
9514
9515# Username (string value)
9516# Deprecated group/name - [vendordata_dynamic_auth]/user_name
9517#username = <None>
9518
9519# User's domain id (string value)
9520#user_domain_id = <None>
9521
9522# User's domain name (string value)
9523#user_domain_name = <None>
9524
9525# User's password (string value)
9526#password = <None>
9527
9528# Tenant ID (string value)
9529#tenant_id = <None>
9530
9531# Tenant Name (string value)
9532#tenant_name = <None>
9533
9534
9535[vmware]
9536#
9537# Related options:
9538# Following options must be set in order to launch VMware-based
9539# virtual machines.
9540#
9541# * compute_driver: Must use vmwareapi.VMwareVCDriver.
9542# * vmware.host_username
9543# * vmware.host_password
9544# * vmware.cluster_name
9545
9546#
9547# From nova.conf
9548#
9549
9550#
9551# This option specifies the physical ethernet adapter name for VLAN
9552# networking.
9553#
9554# Set the vlan_interface configuration option to match the ESX host
9555# interface that handles VLAN-tagged VM traffic.
9556#
9557# Possible values:
9558#
9559# * Any valid string representing VLAN interface name
9560# (string value)
9561#vlan_interface = vmnic0
9562
9563#
9564# This option should be configured only when using the NSX-MH Neutron
9565# plugin. This is the name of the integration bridge on the ESXi server
9566# or host. This should not be set for any other Neutron plugin. Hence
9567# the default value is not set.
9568#
9569# Possible values:
9570#
9571# * Any valid string representing the name of the integration bridge
9572# (string value)
9573#integration_bridge = <None>
9574
9575#
9576# Set this value if affected by an increased network latency causing
9577# repeated characters when typing in a remote console.
9578# (integer value)
9579# Minimum value: 0
9580#console_delay_seconds = <None>
9581
9582#
9583# Identifies the remote system where the serial port traffic will
9584# be sent.
9585#
9586# This option adds a virtual serial port which sends console output to
9587# a configurable service URI. At the service URI address there will be
9588# virtual serial port concentrator that will collect console logs.
9589# If this is not set, no serial ports will be added to the created VMs.
9590#
9591# Possible values:
9592#
9593# * Any valid URI
9594# (string value)
9595#serial_port_service_uri = <None>
9596
9597#
9598# Identifies a proxy service that provides network access to the
9599# serial_port_service_uri.
9600#
9601# Possible values:
9602#
9603# * Any valid URI (The scheme is 'telnet' or 'telnets'.)
9604#
9605# Related options:
9606# This option is ignored if serial_port_service_uri is not specified.
9607# * serial_port_service_uri
9608# (uri value)
9609#serial_port_proxy_uri = <None>
9610
9611#
9612# Hostname or IP address for connection to VMware vCenter host. (unknown value)
9613#host_ip = <None>
9614
9615# Port for connection to VMware vCenter host. (port value)
9616# Minimum value: 0
9617# Maximum value: 65535
9618#host_port = 443
9619
9620# Username for connection to VMware vCenter host. (string value)
9621#host_username = <None>
9622
9623# Password for connection to VMware vCenter host. (string value)
9624#host_password = <None>
9625
9626#
9627# Specifies the CA bundle file to be used in verifying the vCenter
9628# server certificate.
9629# (string value)
9630#ca_file = <None>
9631
9632#
9633# If true, the vCenter server certificate is not verified. If false,
9634# then the default CA truststore is used for verification.
9635#
9636# Related options:
9637# * ca_file: This option is ignored if "ca_file" is set.
9638# (boolean value)
9639#insecure = false
9640
9641# Name of a VMware Cluster ComputeResource. (string value)
9642#cluster_name = <None>
9643
9644#
9645# Regular expression pattern to match the name of datastore.
9646#
9647# The datastore_regex setting specifies the datastores to use with
9648# Compute. For example, datastore_regex="nas.*" selects all the data
9649# stores that have a name starting with "nas".
9650#
9651# NOTE: If no regex is given, it just picks the datastore with the
9652# most freespace.
9653#
9654# Possible values:
9655#
9656# * Any matching regular expression to a datastore must be given
9657# (string value)
9658#datastore_regex = <None>
9659
9660#
9661# Time interval in seconds to poll remote tasks invoked on
9662# VMware VC server.
9663# (floating point value)
9664#task_poll_interval = 0.5
9665
9666#
9667# Number of times VMware vCenter server API must be retried on connection
9668# failures, e.g. socket error, etc.
9669# (integer value)
9670# Minimum value: 0
9671#api_retry_count = 10
9672
9673#
9674# This option specifies VNC starting port.
9675#
9676# Every VM created by ESX host has an option of enabling VNC client
9677# for remote connection. Above option 'vnc_port' helps you to set
9678# default starting port for the VNC client.
9679#
9680# Possible values:
9681#
9682# * Any valid port number within 5900 -(5900 + vnc_port_total)
9683#
9684# Related options:
9685# Below options should be set to enable VNC client.
9686# * vnc.enabled = True
9687# * vnc_port_total
9688# (port value)
9689# Minimum value: 0
9690# Maximum value: 65535
9691#vnc_port = 5900
9692
9693#
9694# Total number of VNC ports.
9695# (integer value)
9696# Minimum value: 0
9697#vnc_port_total = 10000
9698
9699#
9700# This option enables/disables the use of linked clone.
9701#
9702# The ESX hypervisor requires a copy of the VMDK file in order to boot
9703# up a virtual machine. The compute driver must download the VMDK via
9704# HTTP from the OpenStack Image service to a datastore that is visible
9705# to the hypervisor and cache it. Subsequent virtual machines that need
9706# the VMDK use the cached version and don't have to copy the file again
9707# from the OpenStack Image service.
9708#
9709# If set to false, even with a cached VMDK, there is still a copy
9710# operation from the cache location to the hypervisor file directory
9711# in the shared datastore. If set to true, the above copy operation
9712# is avoided as it creates copy of the virtual machine that shares
9713# virtual disks with its parent VM.
9714# (boolean value)
9715#use_linked_clone = true
9716
9717#
9718# This option enables or disables storage policy based placement
9719# of instances.
9720#
9721# Related options:
9722#
9723# * pbm_default_policy
9724# (boolean value)
9725#pbm_enabled = false
9726
9727#
9728# This option specifies the PBM service WSDL file location URL.
9729#
9730# Setting this will disable storage policy based placement
9731# of instances.
9732#
9733# Possible values:
9734#
9735# * Any valid file path
9736# e.g file:///opt/SDK/spbm/wsdl/pbmService.wsdl
9737# (string value)
9738#pbm_wsdl_location = <None>
9739
9740#
9741# This option specifies the default policy to be used.
9742#
9743# If pbm_enabled is set and there is no defined storage policy for the
9744# specific request, then this policy will be used.
9745#
9746# Possible values:
9747#
9748# * Any valid storage policy such as VSAN default storage policy
9749#
9750# Related options:
9751#
9752# * pbm_enabled
9753# (string value)
9754#pbm_default_policy = <None>
9755
9756#
9757# This option specifies the limit on the maximum number of objects to
9758# return in a single result.
9759#
9760# A positive value will cause the operation to suspend the retrieval
9761# when the count of objects reaches the specified limit. The server may
9762# still limit the count to something less than the configured value.
9763# Any remaining objects may be retrieved with additional requests.
9764# (integer value)
9765# Minimum value: 0
9766#maximum_objects = 100
9767
9768#
9769# This option adds a prefix to the folder where cached images are stored
9770#
9771# This is not the full path - just a folder prefix. This should only be
9772# used when a datastore cache is shared between compute nodes.
9773#
9774# Note: This should only be used when the compute nodes are running on same
9775# host or they have a shared file system.
9776#
9777# Possible values:
9778#
9779# * Any string representing the cache prefix to the folder
9780# (string value)
9781#cache_prefix = <None>
9782
9783
9784[vnc]
9785#
9786# Virtual Network Computer (VNC) can be used to provide remote desktop
9787# console access to instances for tenants and/or administrators.
9788
9789#
9790# From nova.conf
9791#
9792
9793#
9794# Enable VNC related features.
9795#
9796# Guests will get created with graphical devices to support this. Clients
9797# (for example Horizon) can then establish a VNC connection to the guest.
9798# (boolean value)
9799# Deprecated group/name - [DEFAULT]/vnc_enabled
9800#enabled = true
9801
9802#
9803# Keymap for VNC.
9804#
9805# The keyboard mapping (keymap) determines which keyboard layout a VNC
9806# session should use by default.
9807#
9808# Possible values:
9809#
9810# * A keyboard layout which is supported by the underlying hypervisor on
9811# this node. This is usually an 'IETF language tag' (for example
9812# 'en-us'). If you use QEMU as hypervisor, you should find the list
9813# of supported keyboard layouts at ``/usr/share/qemu/keymaps``.
9814# (string value)
9815# Deprecated group/name - [DEFAULT]/vnc_keymap
9816#keymap = en-us
9817
9818#
9819# The IP address or hostname on which an instance should listen to for
9820# incoming VNC connection requests on this node.
9821# (unknown value)
9822#vncserver_listen = 127.0.0.1
9823
9824#
9825# Private, internal IP address or hostname of VNC console proxy.
9826#
9827# The VNC proxy is an OpenStack component that enables compute service
9828# users to access their instances through VNC clients.
9829#
9830# This option sets the private address to which proxy clients, such as
9831# ``nova-xvpvncproxy``, should connect to.
9832# (unknown value)
9833#vncserver_proxyclient_address = 127.0.0.1
9834
9835#
9836# Public address of noVNC VNC console proxy.
9837#
9838# The VNC proxy is an OpenStack component that enables compute service
9839# users to access their instances through VNC clients. noVNC provides
9840# VNC support through a websocket-based client.
9841#
9842# This option sets the public base URL to which client systems will
9843# connect. noVNC clients can use this address to connect to the noVNC
9844# instance and, by extension, the VNC sessions.
9845#
9846# Related options:
9847#
9848# * novncproxy_host
9849# * novncproxy_port
9850# (uri value)
9851#novncproxy_base_url = http://127.0.0.1:6080/vnc_auto.html
9852
9853#
9854# IP address or hostname that the XVP VNC console proxy should bind to.
9855#
9856# The VNC proxy is an OpenStack component that enables compute service
9857# users to access their instances through VNC clients. Xen provides
9858# the Xenserver VNC Proxy, or XVP, as an alternative to the
9859# websocket-based noVNC proxy used by Libvirt. In contrast to noVNC,
9860# XVP clients are Java-based.
9861#
9862# This option sets the private address to which the XVP VNC console proxy
9863# service should bind to.
9864#
9865# Related options:
9866#
9867# * xvpvncproxy_port
9868# * xvpvncproxy_base_url
9869# (unknown value)
9870#xvpvncproxy_host = 0.0.0.0
9871
9872#
9873# Port that the XVP VNC console proxy should bind to.
9874#
9875# The VNC proxy is an OpenStack component that enables compute service
9876# users to access their instances through VNC clients. Xen provides
9877# the Xenserver VNC Proxy, or XVP, as an alternative to the
9878# websocket-based noVNC proxy used by Libvirt. In contrast to noVNC,
9879# XVP clients are Java-based.
9880#
9881# This option sets the private port to which the XVP VNC console proxy
9882# service should bind to.
9883#
9884# Related options:
9885#
9886# * xvpvncproxy_host
9887# * xvpvncproxy_base_url
9888# (port value)
9889# Minimum value: 0
9890# Maximum value: 65535
9891#xvpvncproxy_port = 6081
9892
9893#
9894# Public URL address of XVP VNC console proxy.
9895#
9896# The VNC proxy is an OpenStack component that enables compute service
9897# users to access their instances through VNC clients. Xen provides
9898# the Xenserver VNC Proxy, or XVP, as an alternative to the
9899# websocket-based noVNC proxy used by Libvirt. In contrast to noVNC,
9900# XVP clients are Java-based.
9901#
9902# This option sets the public base URL to which client systems will
9903# connect. XVP clients can use this address to connect to the XVP
9904# instance and, by extension, the VNC sessions.
9905#
9906# Related options:
9907#
9908# * xvpvncproxy_host
9909# * xvpvncproxy_port
9910# (uri value)
9911#xvpvncproxy_base_url = http://127.0.0.1:6081/console
9912
9913#
9914# IP address that the noVNC console proxy should bind to.
9915#
9916# The VNC proxy is an OpenStack component that enables compute service
9917# users to access their instances through VNC clients. noVNC provides
9918# VNC support through a websocket-based client.
9919#
9920# This option sets the private address to which the noVNC console proxy
9921# service should bind to.
9922#
9923# Related options:
9924#
9925# * novncproxy_port
9926# * novncproxy_base_url
9927# (string value)
9928#novncproxy_host = 0.0.0.0
9929
9930#
9931# Port that the noVNC console proxy should bind to.
9932#
9933# The VNC proxy is an OpenStack component that enables compute service
9934# users to access their instances through VNC clients. noVNC provides
9935# VNC support through a websocket-based client.
9936#
9937# This option sets the private port to which the noVNC console proxy
9938# service should bind to.
9939#
9940# Related options:
9941#
9942# * novncproxy_host
9943# * novncproxy_base_url
9944# (port value)
9945# Minimum value: 0
9946# Maximum value: 65535
9947#novncproxy_port = 6080
9948
9949
9950[workarounds]
9951#
9952# A collection of workarounds used to mitigate bugs or issues found in system
9953# tools (e.g. Libvirt or QEMU) or Nova itself under certain conditions. These
9954# should only be enabled in exceptional circumstances. All options are linked
9955# against bug IDs, where more information on the issue can be found.
9956
9957#
9958# From nova.conf
9959#
9960
9961#
9962# Use sudo instead of rootwrap.
9963#
9964# Allow fallback to sudo for performance reasons.
9965#
9966# For more information, refer to the bug report:
9967#
9968# https://bugs.launchpad.net/nova/+bug/1415106
9969#
9970# Possible values:
9971#
9972# * True: Use sudo instead of rootwrap
9973# * False: Use rootwrap as usual
9974#
9975# Interdependencies to other options:
9976#
9977# * Any options that affect 'rootwrap' will be ignored.
9978# (boolean value)
9979#disable_rootwrap = false
9980
9981#
9982# Disable live snapshots when using the libvirt driver.
9983#
9984# Live snapshots allow the snapshot of the disk to happen without an
9985# interruption to the guest, using coordination with a guest agent to
9986# quiesce the filesystem.
9987#
9988# When using libvirt 1.2.2 live snapshots fail intermittently under load
9989# (likely related to concurrent libvirt/qemu operations). This config
9990# option provides a mechanism to disable live snapshot, in favor of cold
9991# snapshot, while this is resolved. Cold snapshot causes an instance
9992# outage while the guest is going through the snapshotting process.
9993#
9994# For more information, refer to the bug report:
9995#
9996# https://bugs.launchpad.net/nova/+bug/1334398
9997#
9998# Possible values:
9999#
10000# * True: Live snapshot is disabled when using libvirt
10001# * False: Live snapshots are always used when snapshotting (as long as
10002# there is a new enough libvirt and the backend storage supports it)
10003# (boolean value)
10004#disable_libvirt_livesnapshot = true
10005
10006#
10007# Enable handling of events emitted from compute drivers.
10008#
10009# Many compute drivers emit lifecycle events, which are events that occur when,
10010# for example, an instance is starting or stopping. If the instance is going
10011# through task state changes due to an API operation, like resize, the events
10012# are ignored.
10013#
10014# This is an advanced feature which allows the hypervisor to signal to the
10015# compute service that an unexpected state change has occurred in an instance
10016# and that the instance can be shutdown automatically. Unfortunately, this can
10017# race in some conditions, for example in reboot operations or when the compute
10018# service or when host is rebooted (planned or due to an outage). If such races
10019# are common, then it is advisable to disable this feature.
10020#
10021# Care should be taken when this feature is disabled and
10022# 'sync_power_state_interval' is set to a negative value. In this case, any
10023# instances that get out of sync between the hypervisor and the Nova database
10024# will have to be synchronized manually.
10025#
10026# For more information, refer to the bug report:
10027#
10028# https://bugs.launchpad.net/bugs/1444630
10029#
10030# Interdependencies to other options:
10031#
10032# * If ``sync_power_state_interval`` is negative and this feature is disabled,
10033# then instances that get out of sync between the hypervisor and the Nova
10034# database will have to be synchronized manually.
10035# (boolean value)
10036#handle_virt_lifecycle_events = true
10037
10038#
10039# Disable the server group policy check upcall in compute.
10040#
10041# In order to detect races with server group affinity policy, the compute
10042# service attempts to validate that the policy was not violated by the
10043# scheduler. It does this by making an upcall to the API database to list
10044# the instances in the server group for one that it is booting, which violates
10045# our api/cell isolation goals. Eventually this will be solved by proper
10046# affinity
10047# guarantees in the scheduler and placement service, but until then, this late
10048# check is needed to ensure proper affinity policy.
10049#
10050# Operators that desire api/cell isolation over this check should
10051# enable this flag, which will avoid making that upcall from compute.
10052# (boolean value)
10053#disable_group_policy_check_upcall = false
10054
10055
10056[wsgi]
10057#
10058# Options under this group are used to configure WSGI (Web Server Gateway
10059# Interface). WSGI is used to serve API requests.
10060
10061#
10062# From nova.conf
10063#
10064
10065#
10066# This option represents a file name for the paste.deploy config for nova-api.
10067#
10068# Possible values:
10069#
10070# * A string representing file name for the paste.deploy config.
10071# (string value)
10072#api_paste_config = api-paste.ini
10073
10074# DEPRECATED:
10075# It represents a python format string that is used as the template to generate
10076# log lines. The following values can be formatted into it: client_ip,
10077# date_time, request_line, status_code, body_length, wall_seconds.
10078#
10079# This option is used for building custom request loglines when running
10080# nova-api under eventlet. If used under uwsgi or apache, this option
10081# has no effect.
10082#
10083# Possible values:
10084#
10085# * '%(client_ip)s "%(request_line)s" status: %(status_code)s'
10086# 'len: %(body_length)s time: %(wall_seconds).7f' (default)
10087# * Any formatted string formed by specific values.
10088# (string value)
10089# This option is deprecated for removal since 16.0.0.
10090# Its value may be silently ignored in the future.
10091# Reason:
10092# This option only works when running nova-api under eventlet, and
10093# encodes very eventlet specific pieces of information. Starting in Pike
10094# the preferred model for running nova-api is under uwsgi or apache
10095# mod_wsgi.
10096#wsgi_log_format = %(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f
10097
10098#
10099# This option specifies the HTTP header used to determine the protocol scheme
10100# for the original request, even if it was removed by a SSL terminating proxy.
10101#
10102# Possible values:
10103#
10104# * None (default) - the request scheme is not influenced by any HTTP headers
10105# * Valid HTTP header, like HTTP_X_FORWARDED_PROTO
10106#
10107# WARNING: Do not set this unless you know what you are doing.
10108#
10109# Make sure ALL of the following are true before setting this (assuming the
10110# values from the example above):
10111# * Your API is behind a proxy.
10112# * Your proxy strips the X-Forwarded-Proto header from all incoming requests.
10113# In other words, if end users include that header in their requests, the
10114# proxy
10115# will discard it.
10116# * Your proxy sets the X-Forwarded-Proto header and sends it to API, but only
10117# for requests that originally come in via HTTPS.
10118#
10119# If any of those are not true, you should keep this setting set to None.
10120#
10121# (string value)
10122#secure_proxy_ssl_header = <None>
10123
10124#
10125# This option allows setting path to the CA certificate file that should be used
10126# to verify connecting clients.
10127#
10128# Possible values:
10129#
10130# * String representing path to the CA certificate file.
10131#
10132# Related options:
10133#
10134# * enabled_ssl_apis
10135# (string value)
10136#ssl_ca_file = <None>
10137
10138#
10139# This option allows setting path to the SSL certificate of API server.
10140#
10141# Possible values:
10142#
10143# * String representing path to the SSL certificate.
10144#
10145# Related options:
10146#
10147# * enabled_ssl_apis
10148# (string value)
10149#ssl_cert_file = <None>
10150
10151#
10152# This option specifies the path to the file where SSL private key of API
10153# server is stored when SSL is in effect.
10154#
10155# Possible values:
10156#
10157# * String representing path to the SSL private key.
10158#
10159# Related options:
10160#
10161# * enabled_ssl_apis
10162# (string value)
10163#ssl_key_file = <None>
10164
10165#
10166# This option sets the value of TCP_KEEPIDLE in seconds for each server socket.
10167# It specifies the duration of time to keep connection active. TCP generates a
10168# KEEPALIVE transmission for an application that requests to keep connection
10169# active. Not supported on OS X.
10170#
10171# Related options:
10172#
10173# * keep_alive
10174# (integer value)
10175# Minimum value: 0
10176#tcp_keepidle = 600
10177
10178#
10179# This option specifies the size of the pool of greenthreads used by wsgi.
10180# It is possible to limit the number of concurrent connections using this
10181# option.
10182# (integer value)
10183# Minimum value: 0
10184# Deprecated group/name - [DEFAULT]/wsgi_default_pool_size
10185#default_pool_size = 1000
10186
10187#
10188# This option specifies the maximum line size of message headers to be accepted.
10189# max_header_line may need to be increased when using large tokens (typically
10190# those generated by the Keystone v3 API with big service catalogs).
10191#
10192# Since TCP is a stream based protocol, in order to reuse a connection, the HTTP
10193# has to have a way to indicate the end of the previous response and beginning
10194# of the next. Hence, in a keep_alive case, all messages must have a
10195# self-defined message length.
10196# (integer value)
10197# Minimum value: 0
10198#max_header_line = 16384
10199
10200#
10201# This option allows using the same TCP connection to send and receive multiple
10202# HTTP requests/responses, as opposed to opening a new one for every single
10203# request/response pair. HTTP keep-alive indicates HTTP connection reuse.
10204#
10205# Possible values:
10206#
10207# * True : reuse HTTP connection.
10208# * False : closes the client socket connection explicitly.
10209#
10210# Related options:
10211#
10212# * tcp_keepidle
10213# (boolean value)
10214# Deprecated group/name - [DEFAULT]/wsgi_keep_alive
10215#keep_alive = true
10216
10217#
10218# This option specifies the timeout for client connections' socket operations.
10219# If an incoming connection is idle for this number of seconds it will be
10220# closed. It indicates timeout on individual read/writes on the socket
10221# connection. To wait forever set to 0.
10222# (integer value)
10223# Minimum value: 0
10224#client_socket_timeout = 900
10225
10226
10227[xenserver]
10228#
10229# XenServer options are used when the compute_driver is set to use
10230# XenServer (compute_driver=xenapi.XenAPIDriver).
10231#
10232# Must specify connection_url, connection_password and ovs_integration_bridge to
10233# use compute_driver=xenapi.XenAPIDriver.
10234
10235#
10236# From nova.conf
10237#
10238
10239#
10240# Number of seconds to wait for agent's reply to a request.
10241#
10242# Nova configures/performs certain administrative actions on a server with the
10243# help of an agent that's installed on the server. The communication between
10244# Nova and the agent is achieved via sharing messages, called records, over
10245# xenstore, a shared storage across all the domains on a Xenserver host.
10246# Operations performed by the agent on behalf of nova are: 'version','
10247# key_init',
10248# 'password','resetnetwork','inject_file', and 'agentupdate'.
10249#
10250# To perform one of the above operations, the xapi 'agent' plugin writes the
10251# command and its associated parameters to a certain location known to the
10252# domain
10253# and awaits response. On being notified of the message, the agent performs
10254# appropriate actions on the server and writes the result back to xenstore. This
10255# result is then read by the xapi 'agent' plugin to determine the
10256# success/failure
10257# of the operation.
10258#
10259# This config option determines how long the xapi 'agent' plugin shall wait to
10260# read the response off of xenstore for a given request/command. If the agent on
10261# the instance fails to write the result in this time period, the operation is
10262# considered to have timed out.
10263#
10264# Related options:
10265#
10266# * ``agent_version_timeout``
10267# * ``agent_resetnetwork_timeout``
10268#
10269# (integer value)
10270# Minimum value: 0
10271#agent_timeout = 30
10272
10273#
10274# Number of seconds to wait for agent't reply to version request.
10275#
10276# This indicates the amount of time xapi 'agent' plugin waits for the agent to
10277# respond to the 'version' request specifically. The generic timeout for agent
10278# communication ``agent_timeout`` is ignored in this case.
10279#
10280# During the build process the 'version' request is used to determine if the
10281# agent is available/operational to perform other requests such as
10282# 'resetnetwork', 'password', 'key_init' and 'inject_file'. If the 'version'
10283# call
10284# fails, the other configuration is skipped. So, this configuration option can
10285# also be interpreted as time in which agent is expected to be fully
10286# operational.
10287# (integer value)
10288# Minimum value: 0
10289#agent_version_timeout = 300
10290
10291#
10292# Number of seconds to wait for agent's reply to resetnetwork
10293# request.
10294#
10295# This indicates the amount of time xapi 'agent' plugin waits for the agent to
10296# respond to the 'resetnetwork' request specifically. The generic timeout for
10297# agent communication ``agent_timeout`` is ignored in this case.
10298# (integer value)
10299# Minimum value: 0
10300#agent_resetnetwork_timeout = 60
10301
10302#
10303# Path to locate guest agent on the server.
10304#
10305# Specifies the path in which the XenAPI guest agent should be located. If the
10306# agent is present, network configuration is not injected into the image.
10307#
10308# Related options:
10309#
10310# For this option to have an effect:
10311# * ``flat_injected`` should be set to ``True``
10312# * ``compute_driver`` should be set to ``xenapi.XenAPIDriver``
10313#
10314# (string value)
10315#agent_path = usr/sbin/xe-update-networking
10316
10317#
10318# Disables the use of XenAPI agent.
10319#
10320# This configuration option suggests whether the use of agent should be enabled
10321# or not regardless of what image properties are present. Image properties have
10322# an effect only when this is set to ``True``. Read description of config option
10323# ``use_agent_default`` for more information.
10324#
10325# Related options:
10326#
10327# * ``use_agent_default``
10328#
10329# (boolean value)
10330#disable_agent = false
10331
10332#
10333# Whether or not to use the agent by default when its usage is enabled but not
10334# indicated by the image.
10335#
10336# The use of XenAPI agent can be disabled altogether using the configuration
10337# option ``disable_agent``. However, if it is not disabled, the use of an agent
10338# can still be controlled by the image in use through one of its properties,
10339# ``xenapi_use_agent``. If this property is either not present or specified
10340# incorrectly on the image, the use of agent is determined by this configuration
10341# option.
10342#
10343# Note that if this configuration is set to ``True`` when the agent is not
10344# present, the boot times will increase significantly.
10345#
10346# Related options:
10347#
10348# * ``disable_agent``
10349#
10350# (boolean value)
10351#use_agent_default = false
10352
10353# Timeout in seconds for XenAPI login. (integer value)
10354# Minimum value: 0
10355#login_timeout = 10
10356
10357#
10358# Maximum number of concurrent XenAPI connections.
10359#
10360# In nova, multiple XenAPI requests can happen at a time.
10361# Configuring this option will parallelize access to the XenAPI
10362# session, which allows you to make concurrent XenAPI connections.
10363# (integer value)
10364# Minimum value: 1
10365#connection_concurrent = 5
10366
10367#
10368# Cache glance images locally.
10369#
10370# The value for this option must be chosen from the choices listed
10371# here. Configuring a value other than these will default to 'all'.
10372#
10373# Note: There is nothing that deletes these images.
10374#
10375# Possible values:
10376#
10377# * `all`: will cache all images.
10378# * `some`: will only cache images that have the
10379# image_property `cache_in_nova=True`.
10380# * `none`: turns off caching entirely.
10381# (string value)
10382# Allowed values: all, some, none
10383#cache_images = all
10384
10385#
10386# Compression level for images.
10387#
10388# By setting this option we can configure the gzip compression level.
10389# This option sets GZIP environment variable before spawning tar -cz
10390# to force the compression level. It defaults to none, which means the
10391# GZIP environment variable is not set and the default (usually -6)
10392# is used.
10393#
10394# Possible values:
10395#
10396# * Range is 1-9, e.g., 9 for gzip -9, 9 being most
10397# compressed but most CPU intensive on dom0.
10398# * Any values out of this range will default to None.
10399# (integer value)
10400# Minimum value: 1
10401# Maximum value: 9
10402#image_compression_level = <None>
10403
10404# Default OS type used when uploading an image to glance (string value)
10405#default_os_type = linux
10406
10407# Time in secs to wait for a block device to be created (integer value)
10408# Minimum value: 1
10409#block_device_creation_timeout = 10
10410
10411#
10412# Maximum size in bytes of kernel or ramdisk images.
10413#
10414# Specifying the maximum size of kernel or ramdisk will avoid copying
10415# large files to dom0 and fill up /boot/guest.
10416# (integer value)
10417#max_kernel_ramdisk_size = 16777216
10418
10419#
10420# Filter for finding the SR to be used to install guest instances on.
10421#
10422# Possible values:
10423#
10424# * To use the Local Storage in default XenServer/XCP installations
10425# set this flag to other-config:i18n-key=local-storage.
10426# * To select an SR with a different matching criteria, you could
10427# set it to other-config:my_favorite_sr=true.
10428# * To fall back on the Default SR, as displayed by XenCenter,
10429# set this flag to: default-sr:true.
10430# (string value)
10431#sr_matching_filter = default-sr:true
10432
10433#
10434# Whether to use sparse_copy for copying data on a resize down.
10435# (False will use standard dd). This speeds up resizes down
10436# considerably since large runs of zeros won't have to be rsynced.
10437# (boolean value)
10438#sparse_copy = true
10439
10440#
10441# Maximum number of retries to unplug VBD.
10442# If set to 0, should try once, no retries.
10443# (integer value)
10444# Minimum value: 0
10445#num_vbd_unplug_retries = 10
10446
10447#
10448# Name of network to use for booting iPXE ISOs.
10449#
10450# An iPXE ISO is a specially crafted ISO which supports iPXE booting.
10451# This feature gives a means to roll your own image.
10452#
10453# By default this option is not set. Enable this option to
10454# boot an iPXE ISO.
10455#
10456# Related Options:
10457#
10458# * `ipxe_boot_menu_url`
10459# * `ipxe_mkisofs_cmd`
10460# (string value)
10461#ipxe_network_name = <None>
10462
10463#
10464# URL to the iPXE boot menu.
10465#
10466# An iPXE ISO is a specially crafted ISO which supports iPXE booting.
10467# This feature gives a means to roll your own image.
10468#
10469# By default this option is not set. Enable this option to
10470# boot an iPXE ISO.
10471#
10472# Related Options:
10473#
10474# * `ipxe_network_name`
10475# * `ipxe_mkisofs_cmd`
10476# (string value)
10477#ipxe_boot_menu_url = <None>
10478
10479#
10480# Name and optionally path of the tool used for ISO image creation.
10481#
10482# An iPXE ISO is a specially crafted ISO which supports iPXE booting.
10483# This feature gives a means to roll your own image.
10484#
10485# Note: By default `mkisofs` is not present in the Dom0, so the
10486# package can either be manually added to Dom0 or include the
10487# `mkisofs` binary in the image itself.
10488#
10489# Related Options:
10490#
10491# * `ipxe_network_name`
10492# * `ipxe_boot_menu_url`
10493# (string value)
10494#ipxe_mkisofs_cmd = mkisofs
10495
10496#
10497# URL for connection to XenServer/Xen Cloud Platform. A special value
10498# of unix://local can be used to connect to the local unix socket.
10499#
10500# Possible values:
10501#
10502# * Any string that represents a URL. The connection_url is
10503# generally the management network IP address of the XenServer.
10504# * This option must be set if you chose the XenServer driver.
10505# (string value)
10506#connection_url = <None>
10507
10508# Username for connection to XenServer/Xen Cloud Platform (string value)
10509#connection_username = root
10510
10511# Password for connection to XenServer/Xen Cloud Platform (string value)
10512#connection_password = <None>
10513
10514#
10515# The interval used for polling of coalescing vhds.
10516#
10517# This is the interval after which the task of coalesce VHD is
10518# performed, until it reaches the max attempts that is set by
10519# vhd_coalesce_max_attempts.
10520#
10521# Related options:
10522#
10523# * `vhd_coalesce_max_attempts`
10524# (floating point value)
10525# Minimum value: 0
10526#vhd_coalesce_poll_interval = 5.0
10527
10528#
10529# Ensure compute service is running on host XenAPI connects to.
10530# This option must be set to false if the 'independent_compute'
10531# option is set to true.
10532#
10533# Possible values:
10534#
10535# * Setting this option to true will make sure that compute service
10536# is running on the same host that is specified by connection_url.
10537# * Setting this option to false, doesn't perform the check.
10538#
10539# Related options:
10540#
10541# * `independent_compute`
10542# (boolean value)
10543#check_host = true
10544
10545#
10546# Max number of times to poll for VHD to coalesce.
10547#
10548# This option determines the maximum number of attempts that can be
10549# made for coalescing the VHD before giving up.
10550#
10551# Related opitons:
10552#
10553# * `vhd_coalesce_poll_interval`
10554# (integer value)
10555# Minimum value: 0
10556#vhd_coalesce_max_attempts = 20
10557
10558# Base path to the storage repository on the XenServer host. (string value)
10559#sr_base_path = /var/run/sr-mount
10560
10561#
10562# The iSCSI Target Host.
10563#
10564# This option represents the hostname or ip of the iSCSI Target.
10565# If the target host is not present in the connection information from
10566# the volume provider then the value from this option is taken.
10567#
10568# Possible values:
10569#
10570# * Any string that represents hostname/ip of Target.
10571# (unknown value)
10572#target_host = <None>
10573
10574#
10575# The iSCSI Target Port.
10576#
10577# This option represents the port of the iSCSI Target. If the
10578# target port is not present in the connection information from the
10579# volume provider then the value from this option is taken.
10580# (port value)
10581# Minimum value: 0
10582# Maximum value: 65535
10583#target_port = 3260
10584
10585# DEPRECATED:
10586# Used to enable the remapping of VBD dev.
10587# (Works around an issue in Ubuntu Maverick)
10588# (boolean value)
10589# This option is deprecated for removal since 15.0.0.
10590# Its value may be silently ignored in the future.
10591# Reason:
10592# This option provided a workaround for issues in Ubuntu Maverick, which
10593# was released in April 2010 and was dropped from support in April 2012.
10594# There's no reason to continue supporting this option.
10595#remap_vbd_dev = false
10596
10597#
10598# Specify prefix to remap VBD dev to (ex. /dev/xvdb -> /dev/sdb).
10599#
10600# Related options:
10601#
10602# * If `remap_vbd_dev` is set to False this option has no impact.
10603# (string value)
10604#remap_vbd_dev_prefix = sd
10605
10606#
10607# Used to prevent attempts to attach VBDs locally, so Nova can
10608# be run in a VM on a different host.
10609#
10610# Related options:
10611#
10612# * ``CONF.flat_injected`` (Must be False)
10613# * ``CONF.xenserver.check_host`` (Must be False)
10614# * ``CONF.default_ephemeral_format`` (Must be unset or 'ext3')
10615# * Joining host aggregates (will error if attempted)
10616# * Swap disks for Windows VMs (will error if attempted)
10617# * Nova-based auto_configure_disk (will error if attempted)
10618# (boolean value)
10619#independent_compute = false
10620
10621#
10622# Wait time for instances to go to running state.
10623#
10624# Provide an integer value representing time in seconds to set the
10625# wait time for an instance to go to running state.
10626#
10627# When a request to create an instance is received by nova-api and
10628# communicated to nova-compute, the creation of the instance occurs
10629# through interaction with Xen via XenAPI in the compute node. Once
10630# the node on which the instance(s) are to be launched is decided by
10631# nova-schedule and the launch is triggered, a certain amount of wait
10632# time is involved until the instance(s) can become available and
10633# 'running'. This wait time is defined by running_timeout. If the
10634# instances do not go to running state within this specified wait
10635# time, the launch expires and the instance(s) are set to 'error'
10636# state.
10637# (integer value)
10638# Minimum value: 0
10639#running_timeout = 60
10640
10641# DEPRECATED:
10642# The XenAPI VIF driver using XenServer Network APIs.
10643#
10644# Provide a string value representing the VIF XenAPI vif driver to use for
10645# plugging virtual network interfaces.
10646#
10647# Xen configuration uses bridging within the backend domain to allow
10648# all VMs to appear on the network as individual hosts. Bridge
10649# interfaces are used to create a XenServer VLAN network in which
10650# the VIFs for the VM instances are plugged. If no VIF bridge driver
10651# is plugged, the bridge is not made available. This configuration
10652# option takes in a value for the VIF driver.
10653#
10654# Possible values:
10655#
10656# * nova.virt.xenapi.vif.XenAPIOpenVswitchDriver (default)
10657# * nova.virt.xenapi.vif.XenAPIBridgeDriver (deprecated)
10658#
10659# Related options:
10660#
10661# * ``vlan_interface``
10662# * ``ovs_integration_bridge``
10663# (string value)
10664# This option is deprecated for removal since 15.0.0.
10665# Its value may be silently ignored in the future.
10666# Reason:
10667# There are only two in-tree vif drivers for XenServer. XenAPIBridgeDriver is
10668# for
10669# nova-network which is deprecated and XenAPIOpenVswitchDriver is for Neutron
10670# which is the default configuration for Nova since the 15.0.0 Ocata release. In
10671# the future the "use_neutron" configuration option will be used to determine
10672# which vif driver to use.
10673#vif_driver = nova.virt.xenapi.vif.XenAPIOpenVswitchDriver
10674
10675#
10676# Dom0 plugin driver used to handle image uploads.
10677#
10678# Provide a string value representing a plugin driver required to
10679# handle the image uploading to GlanceStore.
10680#
10681# Images, and snapshots from XenServer need to be uploaded to the data
10682# store for use. image_upload_handler takes in a value for the Dom0
10683# plugin driver. This driver is then called to uplaod images to the
10684# GlanceStore.
10685# (string value)
10686#image_upload_handler = nova.virt.xenapi.image.glance.GlanceStore
10687
10688#
10689# Number of seconds to wait for SR to settle if the VDI
10690# does not exist when first introduced.
10691#
10692# Some SRs, particularly iSCSI connections are slow to see the VDIs
10693# right after they got introduced. Setting this option to a
10694# time interval will make the SR to wait for that time period
10695# before raising VDI not found exception.
10696# (integer value)
10697# Minimum value: 0
10698#introduce_vdi_retry_wait = 20
10699
10700#
10701# The name of the integration Bridge that is used with xenapi
10702# when connecting with Open vSwitch.
10703#
10704# Note: The value of this config option is dependent on the
10705# environment, therefore this configuration value must be set
10706# accordingly if you are using XenAPI.
10707#
10708# Possible values:
10709#
10710# * Any string that represents a bridge name.
10711# (string value)
10712#ovs_integration_bridge = <None>
10713
10714#
10715# When adding new host to a pool, this will append a --force flag to the
10716# command, forcing hosts to join a pool, even if they have different CPUs.
10717#
10718# Since XenServer version 5.6 it is possible to create a pool of hosts that have
10719# different CPU capabilities. To accommodate CPU differences, XenServer limited
10720# features it uses to determine CPU compatibility to only the ones that are
10721# exposed by CPU and support for CPU masking was added.
10722# Despite this effort to level differences between CPUs, it is still possible
10723# that adding new host will fail, thus option to force join was introduced.
10724# (boolean value)
10725#use_join_force = true
10726
10727#
10728# Publicly visible name for this console host.
10729#
10730# Possible values:
10731#
10732# * Current hostname (default) or any string representing hostname.
10733# (string value)
10734#console_public_hostname = <current_hostname>
10735
10736
10737[xvp]
10738#
10739# Configuration options for XVP.
10740#
10741# xvp (Xen VNC Proxy) is a proxy server providing password-protected VNC-based
10742# access to the consoles of virtual machines hosted on Citrix XenServer.
10743
10744#
10745# From nova.conf
10746#
10747
10748# XVP conf template (string value)
10749#console_xvp_conf_template = $pybasedir/nova/console/xvp.conf.template
10750
10751# Generated XVP conf file (string value)
10752#console_xvp_conf = /etc/xvp.conf
10753
10754# XVP master process pid file (string value)
10755#console_xvp_pid = /var/run/xvp.pid
10756
10757# XVP log file (string value)
10758#console_xvp_log = /var/log/xvp.log
98 10759
10760# Port for XVP to multiplex VNC connections on (port value)
10761# Minimum value: 0
10762# Maximum value: 65535
10763#console_xvp_multiplex_port = 5900
diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova.init b/meta-openstack/recipes-devtools/python/python-nova/nova.init
deleted file mode 100644
index 607b6de..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova/nova.init
+++ /dev/null
@@ -1,136 +0,0 @@
1#!/bin/sh
2
3### BEGIN INIT INFO
4# Provides: nova-compute
5# Required-Start: $remote_fs $syslog
6# Required-Stop: $remote_fs $syslog
7# Default-Start: 3 5
8# Default-Stop: 0 1 2 6
9# Short-Description: OpenStack Compute (Nova) - @suffix@
10# Description: OpenStack Compute (Nova) - @suffix@
11### END INIT INFO
12
13SUFFIX="@suffix@"
14DESC="nova-@suffix@"
15DAEMON="/usr/bin/nova-$SUFFIX"
16PIDFILE="/var/run/nova/nova-$SUFFIX.pid"
17
18if [ ! -d /var/run/nova ]; then
19 mkdir -p /var/run/nova
20 chown nova:root /var/run/nova/
21fi
22
23if [ ! -d /var/lock/nova ]; then
24 mkdir -p /var/lock/nova
25 chown nova:root /var/lock/nova/
26fi
27
28if ! [ -x ${DAEMON} ] ; then
29 exit 0
30fi
31
32start ()
33{
34 if [ -e $PIDFILE ]; then
35 PIDDIR=/proc/$(cat $PIDFILE)
36 if [ -d ${PIDDIR} ]; then
37 echo "$DESC already running."
38 exit 1
39 else
40 echo "Removing stale PID file $PIDFILE"
41 rm -f $PIDFILE
42 fi
43 fi
44 PIDDIR=`dirname $PIDFILE`
45 if [ ! -d $PIDDIR ]; then
46 mkdir -p $PIDDIR
47 chown nova $PIDDIR
48 fi
49 if [ ! -d /var/log/nova ]; then
50 mkdir /var/log/nova
51 fi
52 echo -n "Starting $DESC..."
53
54 start-stop-daemon --start --quiet --background \
55 --pidfile ${PIDFILE} --make-pidfile --exec ${DAEMON} \
56 -- --log-dir=/var/log/nova
57
58 if [ $? -eq 0 ]; then
59 echo "done."
60 else
61 echo "failed."
62 fi
63}
64
65stop ()
66{
67 echo -n "Stopping $DESC..."
68 start-stop-daemon --stop --quiet --pidfile $PIDFILE
69 if [ $? -eq 0 ]; then
70 echo "done."
71 else
72 echo "failed."
73 fi
74 rm -f $PIDFILE
75}
76
77status()
78{
79 pid=`cat $PIDFILE 2>/dev/null`
80 if [ -n "$pid" ]; then
81 if ps -p $pid > /dev/null 2>&1 ; then
82 echo "$DESC is running"
83 return
84 fi
85 fi
86 echo "$DESC is not running"
87}
88
89reset()
90{
91 . /etc/nova/openrc
92
93 # Nova comute
94 simple_delete "nova list --all-tenant" "nova delete" 1 "vm"
95
96 stop
97
98 # This is to make sure postgres is configured and running
99 if ! pidof postmaster > /dev/null; then
100 /etc/init.d/postgresql-init
101 /etc/init.d/postgresql start
102 sleep 5
103 fi
104
105 sudo -u postgres dropdb nova
106 sudo -u postgres createdb nova
107 sleep 2
108 nova-manage db sync
109
110 start
111}
112
113case "$1" in
114 start)
115 start
116 ;;
117 stop)
118 stop
119 ;;
120 restart|force-reload|reload)
121 stop
122 start
123 ;;
124 status)
125 status
126 ;;
127 reset)
128 reset
129 ;;
130 *)
131 echo "Usage: $0 {start|stop|force-reload|restart|reload|status|reset}"
132 exit 1
133 ;;
134esac
135
136exit 0
diff --git a/meta-openstack/recipes-devtools/python/python-nova/websocketproxy-allow-empty-schemes-at-python-2.7.3.patch b/meta-openstack/recipes-devtools/python/python-nova/websocketproxy-allow-empty-schemes-at-python-2.7.3.patch
deleted file mode 100644
index e7ff9cb..0000000
--- a/meta-openstack/recipes-devtools/python/python-nova/websocketproxy-allow-empty-schemes-at-python-2.7.3.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 0d727a196e2fe1e13956e2417b7a325be858b2db Mon Sep 17 00:00:00 2001
2From: Bruce Ashfield <bruce.ashfield@windriver.com>
3Date: Wed, 5 Nov 2014 11:21:48 -0500
4Subject: [PATCH] websocketproxy: allow empty schemes at python 2.7.3
5
6The upstream project is concerned with a bug in empty schemes with
72.7.3. But since Yocto is 2.7.3 and we get an empty scheme via websockify,
8no VNC consoles are possible.
9
10Rather than upreving python (big change), we aren't being hit by the
11referenced bug, so we simply make sure that the condition can never
12be true.
13
14Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
15---
16 nova/console/websocketproxy.py | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/nova/console/websocketproxy.py b/nova/console/websocketproxy.py
20index 4d32ff4328bb..85e3ab43293f 100644
21--- a/nova/console/websocketproxy.py
22+++ b/nova/console/websocketproxy.py
23@@ -45,7 +45,7 @@ class NovaProxyRequestHandlerBase(object):
24 # The nova expected behavior is to have token
25 # passed to the method GET of the request
26 parse = urlparse.urlparse(self.path)
27- if parse.scheme not in ('http', 'https'):
28+ if parse.scheme not in ('http', 'https') and False:
29 # From a bug in urlparse in Python < 2.7.4 we cannot support
30 # special schemes (cf: http://bugs.python.org/issue9374)
31 if sys.version_info < (2, 7, 4):
32--
331.9.1
34
diff --git a/meta-openstack/recipes-devtools/python/python-nova_git.bb b/meta-openstack/recipes-devtools/python/python-nova_git.bb
index 115d198..741fc0a 100644
--- a/meta-openstack/recipes-devtools/python/python-nova_git.bb
+++ b/meta-openstack/recipes-devtools/python/python-nova_git.bb
@@ -4,36 +4,54 @@ SECTION = "devel/python"
4LICENSE = "Apache-2.0" 4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" 5LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
6 6
7DEPENDS = "sudo libvirt" 7DEPENDS = " \
8 sudo \
9 libvirt \
10"
8 11
9SRCNAME = "nova" 12SRCNAME = "nova"
10 13
11FILESEXTRAPATHS_append := "${THISDIR}/${PN}" 14FILESEXTRAPATHS_append := "${THISDIR}/${PN}"
12 15
13SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=master \ 16SRC_URI = "git://github.com/openstack/${SRCNAME}.git;branch=stable/pike \
14 file://neutron-api-set-default-binding-vnic_type.patch \ 17 file://neutron-api-set-default-binding-vnic_type.patch \
15 " 18 "
16# restore post stable/juno: 19
17# file://websocketproxy-allow-empty-schemes-at-python-2.7.3.patch 20SRC_URI += " \
18# file://nova-convert-path-from-relative-to-absolute.patch 21 file://nova-compute.service \
19# file://nova-fix-location-to-doc-directory.patch 22 file://nova-init.service \
20# file://nova-fix-location-to-plugin-directory.patch 23 file://nova-init \
21
22SRC_URI += "file://nova-all \
23 file://nova.init \
24 file://nova-consoleauth \
25 file://nova.conf \ 24 file://nova.conf \
26 file://openrc \ 25 file://openrc \
26 file://nova-console.service \
27 file://nova-consoleauth.service \
28 file://nova-xvpvncproxy.service \
29 file://nova-novncproxy.service \
30 file://nova-conductor.service \
31 file://nova-network.service \
32 file://nova-api.service \
33 file://nova-scheduler.service \
34 file://nova-spicehtml5proxy.service \
27 " 35 "
28SRCREV = "6df6ad3ff32f2b1fe2978df1032002548ad8eb66" 36SRCREV = "b535f0808526c8eba37f15e83cede536e4e06029"
29PV = "12.0.0+git${SRCPV}" 37PV = "16.0.4+git${SRCPV}"
30 38
31S = "${WORKDIR}/git" 39S = "${WORKDIR}/git"
32 40
33inherit update-rc.d setuptools identity hosts useradd default_configs monitor 41inherit systemd setuptools identity hosts useradd default_configs monitor
34 42
35LIBVIRT_IMAGES_TYPE ?= "default" 43LIBVIRT_IMAGES_TYPE ?= "default"
36 44
45USER = "nova"
46GROUP = "nova"
47
48USERADD_PACKAGES = "${PN}"
49GROUPADD_PARAM_${PN} = "--system ${GROUP}"
50USERADD_PARAM_${PN} = "--system -m -d ${localstatedir}/lib/nova -s /bin/false -g ${GROUP} ${USER}"
51
52# Need to create the user?
53PLACEMENT_USER = "placement"
54
37SERVICECREATE_PACKAGES = "${SRCNAME}-setup ${SRCNAME}-ec2" 55SERVICECREATE_PACKAGES = "${SRCNAME}-setup ${SRCNAME}-ec2"
38KEYSTONE_HOST="${CONTROLLER_IP}" 56KEYSTONE_HOST="${CONTROLLER_IP}"
39 57
@@ -73,7 +91,32 @@ do_install_append() {
73 NOVA_CONF_DIR=${D}/${sysconfdir}/nova 91 NOVA_CONF_DIR=${D}/${sysconfdir}/nova
74 92
75 install -d ${NOVA_CONF_DIR} 93 install -d ${NOVA_CONF_DIR}
76 install -o nova -m 664 ${S}/etc/nova/policy.json ${NOVA_CONF_DIR}/ 94
95 # install systemd service files
96 install -d ${D}${systemd_system_unitdir}/
97 for j in nova-api nova-compute nova-init nova-network nova-console nova-consoleauth \
98 nova-xvpvncproxy nova-novncproxy nova-conductor nova-scheduler \
99 nova-spicehtml5proxy
100 do
101 SERVICE_FILE=${D}${systemd_system_unitdir}/$j.service
102 install -m 644 ${WORKDIR}/$j.service ${SERVICE_FILE}
103 sed -e "s#%LOCALSTATEDIR%#${localstatedir}#g" -i ${SERVICE_FILE}
104 sed -e "s#%SYSCONFDIR%#${sysconfdir}#g" -i ${SERVICE_FILE}
105 done
106
107 # Setup the neutron initialization script
108 INIT_FILE=${NOVA_CONF_DIR}/nova-init
109 install -g ${USER} -m 750 ${WORKDIR}/nova-init ${INIT_FILE}
110 sed -e "s:%DB_USER%:${DB_USER}:g" -i ${INIT_FILE}
111 sed -e "s:%NOVA_USER%:${USER}:g" -i ${INIT_FILE}
112 sed -e "s:%NOVA_GROUP%:${GROUP}:g" -i ${INIT_FILE}
113 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${INIT_FILE}
114 sed -e "s:%ADMIN_USER%:${ADMIN_USER}:g" -i ${INIT_FILE}
115 sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${INIT_FILE}
116 sed -e "s:%ADMIN_ROLE%:${ADMIN_ROLE}:g" -i ${INIT_FILE}
117 sed -e "s:%SYSCONFDIR%:${sysconfdir}:g" -i ${INIT_FILE}
118 sed -e "s:%ROOT_HOME%:${ROOT_HOME}:g" -i ${INIT_FILE}
119 sed -e "s:%PLACEMENT_USER%:${PLACEMENT_USER}:g" -i ${INIT_FILE}
77 120
78 # Deploy filters to /etc/nova/rootwrap.d 121 # Deploy filters to /etc/nova/rootwrap.d
79 install -m 755 -d ${NOVA_CONF_DIR}/rootwrap.d 122 install -m 755 -d ${NOVA_CONF_DIR}/rootwrap.d
@@ -104,54 +147,58 @@ do_install_append() {
104 install -o nova -m 664 ${TEMPLATE_CONF_DIR}/api-paste.ini ${NOVA_CONF_DIR} 147 install -o nova -m 664 ${TEMPLATE_CONF_DIR}/api-paste.ini ${NOVA_CONF_DIR}
105 install -o nova -m 664 ${WORKDIR}/openrc ${NOVA_CONF_DIR} 148 install -o nova -m 664 ${WORKDIR}/openrc ${NOVA_CONF_DIR}
106 149
107 # Configuration options 150 # openrc substitutions
108 sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" \
109 -i ${NOVA_CONF_DIR}/api-paste.ini
110 sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${NOVA_CONF_DIR}/api-paste.ini
111 sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" \
112 -i ${NOVA_CONF_DIR}/api-paste.ini
113 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/api-paste.ini
114
115 sed -e "s:%DB_USER%:${DB_USER}:g" -i ${NOVA_CONF_DIR}/nova.conf
116 sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${NOVA_CONF_DIR}/nova.conf
117
118 sed -e "s:%METADATA_SHARED_SECRET%:${METADATA_SHARED_SECRET}:g" -i ${NOVA_CONF_DIR}/nova.conf
119
120 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/nova.conf
121 sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NOVA_CONF_DIR}/nova.conf
122
123 sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${NOVA_CONF_DIR}/nova.conf
124 sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${NOVA_CONF_DIR}/nova.conf
125
126 sed -e "s:%SERVICE_TENANT_NAME%:${SERVICE_TENANT_NAME}:g" -i ${NOVA_CONF_DIR}/nova.conf
127 sed -e "s:%SERVICE_USER%:${SRCNAME}:g" -i ${NOVA_CONF_DIR}/nova.conf
128 sed -e "s:%SERVICE_PASSWORD%:${SERVICE_PASSWORD}:g" -i ${NOVA_CONF_DIR}/nova.conf
129
130 sed -e "s:%LIBVIRT_IMAGES_TYPE%:${LIBVIRT_IMAGES_TYPE}:g" -i ${NOVA_CONF_DIR}/nova.conf
131
132 sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${NOVA_CONF_DIR}/openrc 151 sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${NOVA_CONF_DIR}/openrc
133 sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${NOVA_CONF_DIR}/openrc 152 sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${NOVA_CONF_DIR}/openrc
134
135 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/openrc 153 sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${NOVA_CONF_DIR}/openrc
136 sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NOVA_CONF_DIR}/openrc 154 sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${NOVA_CONF_DIR}/openrc
137 155
138 install -o nova -d ${NOVA_CONF_DIR}/instances 156 install -o nova -d ${NOVA_CONF_DIR}/instances
139 157
140 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then 158 #
141 install -d ${D}${sysconfdir}/init.d 159 # Per https://docs.openstack.org/nova/pike/install/controller-install-ubuntu.html
142 160 #
143 # nova-all is installed (and packaged), but not used as an initscript by default 161 CONF_FILE="${NOVA_CONF_DIR}/nova.conf"
144 install -m 0755 ${WORKDIR}/nova-all ${D}${sysconfdir}/init.d/nova-all 162 sed -e "/^\[api_database\]/aconnection = postgresql+psycopg2://${DB_USER}:${DB_PASSWORD}@${CONTROLLER_IP}/nova-api" \
145 install -m 0755 ${WORKDIR}/nova-consoleauth ${D}${sysconfdir}/init.d/nova-consoleauth 163 -i ${CONF_FILE}
146 164 sed -e "/^\[database\]/aconnection = postgresql+psycopg2://${DB_USER}:${DB_PASSWORD}@${CONTROLLER_IP}/nova" \
147 for binary in api compute network scheduler cert conductor novncproxy spicehtml5proxy; do 165 -i ${CONF_FILE}
148 sed "s:@suffix@:$binary:" < ${WORKDIR}/nova.init >${WORKDIR}/nova-$binary.init.sh 166 sed -e "/#transport_url =/atransport_url = rabbit://openstack:${ADMIN_PASSWORD}@${CONTROLLER_IP}" -i ${CONF_FILE}
149 install -m 0755 ${WORKDIR}/nova-$binary.init.sh ${D}${sysconfdir}/init.d/nova-$binary 167 sed -e "/#auth_strategy =/aauth_strategy = keystone" -i ${CONF_FILE}
150 done 168
151 fi 169 str="auth_uri = http://${CONTROLLER_IP}:5000"
152 170 str="$str\nauth_url = http://${CONTROLLER_IP}:35357"
153 cp run_tests.sh ${NOVA_CONF_DIR} 171 str="$str\nmemcached_servers = ${CONTROLLER_IP}:11211"
154 172 str="$str\nauth_type = password"
173 str="$str\nproject_domain_name = Default"
174 str="$str\nuser_domain_name = Default"
175 str="$str\nproject_name = service"
176 str="$str\nusername = ${USER}"
177 str="$str\npassword = ${ADMIN_PASSWORD}"
178 sed -e "/^\[keystone_authtoken\].*/a$str" -i ${CONF_FILE}
179
180 sed -e "/#my_ip =/amy_ip = ${MY_IP}" -i ${CONF_FILE}
181 sed -e "/#use_neutron =/ause_neutron = true" -i ${CONF_FILE}
182 sed -e "/#firewall_driver =/afirewall_driver = nova.virt.firewall.NoopFirewallDriver" -i ${CONF_FILE}
183
184 sed -e "/^\[vnc\].*/aenabled = true" -i ${CONF_FILE}
185 sed -e "/#vncserver_listen =/avncserver_listen = ${MY_IP}" -i ${CONF_FILE}
186 sed -e "/#vncserver_proxyclient_address =/avncserver_proxyclient_address = ${MY_IP}" -i ${CONF_FILE}
187
188 sed -e "/#api_servers =/aapi_servers = ${CONTROLLER_IP}:9292" -i ${CONF_FILE}
189 sed -e "/#lock_path =/alock_path = /var/lib/nova/tmp" -i ${CONF_FILE}
190
191 str="os_region_name = RegionOne"
192 str="$str\nproject_domain_name = Default"
193 str="$str\nproject_name = service"
194 str="$str\nauth_type = password"
195 str="$str\nuser_domain_name = Default"
196 str="$str\nauth_url = http://${CONTROLLER_IP}:35357"
197 str="$str\nusername = ${PLACEMENT_USER}"
198 str="$str\npassword = ${ADMIN_PASSWORD}"
199 sed -e "/^\[placement\].*/a$str" -i ${CONF_FILE}
200
201 # Install bash completions, docs and plugins
155 install -d ${D}/${sysconfdir}/bash_completion.d 202 install -d ${D}/${sysconfdir}/bash_completion.d
156 install -m 664 ${S}/tools/nova-manage.bash_completion ${D}/${sysconfdir}/bash_completion.d 203 install -m 664 ${S}/tools/nova-manage.bash_completion ${D}/${sysconfdir}/bash_completion.d
157 204
@@ -159,46 +206,16 @@ do_install_append() {
159 cp -r "${S}/plugins" "${D}/${PYTHON_SITEPACKAGES_DIR}/nova" 206 cp -r "${S}/plugins" "${D}/${PYTHON_SITEPACKAGES_DIR}/nova"
160} 207}
161 208
162pkg_postinst_${SRCNAME}-setup () {
163 if [ -z "$D" ]; then
164 # This is to make sure postgres is configured and running
165 if ! pidof postmaster > /dev/null; then
166 /etc/init.d/postgresql-init
167 /etc/init.d/postgresql start
168 sleep 5
169 fi
170
171 sudo -u postgres createdb nova
172 sleep 2
173 nova-manage db sync
174 fi
175}
176
177pkg_postinst_${SRCNAME}-common () {
178 if [ -z "$D" ]; then
179 if [ -d /home/root ]; then
180 echo "source /etc/nova/openrc" >> /home/root/.bashrc
181 echo "source /etc/nova/openrc" >> /home/root/.profile
182 else
183 echo "source /etc/nova/openrc" >> /root/.bashrc
184 echo "source /etc/nova/openrc" >> /root/.profile
185 fi
186 fi
187}
188
189USERADD_PACKAGES = "${PN}"
190GROUPADD_PARAM_${PN} = "--system nova"
191USERADD_PARAM_${PN} = "--system --home /var/lib/nova -g nova -G libvirt \
192 --no-create-home --shell /bin/false nova"
193
194PACKAGES += " ${SRCNAME}-tests" 209PACKAGES += " ${SRCNAME}-tests"
195PACKAGES += " ${SRCNAME}-setup ${SRCNAME}-common ${SRCNAME}-compute ${SRCNAME}-controller" 210PACKAGES += " ${SRCNAME}-setup"
196PACKAGES += " ${SRCNAME}-consoleauth" 211PACKAGES += " ${SRCNAME}-common"
212PACKAGES += " ${SRCNAME}-compute"
213PACKAGES += " ${SRCNAME}-controller"
214PACKAGES += " ${SRCNAME}-console"
197PACKAGES += " ${SRCNAME}-novncproxy" 215PACKAGES += " ${SRCNAME}-novncproxy"
198PACKAGES += " ${SRCNAME}-spicehtml5proxy" 216PACKAGES += " ${SRCNAME}-spicehtml5proxy"
199PACKAGES += " ${SRCNAME}-network" 217PACKAGES += " ${SRCNAME}-network"
200PACKAGES += " ${SRCNAME}-scheduler" 218PACKAGES += " ${SRCNAME}-scheduler"
201PACKAGES += " ${SRCNAME}-cert"
202PACKAGES += " ${SRCNAME}-conductor" 219PACKAGES += " ${SRCNAME}-conductor"
203PACKAGES += " ${SRCNAME}-api" 220PACKAGES += " ${SRCNAME}-api"
204PACKAGES += " ${SRCNAME}-ec2" 221PACKAGES += " ${SRCNAME}-ec2"
@@ -215,8 +232,7 @@ ALLOW_EMPTY_${SRCNAME}-ec2 = "1"
215ALLOW_EMPTY_${SRCNAME}-api = "1" 232ALLOW_EMPTY_${SRCNAME}-api = "1"
216ALLOW_EMPTY_${SRCNAME}-compute = "1" 233ALLOW_EMPTY_${SRCNAME}-compute = "1"
217ALLOW_EMPTY_${SRCNAME}-controller = "1" 234ALLOW_EMPTY_${SRCNAME}-controller = "1"
218ALLOW_EMPTY_${SRCNAME}-consoleauth = "1" 235ALLOW_EMPTY_${SRCNAME}-console = "1"
219ALLOW_EMPTY_${SRCNAME}-cert = "1"
220ALLOW_EMPTY_${SRCNAME}-conductor = "1" 236ALLOW_EMPTY_${SRCNAME}-conductor = "1"
221ALLOW_EMPTY_${SRCNAME}-network = "1" 237ALLOW_EMPTY_${SRCNAME}-network = "1"
222ALLOW_EMPTY_${SRCNAME}-novncproxy = "1" 238ALLOW_EMPTY_${SRCNAME}-novncproxy = "1"
@@ -227,7 +243,8 @@ ALLOW_EMPTY_${SRCNAME}-spicehtml5proxy = "1"
227 243
228FILES_${PN} = "${libdir}/*" 244FILES_${PN} = "${libdir}/*"
229 245
230FILES_${SRCNAME}-tests = "${sysconfdir}/${SRCNAME}/run_tests.sh" 246# MAA FILES_${SRCNAME}-tests = "${sysconfdir}/${SRCNAME}/run_tests.sh"
247FILES_${SRCNAME}-tests = ""
231 248
232FILES_${SRCNAME}-common = "${bindir}/nova-manage \ 249FILES_${SRCNAME}-common = "${bindir}/nova-manage \
233 ${bindir}/nova-rootwrap \ 250 ${bindir}/nova-rootwrap \
@@ -240,113 +257,84 @@ FILES_${SRCNAME}-compute = "${bindir}/nova-compute \
240FILES_${SRCNAME}-controller = "${bindir}/* \ 257FILES_${SRCNAME}-controller = "${bindir}/* \
241 ${sysconfdir}/init.d/nova-all " 258 ${sysconfdir}/init.d/nova-all "
242 259
243FILES_${SRCNAME}-consoleauth = " \
244 ${sysconfdir}/init.d/nova-consoleauth \
245"
246FILES_${SRCNAME}-novncproxy = " \
247 ${sysconfdir}/init.d/nova-novncproxy \
248"
249FILES_${SRCNAME}-spicehtml5proxy = " \
250 ${sysconfdir}/init.d/nova-spicehtml5proxy \
251"
252FILES_${SRCNAME}-network = " \
253 ${sysconfdir}/init.d/nova-network \
254"
255FILES_${SRCNAME}-scheduler = " \
256 ${sysconfdir}/init.d/nova-scheduler \
257"
258FILES_${SRCNAME}-cert = " \
259 ${sysconfdir}/init.d/nova-cert \
260"
261FILES_${SRCNAME}-conductor = " \
262 ${sysconfdir}/init.d/nova-conductor \
263"
264FILES_${SRCNAME}-api = " \
265 ${sysconfdir}/init.d/nova-api \
266"
267
268DEPENDS += " \ 260DEPENDS += " \
269 python-pip \ 261 python-pip \
270 python-pbr \ 262 python-pbr \
271 " 263 "
272 264
273RDEPENDS_${PN} = " libvirt \ 265RDEPENDS_${PN} += " \
274 python-keystone \ 266 libvirt \
275 python-keystonemiddleware \ 267 python-pbr \
276 python-modules \ 268 python-sqlalchemy \
277 python-misc \ 269 python-decorator \
278 python-amqp \
279 python-amqplib \
280 python-anyjson \
281 python-babel \
282 python-boto \
283 python-novaclient \
284 python-cinderclient \
285 python-cliff \
286 python-cheetah \
287 python-eventlet \ 270 python-eventlet \
288 python-feedparser \
289 python-glanceclient \
290 python-greenlet \
291 python-httplib2 \
292 python-iso8601 \
293 python-jinja2 \ 271 python-jinja2 \
294 python-kombu \ 272 python-keystonemiddleware \
295 python-lxml \ 273 python-lxml \
296 python-netaddr \ 274 python-routes \
297 python-oslo.config \ 275 python-cryptography \
298 python-oslo.rootwrap \ 276 python-webob \
299 python-oslo.concurrency \ 277 python-greenlet \
300 python-oslo.middleware \
301 python-oslo.context \
302 python-oslo.log \
303 python-paste \
304 python-pastedeploy \ 278 python-pastedeploy \
279 python-paste \
280 python-prettytable \
281 python-sqlalchemy-migrate \
282 python-netaddr \
283 python-netifaces \
305 python-paramiko \ 284 python-paramiko \
306 python-psutil \ 285 python-babel \
307 python-pyasn1 \ 286 python-iso8601 \
308 python-setuptools-git \
309 python-simplejson \
310 python-jsonschema \ 287 python-jsonschema \
288 python-cinderclient \
289 python-keystoneauth1 \
290 python-neutronclient \
291 python-glanceclient \
292 python-requests \
311 python-six \ 293 python-six \
312 python-setuptools \
313 python-sqlalchemy \
314 python-sqlalchemy-migrate \
315 python-stevedore \ 294 python-stevedore \
316 python-suds-jurko \ 295 python-setuptools \
317 python-neutronclient \
318 python-routes \
319 python-webob \
320 python-websockify \ 296 python-websockify \
321 python-pbr \ 297 python-oslo.cache \
322 spice-html5 \ 298 python-oslo.concurrency \
323 python-posix-ipc \ 299 python-oslo.config \
324 python-rfc3986 \ 300 python-oslo.context \
325 python-oslo.i18n \ 301 python-oslo.log \
326 python-sqlparse \
327 python-netifaces \
328 python-retrying \
329 python-debtcollector \
330 python-ecdsa \
331 python-wrapt \
332 python-oslo.versionedobjects \
333 python-oslo.reports \ 302 python-oslo.reports \
334 python-monotonic \ 303 python-oslo.serialization \
304 python-oslo.utils \
305 python-oslo.db \
306 python-oslo.rootwrap \
307 python-oslo.messaging \
308 python-oslo.policy \
309 python-oslo.privsep \
310 python-oslo.i18n \
335 python-oslo.service \ 311 python-oslo.service \
312 python-rfc3986 \
313 python-oslo.middleware \
314 python-psutil \
315 python-oslo.versionedobjects \
336 python-os-brick \ 316 python-os-brick \
337 " 317 python-os-traits \
318 python-os-vif \
319 python-os-win \
320 python-castellan \
321 python-microversion-parse \
322 python-os-xenapi \
323 python-tooz \
324 python-cursive \
325 python-pypowervm \
326 "
338 327
339RDEPENDS_${SRCNAME}-common = "${PN} openssl openssl-misc libxml2 libxslt \ 328RDEPENDS_${SRCNAME}-common = "${PN} openssl openssl-misc libxml2 libxslt \
340 iptables curl dnsmasq sudo procps" 329 iptables curl dnsmasq sudo procps"
341 330
342RDEPENDS_${SRCNAME}-controller = "${PN} ${SRCNAME}-common \ 331RDEPENDS_${SRCNAME}-controller = "${PN} ${SRCNAME}-common \
343 ${SRCNAME}-ec2 \ 332 ${SRCNAME}-ec2 \
344 ${SRCNAME}-consoleauth \ 333 ${SRCNAME}-console \
345 ${SRCNAME}-novncproxy \ 334 ${SRCNAME}-novncproxy \
346 ${SRCNAME}-spicehtml5proxy \ 335 ${SRCNAME}-spicehtml5proxy \
347 ${SRCNAME}-network \ 336 ${SRCNAME}-network \
348 ${SRCNAME}-scheduler \ 337 ${SRCNAME}-scheduler \
349 ${SRCNAME}-cert \
350 ${SRCNAME}-conductor \ 338 ${SRCNAME}-conductor \
351 ${SRCNAME}-api \ 339 ${SRCNAME}-api \
352 postgresql postgresql-client python-psycopg2" 340 postgresql postgresql-client python-psycopg2"
@@ -361,35 +349,35 @@ RDEPENDS_${SRCNAME}-tests = " \
361 bash \ 349 bash \
362 " 350 "
363 351
364INITSCRIPT_PACKAGES = "${SRCNAME}-compute ${SRCNAME}-consoleauth ${SRCNAME}-novncproxy ${SRCNAME}-spicehtml5proxy" 352
365INITSCRIPT_PACKAGES += "${SRCNAME}-network ${SRCNAME}-scheduler ${SRCNAME}-cert ${SRCNAME}-conductor" 353SYSTEMD_PACKAGES = " \
366INITSCRIPT_PACKAGES += "${SRCNAME}-api" 354 ${SRCNAME}-setup \
367 355 ${SRCNAME}-compute \
368# nova-all can replace: network, scheduler, cert, conductor and api. 356 ${SRCNAME}-console \
369# by default we go for the more granular initscripts, but this is left 357 ${SRCNAME}-novncproxy \
370# in case nova-all is desired. 358 ${SRCNAME}-spicehtml5proxy \
371# INITSCRIPT_PACKAGES += "${SRCNAME}-controller" 359 ${SRCNAME}-network \
372# INITSCRIPT_NAME_${SRCNAME}-controller = "nova-all" 360 ${SRCNAME}-scheduler \
373INITSCRIPT_NAME_${SRCNAME}-network = "nova-network" 361 ${SRCNAME}-conductor \
374INITSCRIPT_PARAMS_${SRCNAME}-network = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 362 ${SRCNAME}-api \
375INITSCRIPT_NAME_${SRCNAME}-scheduler = "nova-scheduler" 363 "
376INITSCRIPT_PARAMS_${SRCNAME}-scheduler = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 364
377INITSCRIPT_NAME_${SRCNAME}-cert = "nova-cert" 365SYSTEMD_SERVICE_${SRCNAME}-setup = "nova-init.service"
378INITSCRIPT_PARAMS_${SRCNAME}-cert = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 366SYSTEMD_SERVICE_${SRCNAME}-compute = "nova-compute.service"
379INITSCRIPT_NAME_${SRCNAME}-conductor = "nova-conductor" 367SYSTEMD_SERVICE_${SRCNAME}-console = "nova-console.service nova-consoleauth.service nova-xvpvncproxy.service"
380INITSCRIPT_PARAMS_${SRCNAME}-conductor = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 368SYSTEMD_SERVICE_${SRCNAME}-novncproxy = "nova-novncproxy.service"
381INITSCRIPT_NAME_${SRCNAME}-api = "nova-api" 369SYSTEMD_SERVICE_${SRCNAME}-spicehtml5proxy = "nova-spicehtml5proxy.service"
382INITSCRIPT_PARAMS_${SRCNAME}-api = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 370SYSTEMD_SERVICE_${SRCNAME}-network = "nova-network.service"
383 371SYSTEMD_SERVICE_${SRCNAME}-scheduler = "nova-scheduler.service"
384INITSCRIPT_NAME_${SRCNAME}-compute = "nova-compute" 372SYSTEMD_SERVICE_${SRCNAME}-conductor = "nova-conductor.service"
385INITSCRIPT_PARAMS_${SRCNAME}-compute = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 373SYSTEMD_SERVICE_${SRCNAME}-api = "nova-api.service"
386INITSCRIPT_NAME_${SRCNAME}-consoleauth = "nova-consoleauth" 374
387INITSCRIPT_PARAMS_${SRCNAME}-consoleauth = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 375# Disable services on first boot to avoid having them run when not configured
388INITSCRIPT_NAME_${SRCNAME}-novncproxy = "nova-novncproxy" 376SYSTEMD_AUTO_ENABLE_${SRCNAME}-api = "disable"
389INITSCRIPT_PARAMS_${SRCNAME}-novncproxy = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 377SYSTEMD_AUTO_ENABLE_${SRCNAME}-consoleauth = "disable"
390 378SYSTEMD_AUTO_ENABLE_${SRCNAME}-scheduler = "disable"
391INITSCRIPT_NAME_${SRCNAME}-spicehtml5proxy = "nova-spicehtml5proxy" 379SYSTEMD_AUTO_ENABLE_${SRCNAME}-conductor = "disable"
392INITSCRIPT_PARAMS_${SRCNAME}-spicehtml5proxy = "${OS_DEFAULT_INITSCRIPT_PARAMS}" 380SYSTEMD_AUTO_ENABLE_${SRCNAME}-novncproxy = "disable"
393 381
394MONITOR_SERVICE_PACKAGES = "${SRCNAME}" 382MONITOR_SERVICE_PACKAGES = "${SRCNAME}"
395MONITOR_SERVICE_${SRCNAME} = "nova-api nova-cert nova-conductor nova-consoleauth nova-scheduler" 383MONITOR_SERVICE_${SRCNAME} = "nova-api nova-conductor nova-console nova-scheduler"