From 4b8cba77fe3444c925b5e4fe39743d54b0243eef Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Tue, 21 May 2019 14:17:11 +0100 Subject: [PATCH] Remove n-cells, n-net and n-cauth Remove nova cells v1 support, which also allows/necessitates removing support for nova networks (which was only supported with cells v1) and nova-consoleauth (which was required by cells v1 but is unnecessary otherwise). The Depends-On isn't really necessary, but it's here to make sure this doesn't merge until we _really_ have killed cells v1. I honestly expected this patch would be bigger. Change-Id: I90316208d1af42c1659d3bee386f95e38aaf2c56 Signed-off-by: Stephen Finucane Depends-On: Ib0e0b708c46e4330e51f8f8fdfbb02d45aaf0f44 --- .zuul.yaml | 10 +- HACKING.rst | 4 +- doc/source/configuration.rst | 14 --- doc/source/guides/multinode-lab.rst | 6 - doc/source/guides/single-machine.rst | 9 +- files/rpms/nova | 2 +- functions | 7 +- functions-common | 5 - lib/neutron-legacy | 2 - lib/nova | 168 ++------------------------ lib/nova_plugins/hypervisor-xenserver | 3 - lib/tempest | 23 +--- stack.sh | 29 +---- stackrc | 3 +- 14 files changed, 23 insertions(+), 262 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index 60e3a14f14..9996f5aba7 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -408,7 +408,6 @@ # Nova services n-api: true n-api-meta: true - n-cauth: true n-cond: true n-cpu: true n-novnc: true @@ -689,11 +688,8 @@ # being experimental any more, so we can keep this list somewhat # 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 - # things like cellsv2 and placement-api + # things # * neutron-fullstack-with-uwsgi: maintained by neutron for fullstack test # 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 @@ -706,10 +702,6 @@ experimental: jobs: - - nova-cells-v1: - irrelevant-files: - - ^.*\.rst$ - - ^doc/.*$ - nova-next - neutron-fullstack-with-uwsgi - neutron-functional-with-uwsgi diff --git a/HACKING.rst b/HACKING.rst index 3853eed9a1..968306a2c4 100644 --- a/HACKING.rst +++ b/HACKING.rst @@ -145,8 +145,8 @@ follows: * Global configuration that may be referenced in ``local.conf``, i.e. ``DEST``, ``DATA_DIR`` * Global service configuration like ``ENABLED_SERVICES`` * 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 - ``PUBLIC_NETWORK_NAME`` (nova-network and neutron) + ``VOLUME_BACKING_FILE_SIZE`` (nova-compute and cinder) or + ``PUBLIC_NETWORK_NAME`` (only neutron but formerly nova-network too) * 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 not be changed for other reasons but the earlier file needs to dereference a diff --git a/doc/source/configuration.rst b/doc/source/configuration.rst index 9ca8441263..5e8004dc44 100644 --- a/doc/source/configuration.rst +++ b/doc/source/configuration.rst @@ -663,20 +663,6 @@ Xenserver If you would like to use Xenserver as the hypervisor, please refer to the instructions in ``./tools/xen/README.md``. -Cells -~~~~~ - -`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 ~~~~~~ diff --git a/doc/source/guides/multinode-lab.rst b/doc/source/guides/multinode-lab.rst index c3574ac593..3c4acc8c7c 100644 --- a/doc/source/guides/multinode-lab.rst +++ b/doc/source/guides/multinode-lab.rst @@ -120,11 +120,8 @@ cluster controller's DevStack in ``local.conf``: [[local|localrc]] HOST_IP=192.168.42.11 - FLAT_INTERFACE=eth0 FIXED_RANGE=10.4.128.0/20 - FIXED_NETWORK_SIZE=4096 FLOATING_RANGE=192.168.42.128/25 - MULTI_HOST=1 LOGFILE=/opt/stack/logs/stack.sh.log ADMIN_PASSWORD=labstack DATABASE_PASSWORD=supersecret @@ -160,11 +157,8 @@ machines, create a ``local.conf`` with: [[local|localrc]] HOST_IP=192.168.42.12 # change this per compute node - FLAT_INTERFACE=eth0 FIXED_RANGE=10.4.128.0/20 - FIXED_NETWORK_SIZE=4096 FLOATING_RANGE=192.168.42.128/25 - MULTI_HOST=1 LOGFILE=/opt/stack/logs/stack.sh.log ADMIN_PASSWORD=labstack DATABASE_PASSWORD=supersecret diff --git a/doc/source/guides/single-machine.rst b/doc/source/guides/single-machine.rst index 168172c630..cfbd6b1884 100644 --- a/doc/source/guides/single-machine.rst +++ b/doc/source/guides/single-machine.rst @@ -87,11 +87,8 @@ do the following: - 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 be used as floating IPs. -- Set ``FIXED_RANGE`` and ``FIXED_NETWORK_SIZE`` to configure the - internal address space used by the 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 ``FIXED_RANGE`` to configure the internal address space used by the + instances. - Set the administrative password. This password is used for the **admin** and **demo** accounts set up as OpenStack users. - Set the MySQL administrative password. The default here is a random @@ -108,8 +105,6 @@ do the following: [[local|localrc]] FLOATING_RANGE=192.168.1.224/27 FIXED_RANGE=10.11.12.0/24 - FIXED_NETWORK_SIZE=256 - FLAT_INTERFACE=eth0 ADMIN_PASSWORD=supersecret DATABASE_PASSWORD=iheartdatabases RABBIT_PASSWORD=flopsymopsy diff --git a/files/rpms/nova b/files/rpms/nova index 8d73644025..f69fc373d7 100644 --- a/files/rpms/nova +++ b/files/rpms/nova @@ -1,6 +1,6 @@ conntrack-tools curl -dnsmasq # for nova-network +dnsmasq # for q-dhcp dnsmasq-utils # for dhcp_release ebtables gawk diff --git a/functions b/functions index 187ad2311d..93035673b5 100644 --- a/functions +++ b/functions @@ -469,7 +469,7 @@ EOF # ping check -# Uses globals ``ENABLED_SERVICES``, ``TOP_DIR``, ``MULTI_HOST``, ``PRIVATE_NETWORK`` +# Uses globals ``ENABLED_SERVICES``, ``TOP_DIR``, ``PRIVATE_NETWORK`` # ping_check [boot-timeout] [from_net] [expected] function ping_check { local ip=$1 @@ -483,12 +483,9 @@ function ping_check { # if we don't specify a from_net we're expecting things to work # fine from our local box. if [[ -n "$from_net" ]]; then + # TODO(stephenfin): Is there any way neutron could be disabled now? if is_service_enabled neutron; then 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 diff --git a/functions-common b/functions-common index bace9e00e6..922ff6fa5f 100644 --- a/functions-common +++ b/functions-common @@ -1929,10 +1929,6 @@ function enable_service { # For backward compatibility if we have **swift** in ENABLED_SERVICES all the # **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`` # is_service_enabled service [service ...] function is_service_enabled { @@ -1955,7 +1951,6 @@ function is_service_enabled { # TODO(dtroyer): Remove these legacy special-cases after the is_XXX_enabled() # are implemented - [[ ${service} == n-cell-* && ,${ENABLED_SERVICES} =~ ,"n-cell" ]] && enabled=0 [[ ${service} == n-cpu-* && ,${ENABLED_SERVICES} =~ ,"n-cpu" ]] && enabled=0 [[ ${service} == "nova" && ,${ENABLED_SERVICES} =~ ,"n-" ]] && enabled=0 [[ ${service} == "glance" && ,${ENABLED_SERVICES} =~ ,"g-" ]] && enabled=0 diff --git a/lib/neutron-legacy b/lib/neutron-legacy index 82571151e4..87edc5ab81 100644 --- a/lib/neutron-legacy +++ b/lib/neutron-legacy @@ -50,8 +50,6 @@ # See "Neutron Network Configuration" below for additional variables # that must be set in localrc for connectivity across hosts with # Neutron. -# -# With Neutron networking the NETWORK_MANAGER variable is ignored. # Settings # -------- diff --git a/lib/nova b/lib/nova index 6ce1dcc4cc..2efe7cb9b4 100644 --- a/lib/nova +++ b/lib/nova @@ -50,11 +50,9 @@ NOVA_AUTH_CACHE_DIR=${NOVA_AUTH_CACHE_DIR:-/var/cache/nova} NOVA_CONF_DIR=/etc/nova 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_CPU_CONF=$NOVA_CONF_DIR/nova-cpu.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_UWSGI=$NOVA_BIN_DIR/nova-api-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 PUBLIC_INTERFACE_DEFAULT=br100 -FLAT_NETWORK_BRIDGE_DEFAULT=br100 # 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 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 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 # ---------------------------- @@ -183,6 +142,10 @@ TEST_FLOATING_RANGE=${TEST_FLOATING_RANGE:-192.168.253.0/29} # and Glance. 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) ISCSID_DEBUG=$(trueorfalse False ISCSID_DEBUG) ISCSID_DEBUG_LEVEL=${ISCSID_DEBUG_LEVEL:-4} @@ -198,13 +161,6 @@ function is_nova_enabled { 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 # service has TLS enabled function is_nova_console_proxy_compute_tls_enabled { @@ -501,10 +457,6 @@ function create_nova_conf { if [ -n "$NOVA_INSTANCES_PATH" ]; then iniset $NOVA_CONF DEFAULT instances_path "$NOVA_INSTANCES_PATH" 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 iniset $NOVA_CONF DEFAULT use_syslog "True" fi @@ -551,21 +503,6 @@ function create_nova_conf { 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 init_nova_service_user_conf fi @@ -748,42 +685,6 @@ function conductor_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 function create_nova_cache_dir { # Create cache dir @@ -791,18 +692,6 @@ function create_nova_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 function create_nova_keys_dir { # Create keys dir @@ -834,10 +723,6 @@ function init_nova { # Migrate nova and nova_cell0 databases. $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 # Needed for flavor conversion $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 } -# 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 function start_nova_compute { @@ -958,11 +834,7 @@ function start_nova_compute { local old_path=$PATH export PATH=$NOVA_BIN_DIR:$PATH - if is_service_enabled n-cell; then - local compute_cell_conf=$NOVA_CELLS_CONF - else - local compute_cell_conf=$NOVA_CONF - fi + local compute_cell_conf=$NOVA_CONF cp $compute_cell_conf $NOVA_CPU_CONF @@ -1025,22 +897,7 @@ function start_nova_rest { export PATH=$NOVA_BIN_DIR:$PATH local api_cell_conf=$NOVA_CONF - if is_service_enabled n-cell; then - 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" + local compute_cell_conf=$NOVA_CONF run_process n-sch "$NOVA_BIN_DIR/nova-scheduler --config-file $compute_cell_conf" 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" fi - # nova-consoleauth always runs globally - run_process n-cauth "$NOVA_BIN_DIR/nova-consoleauth --config-file $api_cell_conf" - export PATH=$old_path } @@ -1129,11 +983,7 @@ function is_nova_ready { # happen between here and the script ending. However, in multinode # tests this can very often not be the case. So ensure that the # 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 # an external system. if [[ "$VIRT_DRIVER" == 'xenserver' ]]; then @@ -1145,8 +995,6 @@ function is_nova_ready { } function start_nova { - # this catches the cells v1 case early - _set_singleconductor start_nova_rest start_nova_console_proxies start_nova_conductor @@ -1174,7 +1022,7 @@ function stop_nova_compute { function stop_nova_rest { # 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 done } diff --git a/lib/nova_plugins/hypervisor-xenserver b/lib/nova_plugins/hypervisor-xenserver index 6f79e4ff7c..2fdbde1df8 100644 --- a/lib/nova_plugins/hypervisor-xenserver +++ b/lib/nova_plugins/hypervisor-xenserver @@ -24,9 +24,6 @@ set +o xtrace # 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} diff --git a/lib/tempest b/lib/tempest index 95b138c6bf..9f1b677eba 100644 --- a/lib/tempest +++ b/lib/tempest @@ -342,7 +342,7 @@ function configure_tempest { iniset $TEMPEST_CONFIG compute flavor_ref $flavor_ref iniset $TEMPEST_CONFIG compute flavor_ref_alt $flavor_ref_alt 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 fi @@ -391,24 +391,6 @@ function configure_tempest { iniset $TEMPEST_CONFIG compute-feature-enabled scheduler_enabled_filters ${NOVA_FILTERS} 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 iniset $TEMPEST_CONFIG compute-feature-enabled volume_multiattach True fi @@ -554,8 +536,7 @@ function configure_tempest { iniset $TEMPEST_CONFIG compute-feature-enabled shelve False iniset $TEMPEST_CONFIG compute-feature-enabled snapshot False iniset $TEMPEST_CONFIG compute-feature-enabled suspend False - elif ! is_service_enabled n-cell; then - # cells v1 does not support swapping volumes + else iniset $TEMPEST_CONFIG compute-feature-enabled swap_volume True fi fi diff --git a/stack.sh b/stack.sh index fa5b43ce38..7230c1f5cf 100755 --- a/stack.sh +++ b/stack.sh @@ -1167,10 +1167,11 @@ if is_service_enabled neutron; then fi fi + # 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 # Do not kill any dnsmasq instance spawned by NetworkManager netman_pid=$(pidof NetworkManager || true) @@ -1182,12 +1183,6 @@ if is_service_enabled n-net q-dhcp; then 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 sudo sysctl -w net.ipv4.ip_forward=1 fi @@ -1226,13 +1221,11 @@ if is_service_enabled nova; then init_nova # 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 configure_neutron_nova - elif is_service_enabled n-net; then - create_nova_conf_nova_network fi - - init_nova_cells fi @@ -1314,20 +1307,6 @@ elif is_service_enabled q-svc; then echo_summary "Starting Neutron" configure_neutron_after_post_config 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 # Start placement before any of the service that are likely to want diff --git a/stackrc b/stackrc index 2291e3c3d8..3432fb6228 100644 --- a/stackrc +++ b/stackrc @@ -65,7 +65,7 @@ if ! isset ENABLED_SERVICES ; then # Keystone - nothing works without keystone ENABLED_SERVICES=key # 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 ENABLED_SERVICES+=,placement-api,placement-client # 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} 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_NETWORK_SIZE=${FIXED_NETWORK_SIZE:-256} HOST_IP_IFACE=${HOST_IP_IFACE:-} HOST_IP=${HOST_IP:-} HOST_IPV6=${HOST_IPV6:-}