System requirements
We have successfully tested OpenNaaS to both build and run in
- Windows 7,
- GNU Linux systems (Ubuntu +10.10 and Debian)
- MAC OSX systems
There's a limitation by using Windows XP. The reason is that OpenNaaS uses Fuse 4.4 version, which requires at least either a Windows 2003 Server, a Windows 2008 Server or Windows 7, in case you're using a Microsoft OS.
Although not tested, there is no reason to believe OpenNaaS should not be able to run in other systems.
Info | ||
---|---|---|
| ||
Note that you will need internet connectivity for the build too, as the dependencies are fetched during build by Maven. |
Run OpenNaaS
To start OpenNaaS, launch the executable named opennaas in the following folder:
/platform/target/opennaas-${project.version}/opennaas-${project.version}/bin
Note |
---|
Notice that there is a .sh and a .bat file. Please use .bat if you are using Windows, and .sh if you are in a GNU-Linux or Mac OS box. |
So, for version 0.10 on linux, you will run it as follows:
Code Block |
---|
cd opennaas/platform/target/opennaas-0.10/opennaas-0.10/
./bin/opennaas.sh |
By default, OpenNaaS will open a CLI prompt on the terminal. To avoid this you can execute it this way:
Code Block |
---|
cd opennaas/platform/target/opennaas-0.10/opennaas-0.10/
./bin/opennaas.sh server |
Please note that you will have to configure Karaf's SSH daemon to login the CLI via regular SSH.
Congratulations! Now that you have a running OpenNaaS instance, try loading some resources.
This tutorial describes the first steps to use Mantychore where we are going to add a router and we will do the first operations to manage it (In this case, we only do a simple operation, to configure an IP)
Creating resources
The first step in Mantychore is the resource virtualization. In this step, it is added a new device to the Mantychore system. For this action, it is necessary to create a file to describe what features and capabilities this virtual resource will be able to have.
For this tutorial, can you use this template as example (for more information, the wiki has a section to describe each parameter). The command will be:
Code Block |
---|
resource:create /home/carlos/Escritorio/resource.descriptor
|
Resource descriptor: to get more information about how it works, you can use this link
Resources states
A resource is in a set of states which it permits do or not a set of operations. This picture describes these states:
Mainly, a resource has activate all these capabilities if it is started. For this reason, the next step will be start our resource:
Code Block |
---|
resource:start router:junos20
|
Adding protocols
Each resource have to be linked to the necessary protocols which are used to connect with the physical device (the real router which we want to virtualize). In this case, we will use a netconf protocol to connect with the router:
Code Block |
---|
protocols:context router:junos20 netconf ssh://myuser:mypassword@193.1.190.254:22/netconf
|
Description of the connection parameters:
- router:junos20 - specify resource type (router) and resource name (junos20). It specifies what resource will use this protocol
- netconf - name to describe which protocol it will be used
- ssh://myuser:mypassword@1.1.1.1:22/netconf - URI to describe connection parameters.
Panel | ||
---|---|---|
|
Doing operations with the resource
Now, we have a started resource with a set of available operations. These operations will be send to the real device. In this case, we will be execute an ip configuration:
Code Block |
---|
chassis:setInterface router:junos20 fe-0/1/2.0 192.168.1.1 255.255.255.0
|
To get the configuration result:
Code Block |
---|
chassis:listInterfaces router:junos20
|
Removing a resource
Finally, if you don't need more our resource, you can stop and remove it. First, we need to stop it:
Code Block |
---|
resource:stop router:junos20
|
The resource will deactivate all its capabilities and it will be reset. After, we will destroy it and we will delete any resource information in Mantychore.
...