Skip to content

Commit

Permalink
Merge "Fixes: Contrail ISSU from 2.21->3.1 Description: Back porting …
Browse files Browse the repository at this point in the history
…contrail ISSU necessary changes from 3.1 to 2.21. ClosesBug: 1658863" into R3.1
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Jan 26, 2017
2 parents 13155d3 + 211eced commit 11cc931
Show file tree
Hide file tree
Showing 4 changed files with 267 additions and 10 deletions.
6 changes: 5 additions & 1 deletion src/config/common/vnc_cassandra.py
Expand Up @@ -137,7 +137,11 @@ def __init__(self, server_list, db_prefix, rw_keyspaces, ro_keyspaces,
self._cache_uuid_to_fq_name = {}
self._obj_uuid_cf = self._cf_dict[self._OBJ_UUID_CF_NAME]
self._obj_fq_name_cf = self._cf_dict[self._OBJ_FQ_NAME_CF_NAME]
self._obj_shared_cf = self._cf_dict[self._OBJ_SHARED_CF_NAME]
if (((self._ro_keyspaces) and
(self._OBJ_SHARED_CF_NAME in self._ro_keyspaces[self._UUID_KEYSPACE_NAME])) or
((self._rw_keyspaces) and
(self._OBJ_SHARED_CF_NAME in self._rw_keyspaces[self._UUID_KEYSPACE_NAME]))):
self._obj_shared_cf = self._cf_dict[self._OBJ_SHARED_CF_NAME]
if walk:
self.walk()
# end __init__
Expand Down
20 changes: 11 additions & 9 deletions src/config/contrail_issu/contrail_issu/issu_contrail_config.py
Expand Up @@ -27,13 +27,12 @@ def lognprint(x, level):

issu_keyspace_config_db_uuid = {
'config_db_uuid': [
('obj_uuid_table'), ('obj_fq_name_table'), ('obj_shared_table')]}
('obj_uuid_table'), ('obj_fq_name_table')]}

issu_info_pre = [
(None, 'config_db_uuid', {
'obj_uuid_table': {},
'obj_fq_name_table': {},
'obj_shared_table': {}}),
'obj_fq_name_table': {}}),
(None, 'to_bgp_keyspace', {
'route_target_table': {}, 'service_chain_table': {},
'service_chain_ip_address_table': {},
Expand All @@ -42,7 +41,7 @@ def lognprint(x, level):
(None, 'svc_monitor_keyspace', {
'pool_table': {}, 'service_instance_table': {}}),
(None, 'dm_keyspace', {
'dm_pr_vn_ip_table': {}, 'dm_pnf_resource_table': {}})]
'dm_pr_vn_ip_table': {}})]

issu_keyspace_to_bgp_keyspace = {
'to_bgp_keyspace': [
Expand All @@ -55,10 +54,13 @@ def lognprint(x, level):
'svc_monitor_keyspace': [('pool_table'), ('service_instance_table')]}

issu_keyspace_dm_keyspace = {
'dm_keyspace': [('dm_pr_vn_ip_table'), ('dm_pnf_resource_table')]}
'dm_keyspace': [('dm_pr_vn_ip_table')]}


issu_info_post = [
(None, 'config_db_uuid', {
'obj_uuid_table': {},
'obj_fq_name_table':{}}),
(None, 'to_bgp_keyspace', {
'route_target_table': {}, 'service_chain_table': {},
'service_chain_ip_address_table': {},
Expand All @@ -67,12 +69,12 @@ def lognprint(x, level):
(None, 'svc_monitor_keyspace', {
'pool_table': {}, 'service_instance_table': {}}),
(None, 'dm_keyspace', {
'dm_pr_vn_ip_table': {}, 'dm_pnf_resource_table': {}})]
'dm_pr_vn_ip_table': {}})]

issu_info_config_db_uuid = [
(None, 'config_db_uuid', {
'obj_uuid_table': {},
'obj_fq_name_table': {}, 'obj_shared_table': {}})]
'obj_fq_name_table': {}})]

issu_znode_list = ['fq-name-to-uuid', 'api-server', 'id']

Expand All @@ -88,10 +90,10 @@ def parse_args(args_str=None):
'new_rabbit_password': 'guest',
'new_rabbit_ha_mode': False,
'new_rabbit_q_name': 'vnc-config.issu-queue',
'new_rabbit_vhost' : '/v2',
'new_rabbit_vhost' : '',
'new_rabbit_port': '5672',
'odb_prefix' : '',
'ndb_prefix': 'v2',
'ndb_prefix': '',
'reset_config': None,
'old_cassandra_address_list': '10.84.24.35:9160',
'old_zookeeper_address_list': '10.84.24.35:2181',
Expand Down
1 change: 1 addition & 0 deletions src/config/utils/SConscript
Expand Up @@ -49,6 +49,7 @@ utils_scripts = [
'provision_user_defined_log_statistics.py',
'contrail-diff-docs.py',
'provision_issu.py',
'issu_process.sh',
]

for utils in utils_scripts:
Expand Down
250 changes: 250 additions & 0 deletions src/config/utils/issu_process.sh
@@ -0,0 +1,250 @@

#!/usr/bin/env bash

function issu_contrail_switch_compute_node {
route -n
openstack-config --set /etc/contrail/contrail-vrouter-agent.conf DISCOVERY server $1
openstack-config --set /etc/contrail/supervisord_vrouter_files/contrail-vrouter-agent.ini program:contrail-vrouter-agent autostart true
openstack-config --set /etc/contrail/supervisord_vrouter_files/contrail-vrouter-agent.ini program:contrail-vrouter-agent killasgroup true
openstack-config --set /etc/contrail/contrail-vrouter-nodemgr.conf DISCOVERY server $1
service supervisor-vrouter stop; rmmod vrouter;modprobe vrouter;service supervisor-vrouter start
contrail-status
route -n
}

function issu_contrail_prepare_compute_node {
route -n
#openstack-config --del /etc/contrail/supervisord_vrouter_files/contrail-vrouter-agent.ini program:contrail-vrouter-agent autostart
#openstack-config --del /etc/contrail/supervisord_vrouter_files/contrail-vrouter-agent.ini program:contrail-vrouter-agent killasgroup
#contrail-status
}

function issu_contrail_set_supervisord_config_files {
local cmd="openstack-config --set /etc/contrail/supervisord_config_files/$1.ini program:$1"
$cmd autostart $2
$cmd autorestart $2
$cmd killasgroup $2
}

function issu_contrail_prepare_new_control_node {
contrail-status
issu_contrail_set_supervisord_config_files 'contrail-device-manager' 'false'
issu_contrail_set_supervisord_config_files 'contrail-svc-monitor' 'false'
issu_contrail_set_supervisord_config_files 'contrail-schema' 'false'

openstack-config --set /etc/contrail/supervisord_config_files/contrail-config-nodemgr.ini eventlistener:contrail-config-nodemgr autorestart false
openstack-config --set /etc/contrail/supervisord_config_files/contrail-config-nodemgr.ini eventlistener:contrail-config-nodemgr autostart false

contrail-status
service supervisor-config restart
contrail-status
service supervisor-config stop
contrail-status
}

function issu_contrail_post_new_control_node {
contrail-status
#openstack-config --set /etc/contrail/supervisord_config.conf include files \"/etc/contrail/supervisord_config_files/*.ini\"

issu_contrail_set_supervisord_config_files 'contrail-device-manager' 'true'
issu_contrail_set_supervisord_config_files 'contrail-svc-monitor' 'true'
issu_contrail_set_supervisord_config_files 'contrail-schema' 'true'

openstack-config --del /etc/contrail/supervisord_config_files/contrail-config-nodemgr.ini eventlistener:contrail-config-nodemgr autorestart
openstack-config --del /etc/contrail/supervisord_config_files/contrail-config-nodemgr.ini eventlistener:contrail-config-nodemgr autostart

service supervisor-config restart
contrail-status

}

function issu_pre_sync {
contrail-issu-pre-sync -c /etc/contrail/contrail-issu.conf
}

function issu_run_sync {
local cmd='openstack-config --set /etc/supervisor/conf.d/contrail-issu.conf program:contrail-issu'
touch /etc/supervisor/conf.d/contrail-issu.conf
$cmd command 'contrail-issu-run-sync --conf_file /etc/contrail/contrail-issu.conf'
$cmd numprocs 1
openstack-config --set /etc/supervisor/conf.d/contrail-issu.conf program:contrail-issu process_name '%(process_num)s'
$cmd redirect_stderr true
openstack-config --set /etc/supervisor/conf.d/contrail-issu.conf program:contrail-issu stdout_logfile '/var/log/issu-contrail-run-sync-%(process_num)s-stdout.log'
openstack-config --set /etc/supervisor/conf.d/contrail-issu.conf program:contrail-issu stderr_logfile '/dev/null'
$cmd priority 440
$cmd autostart true
$cmd killasgroup false
$cmd stopsignal KILL
$cmd exitcodes 0
service supervisor restart
}

