ONOS-3340 IOException throwing in case of no response from NETCONF device on given ip:port
Change-Id: I0fcc6be38e138703d14ef987bfeef9857945a0b5
diff --git a/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java b/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
index d12c647..12b9351 100644
--- a/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
+++ b/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
@@ -49,6 +49,7 @@
import org.onosproject.netconf.NetconfDeviceListener;
import org.slf4j.Logger;
+import java.io.IOException;
import java.util.Map;
import static org.onosproject.net.config.basics.SubjectFactories.APP_SUBJECT_FACTORY;
@@ -192,11 +193,23 @@
if (cfg != null) {
log.info("cfg {}", cfg);
try {
- cfg.getDevicesAddresses().stream().forEach(addr -> controller
- .connectDevice(new NetconfDeviceInfo(addr.name(),
- addr.password(),
- addr.ip(),
- addr.port())));
+ cfg.getDevicesAddresses().stream()
+ .forEach(addr -> {
+ try {
+ controller.connectDevice(
+ new NetconfDeviceInfo(addr.name(),
+ addr.password(),
+ addr.ip(),
+ addr.port()));
+ } catch (IOException e) {
+ log.warn("Can't connect to NETCONF " +
+ "device on {}:{}",
+ addr.ip(),
+ addr.port());
+ }
+ }
+ );
+
} catch (ConfigException e) {
log.error("Cannot read config error " + e);
}