diff options
author | Fu Jinhua <fu.jinhua@zte.com.cn> | 2018-09-06 05:35:31 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2018-09-06 05:35:31 +0000 |
commit | ea5e8986546ab7938c8cf38ec2af22adaf0a6fd3 (patch) | |
tree | 3911e4149cc077bbf11c2a0154008acf01e0b6f5 | |
parent | 8f59e8d4426a11ea3f2a16d0c0479786fd02a027 (diff) | |
parent | 675e69bc8abbf5d9a38b68b5400c63a64d231be0 (diff) |
Merge "Add port of SR-IOV NIC support"
-rw-r--r-- | lcm/lcm/nf/const.py | 17 | ||||
-rw-r--r-- | lcm/lcm/pub/vimapi/adaptor.py | 12 | ||||
-rw-r--r-- | lcm/lcm/samples/tests.py | 10 |
3 files changed, 30 insertions, 9 deletions
diff --git a/lcm/lcm/nf/const.py b/lcm/lcm/nf/const.py index 37205c5a..a20d39f5 100644 --- a/lcm/lcm/nf/const.py +++ b/lcm/lcm/nf/const.py @@ -489,7 +489,7 @@ c4_data_create_network = { "vlanTransparent": True, "networkType": "vlan", "segmentationId": 202, - "physicalNetwork": "ctrl", + "physicalNetwork": "physnet1", "routerExternal": False } @@ -533,7 +533,7 @@ c6_data_create_port = { "subnetName": "subnet1", "macAddress": "212.12.61.23", "ip": "10.43.38.11", - "vnicType": "normal", + "vnicType": "direct", "securityGroups": "" } @@ -663,7 +663,18 @@ vnfdModel = { }, }, ], - "vnic_type": "test", + "vnic_type": "direct", + "role": "root", + "virtual_network_interface_requirements": [ + { + "network_interface_requirements": { + "interfaceType": '{"schema-version": "0", "schema-location":"", "platform-id": "generic", "mandatory": false, "configuration-value": "SR-IOV"}' + }, + "support_mandatory": False, + "name": "SRIOV_Port", + "description": "sriov" + } + ] } } ], diff --git a/lcm/lcm/pub/vimapi/adaptor.py b/lcm/lcm/pub/vimapi/adaptor.py index 8ebddab0..bbc91098 100644 --- a/lcm/lcm/pub/vimapi/adaptor.py +++ b/lcm/lcm/pub/vimapi/adaptor.py @@ -15,6 +15,7 @@ import logging import time import ast +import json from lcm.pub.utils.values import ignore_case_get, set_opt_val from lcm.pub.msapi.aai import get_flavor_info @@ -245,8 +246,17 @@ def create_port(vim_cache, res_cache, data, port, do_notify, res_type): l3_address_data = one_protocol_data["address_data"]["l3_address_data"] # l3 is not 13 fixed_ip_address = ignore_case_get(l3_address_data, "fixed_ip_address") ip_address.extend(fixed_ip_address) + for one_virtual_network_interface in port["properties"]["virtual_network_interface_requirements"]: + interfaceTypeString = one_virtual_network_interface["network_interface_requirements"]["interfaceType"] + interfaceType = json.loads(interfaceTypeString)["configuration-value"] + vnic_type = ignore_case_get(port["properties"], "vnic_type") + if vnic_type == "": + if interfaceType == "SR-IOV": + set_opt_val(param, "vnicType", "direct") + else: + set_opt_val(param, "vnicType", vnic_type) + set_opt_val(param, "ip", ",".join(ip_address)) - set_opt_val(param, "vnicType", ignore_case_get(port["properties"], "vnic_type")) set_opt_val(param, "securityGroups", "") # TODO vim_id, tenant_name = location_info["vimid"], location_info["tenant"] tenant_id = get_tenant_id(vim_cache, vim_id, tenant_name) diff --git a/lcm/lcm/samples/tests.py b/lcm/lcm/samples/tests.py index 47e23533..42d96b01 100644 --- a/lcm/lcm/samples/tests.py +++ b/lcm/lcm/samples/tests.py @@ -154,7 +154,7 @@ inst_res_data = { "external_cps": [ { "key_name": "sriov_plane", - "cp_id": "SRIOV_Port" + "cp_id": "sriov-support" } ], "forward_cps": [ @@ -215,15 +215,15 @@ inst_res_data = { }, } ], - "vnic_type": "normal", + "vnic_type": "direct", "role": "root", "virtual_network_interface_requirements": [ { - "requirement": { - "SRIOV": "true" + "network_interface_requirements": { + "interfaceType": '{"schema-version": "0", "schema-location":"", "platform-id": "generic", "mandatory": false, "configuration-value": "SR-IOV"}' }, "support_mandatory": False, - "name": "sriov", + "name": "sriov-support", "description": "sriov" } ], |