summaryrefslogtreecommitdiffstats
path: root/xci/playbooks/roles/create-nodes/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'xci/playbooks/roles/create-nodes/tasks/main.yml')
-rw-r--r--xci/playbooks/roles/create-nodes/tasks/main.yml54
1 files changed, 54 insertions, 0 deletions
diff --git a/xci/playbooks/roles/create-nodes/tasks/main.yml b/xci/playbooks/roles/create-nodes/tasks/main.yml
new file mode 100644
index 00000000..607ac494
--- /dev/null
+++ b/xci/playbooks/roles/create-nodes/tasks/main.yml
@@ -0,0 +1,54 @@
+---
+# baremetal_json_file could be the file coming from pdf/idf
+
+- name: "Load distribution defaults"
+ include_vars: "{{ ansible_os_family | lower }}.yml"
+
+# From the previous list
+- name: "Install required packages"
+ package:
+ name: "{{ required_packages }}"
+ update_cache: "{{ (ansible_pkg_mgr in ['apt', 'zypper']) | ternary('yes', omit) }}"
+ state: present
+
+- include_tasks: prepare_libvirt.yml
+ with_items: "{{ libvirt_networks }}"
+
+- include_tasks: download_opnfvimage.yml
+
+- name: create placeholder var for vm entries in JSON format
+ set_fact:
+ nodes_json_data: {}
+
+# First we create the opnfv_vm
+- include_tasks: create_vm.yml
+ with_indexed_items: "{{ vms_to_create }}"
+
+- include_tasks: baremetalhoststojson.yml
+ with_items: "{{ baremetal_nodes }}"
+
+- name: Start the opnfv vm
+ virt:
+ command: start
+ name: opnfv
+
+- name: remove previous baremetal data file
+ file:
+ state: absent
+ path: "{{ baremetal_json_file }}"
+
+# We got nodes_json_data from the create_vm playbook
+- name: write to baremetal json file
+ copy:
+ dest: "{{ baremetal_json_file }}"
+ content: "{{ nodes_json_data | to_nice_json }}"
+
+- name: >
+ "Set file permissions such that the baremetal data file
+ can be read by the user executing Ansible"
+ file:
+ path: "{{ baremetal_json_file }}"
+ owner: "{{ ansible_env.SUDO_USER }}"
+ when: >
+ ansible_env.SUDO_USER is defined and
+ baremetal_json_file != ""