Comments (13)
Hello Luca,
can you please attach the test configuration *.json file you use as an input to nstat?
from nstat.
Here is the json file, I copied the contents to a txt file.
The controller is pox. The address is correct, mininet connects.
boron_RPC_sb_active_scalability_mtcbench.txt
from nstat.
Hi, I tried to change the name of the controller in the json file. From the error I found:
File "/opt/nstat/stress_test/controller.py", line 81, in new
raise NotImplementedError ('Not supported yet')
I arrived therefore to this:
if (name == 'ODL'):
return ODL (ctrl_base_dir, test_config)
elif name == 'ONOS':
raise NotImplementedError ('ONOS is not supported yet')
else:
raise NotImplementedError ('Not supported yet')
in the file stress_test / in controller py.
But then nstat only supports the ODL controller (I suppose it is opendaylight) ??
That's why it can not connect to the pox controller?
This is the mistake I have when I try to connect with pox:
[2018-05-16 08: 42: 33,866 INFO] Authentication (password) failed.
[2018-05-16 08: 42: 33,866 ERROR] [utils.netutils.ssh_connect_or_return] authentication failed when connecting to 155.185.49.81
from nstat.
- NSTAT supports only OpenDaylight at the moment. However it is possible to use the existing nstat architecture to add testing of other controllers. I would start first with
-
how a new controller works ie POX, what are its interfaces (southbound, northbound),
-
manual deployment testing/connecting to a multinet/cbench topology and finally
-
adding all necessary adaptations to NSTAT (if you plan to do so we can support you from the NSTAT code point of view)
so better leave in you *.json configuration file "controller_name":"ODL",
- One more diff I also see is
"controller_node_ip":"155.185.49.81", which means that you try to deploy odl on a node with ip which is on a different subnet with the rest of the NSTAT nodes. This will not work. Better
- leave it as it is "controller_node_ip":"10.0.1.11" and better run your test using the three node architecture (container based test setup) 1) one nstat node 2) controller node 3) sb-emulator-node with ips
"nstat_node_ip":"10.0.1.10",
"controller_node_ip":"10.0.1.11",
"sb_emulator_node_ip":"10.0.1.12",
respectively.
Make sure to prepare your containers first. Check below for futher details
https://github.com/intracom-telecom-sdn/nstat/wiki/Installation
Be careful what docker files to chose if you sit behind a proxy or not.
from nstat.
hello, I had put the different ip (155.185.49.81) to connect to pox started not on docker. I had already installed nstat on docker following the instructions, so I should be ready to start the tests. The problem is that even if you do not change the addresses of the .json file, the test does not start.
Before the operation:
[2018-05-17 12:23:57,910 DEBUG ] [controller.build] Cloning into '/opt/nstat/controllers/odl_boron_pb/nstat-sdn-controllers'...
i have this error:
File "/opt/nstat/stress_test/controller.py", line 426, in build
format(cmd_output)), exit_status)
TypeError: exceptions must derive from BaseException
I attach the file with the error
from nstat.
From the error you sent it is now the controller build handler that complains
destination path '/opt/nstat/controllers/odl_boron_pb/nstat-sdn-controllers' already exists and is not an empty directory.
Try removing the /opt/nstat/controllers/odl_boron_pb/nstat-sdn-controllers from the node you try to run the controller at, and shoot again.
Before doing this you can standalone check the controller handlers (build/clean) located under the controllers dir. The idea of this handlers is that
- build handler brings the necessary controller to the controller node and builds it (prepares the binary)
- clean handler, cleans the controller node from any controller relevant sw, binaries etc
Br
from nstat.
Thanks, I deleted the folder and it worked.
There remains a problem, starting the test, for example:
docker exec -i nstat /bin/bash -c "export PYTHONPATH=/opt/nstat; source /opt/venv_nstat/bin/activate;
python3.4 /opt/nstat/stress_test/nstat.py
--test=sb_idle_scalability
--ctrl-base-dir=/opt/nstat/controllers/odl_boron_pb/
--sb-emulator-base-dir=/opt/nstat/emulators/mt_cbench/
--json-config=/opt/nstat/stress_test/sample_test_confs/boron/boron_RPC_sb_idle_scalability_mtcbench.json
--json-output=/opt/nstat/results.json
--html-report=/opt/nstat/report.html
--output-dir=/opt/nstat/results_boron_RPC_sb_idle_scalability_mtcbench/"
i have an error " /opt/nstat/emulators/mt_cbench/ directory not exists". I solved by changing the folder from
"/opt/nstat/emulators/mt_cbench/ \ " to "/opt/nstat/emulators/sbemu/mtcbench/" (I hope it is correct).
I have another question:
the build.sh makes a git clone, but as it does not start. To start it correctly i have to edit the file and put sudo before git clone. Is there another way?
If i start the test putting sudo before docker does not work anyway...
from nstat.
- Yes your correction is correct. I guess we have a typo in the wiki. Can you please send me the wiki link so that we correct it?
- build.sh should bring all necessary controller handlers under the same folder. Therefore after running the build handler your dir should be as below
.
├── build.sh
├── change_persistence.py
├── change_stats_period.py
├── clean.sh
├── flowmods_configure.py
├── get_controller.sh
├── get_flows.py
├── get_hosts.py
├── get_links.py
├── get_switches.py
├── init.py
├── start_droptestDS.sh
├── start_droptestRPC.sh
├── start_no_dlux.sh
├── start.sh
├── status.sh
├── stop.sh
└── xml_utils.py
from nstat.
-
sure there is no problem, this is the link, https://github.com/intracom-telecom-sdn/nstat/wiki/Controller-stability-test-with-active-MT-Cbench-switches
but the problem is also in the other links of the "stress test" section of the same page. -
Sorry maybe I misplaced the question. When starting build.sh it creates all the dir files as you posted, but the problem is that build.sh only starts if I put sudo before "git clone ..." in the build.sh file. Without the permission sudo, does not start, so do not download all the contents of the dir... Maybe now I wait a bit 'and see if I give a mistake ..
from nstat.
-It should not behave like this. If you run this within a container, the path is /opt/nstat/emulators/... or /opt/nstat/controllers/.. for which we have prepared /opt with proper rights so that sudo is not needed.
What I mean is to
- ssh to your container where controller/emulator runs
- run the build.sh scripts (i.e /opt/nstat/controllers) it should clone without any issues.
-If your controller/emulator node is your localhost then we have most probably to open a bug since in the build.sh script we do not check for directory rights.
If you plan
Did you progress?
from nstat.
I tried to access the content odl_boron_pb via ssh, the command ./build.sh not start and after a few seconds this error appears:
fatal: unable to access 'https://github.com/intracom-telecom-sdn/nstat-sdn-controllers.git/': Failed to connect to 172.28.40.9 port 3128: Connection timed out
[build.sh] Cloning nstat-sdn-controllers failed. Exiting 1 ...
If I start with sudo ./build.sh privileges, it starts ...
The error could be due to the command "sudo usermod -a -G docker $ (whoami)"?
maybe when I started it something did not work and now I do not have permissions on docker?
from nstat.
I modified the build.sh file in
/opt/nstat/controllers/odl_boron_pb
and in
/opt/nstat/emulators/mt_cbench/
adding sudo before git clone ..., and the test start.
A curiosity, how much RAM does the test need? Started the basic test and my 4GB of ram were immediately filled ...
However, thank you for the help. I think that given the low amount of ram and the problem of compatibility with other controllers (I do not have much time to work) i will only do some tests with ODL. Thank you very much and I hope I did not waste time unnecessarily.
from nstat.
Hi Luca,
the sample test needs minimum 8Gb of RAM to run and get a feeling of how the test runs so that to get a few sample results and the final html report.
As I said in my previous comment sudo is not needed as long as you have set proper rights to the /opt folder.
Other controllers are not supported at the moment.
Feel free to ask whatever regarding nstat
Thanks for trying using it.
from nstat.
Related Issues (19)
- self.status attribute in Class Controller HOT 2
- Remote branch v1.0 not found in upstream origin HOT 1
- Error on deploying docker image HOT 1
- Error plots generate HOT 1
- error during test HOT 2
- Multinet test cases errors
- topology_rest_server_stop handler HOT 2
- build handler in travis (Controller refactorization)
- Southbound idle multinet functional testing HOT 1
- Bridged interface with vagrant and libvirt
- Controller handler dependencies when executed on Controller node HOT 1
- Controller name key in json configuration HOT 1
- Obsolete keys removal HOT 1
- Vagrantfile multiple VMs HOT 1
- git clone operation not available within NSTAT nodes HOT 1
- sys_used_memory_bytes returns wrong units HOT 1
- Correct netutil.py unit tests
- Python34 paramiko installation HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nstat.