nebula.controller#

Attributes#

Classes#

TermEscapeCodeFormatter

Formatter instances are used to convert a LogRecord to text.

NebulaEventHandler

NebulaEventHandler handles file system events for .sh scripts.

Controller

Functions#

signal_handler(sig, frame)

Module Contents#

class nebula.controller.TermEscapeCodeFormatter(fmt=None, datefmt=None, style='%', validate=True)#

Bases: logging.Formatter

Formatter instances are used to convert a LogRecord to text.

Formatters need to know how a LogRecord is constructed. They are responsible for converting a LogRecord to (usually) a string which can be interpreted by either a human or an external system. The base Formatter allows a formatting string to be specified. If none is supplied, the style-dependent default value, “%(message)s”, “{message}”, or “${message}”, is used.

The Formatter can be initialized with a format string which makes use of knowledge of the LogRecord attributes - e.g. the default value mentioned above makes use of the fact that the user’s message and arguments are pre- formatted into a LogRecord’s message attribute. Currently, the useful attributes in a LogRecord are described by:

%(name)s Name of the logger (logging channel) %(levelno)s Numeric logging level for the message (DEBUG, INFO,

WARNING, ERROR, CRITICAL)

%(levelname)s Text logging level for the message (“DEBUG”, “INFO”,

“WARNING”, “ERROR”, “CRITICAL”)

%(pathname)s Full pathname of the source file where the logging

call was issued (if available)

%(filename)s Filename portion of pathname %(module)s Module (name portion of filename) %(lineno)d Source line number where the logging call was issued

(if available)

%(funcName)s Function name %(created)f Time when the LogRecord was created (time.time()

return value)

%(asctime)s Textual time when the LogRecord was created %(msecs)d Millisecond portion of the creation time %(relativeCreated)d Time in milliseconds when the LogRecord was created,

relative to the time the logging module was loaded (typically at application startup time)

%(thread)d Thread ID (if available) %(threadName)s Thread name (if available) %(process)d Process ID (if available) %(message)s The result of record.getMessage(), computed just as

the record is emitted

format(record)#

Format the specified record as text.

The record’s attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message.

nebula.controller.log_console_format = '[%(levelname)s] - %(asctime)s - Controller - %(message)s'#
nebula.controller.console_handler#
nebula.controller.signal_handler(sig, frame)#
class nebula.controller.NebulaEventHandler#

Bases: watchdog.events.PatternMatchingEventHandler

NebulaEventHandler handles file system events for .sh scripts.

This class monitors the creation, modification, and deletion of .sh scripts in a specified directory.

patterns = ['*.sh', '*.ps1']#
last_processed#
timeout_ns#
processing_files#
lock#
on_created(event)#

Handles the event when a file is created.

on_deleted(event)#

Handles the event when a file is deleted.

run_script(script)#
kill_script_processes(pids_file)#
class nebula.controller.Controller(args)#
scenario_name#
start_date_scenario = None#
federation#
topology#
waf_port#
frontend_port#
grafana_port#
loki_port#
statistics_port#
simulation#
config_dir#
test#
log_dir#
cert_dir#
env_path#
production#
advanced_analytics#
matrix#
root_path#
host_platform#
network_subnet#
network_gateway#
config#
topologymanager = None#
n_nodes = 0#
mender#
use_blockchain#
gpu_available = False#
start()#
run_waf()#
run_frontend()#
run_test()#
static stop_frontend()#
static stop_network()#
static stop_waf()#
static stop()#