Skip to content

Demonstration 1

Eric Schreiber edited this page May 9, 2019 · 11 revisions

Purpose

Demonstration 1 contains a simple example of an ETCE Test Directory. We'll use it to show the basic ETCE workflow and to introduce these main ideas:

  • An ETCE Test defines the way a sequence of applications is executed on a set of hosts. In an EMANE context, an ETCE Test corresponds to an EMANE emulation.
  • An ETCE Test is defined in an ETCE Test Directory - a directory of application configurations organized by host that includes test.xml and steps.xml ETCE files.
  • The etce-test application operates on ETCE Test Directories - to list and execute the underlying Tests.
  • Executing a Test results in configurations and outputs written in a structured way to the ETCE Work Directory.

To learn to use ETCE really means to learn how to create ETCE Test Directories, how to use etce-test and how to navigate ETCE Work Directory contents for troubleshooting and analyzing test outputs.

Activity 1 - Listing Test Contents

Each of the demonstration subdirectories in the ETCE Tutorial is an ETCE Test Directory. We can run etce-test list on the parent tutorial directory to discover all of the ETCE Test Directories it contains.

[me@host]$ git clone https://github.com/adjacentlink/python-etce-tutorial
Cloning into 'python-etce-tutorial'...
remote: Enumerating objects: 126, done.
remote: Counting objects: 100% (126/126), done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 126 (delta 69), reused 121 (delta 64), pack-reused 0
Receiving objects: 100% (126/126), 107.93 KiB | 0 bytes/s, done.
Resolving deltas: 100% (69/69), done.
Checking connectivity... done.

[me@host]$ ls python-etce-tutorial
01.hello_etce  02.hello_lxc  03.emane  04.templates  config  COPYING  README.md  scripts  start_demo.sh  stop_demo.sh

[me@host]$ etce-test list python-etce-tutorial
01.hello_etce
02.hello_lxc
03.emane
04.templates

Adding a test name and the -v (verbose) flag adds location and description information to the output. overlays prints the names of configuration variables present in the test configuration - we'll cover this later.

[me@host]$ etce-test list -v python-etce-tutorial 01.hello_etce
-------------
01.hello_etce
-------------
location:
  python-etce-tutorial/01.hello_etce
description:

    Demonstrate a minimal test with
    a single field node (localhost)
    and a single step (say.hello).

overlays:
Clone this wiki locally