From d4dad15941693c9f10a6c1330c9bed7e959d2e71 Mon Sep 17 00:00:00 2001 From: Corey Bryant Date: Mon, 1 May 2017 14:52:47 +0000 Subject: [PATCH] Don't render template files if they already exist This enables overriding of snap template files by users or deployment tools. Change-Id: Ia130f6e7af947a77e415be5847df54142b5f6781 --- snap_openstack/base.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/snap_openstack/base.py b/snap_openstack/base.py index 34b433c..59b4b4b 100644 --- a/snap_openstack/base.py +++ b/snap_openstack/base.py @@ -71,10 +71,12 @@ class OpenStackSnap(object): target = setup['templates'][template] target_file = target.format(**utils.snap_env) utils.ensure_dir(target_file, is_file=True) - LOG.debug('Rendering {} to {}'.format(template, target_file)) - with open(target_file, 'w') as tf: - os.fchmod(tf.fileno(), 0o640) - tf.write(renderer.render(template, utils.snap_env)) + if not os.path.isfile(target_file): + LOG.debug('Rendering {} to {}'.format(template, + target_file)) + with open(target_file, 'w') as tf: + os.fchmod(tf.fileno(), 0o640) + tf.write(renderer.render(template, utils.snap_env)) if 'copyfiles' in setup.keys(): for source, target in setup['copyfiles'].items():