All nova tables gone during lunch new compute node
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
devstack |
Expired
|
Undecided
|
Unassigned |
Bug Description
Hi All
I am having below serious issues when setting up Multi node Devstack environment with Quantum + OpenVswitch.
Controller Node works well with below settings. all services including scheduler, quantum works great.
Controller Node localrc
=========
# -*- mode: shell-script -*-
# Setting OFFLINE to True switches off download of packages.
OFFLINE=False
# Setting RECLONE=yes will make stack.sh freshen each repo on each run.
RECLONE=yes
# Setting USE_TUNNELS=True will make OVS plugin run in tunnel mode.
USE_TUNNELS=True
# Destination path for installation of the OpenStack components.
# There is no need to specify it unless you want the code in
# some particular location (like in a directory shared by all VMs).
#DEST=/opt/stack
# Running DevStack with multiple hosts requires a custom localrc file
# for each host. The master is the same as a single host in installation
# with MULTI_HOST=True.
MULTI_HOST=True
# We do not run Nova CPU service, nor the Quantum L2/L3/DHCP agents on the
# controller node. However, Nova CPU service is enabled here, otherwise
# the stack.sh script does not setup things properly. Instead, we shutdown
# the Nova CPU service in local.sh.
disable_service n-net
#disable_service n-cpu
enable_service quantum
enable_service q-svc
#enable_service q-agt
#enable_service q-dhcp
#enable_service q-l3
# We only activate q-meta on the Controller to make the stack.sh
# enable the 'service_
# The quantum metadata agent will run on the Controller but will
# not be used.
enable_service q-meta
# For multinode setups we want a scheduler to distribute VMs.
SCHEDULER=
# Use the OpenVSwitch plugin.
Q_PLUGIN=
# My Controller/Network node has NATed access to the external world.
# Its default GW is 172.16.6.2 (provided by VMware Fusion), the VM host
# (my MBP) has IP address 172.16.6.1 (on vmnet8).
# eth0 - interface towards Internet
# eth1 - interface to management network
# eth2 - interface for tenant VM traffic
# The management network where my Devstack machines reside.
# ALWAYS VERIFY IT BEFORE RUNNING stack.sh!
MY_NET=
#######
# OpenVSwitch plugin settings
# -------
if [ "$USE_TUNNELS" == "True" ]; then
# Set OVS plugin to (GRE) tunnel mode.
ENABLE_
OVS_
TENANT_
ENABLE_
# The interface and bridge for tenant VM traffic.
#GUEST_
tunnel_
else
# Set OVS plugin to VLAN mode.
ENABLE_
OVS_
ENABLE_
TENANT_
PHYSICAL_
# The interface for tenant VM traffic.
#GUEST_
OVS_
OVS_
tunnel_flag=""
fi
# Cleanup old stuff that may remain. Only useful if L3/DHCP agents
# run on the controller. Also, we only do this when stack.sh is
# the executed script.
#scriptname=
#if [ $scriptname == "stack.sh" ]; then
# sudo ~/bin/quantum_
#fi
# If you plan to run Nova or L3/DHCP agents on the controller
# you need to perform the following to setup the interfaces and bridges
# that the 'stack.sh' script won't. Again we only do this if stack.sh
# is the executed script.
#if [ $scriptname == "stack.sh" ]; then
# sudo ~/bin/quantum_
#fi
# End of OpenVSwitch plugin settings.
#######
# ``HOST_IP`` is not set by default.
# This is the management network IP address of the Controller.
HOST_IP=
# The Internet facing IP address. Set it to IP number rather than name
# since we don't have names in DNS.
SERVICE_HOST=`awk '/ControllerPublic/ { print $1; } ' /etc/hosts`
# Settings to get NoVNC to work.
VNCSERVER_
VNCSERVER_
# Some network address settings relevant for my configuration.
FLAT_INTERFACE=
FIXED_RANGE=
NETWORK_
FIXED_NETWORK_
FLOATING_
# Logging
# -------
# By default ``stack.sh`` output only goes to the terminal where it runs. It can
# be configured to additionally log to a file by setting ``LOGFILE`` to the full
# path of the destination log file. A timestamp will be appended to the given name.
LOGFILE=
MYSQL_PASSWORD=
MYSQL_USER=stacker
RABBIT_
SERVICE_
SERVICE_
ADMIN_PASSWORD=
SERVICE_
# Type of virtualization to use. Options: kvm, lxc, qemu
LIBVIRT_TYPE=kvm
# Uncomment this to use LXC virtualization instead of (slower) QEMU.
#LIBVIRT_TYPE=lxc
# List of images to use.
case "$LIBVIRT_TYPE" in
lxc) # the cirros root disk in the uec tarball is empty, so it will not work for lxc
IMAGE_URLS="http://
*) # otherwise, use the uec style image (with kernel, ramdisk, disk)
IMAGE_URLS="http://
esac
# Uncomment this to set the default instance type.
#DEFAULT_
=======
Controller Node nova.conf
=======
[DEFAULT]
verbose=True
auth_strategy=
allow_resize_
api_paste_
rootwrap_
compute_
dhcpbridge_
force_dhcp_
fixed_range=
s3_host=
s3_port=3333
osapi_compute_
my_ip=192.
sql_connection=
libvirt_type=kvm
libvirt_
instance_
enabled_
volume_
state_path=
lock_path=
instances_
multi_host=True
send_arp_
use_syslog=True
logging_
%(user_name)s %(project_name)s] %(instance)
network_
quantum_
quantum_
quantum_
quantum_
quantum_
quantum_url=http://
libvirt_
linuxnet_
service_
novncproxy_
xvpvncproxy_
vncserver_listen=
vncserver_
ec2_dmz_
rabbit_
rabbit_
glance_
compute_
firewall_
when i lunch new compute node with below localrc
Compute Node localrc
=======
# -*- mode: shell-script -*-
# Setting OFFLINE to True switches off download of packages.
OFFLINE=False
# Setting RECLONE=yes will make stack.sh freshen each repo on each run.
RECLONE=yes
# Setting USE_TUNNELS=True will make OVS plugin run in tunnel mode.
USE_TUNNELS=True
# Destination path for installation of the OpenStack components.
# There is no need to specify it unless you want the code in
# some particular location (like in a directory shared by all VMs).
#DEST=/opt/stack
# Running DevStack with multiple hosts requires a custom localrc file
# for each host. The master is the same as a single host in installation
# with MULTI_HOST=True.
MULTI_HOST=True
# Run these services.
#ENABLED_
#ENABLED_
ENABLED_
# Use the OpenVSwitch plugin.
Q_PLUGIN=
# The ComputeNode VM has direct access to the internet only to
# simply updates using apt-get, git, etc.
# eth0 - Convenience interface towards Internet
# eth1 - interface to management network
# eth2 - interface for tenant VM traffic
# The management network where the Devstack machines reside.
# ALWAYS VERIFY IT BEFORE RUNNING stack.sh!
MY_NET=
# The IP addresses of the controller node.
# The Internet facing IP address. Set it to IP number rather than name
# since we don't have names in DNS.
SERVICE_HOST=`awk '/ControllerPublic/ { print $1; } ' /etc/hosts`
# The management network facing IP address.
CONTROLLER_
#######
# OpenVSwitch plugin settings
# -------
if [ "$USE_TUNNELS" == "True" ]; then
# Set OVS plugin to (GRE) tunnel mode.
ENABLE_
OVS_
TENANT_
ENABLE_
# The interface and bridge for tenant VM traffic.
#GUEST_
tunnel_
else
# Set OVS plugin to VLAN mode.
ENABLE_
OVS_
ENABLE_
TENANT_
PHYSICAL_
# The interface for tenant VM traffic.
#GUEST_
OVS_
OVS_
tunnel_flag=""
fi
# Cleanup old stuff that may remain. We only do this when stack.sh is
# the executed script.
scriptname=
if [ $scriptname == "stack.sh" ]; then
sudo ~/bin/quantum_
fi
# Setup the interfaces and bridges that the 'stack.sh' script won't.
# Again we only do this if stack.sh is the executed script.
if [ $scriptname == "stack.sh" ]; then
host=`hostname`
cidr=`grep $host /etc/hosts | awk '/172.16.2/ { print $1 }'`'/24'
sudo ~/bin/quantum_
fi
# End of OpenVSwitch plugin settings.
#######
# ``HOST_IP`` is not set by default.
# This is the management network IP address of this ComputeNode.
HOST_IP=
# Settings to get NoVNC to work.
VNCSERVER_
VNCSERVER_
# Some network address settings relevant for my configuration.
FLAT_INTERFACE=
FIXED_RANGE=
NETWORK_
FIXED_NETWORK_
FLOATING_
# Logging
# -------
# By default ``stack.sh`` output only goes to the terminal where it runs. It can
# be configured to additionally log to a file by setting ``LOGFILE`` to the full
# path of the destination log file. A timestamp will be appended to the given name.
LOGFILE=
MYSQL_PASSWORD=
MYSQL_USER=stacker
RABBIT_
SERVICE_
SERVICE_
ADMIN_PASSWORD=
SERVICE_
MYSQL_HOST=
RABBIT_
KEYSTONE_
GLANCE_
Q_HOST=
#SYSLOG_
# Type of virtualization to use. Options: kvm, lxc, qemu
LIBVIRT_TYPE=kvm
# Uncomment this to use LXC virtualization instead of (slower) QEMU.
#LIBVIRT_TYPE=lxc
=======
I got below syslog, one thing need notice is when new compute node executing nova-manage db sync.....
14:29 14929 ERROR nova.manager [-] Error during ComputeManager.
this result in all tables in nova databases are gone.
mysql> show databases;
+------
| Database |
+------
| information_schema |
| cinder |
| glance |
| keystone |
| mysql |
| nova |
| ovs_quantum |
| performance_schema |
| test |
+------
9 rows in set (0.00 sec)
mysql> use nova;
Database changed
mysql> show tables;
Empty set (0.00 sec)
mysql>
Changed in devstack: | |
status: | New → Incomplete |
[Expired for devstack because there has been no activity for 60 days.]