'message': 'An error occurred while processing your request.' if result and result['error'] is True else "Record deleted successfully"}
}, url)
+@login_required
+def create_package_empty(request, descriptor_type=None):
+ user = osmutils.get_user(request)
+ pkg_name = request.POST.get('name', '')
+ try:
+ client = Client()
+ if descriptor_type == 'nsd':
+ result = client.nsd_create_pkg_base(user.get_token(), pkg_name)
+ elif descriptor_type == 'vnfd':
+ result = client.vnfd_create_pkg_base(user.get_token(), pkg_name)
+ else:
+ log.debug('Update descriptor: Unknown data type')
+ result = {'error': True, 'data': 'Update descriptor: Unknown data type'}
+ except Exception as e:
+ log.exception(e)
+ result = {'error': True, 'data': str(e)}
+
+ if result['error'] == True:
+ return __response_handler(request, result['data'], url=None,
+ status=result['data']['status'] if 'status' in result['data'] else 500)
+ else:
+ result['data']['type'] = descriptor_type
+ return __response_handler(request, result, url=None, status=200)
+
@login_required
def clone_descriptor(request, descriptor_type=None, descriptor_id=None):
user = osmutils.get_user(request)
project_id = user.project_id
-
try:
client = Client()
if descriptor_type == 'nsd':
if result['error'] == True:
return __response_handler(request, result['data'], url=None,
status=result['data']['status'] if 'status' in result['data'] else 500)
-
else:
return __response_handler(request, {}, url=None, status=200)
return __response_handler(request, result_graph, url=None, status=200)
+ elif descriptor_type == 'vnfd':
+ descriptor_result = client.vnfd_get(user.get_token(), descriptor_id)
+ element_id = request.POST.get('id', '')
+ util = OsmUtil()
+ descriptor_updated = util.add_base_node('vnfd', descriptor_result, element_type, element_id, request.POST.dict())
+ result = client.vnfd_update(user.get_token(), descriptor_id, descriptor_updated)
+ if result['error'] == True:
+ return __response_handler(request, result['data'], url=None,
+ status=result['data']['status'] if 'status' in result['data'] else 500)
+ else:
+ parser = OsmParser()
+ # print nsr_object
+ if descriptor_type == 'vnfd':
+ result_graph = parser.vnfd_to_graph(descriptor_updated)
+
+ return __response_handler(request, result_graph, url=None, status=200)
+
+
@login_required
def removeElement(request, descriptor_type=None, descriptor_id=None, element_type=None):
user = osmutils.get_user(request)
return __response_handler(request, result_graph, url=None, status=200)
+ elif descriptor_type == 'vnfd':
+ descriptor_result = client.vnfd_get(user.get_token(), descriptor_id)
+ element_id = request.POST.get('id', '')
+ util = OsmUtil()
+ descriptor_updated = util.remove_node('vnfd', descriptor_result, element_type, element_id, request.POST.dict())
+ result = client.vnfd_update(user.get_token(), descriptor_id, descriptor_updated)
+ if result['error'] == True:
+ return __response_handler(request, result['data'], url=None,
+ status=result['data']['status'] if 'status' in result['data'] else 500)
+ else:
+ parser = OsmParser()
+ # print nsr_object
+ if descriptor_type == 'vnfd':
+ result_graph = parser.vnfd_to_graph(descriptor_updated)
+
+ return __response_handler(request, result_graph, url=None, status=200)
+
@login_required
def updateElement(request, descriptor_type=None, descriptor_id=None, element_type=None):
user = osmutils.get_user(request)
# print nsr_object
if descriptor_type == 'nsd':
result_graph = parser.nsd_to_graph(descriptor_updated)
+ if descriptor_type == 'vnfd':
+ descriptor_result = client.vnfd_get(user.get_token(), descriptor_id)
+ util = OsmUtil()
+ payload = request.POST.dict()
+ if element_type == 'graph_params':
+ descriptor_updated = util.update_graph_params('vnfd', descriptor_result, json.loads(payload['update']))
+ else:
+ descriptor_updated = util.update_node('vnfd', descriptor_result, element_type, json.loads(payload['old']), json.loads(payload['update']))
+ result = client.vnfd_update(user.get_token(), descriptor_id, descriptor_updated)
+ if result['error'] == True:
+ return __response_handler(request, result['data'], url=None,
+ status=result['data']['status'] if 'status' in result['data'] else 500)
+ else:
+ parser = OsmParser()
+ if descriptor_type == 'vnfd':
+ result_graph = parser.vnfd_to_graph(descriptor_updated)
return __response_handler(request, result_graph, url=None, status=200)
result = client.nsd_get(user.get_token(), descriptor_id)
elif descriptor_type == 'vnfd':
result = client.vnfd_get(user.get_token(), descriptor_id)
-
except Exception as e:
log.exception(e)
result = {'error': True, 'data': str(e)}