diff options
author | Harry Huang <huangxiangyu5@huawei.com> | 2017-08-23 15:05:02 +0800 |
---|---|---|
committer | Harry Huang <huangxiangyu5@huawei.com> | 2017-09-01 16:31:01 +0800 |
commit | 3bc3a8828c3ceefedd08e1767ae6e3bf2df9ac22 (patch) | |
tree | 7413e99b2d9ddbadc782a5e9f68a6f1ba35570b1 /deploy/adapters/ansible/roles/post-osa | |
parent | 292985dab007c3ee1c3481c985871a3483d9f7bc (diff) |
Support multiple physnet mapping
JIRA: COMPASS-559
1. support multiple mapping in provider_net_mappings
of network.yml and create corresponding ovs bridges
2. support seperate config in sys_intf_mappings
of network.yml
3. remove linux bridges in compute nodes for ovs
port binding convenience
4. support openstack vlan tenant network
5. modify odl and odl_sfc roles to use configurable
provider mapping
6. remove some hard coding
Change-Id: Ib57484ce60d029f89c647fd5baf2c7af37c85d0b
Signed-off-by: Harry Huang <huangxiangyu5@huawei.com>
Diffstat (limited to 'deploy/adapters/ansible/roles/post-osa')
3 files changed, 85 insertions, 0 deletions
diff --git a/deploy/adapters/ansible/roles/post-osa/handlers/main.yml b/deploy/adapters/ansible/roles/post-osa/handlers/main.yml new file mode 100755 index 00000000..3d979e6a --- /dev/null +++ b/deploy/adapters/ansible/roles/post-osa/handlers/main.yml @@ -0,0 +1,11 @@ +############################################################################## +## Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +## All rights reserved. This program and the accompanying materials +## are made available under the terms of the Apache License, Version 2.0 +## which accompanies this distribution, and is available at +## http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- name: restart network service + shell: "/sbin/ifconfig eth0 0 &&/sbin/ifdown -a && \ + /sbin/ifup --ignore-errors -a" diff --git a/deploy/adapters/ansible/roles/post-osa/tasks/main.yml b/deploy/adapters/ansible/roles/post-osa/tasks/main.yml new file mode 100644 index 00000000..cf157d74 --- /dev/null +++ b/deploy/adapters/ansible/roles/post-osa/tasks/main.yml @@ -0,0 +1,12 @@ +--- +- name: remove bridge ubuntu + template: + src: compute.j2 + dest: /etc/network/interfaces + notify: + - restart network service + when: ansible_distribution == 'Ubuntu' + +# TODO +# - name: remove bridge centos +# when: ansible_distribution == 'CentOS' diff --git a/deploy/adapters/ansible/roles/post-osa/templates/compute.j2 b/deploy/adapters/ansible/roles/post-osa/templates/compute.j2 new file mode 100755 index 00000000..9e45fa90 --- /dev/null +++ b/deploy/adapters/ansible/roles/post-osa/templates/compute.j2 @@ -0,0 +1,62 @@ +# This file describes the network interfaces available on your system +# and how to activate them. For more information, see interfaces(5). + +# The loopback network interface +auto lo +iface lo inet loopback + +# Physical interface +auto eth0 +iface eth0 inet static + address {{ ip_settings[inventory_hostname]["mgmt"]["ip"] }} + netmask 255.255.255.0 + pre-up ifconfig br-mgmt down || true + pre-up brctl delbr br-mgmt || true + +# external interface +{% set intf_external = compu_sys_mappings["external"]["interface"] %} +{% if compu_sys_mappings["external"]["vlan_tag"] | int %} +{% set intf_external = intf_external + '.' + compu_sys_mappings["external"]["vlan_tag"]|string %} +{% endif %} +auto {{ intf_external }} +iface {{ intf_external }} inet static +{% if compu_sys_mappings["external"]["vlan_tag"] | int %} + vlan-raw-device {{ intf_external }} +{% endif %} + address {{ ip_settings[inventory_hostname]["external"]["ip"] }} + netmask 255.255.255.0 + gateway {{ ip_settings[inventory_hostname]["external"]["gw"] }} + pre-up ip link del br-vlan-veth || true + pre-up ifconfig br-external down || true + pre-up brctl delbr br-external || true + +# tenant interface +{% set intf_tenant = compu_sys_mappings["tenant"]["interface"] %} +{% if compu_sys_mappings["tenant"]["vlan_tag"] | int %} +{% set intf_tenant = intf_tenant + '.' + compu_sys_mappings["tenant"]["vlan_tag"]|string %} +{% endif %} +auto {{ intf_tenant }} +iface {{ intf_tenant }} inet static +{% if compu_sys_mappings["tenant"]["vlan_tag"] | int %} + vlan-raw-device {{ intf_tenant }} +{% endif %} + address {{ ip_settings[inventory_hostname]["tenant"]["ip"] }} + netmask 255.255.255.0 + pre-up ifconfig br-tenant down || true + pre-up brctl delbr br-tenant || true + +# storage interface +{% set intf_storage = compu_sys_mappings["storage"]["interface"] %} +{% if compu_sys_mappings["storage"]["vlan_tag"] | int %} +{% set intf_storage = intf_storage + '.' + compu_sys_mappings["storage"]["vlan_tag"]|string %} +{% endif %} +auto {{ intf_storage }} +iface {{ intf_storage }} inet static +{% if compu_sys_mappings["storage"]["vlan_tag"] | int %} + vlan-raw-device {{ intf_storage }} +{% endif %} + address {{ ip_settings[inventory_hostname]["storage"]["ip"] }} + netmask 255.255.255.0 + pre-up ifconfig br-storage down || true + pre-up brctl delbr br-storage || true + |