This repository has been archived by the owner on May 31, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 16
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ubuntu: support non-persistent veth configuration
Adds support for veth patch pair configuration on Ubuntu. Currently this is not persistent across reboots. This will need to be addressed once the network configuration model is chosen for Ubuntu. Change-Id: I006d46954456cf30ce4e743fcbe9b2862d43dd01 Story: 2004960 Task: 41545
- Loading branch information
1 parent
4c86313
commit 1ebadae
Showing
3 changed files
with
86 additions
and
42 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
--- | ||
# FIXME: Not persistent! | ||
- name: Ensure veth pair exists (Debian) | ||
command: | ||
cmd: "ip link add dev {{ item.device }} type veth peer name {{ item.peer_device }}" | ||
creates: "/sys/class/net/{{ item.device }}" | ||
become: true | ||
with_items: "{{ veth_interfaces }}" | ||
|
||
- name: Set veth MTU (Debian) | ||
command: "ip link set {{ item.device }} mtu {{ item.mtu }}" | ||
become: true | ||
with_items: "{{ veth_interfaces }}" | ||
when: item.mtu is defined and item.mtu | ||
|
||
- name: Set veth peer MTU (Debian) | ||
command: "ip link set {{ item.peer_device }} mtu {{ item.peer_mtu }}" | ||
become: true | ||
with_items: "{{ veth_interfaces }}" | ||
when: item.peer_mtu is defined and item.peer_mtu | ||
|
||
- name: Plug veth into bridge (Debian) | ||
command: "ip link set {{ item.device }} master {{ item.bridge }}" | ||
become: true | ||
with_items: "{{ veth_interfaces }}" | ||
when: item.bridge is defined | ||
|
||
- name: Plug veth peer into bridge (Debian) | ||
command: "ip link set {{ item.peer_device }} master {{ item.peer_bridge }}" | ||
become: true | ||
with_items: "{{ veth_interfaces }}" | ||
when: item.peer_bridge is defined | ||
|
||
- name: Ensure veth is up (Debian) | ||
command: "ip link set {{ item.device }} up" | ||
with_items: "{{ veth_interfaces }}" | ||
become: true | ||
|
||
- name: Ensure veth peer is up (Debian) | ||
command: "ip link set {{ item.peer_device }} up" | ||
with_items: "{{ veth_interfaces }}" | ||
become: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
--- | ||
- name: Ensure veth sysconfig network control scripts exist | ||
copy: | ||
src: "{{ item }}" | ||
dest: "{{ network_scripts_dir }}/{{ item }}" | ||
owner: root | ||
group: root | ||
mode: 0755 | ||
with_items: | ||
- "ifup-veth" | ||
- "ifdown-veth" | ||
become: True | ||
register: ctl_result | ||
|
||
- name: Ensure veth sysconfig network interface files exist | ||
template: | ||
src: ifcfg-veth.j2 | ||
dest: "{{ network_scripts_dir }}/ifcfg-{{ item.device }}" | ||
owner: root | ||
group: root | ||
mode: 0644 | ||
with_items: "{{ veth_interfaces }}" | ||
become: True | ||
register: veth_result | ||
|
||
- name: Ensure veth peer sysconfig network interface files exist | ||
template: | ||
src: ifcfg-peer.j2 | ||
dest: "{{ network_scripts_dir }}/ifcfg-{{ item.peer_device }}" | ||
owner: root | ||
group: root | ||
mode: 0644 | ||
with_items: "{{ veth_interfaces }}" | ||
become: True | ||
register: peer_result | ||
|
||
- name: Bounce veth interfaces | ||
shell: ifdown {{ item[0].item.device }} ; ifup {{ item[0].item.device }} | ||
with_together: | ||
- "{{ veth_result.results }}" | ||
- "{{ peer_result.results }}" | ||
when: ctl_result is changed or item[0] is changed or item[1] is changed | ||
become: True |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,43 +1,2 @@ | ||
--- | ||
- name: Ensure veth sysconfig network control scripts exist | ||
copy: | ||
src: "{{ item }}" | ||
dest: "{{ network_scripts_dir }}/{{ item }}" | ||
owner: root | ||
group: root | ||
mode: 0755 | ||
with_items: | ||
- "ifup-veth" | ||
- "ifdown-veth" | ||
become: True | ||
register: ctl_result | ||
|
||
- name: Ensure veth sysconfig network interface files exist | ||
template: | ||
src: ifcfg-veth.j2 | ||
dest: "{{ network_scripts_dir }}/ifcfg-{{ item.device }}" | ||
owner: root | ||
group: root | ||
mode: 0644 | ||
with_items: "{{ veth_interfaces }}" | ||
become: True | ||
register: veth_result | ||
|
||
- name: Ensure veth peer sysconfig network interface files exist | ||
template: | ||
src: ifcfg-peer.j2 | ||
dest: "{{ network_scripts_dir }}/ifcfg-{{ item.peer_device }}" | ||
owner: root | ||
group: root | ||
mode: 0644 | ||
with_items: "{{ veth_interfaces }}" | ||
become: True | ||
register: peer_result | ||
|
||
- name: Bounce veth interfaces | ||
shell: ifdown {{ item[0].item.device }} ; ifup {{ item[0].item.device }} | ||
with_together: | ||
- "{{ veth_result.results }}" | ||
- "{{ peer_result.results }}" | ||
when: ctl_result is changed or item[0] is changed or item[1] is changed | ||
become: True | ||
- include_tasks: "{{ ansible_os_family }}.yml" |