aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--resources/ansible_roles/openstack/defaults/main.yml1
-rw-r--r--resources/ansible_roles/openstack/tasks/main.yml11
-rw-r--r--resources/ansible_roles/openstack/templates/hosts.j217
-rw-r--r--resources/ansible_roles/openstack/templates/ssh.cfg.j211
4 files changed, 40 insertions, 0 deletions
diff --git a/resources/ansible_roles/openstack/defaults/main.yml b/resources/ansible_roles/openstack/defaults/main.yml
index 830def62..261504ea 100644
--- a/resources/ansible_roles/openstack/defaults/main.yml
+++ b/resources/ansible_roles/openstack/defaults/main.yml
@@ -16,3 +16,4 @@ temp_dir: /tmp/qtip
flavor_name: qtip_flavor
stack_name: qtip_stack
image_name: qtip_image
+ansible_user: ubuntu
diff --git a/resources/ansible_roles/openstack/tasks/main.yml b/resources/ansible_roles/openstack/tasks/main.yml
index ed043831..6fabfb01 100644
--- a/resources/ansible_roles/openstack/tasks/main.yml
+++ b/resources/ansible_roles/openstack/tasks/main.yml
@@ -84,3 +84,14 @@
flavor: "{{ flavor_name }}"
keypair: QtipKey
external_network: "{{ external_network }}"
+ register: stack
+
+- name: generating inventory file
+ template:
+ src: hosts.j2
+ dest: ./hosts
+
+- name: generating ssh.cfg
+ template:
+ src: ssh.cfg.j2
+ dest: ./ssh.cfg
diff --git a/resources/ansible_roles/openstack/templates/hosts.j2 b/resources/ansible_roles/openstack/templates/hosts.j2
new file mode 100644
index 00000000..6756d2a2
--- /dev/null
+++ b/resources/ansible_roles/openstack/templates/hosts.j2
@@ -0,0 +1,17 @@
+localhost ansible_connection=local
+
+[SUT:children]
+compute
+
+[node-groups:children]
+compute
+
+[node-groups:vars]
+ansible_ssh_common_args=-F ./ssh.cfg
+
+[compute]
+{% for item in stack.stack.outputs %}
+{% if item.output_key == 'instance_ip' %}
+{{item.output_value}}
+{% endif %}
+{% endfor %}
diff --git a/resources/ansible_roles/openstack/templates/ssh.cfg.j2 b/resources/ansible_roles/openstack/templates/ssh.cfg.j2
new file mode 100644
index 00000000..c0a1f94e
--- /dev/null
+++ b/resources/ansible_roles/openstack/templates/ssh.cfg.j2
@@ -0,0 +1,11 @@
+# Connect to target node
+
+{% for item in stack.stack.outputs %}
+{% if item.output_key == 'instance_ip' %}
+Host {{ item.output_value }}
+ HostName {{ item.output_value }}
+ User {{ ansible_user }}
+ IdentityFile {{ temp_dir }}/QtipKey
+{% endif %}
+
+{% endfor %}