wiki:Usage/UserDocumentation

Version 3 (modified by sil, 12 years ago) (diff)

--

User Documentation

CMT can be used with different user interfaces:

Web Interface
An easy-to-use, self explainable, interface based on Django Admin. You only need a webbrowser to use this interface.
Command Line Interface (CLI)
A less-easy-to-use interface which could be used to make mass-updates. The CLI offers the user some powerful functions which aren't possible on the web-interface. To use this interface you need to install CMT on the computer you're using.

Please keep in mind: Both interfaces are lacking of an undo-function, so be careful when you're about to make any changes in the data you've stored in CMT.

About the CMT data(structure)

...

Web-interface

The web-interface can be opened in any regular web-browser. Ask your administrator for its address. Once you open the web-interface, a login-page should appear where you have to issue your credentials.

From there you'll be able to add objects to the database, explore objects in the database, change objects in the database, or delete objects from the database. It's meant as a intuitive easy-to-use interface, with advanced Create-Read-Update-Delete (CRUD) functionalities. It makes you able to quickly explore the data stored in CMT, or act on the data. The most important entities you can act on are:

Clusters
A cluster could be described as a collection of hardware, connected to each other through one or more networks.
Racks
A rack is a cabinet that houses hardware like servers and switches. It has multiple slots to mount hardware. These slots identify the physical location of your hardware.
Hardware
Hardware units like (virtual) servers, switches, PDU's, etc. It could be 'any piece of hardware with a powercable attached to it'.
Networks
Networks defined by their (IP) address space. The addresses in the address space of a network each are related to an interface.
Interfaces
Network interfaces for input/output, thus any kind of card or (virtual) adapter which can have a network-cable plugged into it, and has a hardware address (like a MAC-address). Most obvious example is a regular 100/1000Mbit NIC, but it could be something like an InfiniBand? interface card, or an out-of-band management adapter. Many network interfaces are related to a single piece of hardware, and a single network.

Command Line Interface

To use the Command Line Interface has to be installed on your system. If you issue the command cmt you'll get the usage info:

Usage: cmt [options]

This is the commandline interface of the SARA package SARA CMT.

Options:
  -h, --help            show this help message and exit
  -n, --dry-run         This flag has to be given before -[aclmr]
  --script              
  -a ENTITY, --add=ENTITY
                        Add an object of given ENTITY.              arguments:
                        set <ASSIGNMENTS>              The object will get
                        values according to the given assignments.
                        Assignments could be formed like
                        [<FK>__]<attr>=<value>
  -c ENTITY, --change=ENTITY
                        Change value(s) of object(s) of given ENTITY.
                        arguments:   get <QUERY> set <ASSIGNMENTS>
                        The query, which consists out of one or more terms, is
                        used to make             a selection of objects to
                        change. These objects will be changed
                        according to the given assignments.
  -g TEMPLATE, --generate=TEMPLATE
                        Render the given template
  -l ENTITY [ATTRIBUTE=VALUE], --list=ENTITY [ATTRIBUTE=VALUE]
                        List object(s) of the given ENTITY.
                        arguments:   get <QUERY>              The query, which
                        consists out of one or more terms, is used to make
                        a selection of objects to list.
  -r ENTITY [ATTRIBUTE=VALUE], --remove=ENTITY [ATTRIBUTE=VALUE]
                        Remove objects which reflect the given query
  -v, --verbose         

Add object(s): -a, --add

Syntax

Use case

Change object(s): -c, --change

Syntax

Use case

Generate a configfile: -g, --generate

Syntax

Use case

List object(s): -l, --list

Syntax

Use case