There have been pull requests for a random Jinja2 filter, but they were pretty complicated in terms of syntax (i.e. not pretty syntax wise) and I wanted to see them pared down.
On Thu, Apr 3, 2014 at 11:49 PM, Brian Green <[email protected]> wrote: > 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<https://groups.google.com/d/msgid/ansible-project/a6e47e28-59ff-428c-9407-e8d38b1fb96e%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- 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/CAEVJ8QM4xCLmM6bEHOrucv0K4Zse_Q%3DNCYbGVo-6eYQsGFPDpg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
