From d1ffc74d78bd321b1561b1c16e023223a01dc63d Mon Sep 17 00:00:00 2001 From: Nick Janetakis Date: Tue, 1 Jul 2014 20:21:26 -0400 Subject: [PATCH] Persist the exposed variables as local facts --- README.md | 6 ++++-- tasks/facts.yml | 6 ++++++ tasks/main.yml | 1 + templates/etc/ansible/facts.d/rvm1.fact.j2 | 1 + vars/main.yml | 13 ++++++++----- 5 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 tasks/facts.yml create mode 100644 templates/etc/ansible/facts.d/rvm1.fact.j2 diff --git a/README.md b/README.md index 0570e43..f8c1aa2 100644 --- a/README.md +++ b/README.md @@ -51,9 +51,11 @@ rvm1_rvm_stable_version_number: 'https://raw.githubusercontent.com/wayneeseguin/ rvm1_rvm_force_upgrade_installer: false ``` -## Exposed variables for use in other roles +## Facts -You will likely want to use various ruby related commands in other roles. This role exposes a number of popular paths and variables for easy access. +You will likely want to use various ruby related commands in other roles. This role exposes a number of popular paths and variables as persisted facts. + +Since the values are saved to `/etc/ansible/facts.d/rvm1.fact` you do not need to run this role every time you invoke your play book to have access to the facts. They will be persisted between play book runs. - `rvm1_default_ruby_version` - The default ruby version that is selected diff --git a/tasks/facts.yml b/tasks/facts.yml new file mode 100644 index 0000000..240a0b9 --- /dev/null +++ b/tasks/facts.yml @@ -0,0 +1,6 @@ +--- +- name: ensure /etc/ansible/facts.d is created + file: path='/etc/ansible/facts.d' state='directory' + +- name: ensure facts are persisted in /etc/ansible/facts.d/rvm1.fact + template: src='etc/ansible/facts.d/rvm1.fact.j2' dest='/etc/ansible/facts.d/rvm1.fact' \ No newline at end of file diff --git a/tasks/main.yml b/tasks/main.yml index 3e8fd04..66fb123 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,3 +1,4 @@ --- +- include: 'facts.yml - include: 'rvm.yml' - include: 'rubies.yml' \ No newline at end of file diff --git a/templates/etc/ansible/facts.d/rvm1.fact.j2 b/templates/etc/ansible/facts.d/rvm1.fact.j2 new file mode 100644 index 0000000..1f55244 --- /dev/null +++ b/templates/etc/ansible/facts.d/rvm1.fact.j2 @@ -0,0 +1 @@ +{{ rvm1_facts }} \ No newline at end of file diff --git a/vars/main.yml b/vars/main.yml index 894fb38..c72b240 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -1,8 +1,11 @@ --- -rvm1_default_ruby_version: '{{ rvm1_rubies | last if rvm1_rubies and rvm1_rubies is iterable else "" }}' -rvm1: '{{ rvm1_install_path }}/bin/rvm' rvm1_default_wrappers: '{{ rvm1_install_path }}/wrappers/default' -rvm1_ruby: '{{ rvm1_default_wrappers }}/ruby' -rvm1_gem: '{{ rvm1_default_wrappers }}/gem' rvm1_bundle: '{{ rvm1_default_wrappers }}/bundle' -rvm1_rake: '{{ rvm1_bundle }} exec {{ rvm1_default_wrappers }}/rake' \ No newline at end of file +rvm1_facts: | + rvm1_default_ruby_version='{{ rvm1_rubies | last if rvm1_rubies and rvm1_rubies is iterable else "" }}' + rvm1='{{ rvm1_install_path }}/bin/rvm' + rvm1_default_wrappers= '{{ rvm1_default_wrappers }}' + rvm1_ruby='{{ rvm1_default_wrappers }}/ruby' + rvm1_gem='{{ rvm1_default_wrappers }}/gem' + rvm1_bundle='{{ rvm1_bundle }}' + rvm1_rake='{{ rvm1_bundle }} exec {{ rvm1_default_wrappers }}/rake' \ No newline at end of file