Commit a6e8d850 authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Slice component:

- Fixed a slice name overwrite bug
- Corrected slice deletion to support interdomain scenarios
parent 4f8439f6
Loading
Loading
Loading
Loading
+17 −19
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ class SliceServiceServicerImpl(SliceServiceServicer):

        slice_rw = Slice()
        slice_rw.CopyFrom(request if slice_ro is None else slice_ro)
        slice_rw.name = request.name
        if len(request.name) > 0: slice_rw.name = request.name
        slice_rw.slice_owner.CopyFrom(request.slice_owner)                          # pylint: disable=no-member
        slice_rw.slice_status.slice_status = SliceStatusEnum.SLICESTATUS_PLANNED    # pylint: disable=no-member

@@ -203,28 +203,26 @@ class SliceServiceServicerImpl(SliceServiceServicer):
            context_client.close()
            return Empty()

        _slice_rw = Slice()
        _slice_rw.CopyFrom(_slice)
        _slice_rw.slice_status.slice_status = SliceStatusEnum.SLICESTATUS_DEINIT # pylint: disable=no-member
        context_client.SetSlice(_slice_rw)

        if is_inter_domain(context_client, _slice.slice_endpoint_ids):
            interdomain_client = InterdomainClient()
            slice_id = interdomain_client.DeleteSlice(request)
            #raise NotImplementedError('Delete inter-domain slice')
            interdomain_client.close()
        else:
            current_slice = Slice()
            current_slice.CopyFrom(_slice)
            current_slice.slice_status.slice_status = SliceStatusEnum.SLICESTATUS_DEINIT # pylint: disable=no-member
            context_client.SetSlice(current_slice)

            if self._slice_grouper.is_enabled:
                ungrouped = self._slice_grouper.ungroup(current_slice) # pylint: disable=unused-variable
                ungrouped = self._slice_grouper.ungroup(_slice_rw) # pylint: disable=unused-variable

        service_client = ServiceClient()
        for service_id in _slice.slice_service_ids:
                current_slice = Slice()
                current_slice.slice_id.CopyFrom(_slice.slice_id) # pylint: disable=no-member
                slice_service_id = current_slice.slice_service_ids.add() # pylint: disable=no-member
            tmp_slice = Slice()
            tmp_slice.slice_id.CopyFrom(_slice.slice_id) # pylint: disable=no-member
            slice_service_id = tmp_slice.slice_service_ids.add() # pylint: disable=no-member
            slice_service_id.CopyFrom(service_id)
                context_client.UnsetSlice(current_slice)

            context_client.UnsetSlice(tmp_slice)
            service_client.DeleteService(service_id)
        service_client.close()