function issu_post_sync {
rm -f /etc/supervisor/conf.d/contrail-issu.conf
service supervisor restart
contrail-issu-post-sync -c /etc/contrail/contrail-issu.conf
contrail-issu-zk-sync -c /etc/contrail/contrail-issu.conf
}

function issu_contrail_generate_conf {
local myfile="/tmp/contrail-issu.conf"
issu_contrail_get_and_set_old_conf $1 $myfile
issu_contrail_get_and_set_new_conf $2 $myfile
echo $1 $2
}

function issu_contrail_get_and_set_old_conf {
local get_old_cmd="openstack-config --get $1 DEFAULTS"
local has_old_cmd="openstack-config --has $1 DEFAULTS"
local set_cmd="openstack-config --set $2 DEFAULTS"

cmd="$get_old_cmd cassandra_server_list"
val=$($cmd)
$set_cmd old_cassandra_address_list "$val"

cmd="$get_old_cmd zk_server_ip"
val=$($cmd)
$set_cmd old_zookeeper_address_list "$val"

cmd="$has_old_cmd rabbit_user"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_old_cmd rabbit_user"
val=$($cmd)
$set_cmd old_rabbit_user "$val"
fi

cmd="$has_old_cmd rabbit_password"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_old_cmd rabbit_password"
val=$($cmd)
$set_cmd old_rabbit_password "$val"
fi

cmd="$has_old_cmd rabbit_vhost"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_old_cmd rabbit_vhost"
val=$($cmd)
$set_cmd old_rabbit_vhost "$val"
fi

cmd="$has_old_cmd rabbit_ha_mode"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_old_cmd rabbit_ha_mode"
val=$($cmd)
$set_cmd old_rabbit_ha_mode "$val"
fi

cmd="$has_old_cmd rabbit_port"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_old_cmd rabbit_port"
val=$($cmd)
$set_cmd old_rabbit_port "$val"
fi

cmd="$has_old_cmd rabbit_server"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_old_cmd rabbit_server"
val=$($cmd)
$set_cmd old_rabbit_address_list "$val"
fi

cmd="$has_old_cmd cluster_id"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_old_cmd cluster_id"
val=$($cmd)
$set_cmd odb_prefix "$val"
fi


}

function issu_contrail_get_and_set_new_conf {
local get_new_cmd="openstack-config --get $1 DEFAULTS"
local set_cmd="openstack-config --set $2 DEFAULTS"
local has_new_cmd="openstack-config --has $1 DEFAULTS"

cmd="$get_new_cmd cassandra_server_list"
val=$($cmd)
$set_cmd new_cassandra_address_list "$val"

cmd="$get_new_cmd zk_server_ip"
val=$($cmd)
$set_cmd new_zookeeper_address_list "$val"

cmd="$has_new_cmd rabbit_user"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_new_cmd rabbit_user"
val=$($cmd)
$set_cmd new_rabbit_user "$val"
fi

cmd="$has_new_cmd rabbit_password"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_new_cmd rabbit_password"
val=$($cmd)
$set_cmd new_rabbit_password "$val"
fi

cmd="$has_new_cmd rabbit_vhost"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_new_cmd rabbit_vhost"
val=$($cmd)
$set_cmd new_rabbit_vhost "$val"
fi

cmd="$has_new_cmd rabbit_ha_mode"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_new_cmd rabbit_ha_mode"
val=$($cmd)
$set_cmd new_rabbit_ha_mode "$val"
fi

cmd="$has_new_cmd rabbit_port"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_new_cmd rabbit_port"
val=$($cmd)
$set_cmd new_rabbit_port "$val"
fi

cmd="$has_new_cmd rabbit_server"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_new_cmd rabbit_server"
val=$($cmd)
$set_cmd new_rabbit_address_list "$val"
fi

cmd="$has_new_cmd cluster_id"
val=$($cmd)
if [ $val == 1 ]
then
cmd="$get_new_cmd cluster_id"
val=$($cmd)
$set_cmd ndb_prefix "$val"
fi
}

0 comments on commit 11cc931

Please sign in to comment.