ocl:create vgw to access public network 57/14157/1
authorchenshuai@huawei.com <chenshuai@huawei.com>
Sun, 15 May 2016 14:32:44 +0000 (22:32 +0800)
committerchenshuai@huawei.com <chenshuai@huawei.com>
Sun, 15 May 2016 14:32:44 +0000 (22:32 +0800)
JIRA: COMPASS-390

Change-Id: I19e5902b2af03a3a9c52e002a383b3a1b553861b
Signed-off-by: chenshuai@huawei.com <chenshuai@huawei.com>
deploy/adapters/ansible/roles/open-contrail/tasks/ext-net.yml [new file with mode: 0644]
deploy/adapters/ansible/roles/open-contrail/tasks/main.yml
deploy/conf/hardware_environment/huawei-us-deploy-bare-1/network_ocl.yml [new file with mode: 0644]
deploy/conf/hardware_environment/huawei-us-deploy-bare-2/network_ocl.yml [new file with mode: 0644]
deploy/conf/hardware_environment/intel-pod8/network_ocl.yml [new file with mode: 0644]
deploy/conf/network_cfg_ocl.yaml [new file with mode: 0644]
deploy/conf/vm_environment/huawei-us-deploy-vm-1/network_ocl.yml [new file with mode: 0644]
deploy/conf/vm_environment/huawei-us-deploy-vm-2/network_ocl.yml [new file with mode: 0644]
deploy/conf/vm_environment/huawei-us-deploy-vm-3/network_ocl.yml [new file with mode: 0644]
deploy/conf/vm_environment/huawei-us-deploy-vm-4/network_ocl.yml [new file with mode: 0644]

diff --git a/deploy/adapters/ansible/roles/open-contrail/tasks/ext-net.yml b/deploy/adapters/ansible/roles/open-contrail/tasks/ext-net.yml
new file mode 100644 (file)
index 0000000..8f3e095
--- /dev/null
@@ -0,0 +1,19 @@
+---
+- name: add ext-network router of vgw on controller for open-contrail
+  shell: >
+    ip route add {{ public_net_info.floating_ip_cidr }} via {{ ip_settings[groups['compute'][0]]['br-prv']['ip'] }} dev {{ network_cfg.public_vip.interface }} ;
+    echo "ip route add {{ public_net_info.floating_ip_cidr }} via {{ ip_settings[groups['compute'][0]]['br-prv']['ip'] }} dev {{ network_cfg.public_vip.interface }}" >> /opt/contrail/bin/if-vhost0 ;
+  when: inventory_hostname in groups['opencontrail']
+
+
+- name: create vgw for open-contrail
+  shell: >
+    echo "lsof -ni :9090 ;  while [ $? -ne 0 ]; do sleep 10; lsof -ni :9090; done" >> /etc/init.d/net_init;
+    echo "sleep 10" >> /etc/init.d/net_init;
+    echo "python /opt/contrail/utils/provision_vgw_interface.py --oper create --interface vgw1 --subnets {{ public_net_info.floating_ip_cidr }} --routes 0.0.0.0/0 --vrf default-domain:admin:{{ public_net_info.network }}:{{ public_net_info.network }}" >> /etc/init.d/net_init;
+  when: groups['opencontrail']|length !=0 and inventory_hostname == groups['compute'][0]
+
+
+- name: add vgw router on compute(without vgw) for open-contrail
+  shell: echo "ip route add {{ public_net_info.floating_ip_cidr }} via {{ ip_settings[groups['compute'][0]]['br-prv']['ip'] }} dev vhost0" >> /etc/init.d/net_init
+  when: groups['opencontrail']|length !=0 and inventory_hostname not in groups['opencontrail'] and inventory_hostname != groups['compute'][0]
index 16ca4e9..7d0f1a9 100755 (executable)
   include: uninstall-openvswitch.yml
   when: groups['opencontrail']|length !=0 and inventory_hostname not in groups['opencontrail']
 
