summaryrefslogtreecommitdiffstats
path: root/infra/northbound/restconf
diff options
context:
space:
mode:
authorMarek Gradzki <mgradzki@cisco.com>2017-11-07 09:21:08 +0100
committerMarek Gradzki <mgradzki@cisco.com>2017-11-10 10:00:39 +0100
commit0f92e8f1eb7ec29f589ed92c55b049f13cce0f30 (patch)
tree30e7fa6562a136755f1e5a9e5348db51c221f59b /infra/northbound/restconf
parentcccd174ab736465bc36faacfeaa30297acb724a7 (diff)
HONEYCOMB-385: bump ODL dependencies to Nitrogen
* guava bumped to 22.0 (same as used by ODL) * use 4K RSA for SSH server (related to bouncy-castle bump in ODL) - based on https://git.opendaylight.org/gerrit/#/c/60138/2 - also fixes HC2VPP-207 * removed some yang models from netconf-whitelist.xml, that are no longer present in ODL dependencies, * increased timeouts in distro tests, because generating 4K RSA key my last longer (especially on slow jenkins nodes). * EmptyMountPointService exposed to enable reuse by notification and restconf providers Change-Id: I2ff32bd7f0298716210fcfee4918007a42fab171 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Diffstat (limited to 'infra/northbound/restconf')
-rw-r--r--infra/northbound/restconf/pom.xml1
-rw-r--r--infra/northbound/restconf/src/main/java/io/fd/honeycomb/northbound/restconf/RestconfProvider.java35
2 files changed, 29 insertions, 7 deletions
diff --git a/infra/northbound/restconf/pom.xml b/infra/northbound/restconf/pom.xml
index f5753d00c..ecff57459 100644
--- a/infra/northbound/restconf/pom.xml
+++ b/infra/northbound/restconf/pom.xml
@@ -54,7 +54,6 @@
<artifactId>binding-init</artifactId>
<version>${project.version}</version>
</dependency>
-
<dependency>
<groupId>io.fd.honeycomb</groupId>
<artifactId>minimal-distribution-core</artifactId>
diff --git a/infra/northbound/restconf/src/main/java/io/fd/honeycomb/northbound/restconf/RestconfProvider.java b/infra/northbound/restconf/src/main/java/io/fd/honeycomb/northbound/restconf/RestconfProvider.java
index d519a931d..ff338f1d9 100644
--- a/infra/northbound/restconf/src/main/java/io/fd/honeycomb/northbound/restconf/RestconfProvider.java
+++ b/infra/northbound/restconf/src/main/java/io/fd/honeycomb/northbound/restconf/RestconfProvider.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2016 Cisco and/or its affiliates.
+ * Copyright (c) 2016, 2017 Cisco and/or its affiliates.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,8 +17,15 @@
package io.fd.honeycomb.northbound.restconf;
import com.google.inject.Inject;
+import com.google.inject.name.Named;
import io.fd.honeycomb.binding.init.ProviderTrait;
-import org.opendaylight.controller.sal.core.api.Broker;
+import io.fd.honeycomb.data.init.ShutdownHandler;
+import io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule;
+import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker;
+import org.opendaylight.controller.md.sal.dom.api.DOMMountPointService;
+import org.opendaylight.controller.md.sal.dom.api.DOMRpcService;
+import org.opendaylight.controller.md.sal.dom.broker.impl.DOMNotificationRouter;
+import org.opendaylight.controller.sal.core.api.model.SchemaService;
import org.opendaylight.netconf.sal.rest.api.RestConnector;
import org.opendaylight.netconf.sal.restconf.impl.RestconfProviderImpl;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.PortNumber;
@@ -28,13 +35,29 @@ final class RestconfProvider extends ProviderTrait<RestConnector> {
@Inject
private RestconfConfiguration cfg;
@Inject
- private Broker domBroker;
+ @Named(ConfigAndOperationalPipelineModule.HONEYCOMB_CONFIG)
+ private DOMDataBroker domDataBroker;
+ @Inject
+ private SchemaService schemaService;
+ @Inject
+ private DOMRpcService rpcService;
+ @Inject
+ private DOMNotificationRouter notificationService;
+ @Inject
+ private ShutdownHandler shutdownHandler;
+ @Inject
+ private DOMMountPointService mountPointService;
@Override
protected RestconfProviderImpl create() {
- RestconfProviderImpl instance = new RestconfProviderImpl();
- instance.setWebsocketPort(new PortNumber(cfg.restconfWebsocketPort.get()));
- domBroker.registerProvider(instance);
+ final RestconfProviderImpl instance = new RestconfProviderImpl(domDataBroker, schemaService, rpcService,
+ notificationService, mountPointService, new PortNumber(cfg.restconfWebsocketPort.get()));
+
+ // Required to properly initialize restconf (broker, schema ctx, etc.).
+ // Without that restconf would fail with 503 (service not available).
+ instance.start();
+
+ shutdownHandler.register(instance.getClass().getCanonicalName(), instance);
return instance;
}
}