PoliMOR is a scalable, automated, and customizable policy engine framework for multi-tiered parallel file systems. It is composed of single-purpose agents that handle tasks such as gathering file metadata, making policy decisions, and then executing actions based on those policies. These agents are designed to communicate using distributed message queues, allowing the number of individual agents to be scaled up as needed. PoliMOR automates the data management tasks by precluding the need for admin intervention. The agents in PoliMOR can be customized to integrate any utilities/tools that perform tasks like metadata scanning and data placement management.
To install and run PoliMOR you need to have the following pre-requisites.
- NATS server (https://github.com/nats-io/nats-server)
- NATS C client (https://github.com/nats-io/nats.c)
- NATS command line tool (https://github.com/nats-io/natscli)
- gcc-toolset-11
Follow these steps to build and install PoliMOR
- Clone the repository
- Enable gcc-toolset-11: scl enable gcc-toolset-11 /bin/bash
- Run buildit script: ./buildit.sh
- Start NATS servers: nats-server -c <nats-server.conf> More details about nats-server.conf can be found in docs directory.
- Start agents: Providing -h option with agents displays all flags and options that the agents accepts through command line. Agents can be started by specifying their id flag. All other options can be specified in the config.yaml file for convenience.
Chris Brumgard
Anjus George
Rick Mohr
Ketan Maheshwari
James Simmons
Sarp Oral
Unless otherwise noted, the PoliMOR source files are distributed under the UT Battelle, LLC license found in the LICENSE file.