summaryrefslogtreecommitdiffstats
path: root/roles/openshift_ansible_inventory
diff options
context:
space:
mode:
Diffstat (limited to 'roles/openshift_ansible_inventory')
-rw-r--r--roles/openshift_ansible_inventory/tasks/main.yml34
-rw-r--r--roles/openshift_ansible_inventory/templates/multi_ec2.yaml.j215
2 files changed, 31 insertions, 18 deletions
diff --git a/roles/openshift_ansible_inventory/tasks/main.yml b/roles/openshift_ansible_inventory/tasks/main.yml
index dddfe24e3..5fe77e38b 100644
--- a/roles/openshift_ansible_inventory/tasks/main.yml
+++ b/roles/openshift_ansible_inventory/tasks/main.yml
@@ -24,22 +24,20 @@
owner: root
group: libra_ops
-- lineinfile:
- dest: /etc/ansible/ansible.cfg
- backrefs: yes
- regexp: '^(hostfile|inventory)( *)='
- line: '\1\2= /etc/ansible/inventory'
+# This cron uses the above location to call its job
+- name: Cron to keep cache fresh
+ cron:
+ name: 'multi_ec2_inventory'
+ minute: '*/10'
+ job: '/usr/share/ansible/inventory/multi_ec2.py --refresh-cache &> /dev/null'
+ when: oo_cron_refresh_cache is defined and oo_cron_refresh_cache
-- name: setting ec2.ini destination_format
- lineinfile:
- dest: /usr/share/ansible/inventory/aws/ec2.ini
- regexp: '^destination_format *='
- line: "destination_format = {{ oo_ec2_destination_format }}"
- when: oo_ec2_destination_format is defined
-
-- name: setting ec2.ini destination_format_tags
- lineinfile:
- dest: /usr/share/ansible/inventory/aws/ec2.ini
- regexp: '^destination_format_tags *='
- line: "destination_format_tags = {{ oo_ec2_destination_format_tags }}"
- when: oo_ec2_destination_format_tags is defined
+- name: Set cache location
+ file:
+ state: directory
+ dest: "{{ oo_inventory_cache_location | dirname }}"
+ owner: root
+ group: libra_ops
+ recurse: yes
+ mode: '2750'
+ when: oo_inventory_cache_location is defined
diff --git a/roles/openshift_ansible_inventory/templates/multi_ec2.yaml.j2 b/roles/openshift_ansible_inventory/templates/multi_ec2.yaml.j2
index 23dfe73b8..8228ab915 100644
--- a/roles/openshift_ansible_inventory/templates/multi_ec2.yaml.j2
+++ b/roles/openshift_ansible_inventory/templates/multi_ec2.yaml.j2
@@ -1,11 +1,26 @@
# multi ec2 inventory configs
cache_max_age: {{ oo_inventory_cache_max_age }}
+cache_location: {{ oo_inventory_cache_location | default('~/.ansible/tmp/multi_ec2_inventory.cache') }}
accounts:
{% for account in oo_inventory_accounts %}
- name: {{ account.name }}
provider: {{ account.provider }}
+ provider_config:
+{% for section, items in account.provider_config.items() %}
+ {{ section }}:
+{% for property, value in items.items() %}
+ {{ property }}: {{ value }}
+{% endfor %}
+{% endfor %}
env_vars:
AWS_ACCESS_KEY_ID: {{ account.env_vars.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: {{ account.env_vars.AWS_SECRET_ACCESS_KEY }}
+{% if account.all_group is defined and account.hostvars is defined%}
+ all_group: {{ account.all_group }}
+ hostvars:
+{% for property, value in account.hostvars.items() %}
+ {{ property }}: {{ value }}
+{% endfor %}
+{% endif %}
{% endfor %}