diff --git a/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/VmMonitor.java b/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/VmMonitor.java index cc8ae7be0..315aee2f5 100644 --- a/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/VmMonitor.java +++ b/org.jdrupes.vmoperator.manager/src/org/jdrupes/vmoperator/manager/VmMonitor.java @@ -119,11 +119,6 @@ protected void handleChange(K8sClient client, V1ObjectMeta metadata = response.object.getMetadata(); VmChannel channel = channelManager.channelGet(metadata.getName()); - // Remove from channel manager if deleted - if (ResponseType.valueOf(response.type) == ResponseType.DELETED) { - channelManager.remove(metadata.getName()); - } - // Get full definition and associate with channel as backup var vmModel = response.object; if (vmModel.data() == null) { @@ -151,17 +146,16 @@ protected void handleChange(K8sClient client, // Create and fire changed event. Remove channel from channel // manager on completion. - channel.pipeline() - .fire(Event.onCompletion( - new VmDefChanged(ResponseType.valueOf(response.type), - channel.setGeneration(response.object.getMetadata() - .getGeneration()), - vmDef), - e -> { - if (e.type() == ResponseType.DELETED) { - channelManager.remove(e.vmDefinition().name()); - } - }), channel); + VmDefChanged chgEvt + = new VmDefChanged(ResponseType.valueOf(response.type), + channel.setGeneration(response.object.getMetadata() + .getGeneration()), + vmDef); + if (ResponseType.valueOf(response.type) == ResponseType.DELETED) { + chgEvt = Event.onCompletion(chgEvt, + e -> channelManager.remove(e.vmDefinition().name())); + } + channel.pipeline().fire(chgEvt, channel); } private VmDefinitionModel getModel(K8sClient client,