+- name: Config ext-net network
+  include: ext-net.yml
+
 - name: Enable Service Daemon
   shell: if [ -f “\/opt\/service.bak” ] ; then mv /opt/service.bak /opt/service ; fi
   when: groups['opencontrail']|length !=0
diff --git a/deploy/conf/hardware_environment/huawei-us-deploy-bare-1/network_ocl.yml b/deploy/conf/hardware_environment/huawei-us-deploy-bare-1/network_ocl.yml
new file mode 100644 (file)
index 0000000..78dafd9
--- /dev/null
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+  - name: br-prv
+    network: physnet
+    interface: eth1
+    type: ovs
+    role:
+      - controller
+      - compute
+
+sys_intf_mappings:
+  - name: mgmt
+    interface: eth1
+    vlan_tag: 101
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    interface: eth1
+    vlan_tag: 102
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: external
+    interface: br-prv
+    type: ovs
+    role:
+      - controller
+      - compute
+
+ip_settings:
+  - name: mgmt
+    ip_ranges:
+    - - "172.16.1.1"
+      - "172.16.1.254"
+    cidr: "172.16.1.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    ip_ranges:
+    - - "172.16.2.1"
+      - "172.16.2.254"
+    cidr: "172.16.2.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: external
+    ip_ranges:
+    - - "192.168.10.10"
+      - "192.168.10.50"
+    cidr: "192.168.10.0/24"
+    gw: "192.168.10.1"
+    role:
+      - controller
+      - compute
+
+internal_vip:
+  ip: 172.16.1.222
+  netmask: "24"
+  interface: mgmt
+
+public_vip:
+  ip: 192.168.10.51
+  netmask: "24"
+  interface: external
+
+onos_nic: eth2
+public_net_info:
+  enable: True
+  network: ext-net
+  type: flat
+  segment_id: 10
+  subnet: ext-subnet
+  provider_network: physnet
+  router: router-ext
+  enable_dhcp: False
+  no_gateway: False
+  external_gw: "100.100.100.1"
+  floating_ip_cidr: "100.100.100.0/24"
+  floating_ip_start: "100.100.100.30"
+  floating_ip_end: "100.100.100.120"
diff --git a/deploy/conf/hardware_environment/huawei-us-deploy-bare-2/network_ocl.yml b/deploy/conf/hardware_environment/huawei-us-deploy-bare-2/network_ocl.yml
new file mode 100644 (file)
index 0000000..26319ec
--- /dev/null
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+  - name: br-prv
+    network: physnet
+    interface: eth1 
+    type: ovs
+    role:
+      - controller
+      - compute
+
+sys_intf_mappings:
+  - name: mgmt
+    interface: eth1
+    vlan_tag: 101
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    interface: eth1 
+    vlan_tag: 102
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: external
+    interface: br-prv
+    type: ovs
+    role:
+      - controller
+      - compute
+
+ip_settings:
+  - name: mgmt
+    ip_ranges:
+    - - "172.16.1.1"
+      - "172.16.1.254"
+    cidr: "172.16.1.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    ip_ranges:
+    - - "172.16.2.1"
+      - "172.16.2.254"
+    cidr: "172.16.2.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: external
+    ip_ranges:
+    - - "192.168.11.10"
+      - "192.168.11.15"
+    cidr: "192.168.11.0/24"
+    gw: "192.168.11.1"
+    role:
+      - controller
+      - compute
+
+internal_vip:
+  ip: 172.16.1.222
+  netmask: "24"
+  interface: mgmt
+
+public_vip:
+  ip: 192.168.11.18
+  netmask: "24"
+  interface: external
+
+onos_nic: eth2
+public_net_info:
+  enable: True
+  network: ext-net
+  type: flat
+  segment_id: 1000
+  subnet: ext-subnet
+  provider_network: physnet
+  router: router-ext
+  enable_dhcp: False
+  no_gateway: False
+  external_gw: "100.100.100.1"
+  floating_ip_cidr: "100.100.100.0/24"
+  floating_ip_start: "100.100.100.30"
+  floating_ip_end: "100.100.100.120"
diff --git a/deploy/conf/hardware_environment/intel-pod8/network_ocl.yml b/deploy/conf/hardware_environment/intel-pod8/network_ocl.yml
new file mode 100644 (file)
index 0000000..23a8da3
--- /dev/null
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+  - name: br-prv
+    network: physnet
+    interface: eth3
+    type: ovs
+    role:
+      - controller
+      - compute
+
+sys_intf_mappings:
+  - name: mgmt
+    interface: eth2
+    vlan_tag: 804
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    interface: eth2
+    vlan_tag: 802
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: external
+    interface: br-prv
+    vlan_tag: 805
+    type: vlan
+    role:
+      - controller
+      - compute
+
+ip_settings:
+  - name: mgmt
+    ip_ranges:
+    - - "10.8.14.10"
+      - "10.8.14.30"
+    cidr: "10.8.14.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    ip_ranges:
+    - - "10.8.12.10"
+      - "10.8.12.30"
+    cidr: "10.8.12.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: external
+    ip_ranges:
+    - - "10.8.15.10"
+      - "10.8.15.30"
+    cidr: "10.8.15.0/24"
+    role:
+      - controller
+      - compute
+
+internal_vip:
+  ip: 10.8.14.222
+  netmask: "24"
+  interface: mgmt
+
+public_vip:
+  ip: 10.8.15.222
+  netmask: "24"
+  interface: external
+
+onos_nic: eth4
+public_net_info:
+  enable: True
+  network: ext-net
+  type: flat
+  segment_id: 10
+  subnet: ext-subnet
+  provider_network: physnet
+  router: router-ext
+  enable_dhcp: False
+  no_gateway: False
+  external_gw: "100.100.100.1"
+  floating_ip_cidr: "100.100.100.0/24"
+  floating_ip_start: "100.100.100.30"
+  floating_ip_end: "100.100.100.120"
diff --git a/deploy/conf/network_cfg_ocl.yaml b/deploy/conf/network_cfg_ocl.yaml
new file mode 100644 (file)
index 0000000..3a124a9
--- /dev/null
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+  - name: br-prv
+    network: physnet
+    interface: eth1
+    type: ovs
+    role:
+      - controller
+      - compute
+
+sys_intf_mappings:
+  - name: mgmt
+    interface: eth1
+    vlan_tag: 101
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    interface: eth1
+    vlan_tag: 102
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: external
+    interface: br-prv
+    type: ovs
+    role:
+      - controller
+      - compute
+
+ip_settings:
+  - name: mgmt
+    ip_ranges:
+    - - "172.16.1.1"
+      - "172.16.1.254"
+    cidr: "172.16.1.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    ip_ranges:
+    - - "172.16.2.1"
+      - "172.16.2.254"
+    cidr: "172.16.2.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: external
+    ip_ranges:
+    - - "192.168.50.210"
+      - "192.168.50.220"
+    cidr: "192.168.50.0/24"
+    gw: "192.168.50.1"
+    role:
+      - controller
+      - compute
+
+internal_vip:
+  ip: 172.16.1.222
+  netmask: "24"
+  interface: mgmt
+
+public_vip:
+  ip: 192.168.50.240
+  netmask: "24"
+  interface: external
+
+onos_nic: eth2
+public_net_info:
+  enable: True
+  network: ext-net
+  type: flat
+  segment_id: 1000
+  subnet: ext-subnet
+  provider_network: physnet
+  router: router-ext
+  enable_dhcp: False
+  no_gateway: False
+  external_gw: "100.100.100.1"
+  floating_ip_cidr: "100.100.100.0/24"
+  floating_ip_start: "100.100.100.30"
+  floating_ip_end: "100.100.100.120"
diff --git a/deploy/conf/vm_environment/huawei-us-deploy-vm-1/network_ocl.yml b/deploy/conf/vm_environment/huawei-us-deploy-vm-1/network_ocl.yml
new file mode 100644 (file)
index 0000000..80b9765
--- /dev/null
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+  - name: br-prv
+    network: physnet
+    interface: eth1
+    type: ovs
+    role:
+      - controller
+      - compute
+
+sys_intf_mappings:
+  - name: mgmt
+    interface: eth1
+    vlan_tag: 101
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    interface: eth1
+    vlan_tag: 102
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: external
+    interface: br-prv
+    type: ovs
+    role:
+      - controller
+      - compute
+
+ip_settings:
+  - name: mgmt
+    ip_ranges:
+    - - "172.16.1.1"
+      - "172.16.1.254"
+    cidr: "172.16.1.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    ip_ranges:
+    - - "172.16.2.1"
+      - "172.16.2.254"
+    cidr: "172.16.2.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: external
+    ip_ranges:
+    - - "192.168.107.210"
+      - "192.168.107.220"
+    cidr: "192.168.107.0/24"
+    gw: "192.168.107.1"
+    role:
+      - controller
+      - compute
+
+internal_vip:
+  ip: 172.16.1.222
+  netmask: "24"
+  interface: mgmt
+
+public_vip:
+  ip: 192.168.107.222
+  netmask: "24"
+  interface: external
+
+onos_nic: eth2
+public_net_info:
+  enable: True
+  network: ext-net
+  type: flat
+  segment_id: 1000
+  subnet: ext-subnet
+  provider_network: physnet
+  router: router-ext
+  enable_dhcp: False
+  no_gateway: False
+  external_gw: "100.100.100.1"
+  floating_ip_cidr: "100.100.100.0/24"
+  floating_ip_start: "100.100.100.30"
+  floating_ip_end: "100.100.100.120"
diff --git a/deploy/conf/vm_environment/huawei-us-deploy-vm-2/network_ocl.yml b/deploy/conf/vm_environment/huawei-us-deploy-vm-2/network_ocl.yml
new file mode 100644 (file)
index 0000000..743317c
--- /dev/null
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+  - name: br-prv
+    network: physnet
+    interface: eth1
+    type: ovs
+    role:
+      - controller
+      - compute
+
+sys_intf_mappings:
+  - name: mgmt
+    interface: eth1
+    vlan_tag: 101
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    interface: eth1
+    vlan_tag: 102
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: external
+    interface: br-prv
+    type: ovs
+    role:
+      - controller
+      - compute
+
+ip_settings:
+  - name: mgmt
+    ip_ranges:
+    - - "172.16.1.1"
+      - "172.16.1.254"
+    cidr: "172.16.1.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    ip_ranges:
+    - - "172.16.2.1"
+      - "172.16.2.254"
+    cidr: "172.16.2.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: external
+    ip_ranges:
+    - - "192.168.106.210"
+      - "192.168.106.220"
+    cidr: "192.168.106.0/24"
+    gw: "192.168.106.1"
+    role:
+      - controller
+      - compute
+
+internal_vip:
+  ip: 172.16.1.222
+  netmask: "24"
+  interface: mgmt
+
+public_vip:
+  ip: 192.168.106.222
+  netmask: "24"
+  interface: external
+
+onos_nic: eth2
+public_net_info:
+  enable: True
+  network: ext-net
+  type: flat
+  segment_id: 1000
+  subnet: ext-subnet
+  provider_network: physnet
+  router: router-ext
+  enable_dhcp: False
+  no_gateway: False
+  external_gw: "100.100.100.1"
+  floating_ip_cidr: "100.100.100.0/24"
+  floating_ip_start: "100.100.100.30"
+  floating_ip_end: "100.100.100.120"
diff --git a/deploy/conf/vm_environment/huawei-us-deploy-vm-3/network_ocl.yml b/deploy/conf/vm_environment/huawei-us-deploy-vm-3/network_ocl.yml
new file mode 100644 (file)
index 0000000..9cccf9b
--- /dev/null
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+  - name: br-prv
+    network: physnet
+    interface: eth1
+    type: ovs
+    role:
+      - controller
+      - compute
+
+sys_intf_mappings:
+  - name: mgmt
+    interface: eth1
+    vlan_tag: 101
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    interface: eth1
+    vlan_tag: 102
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: external
+    interface: br-prv
+    type: ovs
+    role:
+      - controller
+      - compute
+
+ip_settings:
+  - name: mgmt
+    ip_ranges:
+    - - "172.16.1.1"
+      - "172.16.1.254"
+    cidr: "172.16.1.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    ip_ranges:
+    - - "172.16.2.1"
+      - "172.16.2.254"
+    cidr: "172.16.2.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: external
+    ip_ranges:
+    - - "192.168.101.210"
+      - "192.168.101.220"
+    cidr: "192.168.101.0/24"
+    gw: "192.168.101.1"
+    role:
+      - controller
+      - compute
+
+internal_vip:
+  ip: 172.16.1.222
+  netmask: "24"
+  interface: mgmt
+
+public_vip:
+  ip: 192.168.101.222
+  netmask: "24"
+  interface: external
+
+onos_nic: eth2
+public_net_info:
+  enable: True
+  network: ext-net
+  type: flat
+  segment_id: 1000
+  subnet: ext-subnet
+  provider_network: physnet
+  router: router-ext
+  enable_dhcp: False
+  no_gateway: False
+  external_gw: "100.100.100.1"
+  floating_ip_cidr: "100.100.100.0/24"
+  floating_ip_start: "100.100.100.30"
+  floating_ip_end: "100.100.100.120"
diff --git a/deploy/conf/vm_environment/huawei-us-deploy-vm-4/network_ocl.yml b/deploy/conf/vm_environment/huawei-us-deploy-vm-4/network_ocl.yml
new file mode 100644 (file)
index 0000000..1e9b7f4
--- /dev/null
@@ -0,0 +1,90 @@
+nic_mappings: []
+bond_mappings: []
+
+provider_net_mappings:
+  - name: br-prv
+    network: physnet
+    interface: eth1
+    type: ovs
+    role:
+      - controller
+      - compute
+
+sys_intf_mappings:
+  - name: mgmt
+    interface: eth1
+    vlan_tag: 101
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    interface: eth1
+    vlan_tag: 102
+    type: vlan
+    role:
+      - controller
+      - compute
+
+  - name: external
+    interface: br-prv
+    type: ovs
+    role:
+      - controller
+      - compute
+
+ip_settings:
+  - name: mgmt
+    ip_ranges:
+    - - "172.16.1.1"
+      - "172.16.1.254"
+    cidr: "172.16.1.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: storage
+    ip_ranges:
+    - - "172.16.2.1"
+      - "172.16.2.254"
+    cidr: "172.16.2.0/24"
+    role:
+      - controller
+      - compute
+
+  - name: external
+    ip_ranges:
+    - - "192.168.103.210"
+      - "192.168.103.220"
+    cidr: "192.168.103.0/24"
+    gw: "192.168.103.1"
+    role:
+      - controller
+      - compute
+
+internal_vip:
+  ip: 172.16.1.222
+  netmask: "24"
+  interface: mgmt
+
+public_vip:
+  ip: 192.168.103.222
+  netmask: "24"
+  interface: external
+
+onos_nic: eth2
+public_net_info:
+  enable: True
+  network: ext-net
+  type: flat
+  segment_id: 1000
+  subnet: ext-subnet
+  provider_network: physnet
+  router: router-ext
+  enable_dhcp: False
+  no_gateway: False
+  external_gw: "100.100.100.1"
+  floating_ip_cidr: "100.100.100.0/24"
+  floating_ip_start: "100.100.100.30"
+  floating_ip_end: "100.100.100.120"