Skip to content
dswd edited this page Feb 14, 2014 · 4 revisions

Designing Topologies

Note that there are tutorials that give a good introduction over the respective features.

Creating a Topology

For each experiment a new topology should be created. Topologies can be created in the list of own topologies which is available in the top menu of the page. When a new topology has been created, the editor opens with that topology and asks for some information about the topology including a descriptive name.

Adding Elements to the Topology

The topology editor has a workspace and a top menu with several buttons organized in different tabs. The very left part of the menu on the main tab controls the edit mode. The default mode is the "select & move" mode. In this mode, users can move elements by dragging them inside of the workspace or right-click on them to work with them.

To place new elements in the workspace (the graphical topology representation) users have to select an element from the menu (either from the common elements or from the other tabs) and place it into the workspace with a single left click. Afterwards the edit mode is reverted to "select & move".

ToMaTo offers different types of virtual machines and virtual network equipment and also offers the different available templates for the virtual machine based elements.

Connecting Elements

Elements can be connected in two ways:

  • By selecting "connect" from the right-click menu of the first element and then left-clicking on the second element
  • By selecting the "connect" edit mode and clicking on the first node and then on the second node. (Note: Afterwards the edit mode has to be changed back to the default mode)

If both elements support a new connection, new child elements (network interfaces, switch ports, etc.) will automatically be created and a connection between them will be created. The new connection will be displayed as a streight line with a handle in the middle.

Configuring Elements and Connections

The option "configure" in the right-click menu of elements and connections opens a window containing all attributes of the element/connection. The current attributes will be displayed and the user can change them. The changes will only become active it the user clicks "save".

Note that some attributes can only be changed in certain states.

Removing Elements and Connections

Elements and Connections can be removed either by selecting "remove" in their right-click menu or by left-clicking on them when in "remove" edit mode.

Note that most elements can not be removed when they are started or prepared.

Starting/Stopping the Elements

To be able to use elements, they have to be started. This happens in two steps:

  • First the element has to be prepared. This means that a host is being assigned to that element and the disk image is created. The element now consumes disk space. The editor displays this state with the following state icon: .
  • After that, the element has to be started. In this state the element is active and can be used by an experiment. This means that the element consumes CPU, memory, disk space and network bandwith resources. The editor displays this state with the following state icon: .

To change the state of an element the state-actions in the right-click menu can be used:

  • Prepare will bring the element from the state created to prepared.
  • Start will bring the element from the state prepared to started.
  • Stop will bring the element from the state started to prepared. Note that this means that all data in RAM is lost in this step.
  • Destroy will bring the element from the state prepared to created. Note that this means that all data on disk in lost in this step. During a state change, the state icon will display a loading icon.

The topology contains four smart actions that can be used to change the states of all elements at once:

  • Start will bring all elements to the state started by executing the actions prepare and start on them as needed. This action will also obay any order restrictions.
  • Stop will stop all elements in the state started. Other elements are not affected.
  • Prepare will bring all elements in the state created to the state prepared. Other elements (including those that are already started) are not affected.
  • Destroy will bring all elements to the state created by executing the actions stop and destroy on them as needed.