Reformat so columns line up in 'mclu list' output.
[mclu.git] / README
1 mclu (mini cluster) is a virtualization cluster manager.
2
3 The key features:
4
5  - Entirely command line driven.
6
7  - No required dependencies except ansible (on the client only),
8    libvirt and ssh.
9
10  - Nothing to install on the nodes except libvirtd and sshd.
11
12  - Only designed for small clusters (up to around 10-20 hosts).
13
14  - Simple configuration.
15
16 Example commands
17 ----------------------------------------------------------------------
18
19    mclu status                   Display status of the cluster
20    mclu list                     List all virtual machines on the cluster
21    mclu on ham0                  Switch on (wake-on-LAN) node 'ham0'
22    mclu off ham0                 Power off node 'ham0' in the cluster
23    mclu start ham0:vm            Start vm on node 'ham0'
24    mclu stop ham0:*              Stop all VMs on node 'ham0'
25    mclu migrate *:* ham2:        Live migrate all VMs to 'ham2'
26    mclu build ham3:vm fedora-20  Build and run a new Fedora 20 VM on node 'ham3'
27    mclu console ham3:fedora-20   Show me the serial console of a VM
28    mclu viewer ham3:fedora-20    Show me the graphical console of a VM
29    mclu info                     Print general configuration information
30    mclu --help                   Print help on all commands
31
32 Since the mclu cluster is based on an ansible "hosts group", you can
33 also issue ansible commands, eg:
34
35    ansible cluster -u root -a "yum -y update"   Update all nodes in the cluster
36    ansible cluster -m ping                      Ping all nodes
37
38 Configuration notes
39 ----------------------------------------------------------------------
40
41 See `CONFIGURATION'.
42
43 Dependencies
44 ----------------------------------------------------------------------
45
46 To get a full list of the required and optional dependencies, look at:
47
48  - configure.ac
49  - mclu.spec.in
50
51 Building it
52 ----------------------------------------------------------------------
53
54 If building straight from git, then do:
55
56   autoreconf -i
57
58 To build:
59
60   ./configure --prefix /usr --sysconfdir /etc
61   make
62
63 To run without installing:
64
65  - Edit the configuration file (mclu.conf).
66
67  - Add the hosts group (usually called '[cluster]') to /etc/ansible/hosts.
68    You can set $ANSIBLE_HOSTS to change the location of this file.
69
70  - Run commands such as:
71
72    ./run status
73    ./run list
74
75 To install:
76
77  - sudo make install
78
79  - Edit the configuration file (/etc/mclu/mclu.conf).
80
81  - Add the hosts group (usually called '[cluster]') to /etc/ansible/hosts.
82
83  - Run commands such as:
84
85    mclu status
86    mclu list
87
88 Developer information
89 ----------------------------------------------------------------------
90
91 The license is GPLv2+.
92
93 The git repo is:
94
95   http://git.annexia.org/?p=mclu.git;a=summary
96
97 There is no mclu mailing list.  Send patches to the virt-tools mailing list:
98
99   http://www.redhat.com/mailman/listinfo/virt-tools-list