summaryrefslogtreecommitdiffstats
path: root/ansible/roles/infra_create_vms/tasks/main.yml
blob: b422a92058f7246a6dc93ae74f5aac28367a7b56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Copyright (c) 2017-2018 Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
---
- name: Include
  include_vars:
    file: "{{ rs_file }}"
    name: infra_deploy_vars

- set_fact:
    mac_address_counter: 0

- set_fact:
    default_bridge: "{{ item }}"
  when:
    - item.default_gateway is defined
    - item.default_gateway == True
  with_items: "{{ infra_deploy_vars.networks }}"

- name: Create XML file
  include_tasks: configure_vm.yml
  loop_control:
    loop_var: node_item
  with_items: "{{ infra_deploy_vars.nodes }}"

- name: Create list of dictionaries with vm name, ip address
  set_fact:
    vm_name_ip: "{{ vm_name_ip|default([]) + [{item.hostname: item.interfaces[1].ip}] }}"
  with_items: "{{ infra_deploy_vars.nodes }}"

- name: Make sure VM is reachable
  include_tasks: validate_vms.yml
  loop_control:
    loop_var: name_ip
  with_items: "{{ vm_name_ip }}"