From 628bd9ed6bfb84821ba7d2240cc41a8783cc4617 Mon Sep 17 00:00:00 2001 From: Travis Rhoden Date: Fri, 22 May 2015 10:33:07 -0400 Subject: [PATCH] [RM-11694] Add optional directory to write_file() This is mostly for testing purposes. The method has no way to specify a directory independently from the file name, which it makes it difficult to use with automated tests. It will get refactored more later, but for now add a new kwarg that pass in a dir to write to. Since a lot of callers are passing in absolute paths (.e.g. "/etc/ceph/keyring"), we look for the beginning slash and chop it off so that we can use os.path.join() and write into something like /tmp/etc/ceph. Signed-off-by: Travis Rhoden --- ceph_deploy/hosts/remotes.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ceph_deploy/hosts/remotes.py b/ceph_deploy/hosts/remotes.py index 6c8e63a..19be3e4 100644 --- a/ceph_deploy/hosts/remotes.py +++ b/ceph_deploy/hosts/remotes.py @@ -200,7 +200,11 @@ def write_monitor_keyring(keyring, monitor_keyring): write_file(keyring, monitor_keyring) -def write_file(path, content): +def write_file(path, content, directory=None): + if directory: + if path.startswith("/"): + path = path[1:] + path = os.path.join(directory, path) with file(path, 'w') as f: f.write(content) -- 2.47.3