Example: Modifying a Slice (add/remove nodes)

One of the goals of ExoGENI is to enable dynamically modifiable slices.  The subject of this post is how to add and remove nodes from an group in an existing ExoGENI slice.

The long term goals for modifying slices including the ability to:

  • Add/remove compute slivers
  • Modify compute sliver attributes (memory, disk, cpu, etc.)
  • Add/remove portions of topology (add/remove links, networks, interfaces)
  • Modify topology sliver performance (link bandwidth and latency)
  • More that we have not thought of yet.  Suggestions are welcome.

The currently deployed software allows the user to add and remove compute slivers provided the new slivers are members of an existing group of nodes.  The group requirement ensures that the modification will not require topology modification which is not yet supported.


This example could be used as the base for a virtual computational cluster with a single submit node and a group of compute nodes.   The number of nodes in the group can be modified to fit the current requirements of the applications running in the slice.  Start by using Flukes to create a request that includes an individual node and a group of nodes attached with a network link.

Make sure the group settings include multiple nodes.  In this case, the group begins with four nodes.

Submit your request and wait for ExoGENI to instantiate the topology.  When it is complete you should see a manifest similar to the following.   Note that in this case the single node is on a different site than the group.   This is not a requirement but does make it easier to visually identify the group from the individual.

Now lets add some virtual machines to the group.  Right-click any node that is part of the group and select “Increase node group size…”.    You will be presented with a dialogue box that expects you to enter the number of nodes you wish to create.  Lets enter “4” to create four more nodes.

After you enter the number of nodes you wish to add, Flukes needs to be unstructured to submit the modify request.  Do this by clicking the “Commit Modify Actions” button near the top of the Manifest View.   Flukes will present you with a text box containing the raw NDL for the modify request.   Confirm the request by clicking “OK”.

Now your request has been submitted.  To view your modified slice click “Query for Manifest”.  You should now see the modified slice containing eight nodes in the group.

Deleting individual nodes is accomplished through a similar process.  Choose the node in the group that you wish to delete.  Right-click that node and choose “Delete <node name>”.   Confirm that you wish to delete that node.   Then commit the modify request and query for the updated the manifest.


  • Multiple modify actions can be composed into a single modify request.   Try adding and deleting nodes before committing the modify action.     In addition, you may wish to add and/or delete nodes from multiple groups within one slice with one modify request.
  • Don’t worry if you make a mistake and add the wrong number of nodes to a group or delete the wrong node.  Anytime before you commit the modify action you can click “Clear Modify Actions”.   This clears ALL the modify actions that you have worked on since the last time you committed a modify action.
  • If your group has a ExoGENI defined dataplane with IP addresses, make sure that the IP address space is large enough for the largest you expect your group to be.  In addition, make sure that any other nodes in that subnet have IP addresses that will not conflict with any new nodes added to the group.  Note: Fluke’s “Auto IP” feature often uses small subnets that may not be large enough for your dynamic group.




Have something to add?

Loading Facebook Comments ...