Skip to content
Snippets Groups Projects
Commit 49aa2da8 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

WebUI component:

- Implemented vlink removal
- Added sanity checks in device and link removal
parent ca65ef73
No related branches found
No related tags found
2 merge requests!328Resolve "(CTTC) Update recommendations to use SocketIO on NBI and E2E Orch components",!286Resolve "(CTTC) Implement integration test between E2E-IP-Optical SDN Controllers"
......@@ -184,20 +184,21 @@ def logical(device_uuid: str):
@device.get('<path:device_uuid>/delete')
def delete(device_uuid):
try:
context_client.connect()
device_obj = get_device(
context_client, device_uuid, rw_copy=False, include_components=False,
include_config_rules=False, include_endpoints=False
)
if device_obj is None:
flash('Device({:s}) not found'.format(str(device_uuid)), 'danger')
else:
device_client.connect()
device_client.DeleteDevice(device_obj.device_id)
device_client.close()
flash(f'Device "{device_uuid}" deleted successfully!', 'success')
# first, check if device exists!
# request: DeviceId = DeviceId()
# request.device_uuid.uuid = device_uuid
# response: Device = client.GetDevice(request)
# TODO: finalize implementation
request = DeviceId()
request.device_uuid.uuid = device_uuid # pylint: disable=no-member
device_client.connect()
device_client.DeleteDevice(request)
device_client.close()
flash(f'Device "{device_uuid}" deleted successfully!', 'success')
context_client.close()
except Exception as e: # pylint: disable=broad-except
flash(f'Problem deleting device "{device_uuid}": {e.details()}', 'danger')
current_app.logger.exception(e)
......
......@@ -21,10 +21,12 @@ from common.tools.context_queries.EndPoint import get_endpoint_names
from common.tools.context_queries.Link import get_link
from common.tools.context_queries.Topology import get_topology
from context.client.ContextClient import ContextClient
from vnt_manager.client.VNTManagerClient import VNTManagerClient
link = Blueprint('link', __name__, url_prefix='/link')
context_client = ContextClient()
vntm_client = VNTManagerClient()
@link.get('/')
def home():
......@@ -77,20 +79,20 @@ def detail(link_uuid: str):
@link.get('<path:link_uuid>/delete')
def delete(link_uuid):
try:
context_client.connect()
# first, check if link exists!
# request: LinkId = LinkId()
# request.link_uuid.uuid = link_uuid
# response: Link = client.GetLink(request)
# TODO: finalize implementation
link_obj = get_link(context_client, link_uuid, rw_copy=False)
if link_obj is None:
flash('Link({:s}) not found'.format(str(link_uuid)), 'danger')
else:
link_type = link_obj.link_type
if link_type == LinkTypeEnum.LINKTYPE_VIRTUAL:
vntm_client.RemoveVirtualLink(link_obj.link_id)
else:
context_client.RemoveLink(link_obj.link_id)
flash(f'Link "{link_uuid}" deleted successfully!', 'success')
request = LinkId()
request.link_uuid.uuid = link_uuid # pylint: disable=no-member
context_client.connect()
context_client.RemoveLink(request)
context_client.close()
flash(f'Link "{link_uuid}" deleted successfully!', 'success')
except Exception as e: # pylint: disable=broad-except
flash(f'Problem deleting link "{link_uuid}": {e.details()}', 'danger')
current_app.logger.exception(e)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment