Sanjay S
Committed by Gerrit Code Review

Netconf Device Provider Plugin to discover and monitor NETCONF supported Devices.

Change-Id: I6d32c966fd4e9c3581db8285e2d712b6bffdb65c
...@@ -129,5 +129,11 @@ ...@@ -129,5 +129,11 @@
129 <bundle>mvn:org.onosproject/onos-core-common/@ONOS-VERSION</bundle> 129 <bundle>mvn:org.onosproject/onos-core-common/@ONOS-VERSION</bundle>
130 <bundle>mvn:org.onosproject/onos-core-trivial/@ONOS-VERSION</bundle> 130 <bundle>mvn:org.onosproject/onos-core-trivial/@ONOS-VERSION</bundle>
131 </feature> 131 </feature>
132 +
133 + <feature name="onos-netconf" version="@FEATURE-VERSION"
134 + description="ONOS Netconf providers">
135 + <feature>onos-api</feature>
136 + <bundle>mvn:org.onosproject/onos-netconf-provider-device/@ONOS-VERSION</bundle>
137 + </feature>
132 138
133 </features> 139 </features>
......
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2015 Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
18 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
19 + <modelVersion>4.0.0</modelVersion>
20 +
21 + <parent>
22 + <groupId>org.onosproject</groupId>
23 + <artifactId>onos-netconf-providers</artifactId>
24 + <version>1.2.0-SNAPSHOT</version>
25 + <relativePath>../pom.xml</relativePath>
26 + </parent>
27 +
28 + <artifactId>onos-netconf-provider-device</artifactId>
29 + <packaging>bundle</packaging>
30 +
31 + <description>ONOS Netconf protocol device provider</description>
32 + <build>
33 + <plugins>
34 + <plugin>
35 + <groupId>org.apache.maven.plugins</groupId>
36 + <artifactId>maven-shade-plugin</artifactId>
37 + <version>2.3</version>
38 + <configuration>
39 + <filters>
40 + <filter>
41 + <artifact>com.tailf:JNC</artifact>
42 + <includes>
43 + <include>com/tailf/jnc/**</include>
44 + </includes>
45 + </filter>
46 + <filter>
47 + <artifact>ch.ethz.ganymed:ganymed-ssh2</artifact>
48 + <includes>
49 + <include>ch/ethz/ssh2/**</include>
50 + </includes>
51 + </filter>
52 + <filter>
53 + <artifact>org.jdom:jdom2</artifact>
54 + <includes>
55 + <include>org/jdom2/**</include>
56 + </includes>
57 + </filter>
58 + </filters>
59 + </configuration>
60 + <executions>
61 + <execution>
62 + <phase>package</phase>
63 + <goals>
64 + <goal>shade</goal>
65 + </goals>
66 + </execution>
67 + </executions>
68 + </plugin>
69 + <plugin>
70 + <groupId>org.apache.felix</groupId>
71 + <artifactId>maven-scr-plugin</artifactId>
72 + </plugin>
73 + <plugin>
74 + <groupId>org.apache.felix</groupId>
75 + <artifactId>maven-bundle-plugin</artifactId>
76 + <configuration>
77 + <instructions>
78 + <Export-Package>
79 + com.tailf.jnc,
80 + ch.ethz.ssh2,
81 + ch.ethz.ssh2.auth,
82 + ch.ethz.ssh2.channel,
83 + ch.ethz.ssh2.crypto,
84 + ch.ethz.ssh2.crypto.cipher,
85 + ch.ethz.ssh2.crypto.dh,
86 + ch.ethz.ssh2.crypto.digest,
87 + ch.ethz.ssh2.log,
88 + ch.ethz.ssh2.packets,
89 + ch.ethz.ssh2.server,
90 + ch.ethz.ssh2.sftp,
91 + ch.ethz.ssh2.signature,
92 + ch.ethz.ssh2.transport,
93 + ch.ethz.ssh2.util,
94 + org.jdom2,
95 + org.jdom2.input,
96 + org.jdom2.output,
97 + org.jdom2.adapters,
98 + org.jdom2.filter,
99 + org.jdom2.internal,
100 + org.jdom2.located,
101 + org.jdom2.transform,
102 + org.jdom2.util,
103 + org.jdom2.xpath,
104 + org.jdom2.input.sax,
105 + org.jdom2.input.stax,
106 + org.jdom2.output.support,
107 + org.jdom2.xpath.jaxen,
108 + org.jdom2.xpath.util
109 + </Export-Package>
110 + </instructions>
111 + </configuration>
112 + </plugin>
113 + <plugin>
114 + <groupId>org.onosproject</groupId>
115 + <artifactId>onos-maven-plugin</artifactId>
116 + </plugin>
117 + </plugins>
118 + </build>
119 + <dependencies>
120 + <dependency>
121 + <groupId>org.osgi</groupId>
122 + <artifactId>org.osgi.compendium</artifactId>
123 + </dependency>
124 + <dependency>
125 + <groupId>ch.ethz.ganymed</groupId>
126 + <artifactId>ganymed-ssh2</artifactId>
127 + <version>262</version>
128 + </dependency>
129 + <dependency>
130 + <!-- TODO: change this appropriately when the official TailF JNC is available -->
131 + <groupId>org.onosproject</groupId>
132 + <artifactId>jnc</artifactId>
133 + <version>1.0</version>
134 + </dependency>
135 + <dependency>
136 + <groupId>org.jdom</groupId>
137 + <artifactId>jdom2</artifactId>
138 + <version>2.0.5</version>
139 + </dependency>
140 + <dependency>
141 + <groupId>jaxen</groupId>
142 + <artifactId>jaxen</artifactId>
143 + <version>1.1.4</version>
144 + <optional>true</optional>
145 + </dependency>
146 + </dependencies>
147 +</project>
1 +/*
2 + * Copyright 2015 Open Networking Laboratory
3 + *
4 + * Licensed under the Apache License, Version 2.0 (the "License");
5 + * you may not use this file except in compliance with the License.
6 + * You may obtain a copy of the License at
7 + *
8 + * http://www.apache.org/licenses/LICENSE-2.0
9 + *
10 + * Unless required by applicable law or agreed to in writing, software
11 + * distributed under the License is distributed on an "AS IS" BASIS,
12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 + * See the License for the specific language governing permissions and
14 + * limitations under the License.
15 + */
16 +
17 +/**
18 + * Provider that uses Netconf capability request as a means of infrastructure device discovery.
19 + */
20 +package org.onosproject.provider.netconf.device.impl;
...\ No newline at end of file ...\ No newline at end of file
1 +<?xml version="1.0" encoding="UTF-8"?>
2 +<!--
3 + ~ Copyright 2015 Open Networking Laboratory
4 + ~
5 + ~ Licensed under the Apache License, Version 2.0 (the "License");
6 + ~ you may not use this file except in compliance with the License.
7 + ~ You may obtain a copy of the License at
8 + ~
9 + ~ http://www.apache.org/licenses/LICENSE-2.0
10 + ~
11 + ~ Unless required by applicable law or agreed to in writing, software
12 + ~ distributed under the License is distributed on an "AS IS" BASIS,
13 + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 + ~ See the License for the specific language governing permissions and
15 + ~ limitations under the License.
16 + -->
17 +<project xmlns="http://maven.apache.org/POM/4.0.0"
18 + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
19 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
20 + <modelVersion>4.0.0</modelVersion>
21 +
22 + <parent>
23 + <groupId>org.onosproject</groupId>
24 + <artifactId>onos-providers</artifactId>
25 + <version>1.2.0-SNAPSHOT</version>
26 + <relativePath>../pom.xml</relativePath>
27 + </parent>
28 +
29 + <artifactId>onos-netconf-providers</artifactId>
30 + <packaging>pom</packaging>
31 +
32 + <description>ONOS Netconf protocol adapters</description>
33 +
34 + <modules>
35 + <module>device</module>
36 + </modules>
37 +
38 + <dependencies>
39 + <dependency>
40 + <groupId>org.onosproject</groupId>
41 + <artifactId>onos-api</artifactId>
42 + <classifier>tests</classifier>
43 + <scope>test</scope>
44 + </dependency>
45 + </dependencies>
46 +
47 +</project>
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
35 <module>openflow</module> 35 <module>openflow</module>
36 <module>lldp</module> 36 <module>lldp</module>
37 <module>host</module> 37 <module>host</module>
38 + <module>netconf</module>
38 <module>null</module> 39 <module>null</module>
39 </modules> 40 </modules>
40 41
......
1 +#
2 +# Instance-specific configurations, in this case, the number of
3 +# devices per node.
4 +#
5 +devConfigs = cisco:cisco@192.168.56.20:2022:inactive,sdn:rocks@192.168.56.30:22:inactive
6 +
7 +#
8 +# Number of ports per device. This is global to all devices
9 +# on all instances.
10 +#
11 +# numPorts = 8