Make remote_db_port and remote_db_ip deprecated
Change-Id: I913dd23ee288fd52dd7d7e0bbd858d6e2e5e8ab0 Closes-Bug: #1627229
This commit is contained in:
parent
ff4a019537
commit
4849c7a521
|
@ -284,8 +284,6 @@ function configure_df_plugin {
|
|||
neutron_server_config_add_new $DRAGONFLOW_CONF
|
||||
fi
|
||||
|
||||
iniset $DRAGONFLOW_CONF df remote_db_ip "$REMOTE_DB_IP"
|
||||
iniset $DRAGONFLOW_CONF df remote_db_port $REMOTE_DB_PORT
|
||||
iniset $DRAGONFLOW_CONF df remote_db_hosts "$REMOTE_DB_HOSTS"
|
||||
iniset $DRAGONFLOW_CONF df nb_db_class "$NB_DRIVER_CLASS"
|
||||
iniset $DRAGONFLOW_CONF df enable_neutron_notifier "$ENABLE_NEUTRON_NOTIFIER"
|
||||
|
|
|
@ -15,8 +15,9 @@ RUBY_VERSION=2.3
|
|||
|
||||
function _redis_env {
|
||||
# REMOTE_DB_* initialized after sourcing
|
||||
export REDIS_SERVER_LIST=$REMOTE_DB_IP
|
||||
export REMOTE_PORT_START=$REMOTE_DB_PORT
|
||||
export REDIS_SERVER_LIST=$(echo $REMOTE_DB_HOSTS | sed 's/,/ /g')
|
||||
export REMOTE_PORT_START=$(echo $REDIS_SERVER_LIST | awk '{print $1}' | cut -d: -f2)
|
||||
export REDIS_SERVER_IPS=$(echo $REDIS_SERVER_LIST | awk -F: 'BEGIN {RS=" "} { print $1 }' | sort | uniq)
|
||||
export NODE_COUNT_END=5
|
||||
export REMOTE_PORT_END=`expr $REMOTE_PORT_START + $NODE_COUNT_END`
|
||||
export REDIS_PORT=`seq $REMOTE_PORT_START $REMOTE_PORT_END`
|
||||
|
@ -33,7 +34,7 @@ function _configure_redis {
|
|||
sudo sh -c "grep -q vm.overcommit_memory /etc/sysctl.conf ||
|
||||
echo vm.overcommit_memory = 1 >> /etc/sysctl.conf"
|
||||
sudo sh -c "sysctl -p"
|
||||
for redisserver in $REDIS_SERVER_LIST; do
|
||||
for redisserver in $REDIS_SERVER_IPS; do
|
||||
for port in $REDIS_PORT; do
|
||||
echo "shutdown redis: "$redisserver:$port
|
||||
cp redis.conf /opt/redis3/conf/redis-$port.conf
|
||||
|
@ -118,28 +119,28 @@ function nb_db_driver_start_server {
|
|||
test -f /opt/redis3/conf/nodes-$port.conf || { create=true; break 2 ; }
|
||||
done
|
||||
done
|
||||
# start redis
|
||||
for redisserver in $REDIS_SERVER_LIST; do
|
||||
for port in $REDIS_PORT; do
|
||||
echo $redisserver:$port
|
||||
pushd /opt/redis3/
|
||||
[ "$create" ] && {
|
||||
# start redis
|
||||
for redisserver in $REDIS_SERVER_IPS; do
|
||||
for port in $REDIS_PORT; do
|
||||
echo $redisserver:$port
|
||||
pushd /opt/redis3/
|
||||
[ "$create" ] && {
|
||||
|
||||
sudo rm nodes* -rf
|
||||
}
|
||||
sudo rm nodes* -rf
|
||||
}
|
||||
|
||||
./bin/redis-server ./conf/redis-$port.conf &
|
||||
redis_cluster="$redis_cluster"" ""$redisserver:$port"
|
||||
popd
|
||||
done
|
||||
done
|
||||
# create cluster
|
||||
[ "$create" ] && {
|
||||
echo "Create the Redis cluster: "$redis_cluster
|
||||
pushd /opt/redis3/bin/
|
||||
echo "yes" | sudo ./redis-trib.rb create --replicas 1 $redis_cluster
|
||||
popd
|
||||
}
|
||||
./bin/redis-server ./conf/redis-$port.conf &
|
||||
redis_cluster="$redis_cluster"" ""$redisserver:$port"
|
||||
popd
|
||||
done
|
||||
done
|
||||
# create cluster
|
||||
[ "$create" ] && {
|
||||
echo "Create the Redis cluster: "$redis_cluster
|
||||
pushd /opt/redis3/bin/
|
||||
echo "yes" | sudo ./redis-trib.rb create --replicas 1 $redis_cluster
|
||||
popd
|
||||
}
|
||||
|
||||
fi
|
||||
fi
|
||||
|
@ -149,7 +150,7 @@ function nb_db_driver_stop_server {
|
|||
_redis_env
|
||||
if is_service_enabled df-redis-server ; then
|
||||
if is_ubuntu || is_fedora; then
|
||||
for redisserver in $REDIS_SERVER_LIST; do
|
||||
for redisserver in $REDIS_SERVER_IPS; do
|
||||
for port in $REDIS_PORT; do
|
||||
echo "Shutdown Redis: "$redisserver:$port
|
||||
sudo /opt/redis3/bin/redis-cli -p $port shutdown
|
||||
|
|
|
@ -20,6 +20,8 @@ function _zookeeper_env {
|
|||
export ZOOKEEPER_DATA_DIR="/var/lib/zookeeper"
|
||||
export ZOOKEEPER_LOG_DIR="/var/log/zookeeper"
|
||||
export ZOOKEEPER_DIR="/etc/zookeeper"
|
||||
local SERVER_LIST=$(echo $REMOTE_DB_HOSTS | sed 's/,/ /g')
|
||||
export ZOOKEEPER_SERVER_PORT=$(echo $SERVER_LIST | awk -F: 'BEGIN {RS=" "} { print $2 }' | sort | uniq | tail -1)
|
||||
}
|
||||
|
||||
function update_key_in_file {
|
||||
|
@ -58,7 +60,7 @@ function nb_db_driver_install_server {
|
|||
if [ -f $ZOOKEEPER_CONF_FILE ] ; then
|
||||
update_key_in_file dataDir "${ZOOKEEPER_DATA_DIR}" $ZOOKEEPER_CONF_FILE
|
||||
update_key_in_file dataLogDir "${ZOOKEEPER_LOG_DIR}" $ZOOKEEPER_CONF_FILE
|
||||
update_key_in_file clientPort "${REMOTE_DB_PORT}" $ZOOKEEPER_CONF_FILE
|
||||
update_key_in_file clientPort "${ZOOKEEPER_SERVER_PORT}" $ZOOKEEPER_CONF_FILE
|
||||
update_key_in_file "server.1" "${HOSTNAME}:2888:3888" $ZOOKEEPER_CONF_FILE
|
||||
fi
|
||||
sudo systemctl restart zookeeper
|
||||
|
|
|
@ -125,8 +125,7 @@ Next you need to change the configuration, for example, etcd:
|
|||
|
||||
[df]
|
||||
nb_db_class = etcd_nb_db_driver
|
||||
remote_db_port = {etcd_port}
|
||||
remote_db_ip = {etcd_ip}
|
||||
remote_db_hosts = [{etcd_ip}:{etcd_port}]
|
||||
|
||||
Pub/Sub Driver
|
||||
--------------
|
||||
|
|
|
@ -29,7 +29,7 @@ enable_service df-metadata
|
|||
SERVICE_HOST=<IP address of host running everything else>
|
||||
RABBIT_HOST=$SERVICE_HOST
|
||||
Q_HOST=$SERVICE_HOST
|
||||
REMOTE_DB_IP=$SERVICE_HOST
|
||||
REMOTE_DB_HOSTS="$SERVICE_HOST:2379"
|
||||
|
||||
# Make VNC work on compute node
|
||||
NOVA_VNC_ENABLED=True
|
||||
|
|
|
@ -39,7 +39,7 @@ REMOTE_DB_PORT=21222
|
|||
SERVICE_HOST=<Controller_node_IP_Address>
|
||||
RABBIT_HOST=$SERVICE_HOST
|
||||
Q_HOST=$SERVICE_HOST
|
||||
REMOTE_DB_IP=$SERVICE_HOST
|
||||
REMOTE_DB_HOSTS="$SERVICE_HOST:4001"
|
||||
|
||||
# Make VNC work on compute node
|
||||
NOVA_VNC_ENABLED=True
|
||||
|
|
|
@ -39,7 +39,7 @@ enable_service df-metadata
|
|||
SERVICE_HOST=<IP address of host running everything else>
|
||||
RABBIT_HOST=$SERVICE_HOST
|
||||
Q_HOST=$SERVICE_HOST
|
||||
REMOTE_DB_IP=$SERVICE_HOST
|
||||
REMOTE_DB_HOSTS="$SERVICE_HOST:4001"
|
||||
|
||||
# Make VNC work on compute node
|
||||
NOVA_VNC_ENABLED=True
|
||||
|
|
|
@ -39,7 +39,7 @@ REMOTE_DB_PORT=28015
|
|||
SERVICE_HOST=<Controller_node_IP_Address>
|
||||
RABBIT_HOST=$SERVICE_HOST
|
||||
Q_HOST=$SERVICE_HOST
|
||||
REMOTE_DB_IP=$SERVICE_HOST
|
||||
REMOTE_DB_HOSTS="$SERVICE_HOST:4001"
|
||||
|
||||
# Make VNC work on compute node
|
||||
NOVA_VNC_ENABLED=True
|
||||
|
|
|
@ -18,9 +18,11 @@ from dragonflow._i18n import _
|
|||
df_opts = [
|
||||
cfg.IPOpt('remote_db_ip',
|
||||
default='127.0.0.1',
|
||||
deprecated_for_removal=True,
|
||||
help=_('The remote db server ip address')),
|
||||
cfg.PortOpt('remote_db_port',
|
||||
default=4001,
|
||||
deprecated_for_removal=True,
|
||||
help=_('The remote db server port')),
|
||||
cfg.ListOpt('remote_db_hosts',
|
||||
default=['$remote_db_ip:$remote_db_port'],
|
||||
|
|
|
@ -34,6 +34,19 @@ LOG = log.getLogger(__name__)
|
|||
_nb_api = None
|
||||
|
||||
|
||||
def get_db_ip_port():
|
||||
hosts = cfg.CONF.df.remote_db_hosts
|
||||
if not hosts:
|
||||
LOG.warning("Deprecated: remote_db_ip and remote_db_port are "
|
||||
"deprecated for removal. Use remote_db_hosts instead")
|
||||
ip = cfg.CONF.df.remote_db_ip
|
||||
port = cfg.CONF.df.remote_db_port
|
||||
return ip, port
|
||||
host = hosts[0]
|
||||
ip, port = host.split(':')
|
||||
return ip, port
|
||||
|
||||
|
||||
def _get_topic(obj):
|
||||
try:
|
||||
return getattr(obj, 'topic', None)
|
||||
|
@ -70,8 +83,8 @@ class NbApi(object):
|
|||
nb_driver,
|
||||
use_pubsub=cfg.CONF.df.enable_df_pub_sub,
|
||||
is_neutron_server=is_neutron_server)
|
||||
nb_api.initialize(db_ip=cfg.CONF.df.remote_db_ip,
|
||||
db_port=cfg.CONF.df.remote_db_port)
|
||||
ip, port = get_db_ip_port()
|
||||
nb_api.initialize(db_ip=ip, db_port=port)
|
||||
_nb_api = nb_api
|
||||
return _nb_api
|
||||
|
||||
|
|
|
@ -15,9 +15,9 @@
|
|||
import etcd3gw
|
||||
import threading
|
||||
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log as logging
|
||||
|
||||
from dragonflow.db import api_nb
|
||||
from dragonflow.db import pub_sub_api
|
||||
|
||||
|
||||
|
@ -51,8 +51,8 @@ class EtcdPublisherAgent(pub_sub_api.PublisherAgentBase):
|
|||
|
||||
def initialize(self):
|
||||
super(EtcdPublisherAgent, self).__init__()
|
||||
self.client = etcd3gw.client(host=cfg.CONF.df.remote_db_ip,
|
||||
port=cfg.CONF.df.remote_db_port)
|
||||
ip, port = api_nb.get_db_ip_port()
|
||||
self.client = etcd3gw.client(host=ip, port=port)
|
||||
|
||||
def _send_event(self, data, topic):
|
||||
topic_prefix = _get_topic_watch_prefix(topic)
|
||||
|
@ -94,8 +94,8 @@ class EtcdSubscriberAgent(pub_sub_api.SubscriberApi):
|
|||
def initialize(self, callback):
|
||||
self.db_changes_callback = callback
|
||||
self.stop_event = threading.Event()
|
||||
self.client = etcd3gw.client(host=cfg.CONF.df.remote_db_ip,
|
||||
port=cfg.CONF.df.remote_db_port)
|
||||
ip, port = api_nb.get_db_ip_port()
|
||||
self.client = etcd3gw.client(host=ip, port=port)
|
||||
|
||||
def _create_topic_thread(self, topic):
|
||||
topic_thread = WatcherThread(
|
||||
|
|
|
@ -18,8 +18,8 @@ from oslo_log import log as logging
|
|||
from oslo_serialization import jsonutils
|
||||
import redis
|
||||
|
||||
from dragonflow import conf as cfg
|
||||
from dragonflow.controller.common import constants
|
||||
from dragonflow.db import api_nb
|
||||
from dragonflow.db.drivers import redis_mgt
|
||||
from dragonflow.db import pub_sub_api
|
||||
|
||||
|
@ -54,9 +54,8 @@ class RedisPublisherAgent(pub_sub_api.PublisherAgentBase):
|
|||
def initialize(self):
|
||||
# find a publisher server node
|
||||
super(RedisPublisherAgent, self).initialize()
|
||||
self.redis_mgt = redis_mgt.RedisMgt.get_instance(
|
||||
cfg.CONF.df.remote_db_ip,
|
||||
cfg.CONF.df.remote_db_port)
|
||||
ip, port = api_nb.get_db_ip_port()
|
||||
self.redis_mgt = redis_mgt.RedisMgt.get_instance(ip, port)
|
||||
self._update_client()
|
||||
|
||||
def close(self):
|
||||
|
@ -136,9 +135,8 @@ class RedisSubscriberAgent(pub_sub_api.SubscriberAgentBase):
|
|||
def initialize(self, callback):
|
||||
# find a subscriber server node and run daemon
|
||||
super(RedisSubscriberAgent, self).initialize(callback)
|
||||
self.redis_mgt = redis_mgt.RedisMgt.get_instance(
|
||||
cfg.CONF.df.remote_db_ip,
|
||||
cfg.CONF.df.remote_db_port)
|
||||
ip, port = api_nb.get_db_ip_port()
|
||||
self.redis_mgt = redis_mgt.RedisMgt.get_instance(ip, port)
|
||||
self._update_client()
|
||||
self.is_closed = False
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
|
||||
from dragonflow.common import utils as df_utils
|
||||
from dragonflow import conf as cfg
|
||||
from dragonflow.db import api_nb
|
||||
from dragonflow.tests.database import test_db_api
|
||||
from dragonflow.tests.fullstack import test_base
|
||||
|
||||
|
@ -23,6 +24,5 @@ class TestDbApi(test_base.DFTestBase, test_db_api.TestDbApi):
|
|||
self.driver = df_utils.load_driver(
|
||||
cfg.CONF.df.nb_db_class,
|
||||
df_utils.DF_NB_DB_DRIVER_NAMESPACE)
|
||||
self.driver.initialize(cfg.CONF.df.remote_db_ip,
|
||||
cfg.CONF.df.remote_db_port,
|
||||
config=cfg.CONF.df)
|
||||
ip, port = api_nb.get_db_ip_port()
|
||||
self.driver.initialize(ip, port, config=cfg.CONF.df)
|
||||
|
|
Loading…
Reference in New Issue