An open API service indexing awesome lists of open source software.

https://github.com/clustercockpit/cc-node-controller

Node agent for enforcing node configurations and forwarding events
https://github.com/clustercockpit/cc-node-controller

Last synced: over 1 year ago
JSON representation

Node agent for enforcing node configurations and forwarding events

Awesome Lists containing this project

README

          

# 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
$ 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`.

```json
{
"hostname" : "",
"port" : ,
"input_subject_prefix" : "",
"input_subject": "",
"output_subject_prefix" : "",
"output_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: `/`

# 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 ) (-debug) (-log )
```

Default configuration file is `./config.json`.