|
@@ -1,27 +1,70 @@
|
1
|
1
|
Dependencies :
|
2
|
|
- lodel2 :
|
3
|
|
- with pip : see requirements.txt
|
4
|
|
- debian stable : python3 python3-lxml python3-jinja2 python3-werkzeug python3-pymongo uwsgi-plugin-python3 mongodbd
|
5
|
|
- build & install :
|
6
|
|
- debian stable : autoconf automake make
|
|
2
|
+ lodel2 components :
|
|
3
|
+ core :
|
|
4
|
+ python3 python3-lxml
|
|
5
|
+
|
|
6
|
+ build dependencies :
|
|
7
|
+ autoconf automake make
|
|
8
|
+
|
|
9
|
+ webui plugin :
|
|
10
|
+ python3-jinja2 python3-werkzeug uwsgi-plugin-python3
|
|
11
|
+
|
|
12
|
+ mongodb_datasource plugin :
|
|
13
|
+ python3-pymongo
|
|
14
|
+
|
|
15
|
+ lodel2 utils :
|
|
16
|
+ mass_deploy dependencies :
|
|
17
|
+ pwgen wamerican mongodb-clients
|
7
|
18
|
|
8
|
19
|
Build & install :
|
9
|
|
- ./bootstrap.sh
|
|
20
|
+ ./bootstrap.sh #generate the configure, refresh the Makefile.in files
|
|
21
|
+ #--prefix=/usr is mandatory on debian because of a python3.4.2 bug
|
10
|
22
|
./configure --sysconfdir=/etc --localstatedir=/var --prefix=/usr
|
|
23
|
+ #build lodel2 (actually substitute paths script and buildconf.py files)
|
11
|
24
|
make
|
|
25
|
+ #Install lodel2 on system
|
12
|
26
|
make install
|
|
27
|
+ #Uninstall lodel2
|
|
28
|
+ make uninstall
|
13
|
29
|
|
14
|
|
-Doxygen documentation generation :
|
15
|
|
- dependencies: doxypy doxygen graphviz
|
16
|
|
- doxygen
|
|
30
|
+Other make targets :
|
|
31
|
+ Doxygen documentation generation :
|
|
32
|
+ make doc #or simply run doxygen in the source dir
|
|
33
|
+ Run unit tests :
|
|
34
|
+ make check
|
|
35
|
+ #or
|
|
36
|
+ make tests
|
17
|
37
|
|
18
|
|
-Dynamic code generation :
|
19
|
|
- python3 scripts/refreshdyn.py examples/em_test.pickle OUTPUTFILE.py
|
|
38
|
+Lodel2 instance management utilities :
|
|
39
|
+ SLIM : Simple Lodel Instance Manager
|
|
40
|
+ create a new instance named foo :
|
|
41
|
+ slim -n foo -c
|
|
42
|
+ list instances :
|
|
43
|
+ slim -l
|
|
44
|
+ list instances with details :
|
|
45
|
+ slim -lv[v[v]]
|
|
46
|
+ list instances with output formated for bash processing :
|
|
47
|
+ slim -l -b [-v[v[v]]
|
|
48
|
+ run make all for instance foo :
|
|
49
|
+ slim -n foo -m
|
|
50
|
+ run make for all existing instances :
|
|
51
|
+ slim --all -m
|
|
52
|
+ start an instance in forground
|
|
53
|
+ slim -n foo --start -f
|
|
54
|
+ start all instances :
|
|
55
|
+ slim -a --start
|
|
56
|
+ get some help :
|
|
57
|
+ slim -h
|
20
|
58
|
|
21
|
|
-Instance creation :
|
22
|
|
- Use the script in scripts/create_instance.sh
|
|
59
|
+ mass_deploy.sh : use for easy mass deployment of instances with webui & uwsgi
|
|
60
|
+ the script can be found in $prefix/share/lodel2/scripts/mass_deploy.sh
|
23
|
61
|
|
24
|
|
- Usage : scripts/create_instance.sh instance_name instance_dir [lodel_libdir]
|
|
62
|
+ Usage : mass_deploy.sh N #with N the number of instances to deploy
|
|
63
|
+
|
|
64
|
+ - configuration can be found in /etc/lodel2/mass_deploy.cfg (
|
|
65
|
+ to indicate mongodb admin credentials)
|
|
66
|
+ - mass deploy create instances directories
|
|
67
|
+ in /tmp/lodel2_instances
|
25
|
68
|
|
26
|
69
|
Instance operations :
|
27
|
70
|
A Makefile is written to allow running most of operations. Existing targets are for the moment :
|
|
@@ -30,6 +73,17 @@ Instance operations :
|
30
|
73
|
make init_db # Call migration handlers to tell them to init all needed databases. (note : this target has dyncode as dependencie)
|
31
|
74
|
make list_hooks # List all the hooks registered
|
32
|
75
|
|
|
76
|
+
|
|
77
|
+#Following informations can be obsolete
|
|
78
|
+Dynamic code generation :
|
|
79
|
+ python3 scripts/refreshdyn.py examples/em_test.pickle OUTPUTFILE.py
|
|
80
|
+
|
|
81
|
+Instance creation :
|
|
82
|
+ Use the script in scripts/create_instance.sh
|
|
83
|
+
|
|
84
|
+ Usage : scripts/create_instance.sh instance_name instance_dir [lodel_libdir]
|
|
85
|
+
|
|
86
|
+
|
33
|
87
|
Instance loader uppdate :
|
34
|
88
|
If the install/loader.py is updated you can update instance's loader.py using
|
35
|
89
|
scripts/create_instance.sh -u INSTANCE_PATH
|