Merge "Remove n-cells, n-net and n-cauth"
This commit is contained in:
commit
eadd84b718
10
.zuul.yaml
10
.zuul.yaml
@ -407,7 +407,6 @@
|
|||||||
# Nova services
|
# Nova services
|
||||||
n-api: true
|
n-api: true
|
||||||
n-api-meta: true
|
n-api-meta: true
|
||||||
n-cauth: true
|
|
||||||
n-cond: true
|
n-cond: true
|
||||||
n-cpu: true
|
n-cpu: true
|
||||||
n-novnc: true
|
n-novnc: true
|
||||||
@ -688,11 +687,8 @@
|
|||||||
# being experimental any more, so we can keep this list somewhat
|
# being experimental any more, so we can keep this list somewhat
|
||||||
# pruned.
|
# pruned.
|
||||||
#
|
#
|
||||||
# * nova-cells-v1: maintained by nova for cells v1 (nova-cells service);
|
|
||||||
# it's in experimental here (and in nova) for testing cells v1
|
|
||||||
# changes to devstack w/o gating on it for all devstack changes.
|
|
||||||
# * nova-next: maintained by nova for unreleased/undefaulted
|
# * nova-next: maintained by nova for unreleased/undefaulted
|
||||||
# things like cellsv2 and placement-api
|
# things
|
||||||
# * neutron-fullstack-with-uwsgi: maintained by neutron for fullstack test
|
# * neutron-fullstack-with-uwsgi: maintained by neutron for fullstack test
|
||||||
# when neutron-api is served by uwsgi, it's in exprimental for testing.
|
# when neutron-api is served by uwsgi, it's in exprimental for testing.
|
||||||
# the next cycle we can remove this job if things turn out to be
|
# the next cycle we can remove this job if things turn out to be
|
||||||
@ -705,10 +701,6 @@
|
|||||||
|
|
||||||
experimental:
|
experimental:
|
||||||
jobs:
|
jobs:
|
||||||
- nova-cells-v1:
|
|
||||||
irrelevant-files:
|
|
||||||
- ^.*\.rst$
|
|
||||||
- ^doc/.*$
|
|
||||||
- nova-next
|
- nova-next
|
||||||
- neutron-fullstack-with-uwsgi
|
- neutron-fullstack-with-uwsgi
|
||||||
- neutron-functional-with-uwsgi
|
- neutron-functional-with-uwsgi
|
||||||
|
@ -145,8 +145,8 @@ follows:
|
|||||||
* Global configuration that may be referenced in ``local.conf``, i.e. ``DEST``, ``DATA_DIR``
|
* Global configuration that may be referenced in ``local.conf``, i.e. ``DEST``, ``DATA_DIR``
|
||||||
* Global service configuration like ``ENABLED_SERVICES``
|
* Global service configuration like ``ENABLED_SERVICES``
|
||||||
* Variables used by multiple services that do not have a clear owner, i.e.
|
* Variables used by multiple services that do not have a clear owner, i.e.
|
||||||
``VOLUME_BACKING_FILE_SIZE`` (nova-compute, nova-volumes and cinder) or
|
``VOLUME_BACKING_FILE_SIZE`` (nova-compute and cinder) or
|
||||||
``PUBLIC_NETWORK_NAME`` (nova-network and neutron)
|
``PUBLIC_NETWORK_NAME`` (only neutron but formerly nova-network too)
|
||||||
* Variables that can not be cleanly declared in a project file due to
|
* Variables that can not be cleanly declared in a project file due to
|
||||||
dependency ordering, i.e. the order of sourcing the project files can
|
dependency ordering, i.e. the order of sourcing the project files can
|
||||||
not be changed for other reasons but the earlier file needs to dereference a
|
not be changed for other reasons but the earlier file needs to dereference a
|
||||||
|
@ -663,20 +663,6 @@ Xenserver
|
|||||||
If you would like to use Xenserver as the hypervisor, please refer to
|
If you would like to use Xenserver as the hypervisor, please refer to
|
||||||
the instructions in ``./tools/xen/README.md``.
|
the instructions in ``./tools/xen/README.md``.
|
||||||
|
|
||||||
Cells
|
|
||||||
~~~~~
|
|
||||||
|
|
||||||
`Cells <https://wiki.openstack.org/wiki/Blueprint-nova-compute-cells>`__ is
|
|
||||||
an alternative scaling option. To setup a cells environment add the
|
|
||||||
following to your ``localrc`` section:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
enable_service n-cell
|
|
||||||
|
|
||||||
Be aware that there are some features currently missing in cells, one
|
|
||||||
notable one being security groups.
|
|
||||||
|
|
||||||
Cinder
|
Cinder
|
||||||
~~~~~~
|
~~~~~~
|
||||||
|
|
||||||
|
@ -120,11 +120,8 @@ cluster controller's DevStack in ``local.conf``:
|
|||||||
|
|
||||||
[[local|localrc]]
|
[[local|localrc]]
|
||||||
HOST_IP=192.168.42.11
|
HOST_IP=192.168.42.11
|
||||||
FLAT_INTERFACE=eth0
|
|
||||||
FIXED_RANGE=10.4.128.0/20
|
FIXED_RANGE=10.4.128.0/20
|
||||||
FIXED_NETWORK_SIZE=4096
|
|
||||||
FLOATING_RANGE=192.168.42.128/25
|
FLOATING_RANGE=192.168.42.128/25
|
||||||
MULTI_HOST=1
|
|
||||||
LOGFILE=/opt/stack/logs/stack.sh.log
|
LOGFILE=/opt/stack/logs/stack.sh.log
|
||||||
ADMIN_PASSWORD=labstack
|
ADMIN_PASSWORD=labstack
|
||||||
DATABASE_PASSWORD=supersecret
|
DATABASE_PASSWORD=supersecret
|
||||||
@ -160,11 +157,8 @@ machines, create a ``local.conf`` with:
|
|||||||
|
|
||||||
[[local|localrc]]
|
[[local|localrc]]
|
||||||
HOST_IP=192.168.42.12 # change this per compute node
|
HOST_IP=192.168.42.12 # change this per compute node
|
||||||
FLAT_INTERFACE=eth0
|
|
||||||
FIXED_RANGE=10.4.128.0/20
|
FIXED_RANGE=10.4.128.0/20
|
||||||
FIXED_NETWORK_SIZE=4096
|
|
||||||
FLOATING_RANGE=192.168.42.128/25
|
FLOATING_RANGE=192.168.42.128/25
|
||||||
MULTI_HOST=1
|
|
||||||
LOGFILE=/opt/stack/logs/stack.sh.log
|
LOGFILE=/opt/stack/logs/stack.sh.log
|
||||||
ADMIN_PASSWORD=labstack
|
ADMIN_PASSWORD=labstack
|
||||||
DATABASE_PASSWORD=supersecret
|
DATABASE_PASSWORD=supersecret
|
||||||
|
@ -87,11 +87,8 @@ do the following:
|
|||||||
- Set ``FLOATING_RANGE`` to a range not used on the local network, i.e.
|
- Set ``FLOATING_RANGE`` to a range not used on the local network, i.e.
|
||||||
192.168.1.224/27. This configures IP addresses ending in 225-254 to
|
192.168.1.224/27. This configures IP addresses ending in 225-254 to
|
||||||
be used as floating IPs.
|
be used as floating IPs.
|
||||||
- Set ``FIXED_RANGE`` and ``FIXED_NETWORK_SIZE`` to configure the
|
- Set ``FIXED_RANGE`` to configure the internal address space used by the
|
||||||
internal address space used by the instances.
|
instances.
|
||||||
- Set ``FLAT_INTERFACE`` to the Ethernet interface that connects the
|
|
||||||
host to your local network. This is the interface that should be
|
|
||||||
configured with the static IP address mentioned above.
|
|
||||||
- Set the administrative password. This password is used for the
|
- Set the administrative password. This password is used for the
|
||||||
**admin** and **demo** accounts set up as OpenStack users.
|
**admin** and **demo** accounts set up as OpenStack users.
|
||||||
- Set the MySQL administrative password. The default here is a random
|
- Set the MySQL administrative password. The default here is a random
|
||||||
@ -108,8 +105,6 @@ do the following:
|
|||||||
[[local|localrc]]
|
[[local|localrc]]
|
||||||
FLOATING_RANGE=192.168.1.224/27
|
FLOATING_RANGE=192.168.1.224/27
|
||||||
FIXED_RANGE=10.11.12.0/24
|
FIXED_RANGE=10.11.12.0/24
|
||||||
FIXED_NETWORK_SIZE=256
|
|
||||||
FLAT_INTERFACE=eth0
|
|
||||||
ADMIN_PASSWORD=supersecret
|
ADMIN_PASSWORD=supersecret
|
||||||
DATABASE_PASSWORD=iheartdatabases
|
DATABASE_PASSWORD=iheartdatabases
|
||||||
RABBIT_PASSWORD=flopsymopsy
|
RABBIT_PASSWORD=flopsymopsy
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
conntrack-tools
|
conntrack-tools
|
||||||
curl
|
curl
|
||||||
dnsmasq # for nova-network
|
dnsmasq # for q-dhcp
|
||||||
dnsmasq-utils # for dhcp_release
|
dnsmasq-utils # for dhcp_release
|
||||||
ebtables
|
ebtables
|
||||||
gawk
|
gawk
|
||||||
|
@ -469,7 +469,7 @@ EOF
|
|||||||
|
|
||||||
|
|
||||||
# ping check
|
# ping check
|
||||||
# Uses globals ``ENABLED_SERVICES``, ``TOP_DIR``, ``MULTI_HOST``, ``PRIVATE_NETWORK``
|
# Uses globals ``ENABLED_SERVICES``, ``TOP_DIR``, ``PRIVATE_NETWORK``
|
||||||
# ping_check <ip> [boot-timeout] [from_net] [expected]
|
# ping_check <ip> [boot-timeout] [from_net] [expected]
|
||||||
function ping_check {
|
function ping_check {
|
||||||
local ip=$1
|
local ip=$1
|
||||||
@ -483,12 +483,9 @@ function ping_check {
|
|||||||
# if we don't specify a from_net we're expecting things to work
|
# if we don't specify a from_net we're expecting things to work
|
||||||
# fine from our local box.
|
# fine from our local box.
|
||||||
if [[ -n "$from_net" ]]; then
|
if [[ -n "$from_net" ]]; then
|
||||||
|
# TODO(stephenfin): Is there any way neutron could be disabled now?
|
||||||
if is_service_enabled neutron; then
|
if is_service_enabled neutron; then
|
||||||
ping_cmd="$TOP_DIR/tools/ping_neutron.sh $from_net"
|
ping_cmd="$TOP_DIR/tools/ping_neutron.sh $from_net"
|
||||||
elif [[ "$MULTI_HOST" = "True" && "$from_net" = "$PRIVATE_NETWORK_NAME" ]]; then
|
|
||||||
# there is no way to address the multihost / private case, bail here for compatibility.
|
|
||||||
# TODO: remove this cruft and redo code to handle this at the caller level.
|
|
||||||
return
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1929,10 +1929,6 @@ function enable_service {
|
|||||||
# For backward compatibility if we have **swift** in ENABLED_SERVICES all the
|
# For backward compatibility if we have **swift** in ENABLED_SERVICES all the
|
||||||
# **s-** services will be enabled. This will be deprecated in the future.
|
# **s-** services will be enabled. This will be deprecated in the future.
|
||||||
#
|
#
|
||||||
# Cells within nova is enabled if **n-cell** is in ``ENABLED_SERVICES``.
|
|
||||||
# We also need to make sure to treat **n-cell-region** and **n-cell-child**
|
|
||||||
# as enabled in this case.
|
|
||||||
#
|
|
||||||
# Uses global ``ENABLED_SERVICES``
|
# Uses global ``ENABLED_SERVICES``
|
||||||
# is_service_enabled service [service ...]
|
# is_service_enabled service [service ...]
|
||||||
function is_service_enabled {
|
function is_service_enabled {
|
||||||
@ -1955,7 +1951,6 @@ function is_service_enabled {
|
|||||||
# TODO(dtroyer): Remove these legacy special-cases after the is_XXX_enabled()
|
# TODO(dtroyer): Remove these legacy special-cases after the is_XXX_enabled()
|
||||||
# are implemented
|
# are implemented
|
||||||
|
|
||||||
[[ ${service} == n-cell-* && ,${ENABLED_SERVICES} =~ ,"n-cell" ]] && enabled=0
|
|
||||||
[[ ${service} == n-cpu-* && ,${ENABLED_SERVICES} =~ ,"n-cpu" ]] && enabled=0
|
[[ ${service} == n-cpu-* && ,${ENABLED_SERVICES} =~ ,"n-cpu" ]] && enabled=0
|
||||||
[[ ${service} == "nova" && ,${ENABLED_SERVICES} =~ ,"n-" ]] && enabled=0
|
[[ ${service} == "nova" && ,${ENABLED_SERVICES} =~ ,"n-" ]] && enabled=0
|
||||||
[[ ${service} == "glance" && ,${ENABLED_SERVICES} =~ ,"g-" ]] && enabled=0
|
[[ ${service} == "glance" && ,${ENABLED_SERVICES} =~ ,"g-" ]] && enabled=0
|
||||||
|
@ -50,8 +50,6 @@
|
|||||||
# See "Neutron Network Configuration" below for additional variables
|
# See "Neutron Network Configuration" below for additional variables
|
||||||
# that must be set in localrc for connectivity across hosts with
|
# that must be set in localrc for connectivity across hosts with
|
||||||
# Neutron.
|
# Neutron.
|
||||||
#
|
|
||||||
# With Neutron networking the NETWORK_MANAGER variable is ignored.
|
|
||||||
|
|
||||||
# Settings
|
# Settings
|
||||||
# --------
|
# --------
|
||||||
|
168
lib/nova
168
lib/nova
@ -50,11 +50,9 @@ NOVA_AUTH_CACHE_DIR=${NOVA_AUTH_CACHE_DIR:-/var/cache/nova}
|
|||||||
|
|
||||||
NOVA_CONF_DIR=/etc/nova
|
NOVA_CONF_DIR=/etc/nova
|
||||||
NOVA_CONF=$NOVA_CONF_DIR/nova.conf
|
NOVA_CONF=$NOVA_CONF_DIR/nova.conf
|
||||||
NOVA_CELLS_CONF=$NOVA_CONF_DIR/nova-cells.conf
|
|
||||||
NOVA_COND_CONF=$NOVA_CONF_DIR/nova.conf
|
NOVA_COND_CONF=$NOVA_CONF_DIR/nova.conf
|
||||||
NOVA_CPU_CONF=$NOVA_CONF_DIR/nova-cpu.conf
|
NOVA_CPU_CONF=$NOVA_CONF_DIR/nova-cpu.conf
|
||||||
NOVA_FAKE_CONF=$NOVA_CONF_DIR/nova-fake.conf
|
NOVA_FAKE_CONF=$NOVA_CONF_DIR/nova-fake.conf
|
||||||
NOVA_CELLS_DB=${NOVA_CELLS_DB:-nova_cell}
|
|
||||||
NOVA_API_DB=${NOVA_API_DB:-nova_api}
|
NOVA_API_DB=${NOVA_API_DB:-nova_api}
|
||||||
NOVA_UWSGI=$NOVA_BIN_DIR/nova-api-wsgi
|
NOVA_UWSGI=$NOVA_BIN_DIR/nova-api-wsgi
|
||||||
NOVA_METADATA_UWSGI=$NOVA_BIN_DIR/nova-metadata-wsgi
|
NOVA_METADATA_UWSGI=$NOVA_BIN_DIR/nova-metadata-wsgi
|
||||||
@ -111,7 +109,6 @@ QEMU_CONF=/etc/libvirt/qemu.conf
|
|||||||
|
|
||||||
# Set default defaults here as some hypervisor drivers override these
|
# Set default defaults here as some hypervisor drivers override these
|
||||||
PUBLIC_INTERFACE_DEFAULT=br100
|
PUBLIC_INTERFACE_DEFAULT=br100
|
||||||
FLAT_NETWORK_BRIDGE_DEFAULT=br100
|
|
||||||
# Set ``GUEST_INTERFACE_DEFAULT`` to some interface on the box so that
|
# Set ``GUEST_INTERFACE_DEFAULT`` to some interface on the box so that
|
||||||
# the default isn't completely crazy. This will match ``eth*``, ``em*``, or
|
# the default isn't completely crazy. This will match ``eth*``, ``em*``, or
|
||||||
# the new ``p*`` interfaces, then basically picks the first
|
# the new ``p*`` interfaces, then basically picks the first
|
||||||
@ -137,44 +134,6 @@ if is_service_enabled nova && [[ -r $NOVA_PLUGINS/hypervisor-$VIRT_DRIVER ]]; th
|
|||||||
source $NOVA_PLUGINS/hypervisor-$VIRT_DRIVER
|
source $NOVA_PLUGINS/hypervisor-$VIRT_DRIVER
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Nova Network Configuration
|
|
||||||
# --------------------------
|
|
||||||
|
|
||||||
NETWORK_MANAGER=${NETWORK_MANAGER:-${NET_MAN:-FlatDHCPManager}}
|
|
||||||
|
|
||||||
VLAN_INTERFACE=${VLAN_INTERFACE:-$GUEST_INTERFACE_DEFAULT}
|
|
||||||
FLAT_NETWORK_BRIDGE=${FLAT_NETWORK_BRIDGE:-$FLAT_NETWORK_BRIDGE_DEFAULT}
|
|
||||||
|
|
||||||
# If you are using the FlatDHCP network mode on multiple hosts, set the
|
|
||||||
# ``FLAT_INTERFACE`` variable but make sure that the interface doesn't already
|
|
||||||
# have an IP or you risk breaking things.
|
|
||||||
#
|
|
||||||
# **DHCP Warning**: If your flat interface device uses DHCP, there will be a
|
|
||||||
# hiccup while the network is moved from the flat interface to the flat network
|
|
||||||
# bridge. This will happen when you launch your first instance. Upon launch
|
|
||||||
# you will lose all connectivity to the node, and the VM launch will probably
|
|
||||||
# fail.
|
|
||||||
#
|
|
||||||
# If you are running on a single node and don't need to access the VMs from
|
|
||||||
# devices other than that node, you can set ``FLAT_INTERFACE=``
|
|
||||||
# This will stop nova from bridging any interfaces into ``FLAT_NETWORK_BRIDGE``.
|
|
||||||
FLAT_INTERFACE=${FLAT_INTERFACE:-$GUEST_INTERFACE_DEFAULT}
|
|
||||||
|
|
||||||
# ``MULTI_HOST`` is a mode where each compute node runs its own network node. This
|
|
||||||
# allows network operations and routing for a VM to occur on the server that is
|
|
||||||
# running the VM - removing a SPOF and bandwidth bottleneck.
|
|
||||||
MULTI_HOST=$(trueorfalse False MULTI_HOST)
|
|
||||||
|
|
||||||
# ``NOVA_ALLOW_MOVE_TO_SAME_HOST`` can be set to False in multi node DevStack,
|
|
||||||
# where there are at least two nova-computes.
|
|
||||||
NOVA_ALLOW_MOVE_TO_SAME_HOST=$(trueorfalse True NOVA_ALLOW_MOVE_TO_SAME_HOST)
|
|
||||||
|
|
||||||
# Test floating pool and range are used for testing. They are defined
|
|
||||||
# here until the admin APIs can replace nova-manage
|
|
||||||
TEST_FLOATING_POOL=${TEST_FLOATING_POOL:-test}
|
|
||||||
TEST_FLOATING_RANGE=${TEST_FLOATING_RANGE:-192.168.253.0/29}
|
|
||||||
|
|
||||||
# Other Nova configurations
|
# Other Nova configurations
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
|
|
||||||
@ -183,6 +142,10 @@ TEST_FLOATING_RANGE=${TEST_FLOATING_RANGE:-192.168.253.0/29}
|
|||||||
# and Glance.
|
# and Glance.
|
||||||
NOVA_USE_SERVICE_TOKEN=$(trueorfalse False NOVA_USE_SERVICE_TOKEN)
|
NOVA_USE_SERVICE_TOKEN=$(trueorfalse False NOVA_USE_SERVICE_TOKEN)
|
||||||
|
|
||||||
|
# ``NOVA_ALLOW_MOVE_TO_SAME_HOST`` can be set to False in multi node DevStack,
|
||||||
|
# where there are at least two nova-computes.
|
||||||
|
NOVA_ALLOW_MOVE_TO_SAME_HOST=$(trueorfalse True NOVA_ALLOW_MOVE_TO_SAME_HOST)
|
||||||
|
|
||||||
# Enable debugging levels for iscsid service (goes from 0-8)
|
# Enable debugging levels for iscsid service (goes from 0-8)
|
||||||
ISCSID_DEBUG=$(trueorfalse False ISCSID_DEBUG)
|
ISCSID_DEBUG=$(trueorfalse False ISCSID_DEBUG)
|
||||||
ISCSID_DEBUG_LEVEL=${ISCSID_DEBUG_LEVEL:-4}
|
ISCSID_DEBUG_LEVEL=${ISCSID_DEBUG_LEVEL:-4}
|
||||||
@ -198,13 +161,6 @@ function is_nova_enabled {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Test if any Nova Cell services are enabled
|
|
||||||
# is_nova_enabled
|
|
||||||
function is_n-cell_enabled {
|
|
||||||
[[ ,${ENABLED_SERVICES} =~ ,"n-cell" ]] && return 0
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# is_nova_console_proxy_compute_tls_enabled() - Test if the Nova Console Proxy
|
# is_nova_console_proxy_compute_tls_enabled() - Test if the Nova Console Proxy
|
||||||
# service has TLS enabled
|
# service has TLS enabled
|
||||||
function is_nova_console_proxy_compute_tls_enabled {
|
function is_nova_console_proxy_compute_tls_enabled {
|
||||||
@ -501,10 +457,6 @@ function create_nova_conf {
|
|||||||
if [ -n "$NOVA_INSTANCES_PATH" ]; then
|
if [ -n "$NOVA_INSTANCES_PATH" ]; then
|
||||||
iniset $NOVA_CONF DEFAULT instances_path "$NOVA_INSTANCES_PATH"
|
iniset $NOVA_CONF DEFAULT instances_path "$NOVA_INSTANCES_PATH"
|
||||||
fi
|
fi
|
||||||
if [ "$MULTI_HOST" != "False" ]; then
|
|
||||||
iniset $NOVA_CONF DEFAULT multi_host "True"
|
|
||||||
iniset $NOVA_CONF DEFAULT send_arp_for_ha "True"
|
|
||||||
fi
|
|
||||||
if [ "$SYSLOG" != "False" ]; then
|
if [ "$SYSLOG" != "False" ]; then
|
||||||
iniset $NOVA_CONF DEFAULT use_syslog "True"
|
iniset $NOVA_CONF DEFAULT use_syslog "True"
|
||||||
fi
|
fi
|
||||||
@ -551,21 +503,6 @@ function create_nova_conf {
|
|||||||
|
|
||||||
iniset $NOVA_CONF DEFAULT graceful_shutdown_timeout "$SERVICE_GRACEFUL_SHUTDOWN_TIMEOUT"
|
iniset $NOVA_CONF DEFAULT graceful_shutdown_timeout "$SERVICE_GRACEFUL_SHUTDOWN_TIMEOUT"
|
||||||
|
|
||||||
# Setup logging for nova-dhcpbridge command line
|
|
||||||
sudo cp "$NOVA_CONF" "$NOVA_CONF_DIR/nova-dhcpbridge.conf"
|
|
||||||
|
|
||||||
if is_service_enabled n-net; then
|
|
||||||
local service="n-dhcp"
|
|
||||||
local logfile="${service}.log.${CURRENT_LOG_TIME}"
|
|
||||||
local real_logfile="${LOGDIR}/${logfile}"
|
|
||||||
if [[ -n ${LOGDIR} ]]; then
|
|
||||||
bash -c "cd '$LOGDIR' && ln -sf '$logfile' ${service}.log"
|
|
||||||
iniset "$NOVA_CONF_DIR/nova-dhcpbridge.conf" DEFAULT log_file "$real_logfile"
|
|
||||||
fi
|
|
||||||
|
|
||||||
iniset $NOVA_CONF DEFAULT dhcpbridge_flagfile "$NOVA_CONF_DIR/nova-dhcpbridge.conf"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$NOVA_USE_SERVICE_TOKEN" == "True" ]; then
|
if [ "$NOVA_USE_SERVICE_TOKEN" == "True" ]; then
|
||||||
init_nova_service_user_conf
|
init_nova_service_user_conf
|
||||||
fi
|
fi
|
||||||
@ -748,42 +685,6 @@ function conductor_conf {
|
|||||||
echo "${NOVA_CONF_DIR}/nova_cell${cell}.conf"
|
echo "${NOVA_CONF_DIR}/nova_cell${cell}.conf"
|
||||||
}
|
}
|
||||||
|
|
||||||
function init_nova_cells {
|
|
||||||
if is_service_enabled n-cell; then
|
|
||||||
cp $NOVA_CONF $NOVA_CELLS_CONF
|
|
||||||
iniset $NOVA_CELLS_CONF database connection `database_connection_url $NOVA_CELLS_DB`
|
|
||||||
rpc_backend_add_vhost child_cell
|
|
||||||
iniset_rpc_backend nova $NOVA_CELLS_CONF DEFAULT child_cell
|
|
||||||
iniset $NOVA_CELLS_CONF DEFAULT dhcpbridge_flagfile $NOVA_CELLS_CONF
|
|
||||||
iniset $NOVA_CELLS_CONF cells enable True
|
|
||||||
iniset $NOVA_CELLS_CONF cells cell_type compute
|
|
||||||
iniset $NOVA_CELLS_CONF cells name child
|
|
||||||
|
|
||||||
iniset $NOVA_CONF cells enable True
|
|
||||||
iniset $NOVA_CONF cells cell_type api
|
|
||||||
iniset $NOVA_CONF cells name region
|
|
||||||
|
|
||||||
if is_service_enabled n-api-meta; then
|
|
||||||
NOVA_ENABLED_APIS=$(echo $NOVA_ENABLED_APIS | sed "s/,metadata//")
|
|
||||||
iniset $NOVA_CONF DEFAULT enabled_apis $NOVA_ENABLED_APIS
|
|
||||||
iniset $NOVA_CELLS_CONF DEFAULT enabled_apis metadata
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Cells v1 conductor should be the nova-cells.conf
|
|
||||||
NOVA_COND_CONF=$NOVA_CELLS_CONF
|
|
||||||
|
|
||||||
time_start "dbsync"
|
|
||||||
$NOVA_BIN_DIR/nova-manage --config-file $NOVA_CELLS_CONF db sync
|
|
||||||
time_stop "dbsync"
|
|
||||||
$NOVA_BIN_DIR/nova-manage --config-file $NOVA_CELLS_CONF cell create --name=region --cell_type=parent --username=$RABBIT_USERID --hostname=$RABBIT_HOST --port=5672 --password=$RABBIT_PASSWORD --virtual_host=/ --woffset=0 --wscale=1
|
|
||||||
$NOVA_BIN_DIR/nova-manage cell create --name=child --cell_type=child --username=$RABBIT_USERID --hostname=$RABBIT_HOST --port=5672 --password=$RABBIT_PASSWORD --virtual_host=child_cell --woffset=0 --wscale=1
|
|
||||||
|
|
||||||
# Creates the single cells v2 cell for the child cell (v1) nova db.
|
|
||||||
$NOVA_BIN_DIR/nova-manage --config-file $NOVA_CELLS_CONF cell_v2 create_cell \
|
|
||||||
--transport-url $(get_transport_url child_cell) --name 'cell1'
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# create_nova_cache_dir() - Part of the init_nova() process
|
# create_nova_cache_dir() - Part of the init_nova() process
|
||||||
function create_nova_cache_dir {
|
function create_nova_cache_dir {
|
||||||
# Create cache dir
|
# Create cache dir
|
||||||
@ -791,18 +692,6 @@ function create_nova_cache_dir {
|
|||||||
rm -f $NOVA_AUTH_CACHE_DIR/*
|
rm -f $NOVA_AUTH_CACHE_DIR/*
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_nova_conf_nova_network {
|
|
||||||
local public_interface=${PUBLIC_INTERFACE:-$PUBLIC_INTERFACE_DEFAULT}
|
|
||||||
iniset $NOVA_CONF DEFAULT network_manager "nova.network.manager.$NETWORK_MANAGER"
|
|
||||||
iniset $NOVA_CONF DEFAULT public_interface "$public_interface"
|
|
||||||
iniset $NOVA_CONF DEFAULT vlan_interface "$VLAN_INTERFACE"
|
|
||||||
iniset $NOVA_CONF DEFAULT flat_network_bridge "$FLAT_NETWORK_BRIDGE"
|
|
||||||
if [ -n "$FLAT_INTERFACE" ]; then
|
|
||||||
iniset $NOVA_CONF DEFAULT flat_interface "$FLAT_INTERFACE"
|
|
||||||
fi
|
|
||||||
iniset $NOVA_CONF DEFAULT use_neutron False
|
|
||||||
}
|
|
||||||
|
|
||||||
# create_nova_keys_dir() - Part of the init_nova() process
|
# create_nova_keys_dir() - Part of the init_nova() process
|
||||||
function create_nova_keys_dir {
|
function create_nova_keys_dir {
|
||||||
# Create keys dir
|
# Create keys dir
|
||||||
@ -834,10 +723,6 @@ function init_nova {
|
|||||||
# Migrate nova and nova_cell0 databases.
|
# Migrate nova and nova_cell0 databases.
|
||||||
$NOVA_BIN_DIR/nova-manage --config-file $NOVA_CONF db sync
|
$NOVA_BIN_DIR/nova-manage --config-file $NOVA_CONF db sync
|
||||||
|
|
||||||
if is_service_enabled n-cell; then
|
|
||||||
recreate_database $NOVA_CELLS_DB
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Run online migrations on the new databases
|
# Run online migrations on the new databases
|
||||||
# Needed for flavor conversion
|
# Needed for flavor conversion
|
||||||
$NOVA_BIN_DIR/nova-manage --config-file $NOVA_CONF db online_data_migrations
|
$NOVA_BIN_DIR/nova-manage --config-file $NOVA_CONF db online_data_migrations
|
||||||
@ -942,15 +827,6 @@ function start_nova_api {
|
|||||||
export PATH=$old_path
|
export PATH=$old_path
|
||||||
}
|
}
|
||||||
|
|
||||||
# Detect and setup conditions under which singleconductor setup is
|
|
||||||
# needed. Notably cellsv1.
|
|
||||||
function _set_singleconductor {
|
|
||||||
# NOTE(danms): Don't setup conductor fleet for cellsv1
|
|
||||||
if is_service_enabled n-cell; then
|
|
||||||
CELLSV2_SETUP="singleconductor"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# start_nova_compute() - Start the compute process
|
# start_nova_compute() - Start the compute process
|
||||||
function start_nova_compute {
|
function start_nova_compute {
|
||||||
@ -958,11 +834,7 @@ function start_nova_compute {
|
|||||||
local old_path=$PATH
|
local old_path=$PATH
|
||||||
export PATH=$NOVA_BIN_DIR:$PATH
|
export PATH=$NOVA_BIN_DIR:$PATH
|
||||||
|
|
||||||
if is_service_enabled n-cell; then
|
local compute_cell_conf=$NOVA_CONF
|
||||||
local compute_cell_conf=$NOVA_CELLS_CONF
|
|
||||||
else
|
|
||||||
local compute_cell_conf=$NOVA_CONF
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp $compute_cell_conf $NOVA_CPU_CONF
|
cp $compute_cell_conf $NOVA_CPU_CONF
|
||||||
|
|
||||||
@ -1025,22 +897,7 @@ function start_nova_rest {
|
|||||||
export PATH=$NOVA_BIN_DIR:$PATH
|
export PATH=$NOVA_BIN_DIR:$PATH
|
||||||
|
|
||||||
local api_cell_conf=$NOVA_CONF
|
local api_cell_conf=$NOVA_CONF
|
||||||
if is_service_enabled n-cell; then
|
local compute_cell_conf=$NOVA_CONF
|
||||||
local compute_cell_conf=$NOVA_CELLS_CONF
|
|
||||||
else
|
|
||||||
local compute_cell_conf=$NOVA_CONF
|
|
||||||
fi
|
|
||||||
|
|
||||||
# ``run_process`` checks ``is_service_enabled``, it is not needed here
|
|
||||||
run_process n-cell-region "$NOVA_BIN_DIR/nova-cells --config-file $api_cell_conf"
|
|
||||||
run_process n-cell-child "$NOVA_BIN_DIR/nova-cells --config-file $compute_cell_conf"
|
|
||||||
|
|
||||||
if is_service_enabled n-net; then
|
|
||||||
if ! running_in_container; then
|
|
||||||
enable_kernel_bridge_firewall
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
run_process n-net "$NOVA_BIN_DIR/nova-network --config-file $compute_cell_conf"
|
|
||||||
|
|
||||||
run_process n-sch "$NOVA_BIN_DIR/nova-scheduler --config-file $compute_cell_conf"
|
run_process n-sch "$NOVA_BIN_DIR/nova-scheduler --config-file $compute_cell_conf"
|
||||||
if [ "$NOVA_USE_MOD_WSGI" == "False" ]; then
|
if [ "$NOVA_USE_MOD_WSGI" == "False" ]; then
|
||||||
@ -1049,9 +906,6 @@ function start_nova_rest {
|
|||||||
run_process n-api-meta "$NOVA_BIN_DIR/uwsgi --procname-prefix nova-api-meta --ini $NOVA_METADATA_UWSGI_CONF"
|
run_process n-api-meta "$NOVA_BIN_DIR/uwsgi --procname-prefix nova-api-meta --ini $NOVA_METADATA_UWSGI_CONF"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# nova-consoleauth always runs globally
|
|
||||||
run_process n-cauth "$NOVA_BIN_DIR/nova-consoleauth --config-file $api_cell_conf"
|
|
||||||
|
|
||||||
export PATH=$old_path
|
export PATH=$old_path
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1129,11 +983,7 @@ function is_nova_ready {
|
|||||||
# happen between here and the script ending. However, in multinode
|
# happen between here and the script ending. However, in multinode
|
||||||
# tests this can very often not be the case. So ensure that the
|
# tests this can very often not be the case. So ensure that the
|
||||||
# compute is up before we move on.
|
# compute is up before we move on.
|
||||||
if is_service_enabled n-cell; then
|
|
||||||
# cells v1 can't complete the check below because it munges
|
|
||||||
# hostnames with cell information (grumble grumble).
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
# TODO(sdague): honestly, this probably should be a plug point for
|
# TODO(sdague): honestly, this probably should be a plug point for
|
||||||
# an external system.
|
# an external system.
|
||||||
if [[ "$VIRT_DRIVER" == 'xenserver' ]]; then
|
if [[ "$VIRT_DRIVER" == 'xenserver' ]]; then
|
||||||
@ -1145,8 +995,6 @@ function is_nova_ready {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function start_nova {
|
function start_nova {
|
||||||
# this catches the cells v1 case early
|
|
||||||
_set_singleconductor
|
|
||||||
start_nova_rest
|
start_nova_rest
|
||||||
start_nova_console_proxies
|
start_nova_console_proxies
|
||||||
start_nova_conductor
|
start_nova_conductor
|
||||||
@ -1174,7 +1022,7 @@ function stop_nova_compute {
|
|||||||
|
|
||||||
function stop_nova_rest {
|
function stop_nova_rest {
|
||||||
# Kill the non-compute nova processes
|
# Kill the non-compute nova processes
|
||||||
for serv in n-api n-api-meta n-net n-sch n-cauth n-cell n-cell; do
|
for serv in n-api n-api-meta n-sch; do
|
||||||
stop_process $serv
|
stop_process $serv
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
@ -24,9 +24,6 @@ set +o xtrace
|
|||||||
# Defaults
|
# Defaults
|
||||||
# --------
|
# --------
|
||||||
|
|
||||||
# Allow ``build_domU.sh`` to specify the flat network bridge via kernel args
|
|
||||||
FLAT_NETWORK_BRIDGE_DEFAULT=$(sed -e 's/.* flat_network_bridge=\([[:alnum:]]*\).*$/\1/g' /proc/cmdline)
|
|
||||||
|
|
||||||
VNCSERVER_PROXYCLIENT_ADDRESS=${VNCSERVER_PROXYCLIENT_ADDRESS=169.254.0.1}
|
VNCSERVER_PROXYCLIENT_ADDRESS=${VNCSERVER_PROXYCLIENT_ADDRESS=169.254.0.1}
|
||||||
|
|
||||||
|
|
||||||
|
23
lib/tempest
23
lib/tempest
@ -342,7 +342,7 @@ function configure_tempest {
|
|||||||
iniset $TEMPEST_CONFIG compute flavor_ref $flavor_ref
|
iniset $TEMPEST_CONFIG compute flavor_ref $flavor_ref
|
||||||
iniset $TEMPEST_CONFIG compute flavor_ref_alt $flavor_ref_alt
|
iniset $TEMPEST_CONFIG compute flavor_ref_alt $flavor_ref_alt
|
||||||
iniset $TEMPEST_CONFIG validation connect_method $ssh_connect_method
|
iniset $TEMPEST_CONFIG validation connect_method $ssh_connect_method
|
||||||
if ! is_service_enabled n-cell && ! is_service_enabled neutron; then
|
if ! is_service_enabled neutron; then
|
||||||
iniset $TEMPEST_CONFIG compute fixed_network_name $PRIVATE_NETWORK_NAME
|
iniset $TEMPEST_CONFIG compute fixed_network_name $PRIVATE_NETWORK_NAME
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -391,24 +391,6 @@ function configure_tempest {
|
|||||||
iniset $TEMPEST_CONFIG compute-feature-enabled scheduler_enabled_filters ${NOVA_FILTERS}
|
iniset $TEMPEST_CONFIG compute-feature-enabled scheduler_enabled_filters ${NOVA_FILTERS}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if is_service_enabled n-cell; then
|
|
||||||
# Cells doesn't support shelving/unshelving
|
|
||||||
iniset $TEMPEST_CONFIG compute-feature-enabled shelve False
|
|
||||||
# Cells doesn't support hot-plugging virtual interfaces.
|
|
||||||
iniset $TEMPEST_CONFIG compute-feature-enabled interface_attach False
|
|
||||||
# Cells v1 doesn't support the rescue/unrescue tests in Tempest
|
|
||||||
iniset $TEMPEST_CONFIG compute-feature-enabled rescue False
|
|
||||||
|
|
||||||
if [[ -z "$DEFAULT_INSTANCE_TYPE" ]]; then
|
|
||||||
# Cells supports resize but does not currently work with devstack
|
|
||||||
# because of the custom flavors created for Tempest runs which are
|
|
||||||
# not in the cells database.
|
|
||||||
# TODO(mriedem): work on adding a nova-manage command to sync
|
|
||||||
# flavors into the cells database.
|
|
||||||
iniset $TEMPEST_CONFIG compute-feature-enabled resize False
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $ENABLE_VOLUME_MULTIATTACH == "True" ]]; then
|
if [[ $ENABLE_VOLUME_MULTIATTACH == "True" ]]; then
|
||||||
iniset $TEMPEST_CONFIG compute-feature-enabled volume_multiattach True
|
iniset $TEMPEST_CONFIG compute-feature-enabled volume_multiattach True
|
||||||
fi
|
fi
|
||||||
@ -554,8 +536,7 @@ function configure_tempest {
|
|||||||
iniset $TEMPEST_CONFIG compute-feature-enabled shelve False
|
iniset $TEMPEST_CONFIG compute-feature-enabled shelve False
|
||||||
iniset $TEMPEST_CONFIG compute-feature-enabled snapshot False
|
iniset $TEMPEST_CONFIG compute-feature-enabled snapshot False
|
||||||
iniset $TEMPEST_CONFIG compute-feature-enabled suspend False
|
iniset $TEMPEST_CONFIG compute-feature-enabled suspend False
|
||||||
elif ! is_service_enabled n-cell; then
|
else
|
||||||
# cells v1 does not support swapping volumes
|
|
||||||
iniset $TEMPEST_CONFIG compute-feature-enabled swap_volume True
|
iniset $TEMPEST_CONFIG compute-feature-enabled swap_volume True
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
29
stack.sh
29
stack.sh
@ -1167,10 +1167,11 @@ if is_service_enabled neutron; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Nova
|
# Nova
|
||||||
# ----
|
# ----
|
||||||
|
|
||||||
if is_service_enabled n-net q-dhcp; then
|
if is_service_enabled q-dhcp; then
|
||||||
# Delete traces of nova networks from prior runs
|
# Delete traces of nova networks from prior runs
|
||||||
# Do not kill any dnsmasq instance spawned by NetworkManager
|
# Do not kill any dnsmasq instance spawned by NetworkManager
|
||||||
netman_pid=$(pidof NetworkManager || true)
|
netman_pid=$(pidof NetworkManager || true)
|
||||||
@ -1182,12 +1183,6 @@ if is_service_enabled n-net q-dhcp; then
|
|||||||
|
|
||||||
clean_iptables
|
clean_iptables
|
||||||
|
|
||||||
if is_service_enabled n-net; then
|
|
||||||
rm -rf ${NOVA_STATE_PATH}/networks
|
|
||||||
sudo mkdir -p ${NOVA_STATE_PATH}/networks
|
|
||||||
safe_chown -R ${STACK_USER} ${NOVA_STATE_PATH}/networks
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Force IP forwarding on, just in case
|
# Force IP forwarding on, just in case
|
||||||
sudo sysctl -w net.ipv4.ip_forward=1
|
sudo sysctl -w net.ipv4.ip_forward=1
|
||||||
fi
|
fi
|
||||||
@ -1226,13 +1221,11 @@ if is_service_enabled nova; then
|
|||||||
init_nova
|
init_nova
|
||||||
|
|
||||||
# Additional Nova configuration that is dependent on other services
|
# Additional Nova configuration that is dependent on other services
|
||||||
|
# TODO(stephenfin): Is it possible for neutron to *not* be enabled now? If
|
||||||
|
# not, remove the if here
|
||||||
if is_service_enabled neutron; then
|
if is_service_enabled neutron; then
|
||||||
configure_neutron_nova
|
configure_neutron_nova
|
||||||
elif is_service_enabled n-net; then
|
|
||||||
create_nova_conf_nova_network
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
init_nova_cells
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@ -1314,20 +1307,6 @@ elif is_service_enabled q-svc; then
|
|||||||
echo_summary "Starting Neutron"
|
echo_summary "Starting Neutron"
|
||||||
configure_neutron_after_post_config
|
configure_neutron_after_post_config
|
||||||
start_neutron_service_and_check
|
start_neutron_service_and_check
|
||||||
elif is_service_enabled $DATABASE_BACKENDS && is_service_enabled n-net; then
|
|
||||||
NM_CONF=${NOVA_CONF}
|
|
||||||
if is_service_enabled n-cell; then
|
|
||||||
NM_CONF=${NOVA_CELLS_CONF}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Create a small network
|
|
||||||
$NOVA_BIN_DIR/nova-manage --config-file $NM_CONF network create "$PRIVATE_NETWORK_NAME" $FIXED_RANGE 1 $FIXED_NETWORK_SIZE $NETWORK_CREATE_ARGS
|
|
||||||
|
|
||||||
# Create some floating ips
|
|
||||||
$NOVA_BIN_DIR/nova-manage --config-file $NM_CONF floating create $FLOATING_RANGE --pool=$PUBLIC_NETWORK_NAME
|
|
||||||
|
|
||||||
# Create a second pool
|
|
||||||
$NOVA_BIN_DIR/nova-manage --config-file $NM_CONF floating create --ip_range=$TEST_FLOATING_RANGE --pool=$TEST_FLOATING_POOL
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Start placement before any of the service that are likely to want
|
# Start placement before any of the service that are likely to want
|
||||||
|
3
stackrc
3
stackrc
@ -65,7 +65,7 @@ if ! isset ENABLED_SERVICES ; then
|
|||||||
# Keystone - nothing works without keystone
|
# Keystone - nothing works without keystone
|
||||||
ENABLED_SERVICES=key
|
ENABLED_SERVICES=key
|
||||||
# Nova - services to support libvirt based openstack clouds
|
# Nova - services to support libvirt based openstack clouds
|
||||||
ENABLED_SERVICES+=,n-api,n-cpu,n-cond,n-sch,n-novnc,n-cauth,n-api-meta
|
ENABLED_SERVICES+=,n-api,n-cpu,n-cond,n-sch,n-novnc,n-api-meta
|
||||||
# Placement service needed for Nova
|
# Placement service needed for Nova
|
||||||
ENABLED_SERVICES+=,placement-api,placement-client
|
ENABLED_SERVICES+=,placement-api,placement-client
|
||||||
# Glance services needed for Nova
|
# Glance services needed for Nova
|
||||||
@ -846,7 +846,6 @@ ENABLE_DEBUG_LOG_LEVEL=$(trueorfalse True ENABLE_DEBUG_LOG_LEVEL)
|
|||||||
FLOATING_RANGE=${FLOATING_RANGE:-172.24.4.0/24}
|
FLOATING_RANGE=${FLOATING_RANGE:-172.24.4.0/24}
|
||||||
IPV4_ADDRS_SAFE_TO_USE=${IPV4_ADDRS_SAFE_TO_USE:-10.0.0.0/22}
|
IPV4_ADDRS_SAFE_TO_USE=${IPV4_ADDRS_SAFE_TO_USE:-10.0.0.0/22}
|
||||||
FIXED_RANGE=${FIXED_RANGE:-$IPV4_ADDRS_SAFE_TO_USE}
|
FIXED_RANGE=${FIXED_RANGE:-$IPV4_ADDRS_SAFE_TO_USE}
|
||||||
FIXED_NETWORK_SIZE=${FIXED_NETWORK_SIZE:-256}
|
|
||||||
HOST_IP_IFACE=${HOST_IP_IFACE:-}
|
HOST_IP_IFACE=${HOST_IP_IFACE:-}
|
||||||
HOST_IP=${HOST_IP:-}
|
HOST_IP=${HOST_IP:-}
|
||||||
HOST_IPV6=${HOST_IPV6:-}
|
HOST_IPV6=${HOST_IPV6:-}
|
||||||
|
Loading…
Reference in New Issue
Block a user