18. Layer root

18.1. Overview

This is the root layer of the MFDATA module.

This layer mainly includes core libraries and utilities like :

  • layerapi2 library and utilities which manage the layer system
  • wrappers (python2, python3, python…)
  • (and some other documented below)

The root layer is loaded by default and does not depend on another layer. This is the layer dependencies root.

18.2. Special focus on python wrappers

18.2.1. python2 wrapper

The python2 wrapper is available in ${MFEXT_HOME}/bin. It executes a python2 interpreter with following layers loaded :

  • python2_core@mfext
  • python2@mfext (if installed)
  • python2@mfcom (if installed)
  • python2@{current_module} (if installed)

So, if you want to execute a python2 script without any question about currently loaded layers, this is the way to go.

For example:

#!/usr/bin/env python2

print "this code will be always executed in python2 environment"
print "(thanks to the above python2 shebang)"

or

python2 /path/to/a/python2/script.py

18.2.2. python3 wrapper

The python3 wrapper is available in ${MFEXT_HOME}/bin. It executes a python3 interpreter with following layers loaded :

  • python3_core@mfext
  • python3@mfext (if installed)
  • python3@mfcom (if installed)
  • python3@{current_module} (if installed)

So, if you want to execute a python3 script without any question about currently loaded layers, this is the way to go.

For example:

#!/usr/bin/env python3

print("this code will be always executed in python3 environment")
print("(thanks to the above python3 shebang)")

or

python3 /path/to/a/python3/script.py

18.2.3. python wrapper

The python wrapper is available in ${MFEXT_HOME}/bin. It works exactly as the two above wrappers. But the major python version is selected with the METWORK_PYTHON_MODE environment variable.

18.3. Metadata

18.3.1. Layer Home

/opt/metwork-mfdata-0.7

18.3.2. Label

root@mfdata

18.4. Utilities

18.4.1. mfdata.start

usage mfdata.start [NOINIT]
  => start the mfdata module

18.4.2. mfdata.stop

usage mfdata.start
  => stop the mfdata module

18.4.3. mfdata.status

usage mfdata.status
  => test the mfdata module

18.4.4. mfdata.init

usage: mfdata.init
  => (re)init your module (WARNING: can't drop some user provided datas)

18.4.5. mfdata_wrapper

usage: /opt/metwork-mfdata-0.7/bin/mfdata_wrapper COMMAND_TO_WRAP [COMMAND_ARG1] [COMMAND_ARG2] [...]
  => launch the given command within metwork/mfdata environnent
  => note: the current environnent is cleared before
  =>       (only MODULE_RUNTIME_SUFFIX, MODULE_RUNTIME_HOME and some standard env var (HOME, TERM, DISPLAY...)
            are keeped intact)