Where are you using the rsnap_daily_hour variable? The task you pasted
doesn't have it included.
The vars file you included is host specific for 'newhost', if you are
trying to use those variables in a play involving the backuphost (not a
delegated_to task), you'll either need to use hostvars or restructure your
variables in a different manner.
So, using hostvars, accessing rsnap_daily_hour in a play on backuphost
would be {{ hostvars['newhost']['rsnap_daily_hour'] }}.
If it was me, I'd use group_vars with separate groups for each time slot,
and then make the backuphost a member of each time slot group. That may or
may not scale well, but I try to avoid using hostvars if at all possible.
I'd change my mind if I was in an environment absolutely destined to remain
small & stable of course.
Brian
On Wednesday, April 2, 2014 6:29:09 PM UTC-5, Martin Božič wrote:
>
> Hi,
>
> I want to dynamically every new host to the backup server with rsnapshot.
> I
> have no problems putting SSH keys on backup target hosts and putting a
> template
> and exclude config for the target host into /etc/rsnapshot.d on backup
> host.
>
> The problem is when I try to add the rsnapshot cronjob for the new host.
> And
> here's the trick - I'm trying to add different times for each host because
> I
> don't want them to all hit the backup disk at the same time. So I figured
> I
> could put several cron time vars for each host in host_vars/ directory.
> Here's
> an example of what I'm trying to pull-off with cron module:
>
> FILE: roles/common/backup.yml
> -----------------------------
> - name: weekly rsnapshot cron
> cron: name="rsnap {{ ansible_fqdn }} (upravlja Ansible)"
> weekday={{ rsnap_weekly_day }} hour={{ rsnap_weekly_hour }}
> minute={{ rsnap_weekly_min }} user="root"
> job="rsnapshot -c /etc/rsnapshot.d/{{ ansible_fqdn }}.conf weekly"
> cron_file="rsnap-{{ ansible_fqdn }}"
> delegate_to: backuphost
>
> FILE: host_vars/newhost
> --------------------
> rsnap_hourly_min: 12
> rsnap_daily_min: 45
> rsnap_daily_hour: 1
> rsnap_weekly_min: 30
> rsnap_weekly_hour: 21
> rsnap_weekly_day: 3
>
> What happens is that backuphost picks up the var of newhost and then cries
> foul:
>
> fatal: [backuphost] => One or more undefined variables:
> 'rsnap_daily_hour'
> is undefined
>
> I'm running out of ideas how I could do it. I've looked into several loops
> but
> I'm still a beginner with Ansible and YAML syntax, so if anyone has any
> idea how
> this delegation could work I'd really appreciate it!
>
> Regards,
> Martin
>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/a6e47e28-59ff-428c-9407-e8d38b1fb96e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.