From 33189462c6fd60496ae1afec093fb9803d23a18b Mon Sep 17 00:00:00 2001 From: John O Loughlin Date: Thu, 15 Feb 2018 18:24:52 +0000 Subject: Allow VMs to access internet Add option to the config file for default network. Check to see if 1 default network is defined. Enable nat on all defined networks. Add default gateway to VM JIRA: YARDSTICK-1016 Change-Id: Ie943a7c7b4f1a9673774cf8fedaba0af352cd7f4 Signed-off-by: John O Loughlin --- ansible/roles/infra_create_vms/tasks/configure_vm.yml | 4 ++-- ansible/roles/infra_create_vms/tasks/create_interfaces.yml | 10 ++++++++++ ansible/roles/infra_create_vms/tasks/main.yml | 8 +++++++- 3 files changed, 19 insertions(+), 3 deletions(-) (limited to 'ansible/roles/infra_create_vms') diff --git a/ansible/roles/infra_create_vms/tasks/configure_vm.yml b/ansible/roles/infra_create_vms/tasks/configure_vm.yml index 10201cf2a..94f6f133e 100644 --- a/ansible/roles/infra_create_vms/tasks/configure_vm.yml +++ b/ansible/roles/infra_create_vms/tasks/configure_vm.yml @@ -305,7 +305,7 @@ - name: Populate network-config and add interface to xml file include_tasks: create_interfaces.yml - extra_vars: "{{ network_config, xml_file , slot_address, mac_address_counter }}" + extra_vars: "{{ network_config xml_file slot_address mac_address_counter }}" loop_control: loop_var: interface_item with_items: "{{ node_item.interfaces }}" @@ -326,7 +326,7 @@ shell: > qemu-img convert -O qcow2 {{ node_item.image }} {{ image_dir+node_item.hostname+'.qcow2' }} -- name: Copy and convert the ubuntu image +- name: Resize image shell: > qemu-img resize {{ image_dir+node_item.hostname+'.qcow2' }} {{ node_item.disk }}MB diff --git a/ansible/roles/infra_create_vms/tasks/create_interfaces.yml b/ansible/roles/infra_create_vms/tasks/create_interfaces.yml index 124421b56..34bfd1b71 100644 --- a/ansible/roles/infra_create_vms/tasks/create_interfaces.yml +++ b/ansible/roles/infra_create_vms/tasks/create_interfaces.yml @@ -24,6 +24,16 @@ addresses: - {{ interface_item.ip }}/{{ interface_item.netmask }} +- name: Add default gateway + blockinfile: + path: "{{ network_config }}" + insertafter: "{{ interface_item.ip }}" + marker: "MARKER" + block: |2 + gateway4: {{ default_bridge.host_ip }} + when: + - default_bridge is defined + - default_bridge.name == interface_item.network - name: Remove the marker introduced in network-data lineinfile: diff --git a/ansible/roles/infra_create_vms/tasks/main.yml b/ansible/roles/infra_create_vms/tasks/main.yml index 62a023e7e..4d47f44ff 100644 --- a/ansible/roles/infra_create_vms/tasks/main.yml +++ b/ansible/roles/infra_create_vms/tasks/main.yml @@ -20,9 +20,15 @@ - 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 - extra_vars: "{{ mac_address_counter }}" loop_control: loop_var: node_item with_items: "{{ infra_deploy_vars.nodes }}" -- cgit 1.2.3-korg