Skip to content

Commit

Permalink
Using shtuil copy method instead of os.rename to keep the copy of the
Browse files Browse the repository at this point in the history
restored config files. No need for backup and restore of sources.list
Using consistent orcehstrator variable in all role specific setup/upgrade

Change-Id: If25af2d7099ecfc6ef79e2752957914c1c47252e
  • Loading branch information
cijohnson committed Apr 29, 2015
1 parent 5bccb07 commit a15c760
Show file tree
Hide file tree
Showing 10 changed files with 49 additions and 48 deletions.
3 changes: 3 additions & 0 deletions contrail_provisioning/collector/upgrade.py
Expand Up @@ -36,6 +36,9 @@ def upgrade(self):
self._upgrade()
self.upgrade_python_pkgs()
self.update_config()
# Seperate contrail-<role>-nodemgr.conf is introduced from release 2.20
if (self._args.from_rel < 2.2 and self._args.to_rel >= 2.2):
self.fixup_contrail_analytics_nodemgr()
self.restart()


Expand Down
43 changes: 20 additions & 23 deletions contrail_provisioning/common/upgrade.py
Expand Up @@ -7,7 +7,6 @@
import os
import shutil
import argparse
from distutils.dir_util import copy_tree

from fabric.api import local

Expand Down Expand Up @@ -70,53 +69,46 @@ def _parse_args(self, args_str):

return parser

def backup_source_list(self):
os.rename('/etc/apt/sources.list', '/etc/apt/sources.list.upgradesave')

def create_contrail_source_list(self):
with open("/etc/apt/sources.list", 'w+') as fd:
fd.write("deb file:/opt/contrail/contrail_install_repo ./")

def restore_source_list(self):
os.rename('/etc/apt/sources.list.upgradesave', '/etc/apt/sources.list')

def _upgrade_package(self):
if not self.upgrade_data['upgrade']:
return
pkgs = ' '.join(self.upgrade_data['upgrade'])
if self.pdist in ['Ubuntu']:
self.backup_source_list()
self.create_contrail_source_list()
cmd = 'DEBIAN_FRONTEND=noninteractive apt-get -y --force-yes'
cmd += ' -o Dpkg::Options::="--force-overwrite"'
cmd += ' -o Dpkg::Options::="--force-confnew" install %s' % pkgs
local(cmd)
self.restore_source_list()
else:
local('yum clean all')
cmd = 'yum -y --disablerepo=* --enablerepo=contrail_install_repo'
cmd = 'yum -y --disablerepo=* --enablerepo=contrail*'
cmd += ' install %s' % pkgs
local(cmd)
local(cmd)

def _backup_config(self):
self.backup_dir = "/var/tmp/contrail-%s-upgradesave" % self._args.to_rel

for backup_elem in self.upgrade_data['backup']:
backup_config = self.backup_dir + backup_elem
if not os.path.exists(backup_config):
os.makedirs(backup_config)
copy_tree(backup_elem, backup_config)
print "Backing up %s at: %s" % (backup_elem, backup_config)
backup_dir = os.path.dirname(os.path.abspath(backup_config))
if not os.path.exists(backup_dir):
os.makedirs(backup_dir)
if os.path.isfile(backup_elem):
shutil.copy2(backup_elem, backup_config)
else:
local('cp -rfp %s %s' % (backup_elem, backup_config))
else:
print "Already the config dir %s is backed up at %s." %\
(backup_elem, backup_config)

def _restore_config(self):
for restore_elem in self.upgrade_data['restore']:
restore_config = self.backup_dir + restore_elem
print "Restoring %s to: %s" % (restore_config, restore_elem)
if os.path.isfile(restore_config):
os.rename(restore_config, restore_elem)
shutil.copy2(restore_config, restore_elem)
else:
copy_tree(restore_config, restore_elem)
local('cp -rfp %s %s' % (restore_config, restore_elem))

def _downgrade_package(self):
if not self.upgrade_data['downgrade']:
Expand All @@ -129,7 +121,7 @@ def _downgrade_package(self):
cmd += ' install %s' % pkgs
else:
cmd = 'yum -y --nogpgcheck --disablerepo=*'
cmd += ' --enablerepo=contrail_install_repo install %s' % pkgs
cmd += ' --enablerepo=contrail* install %s' % pkgs
local(cmd)

