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
This commit is contained in:
Mathieu Bultel 2017-11-23 21:32:45 +01:00
parent f46524a016
commit 3a9337bb60
1 changed files with 5 additions and 1 deletions

View File

@ -237,6 +237,10 @@ class UpdatePlanFromDirAction(base.TripleOAction):
'')[1].splitlines()
old_templates = swift.get_object(self.container,
'')[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
for new in new_templates:
# if doesn't exist, push it:
@ -249,7 +253,7 @@ class UpdatePlanFromDirAction(base.TripleOAction):
content_new = swift.get_object(container_tmp, new)
content_old = swift.get_object(self.container, new)
if (not content_new == content_old and
constants.PLAN_ENVIRONMENT not in new):
new not in exclude_user_data):
swift.put_object(
self.container,
new,