checkArgument(schemasDir.canRead(), "Schemas dir has to be readable");
}
}
+
+ @Override
+ public String toString() {
+ StringBuffer params = new StringBuffer("TesttoolParameters{");
+ params.append("schemas-dir='").append(schemasDir).append('\'');
+ params.append(", devices-count='").append(deviceCount).append('\'');
+ params.append(", devices-per-port='").append(devicesPerPort).append('\'');
+ params.append(", starting-port='").append(startingPort).append('\'');
+ params.append(", generate-config-connection-timeout='").append(generateConfigsTimeout).append('\'');
+ params.append(", generate-config-address='").append(generateConfigsAddress).append('\'');
+ params.append(", distro-folder='").append(distroFolder).append('\'');
+ params.append(", generate-configs-batch-size='").append(generateConfigBatchSize).append('\'');
+ params.append(", ssh='").append(ssh).append('\'');
+ params.append(", exi='").append(exi).append('\'');
+ params.append(", debug='").append(debug).append('\'');
+ params.append(", notification-file='").append(notificationFile).append('\'');
+ params.append(", md-sal='").append(mdSal).append('\'');
+ params.append(", initial-config-xml-file='").append(initialConfigXMLFile).append('\'');
+ params.append('}');
+
+ return params.toString();
+ }
}
public static void main(final String[] args) {
final NetconfDeviceSimulator netconfDeviceSimulator = new NetconfDeviceSimulator();
try {
+ LOG.debug("Trying to start netconf test-tool with parameters {}", params);
final List<Integer> openDevices = netconfDeviceSimulator.start(params);
if (openDevices.size() == 0) {
LOG.error("Failed to start any simulated devices, exiting...");
this.sourceProvider = sourceProvider;
this.schemaService = createSchemaService();
- this.dataBroker = createDataStore(schemaService);
+ this.dataBroker = createDataStore(schemaService, currentSessionId);
}
new YangInstanceIdentifier.NodeIdentifier(NetconfState.QNAME)).withChild(schemasContainer).build();
}
- private DOMDataBroker createDataStore(SchemaService schemaService) {
+ private DOMDataBroker createDataStore(SchemaService schemaService, long sessionId) {
+ LOG.debug("Session {}: Creating data stores for simulated device", sessionId);
final DOMStore operStore = InMemoryDOMDataStoreFactory
.create("DOM-OPER", schemaService);
final DOMStore configStore = InMemoryDOMDataStoreFactory
import org.opendaylight.netconf.impl.SessionIdProvider;
import org.opendaylight.netconf.mapping.api.NetconfOperationService;
import org.opendaylight.netconf.mapping.api.NetconfOperationServiceFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class TesttoolNegotiationFactory extends NetconfServerSessionNegotiatorFactory {
+ private static final Logger LOG = LoggerFactory.getLogger(TesttoolNegotiationFactory.class);
private final Map<SocketAddress, NetconfOperationService> cachedOperationServices = new HashMap<>();
@Override
protected NetconfOperationService getOperationServiceForAddress(final String netconfSessionIdForReporting, final SocketAddress socketAddress) {
if (cachedOperationServices.containsKey(socketAddress)) {
+ LOG.debug("Session {}: Getting cached operation service factory for test tool device on address {}",
+ netconfSessionIdForReporting, socketAddress);
return cachedOperationServices.get(socketAddress);
} else {
final NetconfOperationService service = getOperationServiceFactory().createService(netconfSessionIdForReporting);
cachedOperationServices.put(socketAddress, service);
+ LOG.debug("Session {}: Creating new operation service factory for test tool on address {}",
+ netconfSessionIdForReporting, socketAddress);
return service;
}
}