create a virtual port on jumpserver for functest 39/5639/1
authorcarey.xu <carey.xuhan@huawei.com>
Wed, 6 Jan 2016 07:43:19 +0000 (15:43 +0800)
committercarey.xu <carey.xuhan@huawei.com>
Wed, 6 Jan 2016 07:43:19 +0000 (15:43 +0800)
  - create a virtual port on jumpserver, for functest communicate
    with openstack admin network

JIRA: COMPASS-243

Change-Id: Ib6f0c56253bb26155f0856caeae11a809c92f276
Signed-off-by: carey.xu <carey.xuhan@huawei.com>
deploy/network.sh
deploy/setup_vnic.py [new file with mode: 0644]

index 9f1a7b9..e76fd92 100755 (executable)
@@ -57,6 +57,8 @@ function setup_bridge_external()
 
     sudo virsh net-define $WORK_DIR/network/external.xml
     sudo virsh net-start external
+
+    sudo python $COMPASS_DIR/deploy/setup_vnic.py
 }
 
 function setup_nat_net() {
diff --git a/deploy/setup_vnic.py b/deploy/setup_vnic.py
new file mode 100644 (file)
index 0000000..3962303
--- /dev/null
@@ -0,0 +1,19 @@
+#!/usr/bin/python
+import os
+import yaml
+
+if __name__ == "__main__":
+    network_config_file = "/home/carey/nfv/compass4nfv/deploy/conf/network_cfg.yaml"#os.environ["NETWORK"]
+    network_config = yaml.load(open(network_config_file, "r"))
+    os.system("ovs-vsctl --may-exist add-port br-external mgmt_vnic -- set Interface mgmt_vnic type=internal")
+    os.system("ip addr flush mgmt_vnic")
+    os.system("ip link set mgmt_vnic up")
+    for sys_intf in network_config["sys_intf_mappings"]:
+        if sys_intf["name"] == "mgmt" and sys_intf.get("vlan_tag"):
+            os.system("ovs-vsctl set port mgmt_vnic tag=%s" % sys_intf["vlan_tag"])
+
+    for net_info in network_config["ip_settings"]:
+        if net_info["name"] == "mgmt":
+            mgmt_ip_range_end= net_info["ip_ranges"][0][1]
+            mgmt_netmask = net_info["cidr"].split('/')[1]
+            os.system(r"ip addr add %s/%s dev mgmt_vnic" % (mgmt_ip_range_end, mgmt_netmask))