Skip to content
Eric Schreiber edited this page Mar 20, 2018 · 30 revisions

Welcome to the python-etce wiki!

ETCE is the Extendable Test Control Environment, a Pure Python package for efficiently writing and running EMANE emulations. ETCE was initially developed as Adjacent Link's internal tool for performing EMANE regression tests. The interchangeable use of the terms test and emulation in the ETCE code and documentation reflects this history.

Some key terms:

  • ETCE operates from a Control Node to orchestrate application set up and tear down on a set of worker nodes. The set of worker nodes is referred to as an ETCE Field. The ETCE Control Node communicates with Field members via SSH using the Paramiko library. Field members may be any physical or virtual host reachable from the Control Node via public key authentication.

  • Applications are made available to ETCE control through ETCE Wrappers. An ETCE Wrapper is a dynamically loadable Python module that inherits from the common Wrapper base class and encapsulates the specifics of starting and stopping an application. Adjacent Link maintains a repository of publicly available wrappers. Users are encouraged to write their own wrappers to extend ETCE.

  • Emulations are organized into a set of ETCE [[Test Directories]]. An ETCE Test Directory is marked by the presence of the required test.xml file that names and describes the test. The Test Directory organizes application configuration into subdirectories named by target host. To minimize configuration effort, a test directory may inherit from a common base directory and/or generate configuration files from templates. ETCE uses the Mako library for templating.

Clone this wiki locally