From d4275e576ed397f00685941311125bcad1503569 Mon Sep 17 00:00:00 2001 From: Doug Luce Date: Thu, 3 Mar 2016 14:57:12 -0800 Subject: [PATCH] cronvar.py: support absolute destinations Mainly so /etc/crontab can be written to. --- lib/ansible/modules/extras/system/cronvar.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) mode change 100644 => 100755 lib/ansible/modules/extras/system/cronvar.py diff --git a/lib/ansible/modules/extras/system/cronvar.py b/lib/ansible/modules/extras/system/cronvar.py old mode 100644 new mode 100755 index adc19c768d5..d6a45e6b544 --- a/lib/ansible/modules/extras/system/cronvar.py +++ b/lib/ansible/modules/extras/system/cronvar.py @@ -70,7 +70,9 @@ options: default: root cron_file: description: - - If specified, uses this file in cron.d instead of an individual user's crontab. + - If specified, uses this file instead of an individual user's crontab. + Without a leading /, this is assumed to be in /etc/cron.d. With a leading + /, this is taken as absolute. required: false default: null backup: @@ -126,7 +128,10 @@ class CronVar(object): self.wordchars = ''.join(chr(x) for x in range(128) if chr(x) not in ('=', "'", '"', )) if cron_file: - self.cron_file = '/etc/cron.d/%s' % cron_file + self.cron_file = "" + if cron_file[0] != '/': + self.cron_file = '/etc/cron.d/' + self.cron_file = self.cron_file + cron_file else: self.cron_file = None