server/uplaod.py: fix bug when an invalid range is taken for an IP range
use sphinx to build the doc
remove old doc/source dir
config/vm-debian.cmdb: put back the not expanded vm-debian.cmdb
tools: Moving grapher to tools

There is no need to keep grapher at the root directory
cardiff: Initial import

The cardiff tool is about finding commonalities and differences between
traces reported by the benchmarking tool (health-test)
cardiff: Code refactoring

Let's move many functions from cardiff.py to utils.py to get them used
by the testing tool. This make also the main program easier to read.
cardiff: Adding nosetests

Adding nosetests inside cardiff to make it more robust
cardiff: Adding memory reporting

Reporting both memory timing & population
cardiff: Sorting user output

Output that aimed to be read by users wasn't sorted making it very
difficult to read as all elements were mixed.
cardiff: Adding network & cpu reporting

No much to say, we compute here the differences between all network &
cpu configuration.
cardiff: Fixing style issue

Trivial.
cardiff: Fixing more stylish issues
cardiff: Adding networking, cpu & memory tests

Required to get a good quality checking
cardiff: Renaming test_disks

In fact, it does tests much more than disks.
We are checking here all components that have to be compared.
cardiff: Computing groups of identical hardware

When running cardiff on a group of servers, we need to understand which
hosts are similar to the others and which ones are different.

cardiff is so computing the differences from several components (disks,
memory, cpu, network). At every step of this check, the groups of
identical are computed to gain at the end a list of servers that are
identical.

A typical output looks like :

[user@hosts]$ cardiff.py -p 'sample/*.hw_'
.....
The 19 systems can be grouped in 3 groups of identical hardware
-> 1 Systems :
CZ3404YWNW
-> 15 Systems :
CZ3404YWP4, CZ3404YWP6, CZ3404YWPP, CZ3404YWP2, CZ3404YWPS, CZ3404YWPX,
CZ3404YWP8, CZ3404YWR0, CZ3404YWPE, CZ3404YWPA, CZ3404YWPC, CZ3404YWPM,
CZ3404YWPV, CZ3404YWPH, CZ3404YWPK
-> 3 Systems :
CZ3404YWNN, CZ3404YWNT, CZ3404YWNR
cardiff: Moving all grouping code into function

As all the code to create the groups based on the hw properties is done,
let's put all this stuff into a single function to make the main() code
easier to read.
cardiff: Adding a few comments

It's good to explain a little bit how the main() is divided
cardiff: Adding include_list in search_item

This feature will be used to search only a certain kind of item inside
the results.
cardiff: Naming discovered groups

When groups are created, let's number them to ease the identification
process.

A typical output looks like :

The 19 systems can be grouped in 3 groups of identical hardware
Group 0 (1 Systems)
-> CZ3404YWNW

Group 1 (15 Systems)
-> CZ3404YWP4, CZ3404YWP6, CZ3404YWPP, CZ3404YWP2, CZ3404YWPS,
CZ3404YWPX, CZ3404YWP8, CZ3404YWR0, CZ3404YWPE, CZ3404YWPA, CZ3404YWPC,
CZ3404YWPM, CZ3404YWPV, CZ3404YWPH, CZ3404YWPK

Group 2 (3 Systems)
-> CZ3404YWNN, CZ3404YWNT, CZ3404YWNR