aboutsummaryrefslogtreecommitdiffstats
path: root/deploy/adapters/ansible/roles/config-compute
diff options
context:
space:
mode:
authorHarry Huang <huangxiangyu5@huawei.com>2017-07-25 17:01:04 +0800
committerHarry Huang <huangxiangyu5@huawei.com>2017-08-11 15:06:29 +0800
commit02708db0054bcabf4db151d4b364d70ecc44ef18 (patch)
tree927dca85b79e918ce30d1f96f6c8bd09079777fa /deploy/adapters/ansible/roles/config-compute
parent58f021096b8c7969bcbbc9e06934f0718b71a2b9 (diff)
Adapt network.yml to OpenStack Ansible
JIRA:COMPASS-557 1. modify sys_intf_mappings and ip_settings in network.yml to synchronize with OSA network. networks compass build will be mgmt, external, tenant, storage. 2. modify compass_conf to support new netwok.yml 3. fix some hard coding when transfer ip parameters 4. support heterogeneous network Change-Id: Ib4a8af1f96a40e6456242e3dc2b456e0c8c17c2e Signed-off-by: Harry Huang <huangxiangyu5@huawei.com>
Diffstat (limited to 'deploy/adapters/ansible/roles/config-compute')
-rw-r--r--deploy/adapters/ansible/roles/config-compute/templates/compute.j286
1 files changed, 49 insertions, 37 deletions
diff --git a/deploy/adapters/ansible/roles/config-compute/templates/compute.j2 b/deploy/adapters/ansible/roles/config-compute/templates/compute.j2
index 66c3297b..c53708ec 100644
--- a/deploy/adapters/ansible/roles/config-compute/templates/compute.j2
+++ b/deploy/adapters/ansible/roles/config-compute/templates/compute.j2
@@ -5,21 +5,42 @@
auto lo
iface lo inet loopback
-
# Physical interface
auto eth0
iface eth0 inet manual
+# external interface
+{% set intf_external = sys_intf_mappings["external"]["interface"] %}
+{% if sys_intf_mappings["external"]["vlan_tag"] != "None" %}
+{% set intf_external = intf_external + '.' + sys_intf_mappings["external"]["vlan_tag"]|string %}
+{% endif %}
+auto {{ intf_external }}
+iface {{ intf_external }} inet manual
+{% if sys_intf_mappings["external"]["vlan_tag"] != "None" %}
+ vlan-raw-device {{ intf_external }}
+{% endif %}
-# OpenStack Networking VXLAN (tunnel/overlay) VLAN interface
-auto {{sys_intf_mappings["mgmt"]["interface"]}}.{{sys_intf_mappings["mgmt"]["vlan_tag"]}}
-iface {{sys_intf_mappings["mgmt"]["interface"]}}.{{sys_intf_mappings["mgmt"]["vlan_tag"]}} inet manual
- vlan-raw-device {{sys_intf_mappings["mgmt"]["interface"]}}
+# tenant interface
+{% set intf_tenant = sys_intf_mappings["tenant"]["interface"] %}
+{% if sys_intf_mappings["tenant"]["interface"] != "None" %}
+{% set intf_tenant = intf_tenant + '.' + sys_intf_mappings["tenant"]["vlan_tag"]|string %}
+{% endif %}
+auto {{ intf_tenant }}
+iface {{ intf_tenant }} inet manual
+{% if sys_intf_mappings["tenant"]["interface"] != "None" %}
+ vlan-raw-device {{ intf_tenant }}
+{% endif %}
-# Storage network VLAN interface (optional)
-auto {{sys_intf_mappings["storage"]["interface"]}}.{{sys_intf_mappings["storage"]["vlan_tag"]}}
-iface {{sys_intf_mappings["storage"]["interface"]}}.{{sys_intf_mappings["storage"]["vlan_tag"]}} inet manual
- vlan-raw-device {{sys_intf_mappings["storage"]["interface"]}}
+# storage interface
+{% set intf_storage = sys_intf_mappings["storage"]["interface"] %}
+{% if sys_intf_mappings["storage"]["interface"] != "None" %}
+{% set intf_storage = intf_storage + '.' + sys_intf_mappings["storage"]["vlan_tag"]|string %}
+{% endif %}
+auto {{ intf_storage }}
+iface {{ intf_storage }} inet manual
+{% if sys_intf_mappings["storage"]["interface"] != "None" %}
+ vlan-raw-device {{ intf_storage }}
+{% endif %}
# Container/Host management bridge
auto br-mgmt
@@ -28,29 +49,19 @@ iface br-mgmt inet static
bridge_waitport 0
bridge_fd 0
bridge_ports eth0
- address {{host_info[inventory_hostname].MGMT_IP}}
+ address {{ ip_settings[inventory_hostname]["mgmt"]["ip"] }}
netmask 255.255.255.0
-# compute1 VXLAN (tunnel/overlay) bridge config
-auto br-vxlan
-iface br-vxlan inet static
- bridge_stp off
- bridge_waitport 0
- bridge_fd 0
- bridge_ports {{sys_intf_mappings["mgmt"]["interface"]}}.{{sys_intf_mappings["mgmt"]["vlan_tag"]}}
- address {{host_info[inventory_hostname].VXLAN_IP}}
- netmask 255.255.252.0
-
# OpenStack Networking VLAN bridge
-auto br-vlan
-iface br-vlan inet static
+auto br-external
+iface br-external inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{ network_cfg["provider_net_mappings"][0]["interface"] }}
- address {{ip_settings[inventory_hostname]["br-prv"]["ip"]}}
+ bridge_ports {{ intf_external }}
+ address {{ ip_settings[inventory_hostname]["external"]["ip"] }}
netmask 255.255.255.0
- gateway {{ip_settings[inventory_hostname]["br-prv"]["gw"]}}
+ gateway {{ ip_settings[inventory_hostname]["external"]["gw"] }}
offload-sg off
# Create veth pair, don't bomb if already exists
pre-up ip link add br-vlan-veth type veth peer name eth12 || true
@@ -61,21 +72,22 @@ iface br-vlan inet static
post-down ip link del br-vlan-veth || true
bridge_ports br-vlan-veth
-# Add an additional address to br-vlan
-iface br-vlan inet static
- # Flat network default gateway
- # -- This needs to exist somewhere for network reachability
- # -- from the router namespace for floating IP paths.
- # -- Putting this here is primarily for tempest to work.
- address {{host_info[inventory_hostname].VLAN_IP_SECOND}}
- netmask 255.255.252.0
+# VXLAN (tunnel/overlay) bridge config
+auto br-tenant
+iface br-tenant inet static
+ bridge_stp off
+ bridge_waitport 0
+ bridge_fd 0
+ bridge_ports {{ intf_tenant }}
+ address {{ ip_settings[inventory_hostname]["tenant"]["ip"] }}
+ netmask 255.255.255.0
-# compute storage bridge
+# storage bridge
auto br-storage
iface br-storage inet static
bridge_stp off
bridge_waitport 0
bridge_fd 0
- bridge_ports {{sys_intf_mappings["storage"]["interface"]}}.{{sys_intf_mappings["storage"]["vlan_tag"]}}
- address {{ip_settings[inventory_hostname]["storage"]["ip"]}}
- netmask 255.255.252.0
+ bridge_ports {{ intf_storage }}
+ address {{ ip_settings[inventory_hostname]["storage"]["ip"] }}
+ netmask 255.255.255.0