Factor out SchemaResourceManager
[netconf.git] / netconf / netconf-topology-singleton / src / main / resources / OSGI-INF / blueprint / netconf-topology-singleton.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- vi: set et smarttab sw=4 tabstop=4: -->
3 <!--
4 Copyright © 2016 Cisco Systems, Inc. and others. All rights reserved.
5
6 This program and the accompanying materials are made available under the
7 terms of the Eclipse Public License v1.0 which accompanies this distribution,
8 and is available at http://www.eclipse.org/legal/epl-v10.html
9 -->
10 <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
11            xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
12            xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"
13            odl:use-default-for-reference-types="true">
14
15     <reference id="dataBroker"
16                interface="org.opendaylight.mdsal.binding.api.DataBroker"/>
17     <reference id="rpcRegistry"
18                interface="org.opendaylight.mdsal.dom.api.DOMRpcProviderService"/>
19     <reference id="actionRegistry"
20                interface="org.opendaylight.mdsal.dom.api.DOMActionProviderService"/>
21     <reference id="clusterSingletonService"
22                interface="org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider"/>
23     <reference id="keepAliveExecutor"
24                interface="org.opendaylight.controller.config.threadpool.ScheduledThreadPool"
25                odl:type="global-netconf-ssh-scheduled-executor"/>
26     <reference id="processingExecutor"
27                interface="org.opendaylight.controller.config.threadpool.ThreadPool"
28                odl:type="global-netconf-processing-executor"/>
29     <reference id="actorSystemProvider"
30                interface="org.opendaylight.controller.cluster.ActorSystemProvider"/>
31     <reference id="eventExecutor"
32                interface="io.netty.util.concurrent.EventExecutor"
33                odl:type="global-event-executor"/>
34     <reference id="clientDispatcherDependency"
35                interface="org.opendaylight.netconf.client.NetconfClientDispatcher"
36                odl:type="netconf-client-dispatcher"/>
37     <reference id="mountPointService"
38                interface="org.opendaylight.mdsal.dom.api.DOMMountPointService"
39                odl:type="default"/>
40     <reference id="deviceActionFactory"
41                interface="org.opendaylight.netconf.sal.connect.api.DeviceActionFactory"/>
42     <reference id="schemaManager"
43                interface="org.opendaylight.netconf.sal.connect.api.SchemaResourceManager"/>
44     <odl:clustered-app-config
45             id="singletonConfig"
46             binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.topology.singleton.config.rev170419.Config"
47     />
48
49     <cm:property-placeholder persistent-id="org.opendaylight.netconf.topology.sb.keypair" update-strategy="none">
50         <cm:default-properties>
51             <cm:property name="private-key-path" value=""/>
52             <cm:property name="private-key-passphrase" value=""/>
53         </cm:default-properties>
54     </cm:property-placeholder>
55
56     <reference id="encryptionService"
57                interface="org.opendaylight.aaa.encrypt.AAAEncryptionService" />
58
59     <bean id="netconfTopologyManager"
60           class="org.opendaylight.netconf.topology.singleton.impl.NetconfTopologyManager"
61           init-method="init" destroy-method="close">
62         <cm:managed-properties persistent-id="org.opendaylight.netconf.topology.sb.keypair"
63                                update-strategy="container-managed"/>
64         <argument ref="dataBroker"/>
65         <argument ref="rpcRegistry"/>
66         <argument ref="actionRegistry"/>
67         <argument ref="clusterSingletonService"/>
68         <argument ref="keepAliveExecutor"/>
69         <argument ref="processingExecutor"/>
70         <argument ref="actorSystemProvider"/>
71         <argument ref="eventExecutor"/>
72         <argument ref="clientDispatcherDependency"/>
73         <argument value="topology-netconf"/>
74         <argument ref="singletonConfig"/>
75         <argument ref="mountPointService"/>
76         <property name="privateKeyPath" value="${private-key-path}"/>
77         <property name="privateKeyPassphrase" value="${private-key-passphrase}"/>
78         <argument ref="encryptionService" />
79         <argument ref="deviceActionFactory"/>
80         <argument ref="schemaManager"/>
81     </bean>
82     <service ref="netconfTopologyManager"
83              interface="org.opendaylight.netconf.topology.singleton.api.NetconfTopologySingletonService"/>
84
85     <bean id="netconfNodeRegisterEncryptedRPC"
86           class="org.opendaylight.netconf.sal.connect.util.NetconfTopologyRPCProvider"
87           >
88         <argument value="topology-netconf"/>
89         <argument ref="dataBroker"/>
90         <argument ref="encryptionService"/>
91     </bean>
92
93     <odl:rpc-implementation ref="netconfNodeRegisterEncryptedRPC"/>
94
95     <bean id="netconfKeystoreProvider"
96           class="org.opendaylight.netconf.sal.connect.util.NetconfSalKeystoreService">
97         <argument ref="dataBroker"/>
98         <argument ref="encryptionService"/>
99     </bean>
100
101     <odl:rpc-implementation ref="netconfKeystoreProvider"/>
102
103 </blueprint>