def _remove_package(self):
Expand Down Expand Up @@ -157,7 +149,12 @@ def _remove_config(self):

def _rename_config(self):
for src, dst in self.upgrade_data['rename_config']:
shutil.move(src, dst)
if os.path.isfile(src):
shutil.copy2(src, dst)
os.remove(src)
else:
local('cp -rfp %s %s' % src, dst)
shutil.rmtree(src)

def _upgrade(self):
self._backup_config()
Expand Down
3 changes: 3 additions & 0 deletions contrail_provisioning/compute/upgrade.py
Expand Up @@ -54,6 +54,9 @@ def upgrade(self):
self.upgrade_python_pkgs()
if self._args.from_rel == 2.0:
self.fix_nova_params()
# Seperate contrail-<role>-nodemgr.conf is introduced from release 2.20
if (self._args.from_rel < 2.2 and self._args.to_rel >= 2.2):
self.compute_setup.fixup_contrail_vrouter_nodemgr()


def main():
Expand Down
2 changes: 1 addition & 1 deletion contrail_provisioning/config/common.py
Expand Up @@ -90,7 +90,7 @@ def fixup_ifmap_config_files(self):
def fixup_contrail_api_config_file(self):
self.rabbit_host = self.cfgm_ip
self.rabbit_port = 5672
if self._args.orch == 'vcenter':
if self._args.orchestrator == 'vcenter':
multi_tenancy_flag = False
else:
multi_tenancy_flag = self._args.multi_tenancy
Expand Down
8 changes: 0 additions & 8 deletions contrail_provisioning/config/openstack.py
Expand Up @@ -106,14 +106,6 @@ def fixup_contrail_plugin_ini(self):
if os.path.exists(neutron_def_file):
local("sudo sed -i 's/NEUTRON_PLUGIN_CONFIG=.*/NEUTRON_PLUGIN_CONFIG=\"\/etc\/neutron\/plugins\/opencontrail\/ContrailPlugin.ini\"/g' %s" %(neutron_def_file))

def fixup_contrail_config_nodemgr(self):
template_vals = {'__contrail_discovery_ip__' : self._args.internal_vip or self.cfgm_ip,
'__contrail_discovery_port__': '5998'
}
self._template_substitute_write(contrail_config_nodemgr_template.template,
template_vals, self._temp_dir_name + '/contrail-config-nodemgr.conf')
local("sudo mv %s/contrail-config-nodemgr.conf /etc/contrail/contrail-config-nodemgr.conf" %(self._temp_dir_name))

def fixup_vnc_api_lib_ini(self):
# vnc_api_lib.ini
template_vals = {
Expand Down
6 changes: 3 additions & 3 deletions contrail_provisioning/config/setup.py
Expand Up @@ -45,7 +45,7 @@ def __init__(self, args_str = None):
'quantum_port': '9696',
'quantum_service_protocol': 'http',
'manage_neutron': 'yes',
'orch' : 'openstack',
'orchestrator' : 'openstack',
}
self.parse_args(args_str)

Expand Down Expand Up @@ -101,13 +101,13 @@ def parse_args(self, args_str):
parser.add_argument("--internal_vip", help = "VIP Address of openstack nodes")
parser.add_argument("--external_vip", help = "External VIP Address of HA Openstack Nodes")
parser.add_argument("--contrail_internal_vip", help = "Internal VIP Address of HA config Nodes")
parser.add_argument("--orchestrator", dest='orch', help="Orchestrator used by contrail")
parser.add_argument("--orchestrator", help="Orchestrator used by contrail")

self._args = parser.parse_args(self.remaining_argv)

