From 94bc1b03fd487db228edec3d8b6d7bd1491bb123 Mon Sep 17 00:00:00 2001 From: David Sullivan Date: Fri, 9 Mar 2018 14:19:35 -0500 Subject: [PATCH] Data migration failure during upgrade CONFIG_SYSTEM_MODE may not be present in pre-upgrade installs. All older installs are DX so assume the value is duplex if missing. Change-Id: Ic9f9c7b8551862225f6a563009ed930a88536af8 Story: 2002886 Task: 22847 Signed-off-by: Jack Ding --- controllerconfig/centos/build_srpm.data | 2 +- .../controllerconfig/upgrades/controller.py | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/controllerconfig/centos/build_srpm.data b/controllerconfig/centos/build_srpm.data index 4f9b5c772c..ee1536fa50 100755 --- a/controllerconfig/centos/build_srpm.data +++ b/controllerconfig/centos/build_srpm.data @@ -1,2 +1,2 @@ SRC_DIR="controllerconfig" -TIS_PATCH_VER=142 +TIS_PATCH_VER=143 diff --git a/controllerconfig/controllerconfig/controllerconfig/upgrades/controller.py b/controllerconfig/controllerconfig/controllerconfig/upgrades/controller.py index 246c401763..d0700b96f2 100644 --- a/controllerconfig/controllerconfig/controllerconfig/upgrades/controller.py +++ b/controllerconfig/controllerconfig/controllerconfig/upgrades/controller.py @@ -814,7 +814,15 @@ def migrate_databases(from_release, shared_services, hiera_db_records, # To avoid a deadlock during keystone contract we will use offline # migration for simplex upgrades. Other upgrades will have to use # another method to resolve the deadlock - system_mode = packstack_config.get('general', 'CONFIG_SYSTEM_MODE') + try: + system_mode = packstack_config.get('general', 'CONFIG_SYSTEM_MODE') + except ConfigParser.NoOptionError: + # We may not have the system mode if the system was upgraded from + # R2 or R3. Those systems can only be duplex so we will use that + # value + LOG.info("Missing value CONFIG_SYSTEM_MODE. Using duplex.") + system_mode = sysinv_constants.SYSTEM_MODE_DUPLEX + if system_mode != sysinv_constants.SYSTEM_MODE_SIMPLEX: migrate_commands += [ # Migrate keystone