Skip to content

Latest commit

 

History

History
57 lines (42 loc) · 1.87 KB

README.md

File metadata and controls

57 lines (42 loc) · 1.87 KB

cc-node-controller

Node agent for enforcing node configurations and forwarding events

Installation

There is currently no prepared SystemD service file or anything, it is in development stage.

You can build cc-node-controller with make.

LIKWID sysfeatures

A fundamental part of cc-node-controller is its connection to LIKWID's sysfeatures component. The component allows changing CPU frequencies, setting powercaps and other manipulation of system features. The sysfeatures component is still in experimental stage in LIKWID, so LIKWID needs to be compiled with special build options to include the sysfeatures component.

$ git clone <likwid repo>
$ cd likwid
$ vi config.mk
# - change PREFIX if needed
# - enable sysfeatures component by setting BUILD_SYSFEATURES=true
$ make
$ sudo make install

Configuration

The main configuration file is config.json.

{
    "hostname" : "<listen_ip>",
    "port" : <listen_port, commonly 4222>,
    "input_subject_prefix" : "<input prefix>",
    "input_subject": "<input subject>",
    "output_subject_prefix" : "<output prefix>",
    "output_subject": "<input subject>"
}

You can either use the input_subject/output_subject options to set the acutal subject or use the input_subject_prefix/output_subject_prefix options which will be extended by the hostname of the local node: <output_subject_prefix>/<hostname>

Running

The cc-node-controller itself does not do anything on its own, it waits for control messages to perform any manipulation. The control messages are received through NATS, so a NATS server should be running somewhere.

Make sure the LIKWID library with sysfeatures component is in LD_LIBRARY_PATH. Make also sure, that it is the only LIKWID library that can be used.

$ ./cc-node-controller (-config <configfile>) (-debug) (-log <logfile>)

Default configuration file is ./config.json.