def main(args_str = None):
config_args = ConfigSetup(args_str)._args
if config_args.orch == 'openstack':
if config_args.orchestrator == 'openstack':
config = ConfigOpenstackSetup(config_args)
# For future Orchestrator, inherit ConfigBaseSetup and
# add functionality specific to Orchestrator.
Expand Down
3 changes: 3 additions & 0 deletions contrail_provisioning/config/upgrade.py
Expand Up @@ -44,6 +44,9 @@ def upgrade(self):
# file if the upgrade is from pre releases to 2.1 release.
if (self._args.from_rel < 2.1 and self._args.to_rel >= 2.1):
self.config_setup.fixup_device_manager_config_file()
# Seperate contrail-<role>-nodemgr.conf is introduced from release 2.20
if (self._args.from_rel < 2.2 and self._args.to_rel >= 2.2):
self.config_setup.fixup_contrail_config_nodemgr()


def main():
Expand Down
3 changes: 3 additions & 0 deletions contrail_provisioning/control/upgrade.py
Expand Up @@ -33,6 +33,9 @@ def restart(self):
def upgrade(self):
self._upgrade()
self.upgrade_python_pkgs()
# Seperate contrail-<role>-nodemgr.conf is introduced from release 2.20
if (self._args.from_rel < 2.2 and self._args.to_rel >= 2.2):
self.fixup_contrail_control_nodemgr()
self.restart()


Expand Down
21 changes: 12 additions & 9 deletions contrail_provisioning/database/setup.py
Expand Up @@ -161,15 +161,7 @@ def fixup_config_files(self):
local("sudo sed -i 's/# JVM_OPTS=\"\$JVM_OPTS -Xloggc:\/var\/log\/cassandra\/gc-`date +%%s`.log\"/JVM_OPTS=\"\$JVM_OPTS -Xloggc:\/var\/log\/cassandra\/gc-`date +%%s`.log\"/g' %s" \
% (env_file))

template_vals = {
'__contrail_discovery_ip__': self._args.cfgm_ip,
'__contrail_discovery_port__': '5998',
'__minimum_diskGB__': self._args.minimum_diskGB,
'__hostip__': self.database_listen_ip,
}
self._template_substitute_write(contrail_database_nodemgr_template.template,
template_vals, self._temp_dir_name + '/contrail-database-nodemgr.conf')
local("sudo mv %s/contrail-database-nodemgr.conf /etc/contrail/contrail-database-nodemgr.conf" %(self._temp_dir_name))
self.fixup_contrail_database_nodemgr()

# set high session timeout to survive glance led disk activity
local('sudo echo "maxSessionTimeout=120000" >> /etc/zookeeper/conf/zoo.cfg')
Expand Down Expand Up @@ -205,6 +197,17 @@ def fixup_config_files(self):
if not self.file_pattern_check(KAFKA_SERVER_PROPERTIES, 'default.replication.factor'):
local('sudo echo "default.replication.factor=2" >> %s' % (KAFKA_SERVER_PROPERTIES))

def fixup_contrail_database_nodemgr(self):
template_vals = {
'__contrail_discovery_ip__': self._args.cfgm_ip,
'__contrail_discovery_port__': '5998',
'__minimum_diskGB__': self._args.minimum_diskGB,
'__hostip__': self.database_listen_ip,
}
self._template_substitute_write(contrail_database_nodemgr_template.template,
template_vals, self._temp_dir_name + '/contrail-database-nodemgr.conf')
local("sudo mv %s/contrail-database-nodemgr.conf /etc/contrail/contrail-database-nodemgr.conf" %(self._temp_dir_name))

def run_services(self):
local("sudo database-server-setup.sh %s" % (self.database_listen_ip))

Expand Down
5 changes: 1 addition & 4 deletions contrail_provisioning/database/upgrade.py
Expand Up @@ -20,10 +20,7 @@ def __init__(self, args_str = None):
def update_upgrade_data(self):
self.upgrade_data['upgrade'] = self._args.packages
self.upgrade_data['restore'].append(
'/etc/contrail/database_nodemgr_param')
self.upgrade_data['rename_config'].append(
('/etc/contrail/database_nodemgr_param',
'/etc/contrail/contrail-database-nodemgr.conf'))
'/etc/contrail/contrail-database-nodemgr.conf')

def restart(self):
local('service zookeeper restart')
Expand Down

0 comments on commit a15c760

Please sign in to comment.