Code Monkey home page Code Monkey logo

tomato's Introduction

ToMaTo - Topology Management Tool

The Topology Management Tool (ToMaTo) is a topology-centric network testbed, giving researchers the possibility to run their software in specifically designed virtual networking topologies. ToMaTo utilizes Proxmox virtualization technology (OpenVZ and KVM), Tinc VPN and Dummynet ink emulation to organize virtual machines in virtual topologies.

Homepage: http://www.tomato-lab.org

Copyright (c) 2010-2016 by the Integrated Communication Systems Lab of the University of Kaiserslautern (http://www.icsy.de)

License: GNU Affero GPL 3 (see agpl-3.0.txt)

Running ToMaTo

Hostmanager

The hostmanager is the software that has to run on every node. To start it, run ./server.py in the hostmanager directory

Backend and Webfrontend

The backend is the central management of ToMaTo. It consists of multiple services, each running in their own Docker container. The webfrontend is one client of ToMaTo which provides a web interface to ToMaTo which can be used in the browser. It also runs in its own Docker container.

You can use the tomato-ctl tool in the docker/run directory. Use ./tomato-ctl.py --help in order to learn more.
In order to run the docker containers, you have to make the images by running make in the docker/build directory.

Accessing ToMaTo

The default user is admin with the password changeme.

Graphical User interface

You can access the ToMaTo webfrontend via your web browser, and manage users from there.

Command-Line Interface

You can also access an API shell by using the tomato tool in the cli directory. Run ./tomato.py --help to learn more about how to connect. See the API Tutorial for more information about the API syntax.

Testing changes

Testes are available in the test directory. Run ./automatic_testing.sh to automatically set up a new ToMaTo instance, register the hosts from testhosts.json and the templates from testtemplates.json, run the tests, and stop the ToMaTo test instance.

tomato's People

Contributors

a-gerhard avatar swuest avatar dswd avatar stephan-s avatar

Watchers

hadi avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.