import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNode;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.NetconfNodeConnectionStatus.ConnectionStatus;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.AvailableCapabilities;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.ClusteredConnectionStatusBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.UnavailableCapabilities;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.netconf.node.connection.status.clustered.connection.status.NodeStatus;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.NodeBuilder;
public void onSuccess(final List<Node> result) {
Node base = null;
NetconfNode baseAugmentation = null;
+ AvailableCapabilities masterCaps = null;
+ UnavailableCapabilities unavailableMasterCaps = null;
final ArrayList<NodeStatus> statusList = new ArrayList<>();
for (final Node node : result) {
final NetconfNode netconfNode = node.getAugmentation(NetconfNode.class);
base = node;
baseAugmentation = netconfNode;
}
+ // we need to pull out caps from master, since slave does not go through resolution
+ if (masterCaps == null) {
+ masterCaps = netconfNode.getAvailableCapabilities();
+ unavailableMasterCaps = netconfNode.getUnavailableCapabilities();
+ }
+ if (netconfNode.getAvailableCapabilities().getAvailableCapability().size() > masterCaps.getAvailableCapability().size()) {
+ masterCaps = netconfNode.getAvailableCapabilities();
+ unavailableMasterCaps = netconfNode.getUnavailableCapabilities();
+ }
LOG.debug(netconfNode.toString());
statusList.addAll(netconfNode.getClusteredConnectionStatus().getNodeStatus());
}
if (base == null) {
base = result.get(0);
baseAugmentation = result.get(0).getAugmentation(NetconfNode.class);
- LOG.warn("All results {}", result.toString());
+ LOG.debug("All results {}", result.toString());
}
- LOG.warn("Base node: {}", base);
-
final Node aggregatedNode =
new NodeBuilder(base)
.addAugmentation(NetconfNode.class,
new ClusteredConnectionStatusBuilder()
.setNodeStatus(statusList)
.build())
+ .setAvailableCapabilities(masterCaps)
+ .setUnavailableCapabilities(unavailableMasterCaps)
.build())
.build();
+
future.set(aggregatedNode);
}
public void onSuccess(final List<Node> result) {
Node base = null;
NetconfNode baseAugmentation = null;
+ AvailableCapabilities masterCaps = null;
+ UnavailableCapabilities unavailableMasterCaps = null;
final ArrayList<NodeStatus> statusList = new ArrayList<>();
for (final Node node : result) {
final NetconfNode netconfNode = node.getAugmentation(NetconfNode.class);
base = node;
baseAugmentation = netconfNode;
}
+ // we need to pull out caps from master, since slave does not go through resolution
+ if (masterCaps == null) {
+ masterCaps = netconfNode.getAvailableCapabilities();
+ unavailableMasterCaps = netconfNode.getUnavailableCapabilities();
+ }
+ if (netconfNode.getAvailableCapabilities().getAvailableCapability().size() > masterCaps.getAvailableCapability().size()) {
+ masterCaps = netconfNode.getAvailableCapabilities();
+ unavailableMasterCaps = netconfNode.getUnavailableCapabilities();
+ }
LOG.debug(netconfNode.toString());
statusList.addAll(netconfNode.getClusteredConnectionStatus().getNodeStatus());
}
if (base == null) {
base = result.get(0);
baseAugmentation = result.get(0).getAugmentation(NetconfNode.class);
- LOG.warn("All results {}", result.toString());
+ LOG.debug("All results {}", result.toString());
}
final Node aggregatedNode =
new ClusteredConnectionStatusBuilder()
.setNodeStatus(statusList)
.build())
+ .setAvailableCapabilities(masterCaps)
+ .setUnavailableCapabilities(unavailableMasterCaps)
.build())
.build();
future.set(aggregatedNode);