5 | | '''Happy Trac-ing''' |
| 6 | The main reason behind CMT's existence is that we needed a tool that's capable of generating configuration-files for certain software running on our clusters. |
| 7 | CMT has a database, where we store information about our hardware, which is used to (let CMT) generate configuration-files, based on templates. |
| 8 | At SARA it's used in production, to generate configuration-files for services like for example `dhcpd` and `bind`. |
| 9 | At the moment we're busy to make Python packages, to make it easy to install. |
| 10 | |
| 11 | |
| 12 | == Features == |
| 13 | |
| 14 | Some features of CMT are: |
| 15 | * Dynamically extendable data model |
| 16 | * Server-side Django-powered easy-to-use web-interface |
| 17 | * Client-side powerful CLI, to use CMT from shellscripts, or interactive from shell |
| 18 | * Automagic generation of configuration files, with templates extended on Django Templates |
| 19 | * Export stored data to, and import from JSON |
| 20 | * Support for multiple clusters, networks, interfaces, etc... |
| 21 | * Easy to install package for the client-side functionalities (planned for initial release) |
| 22 | |
| 23 | Wished features for future releases are: |
| 24 | * Import the client as a Python-module |
| 25 | * Split server- and client-functionalities as much as possible, and develop as packages apart from each other |
| 26 | * Build an API to make it easier to integrate CMT in other software/scripts |
| 27 | |
| 28 | |
| 29 | == Requirements == |
| 30 | |
| 31 | * Django>=1.2, <1.3 |
| 32 | * IPy==0.75 |
| 33 | * django-extensions==0.4 |
| 34 | * django-tagging==0.3.1 |
| 35 | * psycopg2==2.4.4 |
| 36 | |
| 37 | Besides these Python-packages, the following software should be installed on your system: |
| 38 | |
| 39 | * Python>=2.6 |
| 40 | * header files and a static library for Python |
| 41 | * header files for libpq (PostgreSQL library) |