README.rst 3.07 KB
Newer Older
Denis Laxalde's avatar
Denis Laxalde committed
1
2
3
.. image:: https://travis-ci.org/logilab/saemref-formula.svg?branch=master
    :target: https://travis-ci.org/logilab/saemref-formula

Philippe Pepiot's avatar
init  
Philippe Pepiot committed
4
5
6
7
===============
saemref-formula
===============

8
9
A saltstack formula handling installation of `saem_ref`_.

Philippe Pepiot's avatar
init  
Philippe Pepiot committed
10
11
12
13
14
15
Available states
================

.. contents::
    :local:

Philippe Pepiot's avatar
Philippe Pepiot committed
16
17
18
19
20
``saemref``
-----------

Equivalent to ``saemref.install`` and ``saemref.config``.

21
22
23
``saemref.install``
-------------------

Philippe Pepiot's avatar
Philippe Pepiot committed
24
25
26
27
28
29
30
31
32
Installs the saemref package from logilab repositories and create an instance
for user ``saemref``.

Cubicweb config files are located in ``~saemref/etc/cubicweb.d/saemref`` and
``cubicweb-ctl`` can be invoked as user ``saemref`` with environment variable
``CW_MODE=user``.

The state require the installation of `epel-formula`_ and `postgres-formula`_
with ``postgres.lookup.version: 9.4`` (see ``pillar.example``).
33
34
35
36

``saemref.config``
------------------

Philippe Pepiot's avatar
Philippe Pepiot committed
37
38
39
40
41
Only manage instance configuration files.

``saemref.db-create``
---------------------

42
43
44
45
46
47
Create instance database with ``cubicweb-ctl db-create`` (call implicitly ``db-init``).

``saemref.db-init``
---------------------

Initialize instance database schema with ``cubicweb-ctl db-init``.
48
49
50
51
52
53

``saemref.supervisor``
----------------------

Install and manage `supervisor`_ configuration for the saemref installation.

Philippe Pepiot's avatar
Philippe Pepiot committed
54
55
56
57
58
59
60
61
62
+----------+-----------------------------------------------------+-------------------------------------+
| OS       | Restart instance                                    | Restart supervisor                  |
+==========+=====================================================+=====================================+
| Centos 6 | ``su - saemref -c 'supervisorctl restart saemref'`` | ``/etc/init.d/supervisord restart`` |
+----------+-----------------------------------------------------+-------------------------------------+
| Centos 7 | ``supervisorctl restart saemref``                   | ``systemctl restart supervisord``   |
+----------+-----------------------------------------------------+-------------------------------------+


63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83

Testing
=======

The script `run-test.py` can help to develop and test the formula using
`docker`_ and `testinfra`_.

The command ``./run-test.py dev centos6`` will build image from
``test/centos6.Dockerfile`` and span a shell in a new container with mounted
volumes from the host (so you can develop formula on the host and test it in
the container with ``salt-call``).

The command ``./run-test.py dev centos6 --salt`` is the same as above but will
provision the container (eg. calling ``salt-call state.highstate``)

The command ``./run-test.py test centos6`` built a provisioned image
(highstate) and run testinfra tests on it.

Note that you can add any parameters that testinfra (pytest) accept, for
instance ``./run-test.py test centos6 -k idempotence --pdb``.

Philippe Pepiot's avatar
init  
Philippe Pepiot committed
84

85
86
87
88
.. _saem_ref: https://www.cubicweb.org/project/cubicweb-saem_ref
.. _supervisor: http://supervisord.org
.. _docker: https://www.docker.com/
.. _testinfra: https://testinfra.readthedocs.org/
Philippe Pepiot's avatar
Philippe Pepiot committed
89
90
.. _epel-formula: https://github.com/saltstack-formulas/epel-formula
.. _postgres-formula: https://github.com/saltstack-formulas/postgres-formula