Dan Kenigsberg has uploaded a new change for review.
Change subject: tc: unsetPortMirroring: deleting a target twice is fine ......................................................................
tc: unsetPortMirroring: deleting a target twice is fine
We should not explode if a mirroring target is already gone when unsetPortMirroring is called.
Change-Id: I90f90164557548d38aa0e6991c4020055f892edb Signed-off-by: Dan Kenigsberg danken@redhat.com --- M vdsm/tc.py 1 file changed, 17 insertions(+), 6 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/30/7630/1
diff --git a/vdsm/tc.py b/vdsm/tc.py index 570c410..47a7b96 100644 --- a/vdsm/tc.py +++ b/vdsm/tc.py @@ -47,13 +47,21 @@
def _delTarget(network, parent, target): - filt = list(filters(network, parent))[0] - filt.actions.remove(MirredAction(target)) - if filt.actions: + fs = list(filters(network, parent)) + if fs: + filt = fs[0] + else: + return set([]) + + acts = set(filt.actions) + acts.discard(MirredAction(target)) + + if acts: + filt = Filter(prio=filt.prio, handle=filt.handle, actions=acts) filter_replace(network, parent, filt) else: filter_del(network, target, parent, filt.prio) - return filt.actions + return acts
def setPortMirroring(network, target): @@ -71,8 +79,11 @@ # TODO handle the case where we have partial definitions on device due to # vdsm crash acts = _delTarget(network, QDISC_INGRESS, target) - qdisc_id = _qdiscs_of_device(network).next() - acts += _delTarget(network, qdisc_id, target) + try: + qdisc_id = _qdiscs_of_device(network).next() + acts |= _delTarget(network, qdisc_id, target) + except StopIteration: + pass
if not acts: qdisc_del(network, 'root')
-- To view, visit http://gerrit.ovirt.org/7630 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange Gerrit-Change-Id: I90f90164557548d38aa0e6991c4020055f892edb Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Dan Kenigsberg danken@redhat.com
Igor Lvovsky has posted comments on this change.
Change subject: tc: unsetPortMirroring: deleting a target twice is fine ......................................................................
Patch Set 1: Looks good to me, but someone else must approve
-- To view, visit http://gerrit.ovirt.org/7630 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: I90f90164557548d38aa0e6991c4020055f892edb Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Dan Kenigsberg danken@redhat.com Gerrit-Reviewer: Igor Lvovsky ilvovsky@redhat.com
oVirt Jenkins CI Server has posted comments on this change.
Change subject: tc: unsetPortMirroring: deleting a target twice is fine ......................................................................
Patch Set 1:
Build Successful
http://jenkins.ovirt.info/job/patch_vdsm_unit_tests/778/ : SUCCESS
-- To view, visit http://gerrit.ovirt.org/7630 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: I90f90164557548d38aa0e6991c4020055f892edb Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Dan Kenigsberg danken@redhat.com Gerrit-Reviewer: Igor Lvovsky ilvovsky@redhat.com Gerrit-Reviewer: oVirt Jenkins CI Server
Antoni Segura Puimedon has posted comments on this change.
Change subject: tc: unsetPortMirroring: deleting a target twice is fine ......................................................................
Patch Set 1: Looks good to me, but someone else must approve
-- To view, visit http://gerrit.ovirt.org/7630 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: I90f90164557548d38aa0e6991c4020055f892edb Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Dan Kenigsberg danken@redhat.com Gerrit-Reviewer: Antoni Segura Puimedon asegurap@redhat.com Gerrit-Reviewer: Igor Lvovsky ilvovsky@redhat.com Gerrit-Reviewer: oVirt Jenkins CI Server
Meni Yakove has posted comments on this change.
Change subject: tc: unsetPortMirroring: deleting a target twice is fine ......................................................................
Patch Set 1: Verified
Two VMs running with port mirroring enabled.
-- To view, visit http://gerrit.ovirt.org/7630 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: I90f90164557548d38aa0e6991c4020055f892edb Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Dan Kenigsberg danken@redhat.com Gerrit-Reviewer: Antoni Segura Puimedon asegurap@redhat.com Gerrit-Reviewer: Igor Lvovsky ilvovsky@redhat.com Gerrit-Reviewer: Meni Yakove myakove@redhat.com Gerrit-Reviewer: oVirt Jenkins CI Server
Dan Kenigsberg has submitted this change and it was merged.
Change subject: tc: unsetPortMirroring: deleting a target twice is fine ......................................................................
tc: unsetPortMirroring: deleting a target twice is fine
We should not explode if a mirroring target is already gone when unsetPortMirroring is called.
Change-Id: I90f90164557548d38aa0e6991c4020055f892edb Signed-off-by: Dan Kenigsberg danken@redhat.com --- M vdsm/tc.py 1 file changed, 17 insertions(+), 6 deletions(-)
Approvals: Meni Yakove: Verified Antoni Segura Puimedon: Looks good to me, but someone else must approve Dan Kenigsberg: Looks good to me, approved Igor Lvovsky: Looks good to me, but someone else must approve
-- To view, visit http://gerrit.ovirt.org/7630 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: merged Gerrit-Change-Id: I90f90164557548d38aa0e6991c4020055f892edb Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Dan Kenigsberg danken@redhat.com Gerrit-Reviewer: Antoni Segura Puimedon asegurap@redhat.com Gerrit-Reviewer: Dan Kenigsberg danken@redhat.com Gerrit-Reviewer: Igor Lvovsky ilvovsky@redhat.com Gerrit-Reviewer: Meni Yakove myakove@redhat.com Gerrit-Reviewer: oVirt Jenkins CI Server
Dan Kenigsberg has posted comments on this change.
Change subject: tc: unsetPortMirroring: deleting a target twice is fine ......................................................................
Patch Set 1: Looks good to me, approved
-- To view, visit http://gerrit.ovirt.org/7630 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment Gerrit-Change-Id: I90f90164557548d38aa0e6991c4020055f892edb Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Dan Kenigsberg danken@redhat.com Gerrit-Reviewer: Antoni Segura Puimedon asegurap@redhat.com Gerrit-Reviewer: Dan Kenigsberg danken@redhat.com Gerrit-Reviewer: Igor Lvovsky ilvovsky@redhat.com Gerrit-Reviewer: Meni Yakove myakove@redhat.com Gerrit-Reviewer: oVirt Jenkins CI Server
vdsm-patches@lists.fedorahosted.org