Skip to content

Applications | Topology Syntax Guide

Michael Albert edited this page Jun 27, 2017 · 1 revision

Applications are installed on nodes, have commands associated with them, and also have an inheritance flag.

The inheritance flag allows the user to declare that the application be only installed on the nodes specified when it is run as the "top" topology (not being used as a template). Inheritance is assumed true unless the flag is specified with a value of false.

Additionally, if an application is inherited but commands associated with that application should not be, that can be specified within the commands tag within a topology (not within the application declaration).

Much of the behavior in installing and running applications is tied to the type of the application. All applications not added to the ApplicationTypeMap (see this guide) are assumed to be available via package manager, and use the default package manager for the associated distro.

A simple application to be installed on several nodes may look like

#...
applications:
  - iperf3: #name of the application
      - node1 #nodes to install it on
      - node2

An application without inheritance and with associated commands will look like

#...
applications:
  - myApplication:
      inherit: false #if topology is used as a template, do not install myApplication or run associated commands
      nodes:
        - node1: myApplication -r #command only to be run on node1
        - node2
      commands:
        - myApplication --help #command to be run on all nodes (including node1)

Note that commands are run sequentially in the order declared within the commands tag, and then the node-specific commands are run.