mandriva
 

MSC database documentation

Nicolas Rueff

my licence here

Revision History
Revision $Revision: 66 $ $Date: 2008-10-06 10:42:48 +0200 (Mon, 06 Oct 2008) $ $Author: nnoirbent $

Abstract

Documentation for Pulse2 MSC schema v.6


1. The MSC database design

2. The "commands" table

This table holds a whole command, one command per line.

id

The table primary key

date_created

The command date creation

parameters

The command line switches

start_script

Do we run command line on client, mainly used for packages debug purpose

delete_file_after_execute_successful

Do we erase copied files after a successful run, mainly used for packages debug purpose

start_date

Date from which we may run our command

end_date

Date until which we may run our command

username

Login name used to connect our client

webmin_username

Hold the command initiator name

dispatched

Tell if the command has been fileld into relevant computers

title

The command title

start_inventory

Whenever start inventory command on client

wake_on_lan

Whenever perform a WOL on client

max_connection_attempt

How many time do we try to perform a command before giving up

repeat

Interval between two connections attempts

scheduler

a command will be realized by a particular scheduler, this field hold its name

maxbw

when we have something to send on the client, do not go over this BW rate (b/s), default is 0

3. The "commands_on_host" table

This table contains the running status of a command for a particular host.

It is linked to the "commands" table using id_command as constraint.

id

The table primary key

fk_commands

A FK to the commands table

start_date

The command **effective** start date (??)

end_date

The command **effective** end date (??)

current_state

Used to hold our command status on this client

uploaded

Tell if we already did something in upload stage

executed

Tell if we already did something in execution stage

deleted

Tell if we already did something in deletion stage

next_launch_date

If for any reason the command has been postponed, the command may be run from this time

current_pid

The command pid from the launcher point-of-view

number_attempt_connection_remains

The amount of tries left

next_attempt_date_time

??

current_launcher

The in-charge launcher

4. The "commands_history" table

This table contains the stdout/stderr of each stage of a command for a partiucular host.

It is linked to the "commands_on_host" table using id_command_on_host as constraint.

id

The table primary key

fk_commands_on_host

A FK to the commands_on_host table

stderr

The command error (mostly a Python TB)

stdout

The command output

state

The command state

error code

The command error code (if relevant)

5. The "target" table

This table contains directions to deploy a package.

It is linked to the "commands_on_host" table using id_command_on_host as constraint and "commands" table using id_command as constraint.

id

The table primary key

fk_commands_on_host

A FK to the commands_on_host table

fk_commands

A FK to the commands table

target_name

the target fqdn

mirror

the packages location. This field must be formatted as follow:

  • several tockens, separator is '||' (double-pipe)

  • tockens are URI formatted like this:

    <protocol>://<login>:<pass>@<server><path>

    Protocol may be one of the following: ssh, http, ftp, smb, file. Each protocol corresponds to a different way to gather a package:

    HTTP

    Package is pulled by the client (using for exemple wget). the URI represents exacty the root place from where to download package components.

    FTP

    Same as HTTP.

    SSH

    Same as HTTP, using scp to dowload components. Password unsupported.

    SMB

    Same as HTTP, using SAMBA (CIFS) protocol. Currently unsupported.

    FILE

    Package is pushed on the client by the server, using scp. In this case, the rightmost part of the URI represent the full package root path on the server.

id_group

???

scheduler

???

target_uuid

The target UUID

target_ipaddr

The target IP adresses, with '||' as separator, the first one beeing the most relevant

target_macaddr

The target MAC adresses, with '||' as separator, used to perform WOL

6. The "version" table

Used to hold the database version, in the table Number.