summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--vio/vio/pub/vim/vimapi/network/OperatePort.py9
-rw-r--r--vio/vio/swagger/views/network/views.py5
-rw-r--r--vio/vio/swagger/views/port/views.py5
-rw-r--r--vio/vio/swagger/views/subnet/views.py5
4 files changed, 20 insertions, 4 deletions
diff --git a/vio/vio/pub/vim/vimapi/network/OperatePort.py b/vio/vio/pub/vim/vimapi/network/OperatePort.py
index ac4f564..8f89ffc 100644
--- a/vio/vio/pub/vim/vimapi/network/OperatePort.py
+++ b/vio/vio/pub/vim/vimapi/network/OperatePort.py
@@ -25,9 +25,7 @@ class OperatePort(BaseNet):
"networkId": "network_id",
"vnicType": "binding:vnic_type",
"securityGroups": "security_groups",
- "macAddress": "mac_address",
- # "subnetId": "subnet_id",
- "ip": "ip_address"
+ "macAddress": "mac_address"
}
def ___init__(self, params):
@@ -53,7 +51,10 @@ class OperatePort(BaseNet):
vim_info = self.get_vim_info(vimid)
network = self.auth(vim_info, tenantid)
body = translate(self.keys_mapping, body)
- if body.get('subnetId'):
+ if "ip" in body:
+ body['fixed_ips'] = [{'subnet_id': body.pop('subnetId'),
+ "ip_address": body.pop('ip')}]
+ else:
body['fixed_ips'] = [{'subnet_id': body.pop('subnetId')}]
port = network.port_create(**body)
vim_dict = {"vimName": vim_info['name'], "vimId": vim_info['vimId']}
diff --git a/vio/vio/swagger/views/network/views.py b/vio/vio/swagger/views/network/views.py
index 773f200..b420e5c 100644
--- a/vio/vio/swagger/views/network/views.py
+++ b/vio/vio/swagger/views/network/views.py
@@ -34,6 +34,11 @@ class CreateNetworkView(APIView):
return Response(data={'error': 'Fail to decode request body.'},
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
try:
+ req_paras = ["name", "shared"]
+ for para in req_paras:
+ if para not in body:
+ raise Exception('Required parameter %s is '
+ 'missing in net creation.' % para)
network_name = body.get('name')
network_id = body.get('id', None)
target = network_id or network_name
diff --git a/vio/vio/swagger/views/port/views.py b/vio/vio/swagger/views/port/views.py
index 8952f2b..3019003 100644
--- a/vio/vio/swagger/views/port/views.py
+++ b/vio/vio/swagger/views/port/views.py
@@ -34,6 +34,11 @@ class CreatePortView(APIView):
return Response(data={'error': 'Fail to decode request body.'},
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
try:
+ req_paras = ["subnetId", "networkId", "name"]
+ for para in req_paras:
+ if para not in body:
+ raise Exception('Required parameter %s is '
+ 'missing in port creation.' % para)
port_name = body.get('name')
port_id = body.get('id', None)
target = port_id or port_name
diff --git a/vio/vio/swagger/views/subnet/views.py b/vio/vio/swagger/views/subnet/views.py
index b782b50..06d7548 100644
--- a/vio/vio/swagger/views/subnet/views.py
+++ b/vio/vio/swagger/views/subnet/views.py
@@ -34,6 +34,11 @@ class CreateSubnetView(APIView):
return Response(data={'error': 'Fail to decode request body.'},
status=status.HTTP_500_INTERNAL_SERVER_ERROR)
try:
+ req_paras = ["name", "networkId", "cidr", "ipVersion"]
+ for para in req_paras:
+ if para not in body:
+ raise Exception('Required parameter %s is '
+ 'missing in subnet creation.' % para)
subnet_name = body.get('name')
subnet_id = body.get('id', None)
target = subnet_id or subnet_name