Add exclude list to not override user data

Add an exclude list of file which can possibly
contains user data.
When those files are modified by the user, we should
not erased those when we update the plan during the
upgrade

Change-Id: I4e53d8f95170c25b32a6d714a7620c2c9d2596f3
Closes-Bug: #1734108
(cherry picked from commit 3a9337bb60)
This commit is contained in:
Mathieu Bultel 2017-11-23 21:32:45 +01:00 committed by mathieu bultel
parent c9b8029339
commit b1ef0e7852
1 changed files with 5 additions and 1 deletions

View File

@ -279,6 +279,10 @@ class UpdatePlanFromDirAction(base.TripleOAction):
'')[1].splitlines() '')[1].splitlines()
old_templates = swift.get_object(self.container, old_templates = swift.get_object(self.container,
'')[1].splitlines() '')[1].splitlines()
exclude_user_data = [constants.PLAN_ENVIRONMENT,
constants.OVERCLOUD_J2_ROLES_NAME,
constants.OVERCLOUD_J2_NETWORKS_NAME,
constants.OVERCLOUD_J2_EXCLUDES]
# Update the old container # Update the old container
for new in new_templates: for new in new_templates:
# if doesn't exist, push it: # if doesn't exist, push it:
@ -291,7 +295,7 @@ class UpdatePlanFromDirAction(base.TripleOAction):
content_new = swift.get_object(container_tmp, new) content_new = swift.get_object(container_tmp, new)
content_old = swift.get_object(self.container, new) content_old = swift.get_object(self.container, new)
if (not content_new == content_old and if (not content_new == content_old and
constants.PLAN_ENVIRONMENT not in new): new not in exclude_user_data):
swift.put_object( swift.put_object(
self.container, self.container,
new, new,