ecab8350da0bdc0759a9e67a6615581925a60b82
[netconf.git] / netconf / netconf-topology-singleton / src / main / resources / org / opendaylight / 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.controller.md.sal.binding.api.DataBroker"/>
17     <reference id="rpcRegistry"
18                interface="org.opendaylight.controller.sal.binding.api.RpcProviderRegistry"/>
19     <reference id="clusterSingletonService"
20                interface="org.opendaylight.mdsal.singleton.common.api.ClusterSingletonServiceProvider"/>
21     <reference id="keepAliveExecutor"
22                interface="org.opendaylight.controller.config.threadpool.ScheduledThreadPool"
23                odl:type="global-netconf-ssh-scheduled-executor"/>
24     <reference id="processingExecutor"
25                interface="org.opendaylight.controller.config.threadpool.ThreadPool"
26                odl:type="global-netconf-processing-executor"/>
27     <reference id="actorSystemProvider"
28                interface="org.opendaylight.controller.cluster.ActorSystemProvider"/>
29     <reference id="eventExecutor"
30                interface="io.netty.util.concurrent.EventExecutor"
31                odl:type="global-event-executor"/>
32     <reference id="clientDispatcherDependency"
33                interface="org.opendaylight.netconf.client.NetconfClientDispatcher"
34                odl:type="netconf-client-dispatcher"/>
35     <reference id="mountPointService"
36                interface="org.opendaylight.controller.md.sal.dom.api.DOMMountPointService"
37                odl:type="default"/>
38     <odl:clustered-app-config
39             id="singletonConfig"
40             binding-class="org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.topology.singleton.config.rev170419.Config"
41     />
42
43     <cm:property-placeholder persistent-id="org.opendaylight.netconf.topology.sb.keypair" update-strategy="none">
44         <cm:default-properties>
45             <cm:property name="private-key-path" value=""/>
46             <cm:property name="private-key-passphrase" value=""/>
47         </cm:default-properties>
48     </cm:property-placeholder>
49
50     <reference id="encryptionService"
51                interface="org.opendaylight.aaa.encrypt.AAAEncryptionService" />
52
53     <bean id="netconfTopologyManager"
54           class="org.opendaylight.netconf.topology.singleton.impl.NetconfTopologyManager"
55           init-method="init" destroy-method="close">
56         <cm:managed-properties persistent-id="org.opendaylight.netconf.topology.sb.keypair"
57                                update-strategy="container-managed"/>
58         <argument ref="dataBroker"/>
59         <argument ref="rpcRegistry"/>
60         <argument ref="clusterSingletonService"/>
61         <argument ref="keepAliveExecutor"/>
62         <argument ref="processingExecutor"/>
63         <argument ref="actorSystemProvider"/>
64         <argument ref="eventExecutor"/>
65         <argument ref="clientDispatcherDependency"/>
66         <argument value="topology-netconf"/>
67         <argument ref="singletonConfig"/>
68         <argument ref="mountPointService"/>
69         <property name="privateKeyPath" value="${private-key-path}"/>
70         <property name="privateKeyPassphrase" value="${private-key-passphrase}"/>
71         <argument ref="encryptionService" />
72     </bean>
73     <service ref="netconfTopologyManager"
74              interface="org.opendaylight.netconf.topology.singleton.api.NetconfTopologySingletonService"/>
75
76     <bean id="netconfNodeRegisterEncryptedRPC"
77           class="org.opendaylight.netconf.sal.connect.util.NetconfTopologyRPCProvider"
78           >
79         <argument value="topology-netconf"/>
80         <argument ref="dataBroker"/>
81         <argument ref="encryptionService"/>
82     </bean>
83
84     <odl:rpc-implementation ref="netconfNodeRegisterEncryptedRPC"/>
85
86 </blueprint>