Switch to 2-node configuration for IR plugin testing
Change-Id: Ifeed49ee6a5f57fc2ebf69adbae16894ad3c69a2
This commit is contained in:
5
roles/tobiko-inventory/defaults/main.yaml
Normal file
5
roles/tobiko-inventory/defaults/main.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
|
||||
test_inventory_user: '{{ ansible_user }}'
|
||||
test_inventory_hostvars: {}
|
||||
test_inventory_file: '{{ test_src_dir | realpath }}/ansible_hosts'
|
||||
4
roles/tobiko-inventory/meta/main.yaml
Normal file
4
roles/tobiko-inventory/meta/main.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
---
|
||||
|
||||
dependencies:
|
||||
- role: tobiko-common
|
||||
65
roles/tobiko-inventory/tasks/main.yaml
Normal file
65
roles/tobiko-inventory/tasks/main.yaml
Normal file
@@ -0,0 +1,65 @@
|
||||
---
|
||||
|
||||
- name: "read platform vars from file"
|
||||
include_vars: "{{ item }}"
|
||||
with_first_found:
|
||||
- "test-inventory-{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yaml"
|
||||
- "test-inventory-{{ ansible_distribution }}.{{ ansible_architecture }}.yaml"
|
||||
- "test-inventory-{{ ansible_distribution }}.yaml"
|
||||
- "test-inventory-{{ ansible_os_family }}.yaml"
|
||||
register: include_platform_vars
|
||||
|
||||
|
||||
- debug: var=test_inventory_python_interpreter
|
||||
|
||||
|
||||
- when: test_inventory_user is not defined
|
||||
block:
|
||||
- name: "get remote username"
|
||||
command: whoami
|
||||
changed_when: false
|
||||
become: false
|
||||
register: get_inventory_user
|
||||
|
||||
- name: "set test_inventory_user fact"
|
||||
set_fact:
|
||||
test_inventory_user: "{{ get_inventory_user.stdout_lines | first }}"
|
||||
|
||||
|
||||
- debug: var=test_inventory_user
|
||||
|
||||
|
||||
- name: "get default test_inventory_hostvars entries from hostvars"
|
||||
set_fact:
|
||||
test_inventory_hostvars: >
|
||||
{{ {hostname: {varname: value} } |
|
||||
combine(test_inventory_hostvars) }}
|
||||
vars:
|
||||
hostname: '{{ item.0 }}'
|
||||
varname: '{{ item.1 }}'
|
||||
value: '{{ hostvars[hostname][varname] }}'
|
||||
loop: "{{ hostvars.keys() | product(['ansible_host']) | list }}"
|
||||
loop_control:
|
||||
label: '{{ hostname }}.{{ varname }} = {{ value }}'
|
||||
when:
|
||||
- hostvars[hostname][varname] is defined
|
||||
- test_inventory_hostvars[hostname][varname] is not defined
|
||||
|
||||
|
||||
- debug: var=test_inventory_hostvars
|
||||
|
||||
|
||||
- name: "writes inventory file to: '{{ test_inventory_file }}'"
|
||||
template:
|
||||
src: 'test_inventory.j2'
|
||||
dest: '{{ test_inventory_file }}'
|
||||
|
||||
|
||||
- name: "read inventory file from: '{{ test_inventory_file }}'"
|
||||
command: "cat '{{ test_inventory_file }}'"
|
||||
changed_when: false
|
||||
register: read_test_inventory_file
|
||||
|
||||
|
||||
- name: "show inventory file: '{{ test_inventory_file }}'"
|
||||
debug: var=read_test_inventory_file.stdout_lines
|
||||
8
roles/tobiko-inventory/templates/test_inventory.j2
Normal file
8
roles/tobiko-inventory/templates/test_inventory.j2
Normal file
@@ -0,0 +1,8 @@
|
||||
[all]
|
||||
{% for name, vars in (test_inventory_hostvars | dictsort) %}
|
||||
{{ name }} ansible_host={{ vars.ansible_host }}
|
||||
{% endfor %}
|
||||
|
||||
[all:vars]
|
||||
ansible_python_interpreter = {{ test_inventory_python_interpreter }}
|
||||
ansible_user = {{ test_inventory_user }}
|
||||
3
roles/tobiko-inventory/vars/test-inventory-CentOS-7.yaml
Normal file
3
roles/tobiko-inventory/vars/test-inventory-CentOS-7.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
|
||||
test_inventory_python_interpreter: /usr/bin/python
|
||||
3
roles/tobiko-inventory/vars/test-inventory-RedHat.yaml
Normal file
3
roles/tobiko-inventory/vars/test-inventory-RedHat.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
|
||||
test_inventory_python_interpreter: /usr/libexec/platform-python
|
||||
3
roles/tobiko-inventory/vars/test-inventory-Ubuntu.yaml
Normal file
3
roles/tobiko-inventory/vars/test-inventory-Ubuntu.yaml
Normal file
@@ -0,0 +1,3 @@
|
||||
---
|
||||
|
||||
test_inventory_python_interpreter: /usr/bin/python3
|
||||
Reference in New Issue
Block a user