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
- Host: GitHub
- URL: https://github.com/clustercockpit/cc-node-controller
- Owner: ClusterCockpit
- License: mit
- Created: 2023-09-26T15:06:54.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-13T11:10:40.000Z (over 1 year ago)
- Last Synced: 2025-03-13T12:23:29.436Z (over 1 year ago)
- Language: C
- Size: 136 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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`.