OnePK is Cisco's answer to Software Define Networking. It's still in limited release on a request basis. It's essentially a Software Development Kit (SDK) the facilitates automation, programability, and monitoring to network resources.
In the past, engineers had to write Perl or Expect style scripts to add custom intelligence to networks. Those scripts would use SSL or Telnet style libraries to simulate a user accessing into a device. The scripts would run commands and read/parse the responses.
SDN is the next level of this type of control, with a Spin. The main marketing pitch is that the Application will control the network.
I'm in the early stages of looking at OnePK. I have it installed on a CentOS box. I wanted to start a thread, where myself and hopefully other engineers can share their experiences with this new toolset. I'll start:
OnePK comes in at least two languages (Java,C). I focused on the Java SDK.
Here are my notes on installing the OnePK Java SDK:
# Installing Base Dev Tools
yum groupinstall "Development Tools"
yum install java-1.7.0-openjdk
# Maven is a Java Compiler
yum install wget
wget You are not allowed to view links.
Register or
Login# Oracle Java - We need the traditional Sun SDK
rpm -i jdk-7u25-linux-x64.rpm
cd /usr/local
mkdir apache-maven
-copy in file and tar xvfz
export M2_HOME=/usr/local/apache-maven/apache-maven-3.1.0
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
export JAVA_HOME=/usr/java/default/
export PATH=$JAVA_HOME/bin:$PATH
From onePK folder
chmod u+x install.sh
./install.sh
mvn -version
mvn install:install-file -Dfile=libonep-core-rel.jar -DgroupId=com.cisco.onep -DartifactId=libonep-core-rel -Dversion=0.8-Dpackaging=jar
# You should get these results
[INFO] ------------------------------------------------------------------------
[INFO] Building onePK Java Tutorials 0.8.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ java-tutorials ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 8 resources
[INFO]
[INFO] --- maven-compiler-plugin:2.1:compile (default-compile) @ java-tutorials ---
[INFO] Compiling 18 source files to /root/onepk/sdk-java-0.8.0.999/java/tutorials/target/classes
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.821s
[INFO] Finished at: Fri Aug 16 07:13:51 PDT 2013
[INFO] Final Memory: 10M/28M
[INFO] ------------------------------------------------------------------------
To run a tutorial you need to connect to a network element, then add the IP address, user, and
password information to <sdk-install-directory>/java/tutorials/target/classes/tutorials.properties.
elementAddress=<ip-address>
userName=user1
password=pass1
mvn exec:java -Dexec.mainClass="com.cisco.onep.tutorials.BaseTutorial"