summaryrefslogtreecommitdiffstats
path: root/doc/website-v1/development.adoc
blob: a334a6b57d5ef9464e3a0bff9c04905af966f2ed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
= Development =

== Tools ==

++++
<ul class="nav">
<li><a href="https://github.com/ClusterLabs/crmsh"><i class="fa fa-code-fork fa-3x fa-fw"></i> Source Repository</a></li>
<li><a href="http://clusterlabs.org/mailman/listinfo/users"><i class="fa fa-envelope fa-3x fa-fw"></i> Mailing List</a></li>
<li><a href="https://github.com/ClusterLabs/crmsh/issues"><i class="fa fa-bug fa-3x fa-fw"></i> Issue Tracker</a></li>
<li><a href="irc://freenode.net/#clusterlabs"><i class="fa fa-comments fa-3x fa-fw"></i> IRC: #clusterlabs on Freenode</a></li>
<li><a href="https://github.com/ClusterLabs/crmsh/commits/master.atom"><i class="fa fa-rss fa-3x fa-fw"></i> Atom feed</a></li>
</ul>
++++

== Source Code ==

The source code for `crmsh` is kept in a
http://git-scm.com/[git] repository
hosted at https://github.com[github]. Use +git+ to get a working copy:

----
git clone https://github.com/ClusterLabs/crmsh.git
----

Dependencies
~~~~~~~~~~~~

Building and installing crmsh requires Python version 2.6 and up (but not 3, yet).

Additionally, the following Python modules are needed:

* `lxml`
* `PyYAML`
* `setuptools`
* `parallax`
* `python-dateutil`

Building
~~~~~~~~

`crmsh` uses the autotools suite to manage the build process.

----
./autogen.sh
./configure
make
make install
----

=== Tests ===

The unit tests for `crmsh` require +nose+ to run. On most distributions, this can be installed
by installing the package +python-nose+, or using +pip+.

To run the unit test suite, go to the source code directory of `crmsh`
and call:

----
./test/run
----

`crmsh` also comes with a comprehensive regression test suite. The regression tests need
to run after installation, on a system which has both crmsh and pacemaker installed. You
will also need to install +pacemaker+ and the +cluster-glue+ development headers.

* link:http://hg.linux-ha.org/glue[cluster-glue]
* link:https://github.com/ClusterLabs/pacemaker[pacemaker]

To execute the tests, call:

----
/usr/share/crmsh/tests/regression.sh
cat crmtestout/regression.out
----