--- # 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 }}" - 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: barematalhoststojson.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 != ""