csmart / ansible-role-virt-infra

Define and manage guests and networks on a KVM host with Ansible
GNU General Public License v3.0
67 stars 48 forks source link

add support for IPv6 #33

Closed frgomes closed 3 years ago

frgomes commented 3 years ago

As part of adding support for IPv6, it is desirable to add also support for forward mode="route" since IPv6 does not require NAT and, in this case, the user will be probably interested on formard mode="route".

csmart commented 3 years ago

Thanks! I've squashed the commits and created the following combined commit message:

    add support for routed networks, optionally ipv6

    This patchset adds support for routed networks, where a private virtual
    network is created on that the KVM host will route across the physical
    network. This change includes support fro IPv6.

    Note that this requires the network router to have a static route so
    that traffic can be returned to the KVM host and then routed to the
    guests.

    As routed networks may require a specific physical device on the KVM
    host, this adds `host_dev` variable to specify the network interface. As
    NAT networks also support having a specific device via parameter
    `nat_dev`, this has also been changed to `host_dev` so that it's a
    common generic variable for any network type (`nat_dev` is supported for
    backwards compatibility).

    This change also adds support for specifying the virtual bridge device
    (e.g. virbr0) if users so desire.

    Here is an example YAML inventory config for a routed network (note that
    not all options are requred, see README for more details):

      vars:
        virt_infra_host_networks:
          present:
            - name: example
              domain: f901.example.com
              type: route
              host_dev: eth0
              bridge_dev: virbr1
              bridge_stp: on
              bridge_delay: 0
              mac: 52:54:00:f9:01:00
              ip_address: 10.249.1.1
              ip_netmask: 255.255.255.0
              dhcp_start: 10.249.1.11
              dhcp_end: 10.249.1.254
              ip6_address: 2001:0db8::f901:1
              ip6_prefix: 64
              dhcp6_start: 2001:0db8::f901:0000
              dhcp6_end: 2001:0db8::f901:00ff

    Closes #33