Skip to content

Commit

Permalink
Executing the cassandra config fixup and
Browse files Browse the repository at this point in the history
intermidiate database upgrade in config nodes
in case of the split-db setup

Change-Id: I8abd3ee37b2dfc8306afe952f3f5f152d77072e6
Closes-bug: 1658807
(cherry picked from commit c9fa1e8)
  • Loading branch information
cijohnson committed Jan 24, 2017
1 parent 3ebc6ba commit e4f3b02
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 5 deletions.
32 changes: 32 additions & 0 deletions contrail_provisioning/config/upgrade.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
from contrail_provisioning.common.upgrade import ContrailUpgrade
from contrail_provisioning.config.common import ConfigBaseSetup
from contrail_provisioning.config.openstack import ConfigOpenstackSetup
from contrail_provisioning.database.migrate import DatabaseMigrate
from contrail_provisioning.database.base import DatabaseCommon


class ConfigUpgrade(ContrailUpgrade, ConfigSetup):
Expand Down Expand Up @@ -72,8 +74,38 @@ def update_upgrade_data(self):
if (self._args.from_rel >= LooseVersion('2.10')):
self.upgrade_data['restore'].append('/etc/contrail/contrail-device-manager.conf')

if self._args.manage_db:
# From R3.1, zookeeper-3.4.8-0contrail1 is in use
# which creates zoo.cfg at /etc/zookeeper/zoo.cfg while the older
# version zookeeper-3.4.3-1 created at /etc/zookeeper/conf/zoo.cfg
if (self._args.from_rel < LooseVersion('3.1.0.0') and
self.pdist in ['redhat']):
self.upgrade_data['backup'] += ['/etc/zookeeper/conf/zoo.cfg']
self.upgrade_data['restore'] += ['/etc/zookeeper/conf/zoo.cfg']
self.upgrade_data['rename_config'] += [('/etc/zookeeper/conf/zoo.cfg', '/etc/zookeeper/zoo.cfg')]

def upgrade(self):
# Accomodate cassandra upgrade, if needed
if self._args.manage_db:
self._migrator = DatabaseMigrate()
self._migrator.migrate(data_dir=self._args.data_dir,
ssd_data_dir=self._args.ssd_data_dir,
database_listen_ip=self._args.self_ip,
database_seed_list=self._args.seed_list,
cluster_name='ContrailConfigDB')


self._upgrade()

if self._args.manage_db:
db = DatabaseCommon()
db.fixup_cassandra_config_file(self._args.self_ip,
self._args.seed_list,
self._args.data_dir,
self._args.ssd_data_dir,
cluster_name='ContrailConfigDB')
db.fixup_cassandra_env_config()
local('sudo service contrail-database restart')
# Device manager is introduced from release 2.1, So fixup the config
# file if the upgrade is from pre releases to 2.1 release.
if (self._args.from_rel < LooseVersion('2.10') and
Expand Down
10 changes: 5 additions & 5 deletions contrail_provisioning/database/migrate.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ def _get_inter_pkgs(self, final_ver):
def migrate_cassandra(self, inter_pkgs, final_ver, data_dir,
analytics_data_dir, ssd_data_dir,
database_listen_ip, database_seed_list,
cassandra_user):
cassandra_user, cluster_name='Contrail'):
if final_ver is None:
final_ver = self._get_final_ver()

Expand Down Expand Up @@ -221,7 +221,7 @@ def migrate_cassandra(self, inter_pkgs, final_ver, data_dir,
database_seed_list,
data_dir,
ssd_data_dir,
cluster_name='Contrail',
cluster_name=cluster_name,
user=cassandra_user)
self.fixup_cassandra_env_config()
local('service cassandra start;sleep 5')
Expand All @@ -240,10 +240,10 @@ def migrate_cassandra(self, inter_pkgs, final_ver, data_dir,
def migrate(self, inter_pkg=None, final_ver=None, data_dir=None,
analytics_data_dir=None, ssd_data_dir=None,
database_listen_ip=None, database_seed_list=None,
cassandra_user=None):
cassandra_user=None, cluster_name='Contrail'):
self.migrate_cassandra(inter_pkg, final_ver, data_dir,
analytics_data_dir, ssd_data_dir, database_listen_ip,
database_seed_list, cassandra_user)
database_seed_list, cassandra_user, cluster_name)


def main():
Expand All @@ -253,7 +253,7 @@ def main():
database.migrate(database._args.inter_pkg, database._args.final_ver,
database._args.data_dir, database._args.analytics_data_dir,
database._args.ssd_data_dir, database._args.database_listen_ip,
database._args.database_seed_list, database._args.cassandra_user)
database._args.database_seed_list, database._args.cassandra_user, cluster_name='Contrail')

if __name__ == "__main__":
main()

0 comments on commit e4f3b02

Please sign in to comment.