2 * Copyright (c) 2017 Inocybe Technologies and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.genius.utils.hwvtep;
12 import org.eclipse.jdt.annotation.NonNull;
13 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
14 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
17 * Caches hwvtep Node HA info.
19 * @author Thomas Pantelis
21 public interface HwvtepNodeHACache {
22 void addChild(InstanceIdentifier<Node> parentId, InstanceIdentifier<Node> childId);
24 boolean isHAEnabledDevice(InstanceIdentifier<?> nodeId);
26 boolean isHAParentNode(InstanceIdentifier<Node> nodeId);
28 // Commented out for now - causes findbugs violation in netvirt
30 Set<InstanceIdentifier<Node>> getChildrenForHANode(InstanceIdentifier<Node> parentId);
33 Set<InstanceIdentifier<Node>> getHAParentNodes();
36 Set<InstanceIdentifier<Node>> getHAChildNodes();
38 InstanceIdentifier<Node> getParent(InstanceIdentifier<Node> childId);
40 void removeParent(InstanceIdentifier<Node> parentId);
42 void updateConnectedNodeStatus(InstanceIdentifier<Node> nodeId);
44 void updateDisconnectedNodeStatus(InstanceIdentifier<Node> nodeId);
47 Map<String, Boolean> getNodeConnectionStatuses();