aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject')
-rw-r--r--framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfController.java84
-rw-r--r--framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDevice.java51
-rw-r--r--framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceInfo.java173
-rw-r--r--framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceListener.java37
-rw-r--r--framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfSession.java129
-rw-r--r--framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/package-info.java20
6 files changed, 0 insertions, 494 deletions
diff --git a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfController.java b/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfController.java
deleted file mode 100644
index 6411c011..00000000
--- a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfController.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.netconf;
-
-import org.onlab.packet.IpAddress;
-import org.onosproject.net.DeviceId;
-
-import java.util.Map;
-
-/**
- * Abstraction of an NETCONF controller. Serves as a one stop shop for obtaining
- * NetconfDevice and (un)register listeners on NETCONF device events.
- */
-public interface NetconfController {
-
- /**
- * Adds Device Event Listener.
- *
- * @param listener node listener
- */
- void addDeviceListener(NetconfDeviceListener listener);
-
- /**
- * Removes Device Listener.
- *
- * @param listener node listener
- */
- void removeDeviceListener(NetconfDeviceListener listener);
-
- /**
- * Tries to connect to a specific NETCONF device, if the connection is succesful
- * it creates and adds the device to the ONOS core as a NetconfDevice.
- *
- * @param deviceInfo info about the device to add
- * @return NetconfDevice Netconf device
- */
- NetconfDevice connectDevice(NetconfDeviceInfo deviceInfo);
-
- /**
- * Removes a Netconf device.
- *
- * @param deviceInfo info about the device to remove
- */
- void removeDevice(NetconfDeviceInfo deviceInfo);
-
- /**
- * Gets all the nodes information.
- *
- * @return map of devices
- */
- Map<DeviceId, NetconfDevice> getDevicesMap();
-
- /**
- * Gets a Netconf Device by node identifier.
- *
- * @param deviceInfo node identifier
- * @return NetconfDevice Netconf device
- */
- NetconfDevice getNetconfDevice(DeviceId deviceInfo);
-
- /**
- * Gets a Netconf Device by node identifier.
- *
- * @param ip device ip
- * @param port device port
- * @return NetconfDevice Netconf device
- */
- NetconfDevice getNetconfDevice(IpAddress ip, int port);
-
-}
diff --git a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDevice.java b/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDevice.java
deleted file mode 100644
index 1974782b..00000000
--- a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDevice.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.netconf;
-
-/**
- * Interface representing a NETCONF device.
- */
-public interface NetconfDevice {
-
-
- /**
- * Returns whether a device is a NETCONF device with a capabilities list
- * and is accessible.
- *
- * @return true if device is accessible, false otherwise
- */
- boolean isActive();
-
- /**
- * Returns a NETCONF session context for this device.
- *
- * @return netconf session
- */
- NetconfSession getSession();
-
- /**
- * Ensures that all sessions are closed.
- * A device cannot be used after disconnect is called.
- */
- void disconnect();
-
- /**
- * return all the info associated with this device.
- * @return NetconfDeviceInfo
- */
- NetconfDeviceInfo getDeviceInfo();
-} \ No newline at end of file
diff --git a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceInfo.java b/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceInfo.java
deleted file mode 100644
index cb0e240a..00000000
--- a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceInfo.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.netconf;
-
-import com.google.common.base.Preconditions;
-import org.onlab.packet.IpAddress;
-import org.onosproject.net.DeviceId;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Objects;
-
-/**
- * Represents a Netconf device information.
- */
-public class NetconfDeviceInfo {
-
- public static final Logger log = LoggerFactory
- .getLogger(NetconfDeviceInfo.class);
-
- private String name;
- private String password;
- private IpAddress ipAddress;
- private int port;
- private File keyFile;
-
-
- /**
- * Information for contacting the controller.
- *
- * @param name the connection type
- * @param password the password for the device
- * @param ipAddress the ip address
- * @param port the tcp port
- */
- public NetconfDeviceInfo(String name, String password, IpAddress ipAddress,
- int port) {
- Preconditions.checkArgument(!name.equals(""), "Empty device name");
- Preconditions.checkNotNull(port > 0, "Negative port");
- Preconditions.checkNotNull(ipAddress, "Null ip address");
- this.name = name;
- this.password = password;
- this.ipAddress = ipAddress;
- this.port = port;
- }
-
- /**
- * Information for contacting the controller.
- *
- * @param name the connection type
- * @param password the password for the device
- * @param ipAddress the ip address
- * @param port the tcp port
- * @param keyString the string cointaing the key.
- */
- public NetconfDeviceInfo(String name, String password, IpAddress ipAddress,
- int port, String keyString) {
- Preconditions.checkArgument(!name.equals(""), "Empty device name");
- Preconditions.checkNotNull(port > 0, "Negative port");
- Preconditions.checkNotNull(ipAddress, "Null ip address");
- this.name = name;
- this.password = password;
- this.ipAddress = ipAddress;
- this.port = port;
- this.keyFile = new File(keyString);
- }
-
- /**
- * Exposes the name of the controller.
- *
- * @return String name
- */
- public String name() {
- return name;
- }
-
- /**
- * Exposes the password of the controller.
- *
- * @return String password
- */
- public String password() {
- return password;
- }
-
- /**
- * Exposes the ip address of the controller.
- *
- * @return IpAddress ip address
- */
- public IpAddress ip() {
- return ipAddress;
- }
-
- /**
- * Exposes the port of the controller.
- *
- * @return int port address
- */
- public int port() {
- return port;
- }
-
- /**
- * Exposes the keyFile of the controller.
- *
- * @return int port address
- */
- public File getKeyFile() {
- return keyFile;
- }
-
- /**
- * Return the info about the device in a string.
- * String format: "netconf:name@ip:port"
- *
- * @return String device info
- */
- public String toString() {
- return "netconf:" + name + "@" + ipAddress + ":" + port;
- }
-
- /**
- * Return the DeviceId about the device containing the URI.
- *
- * @return DeviceId
- */
- public DeviceId getDeviceId() {
-
- try {
- return DeviceId.deviceId(new URI(this.toString()));
- } catch (URISyntaxException e) {
- log.debug("Unable to build deviceID for device {} ", this, e);
- }
- return null;
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(ipAddress, port, name);
- }
-
- @Override
- public boolean equals(Object toBeCompared) {
- if (toBeCompared instanceof NetconfDeviceInfo) {
- NetconfDeviceInfo netconfDeviceInfo = (NetconfDeviceInfo) toBeCompared;
- if (netconfDeviceInfo.name().equals(name)
- && netconfDeviceInfo.ip().equals(ipAddress)
- && netconfDeviceInfo.port() == port
- && netconfDeviceInfo.password().equals(password)) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceListener.java b/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceListener.java
deleted file mode 100644
index 9c46d4f6..00000000
--- a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfDeviceListener.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.netconf;
-
-/**
- * Allows for providers interested in node events to be notified.
- */
-public interface NetconfDeviceListener {
-
- /**
- * Notifies that the node was added.
- *
- * @param nodeId the node where the event occurred
- */
- void deviceAdded(NetconfDeviceInfo nodeId);
-
- /**
- * Notifies that the node was removed.
- *
- * @param nodeId the node where the event occurred
- */
- void deviceRemoved(NetconfDeviceInfo nodeId);
-}
diff --git a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfSession.java b/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfSession.java
deleted file mode 100644
index 73c435f6..00000000
--- a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfSession.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onosproject.netconf;
-
-import java.util.List;
-
-/**
- * NETCONF session object that allows NETCONF operations on top with the physical
- * device on top of an SSH connection.
- */
-// TODO change return type of methdos to <Capability, XMLdoc, string or yang obj>
-public interface NetconfSession {
-
- /**
- * Retrives the requested configuration, different from get-config.
- * @param request the XML containing the request to the server.
- * @return device running configuration
- */
- String get(String request);
-
- /**
- * Executes an RPC to the server.
- * @param request the XML containing the RPC for the server.
- * @return Server response or ERROR
- */
- String doRPC(String request);
-
- /**
- * Retrives the specified configuration.
- *
- * @param targetConfiguration the type of configuration to retrieve.
- * @return specified configuration.
- */
- String getConfig(String targetConfiguration);
-
- /**
- * Retrives part of the specivied configuration based on the filterSchema.
- *
- * @param targetConfiguration the type of configuration to retrieve.
- * @param configurationFilterSchema XML schema to filter the configuration
- * elements we are interested in
- * @return device running configuration.
- */
- String getConfig(String targetConfiguration, String configurationFilterSchema);
-
- /**
- * Retrives part of the specified configuration based on the filterSchema.
- *
- * @param newConfiguration configuration to set
- * @return true if the configuration was edited correctly
- */
-
- boolean editConfig(String newConfiguration);
-
- /**
- * Copies the new configuration, an Url or a complete configuration xml tree
- * to the target configuration.
- * The target configuration can't be the running one
- *
- * @param targetConfiguration the type of configuration to retrieve.
- * @param newConfiguration configuration to set
- * @return true if the configuration was copied correctly
- */
- boolean copyConfig(String targetConfiguration, String newConfiguration);
-
- /**
- * Deletes part of the specified configuration based on the filterSchema.
- *
- * @param targetConfiguration the name of the configuration to delete
- * @return true if the configuration was copied correctly
- */
- boolean deleteConfig(String targetConfiguration);
-
- /**
- * Locks the candidate configuration.
- *
- * @return true if successful.
- */
- boolean lock();
-
- /**
- * Unlocks the candidate configuration.
- *
- * @return true if successful.
- */
- boolean unlock();
-
- /**
- * Closes the Netconf session with the device.
- * the first time it tries gracefully, then kills it forcefully
- * @return true if closed
- */
- boolean close();
-
- /**
- * Gets the session ID of the Netconf session.
- *
- * @return Session ID as a string.
- */
- String getSessionId();
-
- /**
- * Gets the capabilities of the Netconf server associated to this session.
- *
- * @return Network capabilities as a string.
- */
- String getServerCapabilities();
-
- /**
- * Sets the device capabilities.
- * @param capabilities list of capabilities the device has.
- */
- void setDeviceCapabilities(List<String> capabilities);
-
-}
diff --git a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/package-info.java b/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/package-info.java
deleted file mode 100644
index 5562bd33..00000000
--- a/framework/src/onos/protocols/netconf/api/src/main/java/org/onosproject/netconf/package-info.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Created by ray on 10/30/15.
- */
-package org.onosproject.netconf;