Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Jean-Paul Smets
slapos
Commits
55902a94
Commit
55902a94
authored
Dec 08, 2014
by
Julien Muchembled
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into erp5-cluster
parents
d9e93ae2
4c5f065a
Changes
53
Hide whitespace changes
Inline
Side-by-side
Showing
53 changed files
with
591 additions
and
155 deletions
+591
-155
component/dash/buildout.cfg
component/dash/buildout.cfg
+2
-2
component/dbus/buildout.cfg
component/dbus/buildout.cfg
+2
-2
component/git/buildout.cfg
component/git/buildout.cfg
+2
-1
component/glib/buildout.cfg
component/glib/buildout.cfg
+2
-2
component/glibmm/buildout.cfg
component/glibmm/buildout.cfg
+2
-2
component/grep/buildout.cfg
component/grep/buildout.cfg
+2
-2
component/gtk-2/buildout.cfg
component/gtk-2/buildout.cfg
+8
-8
component/librsvg/buildout.cfg
component/librsvg/buildout.cfg
+2
-2
component/libsigc/buildout.cfg
component/libsigc/buildout.cfg
+2
-2
component/libtool/buildout.cfg
component/libtool/buildout.cfg
+6
-2
component/lmsensors/buildout.cfg
component/lmsensors/buildout.cfg
+23
-0
component/mariadb/buildout.cfg
component/mariadb/buildout.cfg
+3
-2
component/mesa/buildout.cfg
component/mesa/buildout.cfg
+2
-0
component/nginx/buildout.cfg
component/nginx/buildout.cfg
+2
-2
component/perl/buildout.cfg
component/perl/buildout.cfg
+3
-3
component/perl/perl-create-libs-symlink.py
component/perl/perl-create-libs-symlink.py
+1
-1
component/rrdtools/buildout.cfg
component/rrdtools/buildout.cfg
+10
-0
component/rsync/buildout.cfg
component/rsync/buildout.cfg
+2
-2
component/smartmontools/buildout.cfg
component/smartmontools/buildout.cfg
+13
-0
component/w3-validator/buildout.cfg
component/w3-validator/buildout.cfg
+2
-2
slapos/recipe/dcron.py
slapos/recipe/dcron.py
+20
-9
slapos/recipe/logrotate.py
slapos/recipe/logrotate.py
+1
-0
slapos/recipe/pbs.py
slapos/recipe/pbs.py
+4
-1
slapos/recipe/tidstorage/__init__.py
slapos/recipe/tidstorage/__init__.py
+7
-6
slapos/test/recipe/test_dcron.py
slapos/test/recipe/test_dcron.py
+6
-5
software/cloudooo/software.cfg
software/cloudooo/software.cfg
+1
-0
software/erp5testnode/software.cfg
software/erp5testnode/software.cfg
+5
-22
software/kvm/common.cfg
software/kvm/common.cfg
+3
-2
software/kvm/development.cfg
software/kvm/development.cfg
+18
-3
software/kvm/instance-for-erp5testnode.cfg.in
software/kvm/instance-for-erp5testnode.cfg.in
+97
-0
software/kvm/instance-kvm-resilient-input-schema.json
software/kvm/instance-kvm-resilient-input-schema.json
+6
-0
software/kvm/instance-kvm-resilient-test.cfg.jinja2
software/kvm/instance-kvm-resilient-test.cfg.jinja2
+22
-8
software/kvm/instance-kvm-resilient.cfg.jinja2
software/kvm/instance-kvm-resilient.cfg.jinja2
+2
-1
software/kvm/software-for-erp5testnode.cfg
software/kvm/software-for-erp5testnode.cfg
+10
-0
software/monitor/instance.cfg.in
software/monitor/instance.cfg.in
+40
-1
software/monitor/network_bench.cfg
software/monitor/network_bench.cfg
+46
-0
software/monitor/rsync-logs.sh.in
software/monitor/rsync-logs.sh.in
+7
-0
software/monitor/smartmon.py.in
software/monitor/smartmon.py.in
+55
-0
software/monitor/software.cfg
software/monitor/software.cfg
+56
-4
software/slaprunner/common.cfg
software/slaprunner/common.cfg
+3
-3
software/slaprunner/development.cfg
software/slaprunner/development.cfg
+12
-11
software/slaprunner/instance-for-erp5testnode.cfg.in
software/slaprunner/instance-for-erp5testnode.cfg.in
+5
-0
software/slaprunner/instance-resilient-test.cfg.jinja2
software/slaprunner/instance-resilient-test.cfg.jinja2
+17
-6
software/slaprunner/instance-resilient.cfg.jinja2
software/slaprunner/instance-resilient.cfg.jinja2
+2
-1
software/slaprunner/instance-runner.cfg
software/slaprunner/instance-runner.cfg
+2
-1
software/slaprunner/software-for-erp5testnode.cfg
software/slaprunner/software-for-erp5testnode.cfg
+15
-0
software/slaprunner/software.cfg
software/slaprunner/software.cfg
+11
-13
software/varnish/software.cfg
software/varnish/software.cfg
+1
-0
stack/erp5/buildout.cfg
stack/erp5/buildout.cfg
+8
-7
stack/resilient/buildout.cfg
stack/resilient/buildout.cfg
+2
-2
stack/resilient/instance-pull-backup.cfg.in
stack/resilient/instance-pull-backup.cfg.in
+2
-0
stack/resilient/template-replicated.cfg.in
stack/resilient/template-replicated.cfg.in
+2
-0
stack/slapos.cfg
stack/slapos.cfg
+12
-12
No files found.
component/dash/buildout.cfg
View file @
55902a94
...
...
@@ -6,8 +6,8 @@ parts = dash-output
[dash]
recipe = slapos.recipe.cmmi
url = http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.
7
.tar.gz
md5sum =
f6cedb10ae7258adb5ab17a10ae80d51
url = http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.
8
.tar.gz
md5sum =
5c152209680dab3c319e8923f6c51378
configure-options =
--disable-static
--disable-fnmatch
...
...
component/dbus/buildout.cfg
View file @
55902a94
...
...
@@ -10,8 +10,8 @@ parts =
[dbus]
recipe = slapos.recipe.cmmi
url = http://dbus.freedesktop.org/releases/dbus/dbus-1.8.
8
.tar.gz
md5sum =
b9f4a18ee3faa1e07c04aa1d83239c43
url = http://dbus.freedesktop.org/releases/dbus/dbus-1.8.
10
.tar.gz
md5sum =
6be5ef99ae784de9d04589eb067fe038
location = ${buildout:parts-directory}/${:_buildout_section_name_}
configure-options =
--disable-static
...
...
component/git/buildout.cfg
View file @
55902a94
...
...
@@ -8,6 +8,7 @@ extends =
../libexpat/buildout.cfg
../openssl/buildout.cfg
../pcre/buildout.cfg
../perl/buildout.cfg
../xz-utils/buildout.cfg
../zlib/buildout.cfg
parts =
...
...
@@ -23,8 +24,8 @@ configure-options =
--with-zlib=${zlib:location}
--with-libpcre=${pcre:location}
--with-expat=${libexpat:location}
--with-perl=${perl:location}/bin/perl
environment =
NO_PERL=y
NO_PYTHON=y
NO_TCLTK=y
PATH=${curl:location}/bin:${gettext:location}/bin:${xz-utils:location}/bin:%(PATH)s
...
...
component/glib/buildout.cfg
View file @
55902a94
...
...
@@ -10,8 +10,8 @@ parts =
[glib]
recipe = slapos.recipe.cmmi
url = http://ftp.gnome.org/pub/gnome/core/3.1
2/3.12.2/sources/glib-2.40.0
.tar.xz
md5sum =
05fb7cb17eacbc718e90366a1eae60d9
url = http://ftp.gnome.org/pub/gnome/core/3.1
4/3.14.2/sources/glib-2.42.1
.tar.xz
md5sum =
89c4119e50e767d3532158605ee9121a
configure-options =
--disable-static
--disable-selinux
...
...
component/glibmm/buildout.cfg
View file @
55902a94
...
...
@@ -11,8 +11,8 @@ parts =
[glibmm]
recipe = slapos.recipe.cmmi
url = http://ftp.gnome.org/pub/gnome/core/3.1
2/3.12.2/sources/glibmm-2.40
.0.tar.xz
md5sum =
f62754f4f5c9030f8ff43c7ed20556c2
url = http://ftp.gnome.org/pub/gnome/core/3.1
4/3.14.2/sources/glibmm-2.42
.0.tar.xz
md5sum =
7c52cc42085d30ac3b73d74c3f2eb22e
pkg_config_depends = ${glib:location}/lib/pkgconfig:${libsigc:location}/lib/pkgconfig
configure-options =
--disable-documentation
...
...
component/grep/buildout.cfg
View file @
55902a94
...
...
@@ -8,8 +8,8 @@ parts =
[grep]
recipe = slapos.recipe.cmmi
url = http://ftp.gnu.org/gnu/grep/grep-2.2
0
.tar.xz
md5sum =
2cbea44a4f1548aee20b9ff2d3076908
url = http://ftp.gnu.org/gnu/grep/grep-2.2
1
.tar.xz
md5sum =
43c48064d6409862b8a850db83c8038a
environment =
PATH=${xz-utils:location}/bin:%(PATH)s
CPPFLAGS=-I${pcre:location}/include
...
...
component/gtk-2/buildout.cfg
View file @
55902a94
...
...
@@ -65,8 +65,8 @@ environment =
[pango]
recipe = slapos.recipe.cmmi
url = http://ftp.gnome.org/pub/gnome/core/3.1
2/3.12.2/sources/pango-1.36.3
.tar.xz
md5sum =
d9532826e95bdb374355deebc42441bb
url = http://ftp.gnome.org/pub/gnome/core/3.1
4/3.14.2/sources/pango-1.36.8
.tar.xz
md5sum =
217a9a753006275215fa9fa127760ece
pkg_config_depends = ${harfbuzz:location}/lib/pkgconfig:${harfbuzz:pkg_config_depends}
configure-options =
--disable-static
...
...
@@ -79,8 +79,8 @@ environment =
[gdk-pixbuf]
recipe = slapos.recipe.cmmi
url = http://ftp.gnome.org/pub/gnome/core/3.1
2/3.12.2/sources/gdk-pixbuf-2.30.7
.tar.xz
md5sum =
1195d26f14adfe99ff0878d37678a70a
url = http://ftp.gnome.org/pub/gnome/core/3.1
4/3.14.2/sources/gdk-pixbuf-2.31.1
.tar.xz
md5sum =
74cde211f5b7ac1015d1a7c9feee037c
pkg_config_depends = ${glib:location}/lib/pkgconfig:${libX11:location}/lib/pkgconfig:${libX11:pkg_config_depends}
configure-options =
--disable-static
...
...
@@ -96,8 +96,8 @@ environment =
[atk]
recipe = slapos.recipe.cmmi
url = http://ftp.gnome.org/pub/gnome/core/3.1
2/3.12.2/sources/atk-2.12
.0.tar.xz
md5sum =
930238dec55fdbf8eda9975b44f07b76
url = http://ftp.gnome.org/pub/gnome/core/3.1
4/3.14.2/sources/atk-2.14
.0.tar.xz
md5sum =
ecb7ca8469a5650581b1227d78051b8b
environment =
PATH=${glib:location}/bin:${pkgconfig:location}/bin:${xz-utils:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${glib:location}/lib/pkgconfig
...
...
@@ -106,8 +106,8 @@ environment =
[gtk-2]
recipe = slapos.recipe.cmmi
url = http://ftp.gnome.org/pub/gnome/core/3.1
2/3.12.2/sources/gtk+-2.24.23
.tar.xz
md5sum =
0be39fbed4ca125645175cd6e22f2548
url = http://ftp.gnome.org/pub/gnome/core/3.1
4/3.14.2/sources/gtk+-2.24.25
.tar.xz
md5sum =
612350704dd3aacb95355a4981930c6f
pkg_config_depends = ${pango:location}/lib/pkgconfig:${pango:pkg_config_depends}:${atk:location}/lib/pkgconfig:${gdk-pixbuf:location}/lib/pkgconfig
configure-options =
--disable-static
...
...
component/librsvg/buildout.cfg
View file @
55902a94
...
...
@@ -23,8 +23,8 @@ environment =
[librsvg]
recipe = slapos.recipe.cmmi
url = http://ftp.gnome.org/pub/gnome/core/3.1
2/3.12.2/sources/librsvg-2.40.2
.tar.xz
md5sum =
acdecdb9f08f3bf662a68bf7dafb8b82
url = http://ftp.gnome.org/pub/gnome/core/3.1
4/3.14.2/sources/librsvg-2.40.5
.tar.xz
md5sum =
c2b044fccf415902a052d0e978e0ea60
pkg_config_depends = ${pango:location}/lib/pkgconfig:${pango:pkg_config_depends}:${zlib:location}/lib/pkgconfig:${gdk-pixbuf:location}/lib/pkgconfig:${libcroco:location}/lib/pkgconfig
configure-options =
--disable-static
...
...
component/libsigc/buildout.cfg
View file @
55902a94
...
...
@@ -9,8 +9,8 @@ parts =
[libsigc]
recipe = slapos.recipe.cmmi
url = http://ftp.gnome.org/pub/gnome/core/3.1
2/3.12.2/sources/libsigc++-2.3.1
.tar.xz
md5sum =
06a0569e8ba161d3428e7daa838682f8
url = http://ftp.gnome.org/pub/gnome/core/3.1
4/3.14.2/sources/libsigc++-2.4.0
.tar.xz
md5sum =
c6cd2259f5ef973e4c8178d0abbdbfa7
configure-options =
--disable-documentation
environment =
...
...
component/libtool/buildout.cfg
View file @
55902a94
[buildout]
extends =
../xz-utils/buildout.cfg
parts = libtool
[libtool]
recipe = slapos.recipe.cmmi
md5sum =
d2f3b7d4627e69e13514a40e72a24d50
url = http://ftp.gnu.org/gnu/libtool/libtool-2.4.
2.tar.g
z
md5sum =
b5699a6d58f5594cdb0992c5e1f5e57e
url = http://ftp.gnu.org/gnu/libtool/libtool-2.4.
3.tar.x
z
configure-options =
--disable-static
environment =
PATH=${xz-utils:location}/bin:%(PATH)s
component/lmsensors/buildout.cfg
0 → 100644
View file @
55902a94
[buildout]
extends =
../bison/buildout.cfg
../rrdtools/buildout.cfg
../flex/buildout.cfg
parts =
lmsensors
[lmsensors]
recipe = slapos.recipe.cmmi
md5sum = da506dedceb41822e64865f6ba34828a
url = http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-3.3.5.tar.bz2
configure-command = true
make-options =
PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
ETCDIR=${buildout:parts-directory}/${:_buildout_section_name_}/etc
environment =
PATH=${bison:location}/bin:${flex:location}/bin:%(PATH)s
component/mariadb/buildout.cfg
View file @
55902a94
...
...
@@ -21,9 +21,9 @@ parts =
[mariadb]
recipe = slapos.recipe.cmmi
version = 10.0.1
4
version = 10.0.1
5
url = https://downloads.mariadb.org/f/mariadb-${:version}/source/mariadb-${:version}.tar.gz/from/http:/ftp.osuosl.org/pub/mariadb
md5sum =
80fea71de54a9cfa7f5508df53d3f06
d
md5sum =
07e2ca1ad684c2dc5cb260717c4db41
d
patch-options = -p0
patches =
${:_profile_base_location_}/mariadb_10.0.8_create_system_tables__no_test.patch#a176d491cf45fccd53ee397c70393bc4
...
...
@@ -42,6 +42,7 @@ configure-options =
-DWITH_EXTRA_CHARSETS=complex
-DWITH_EMBEDDED_SERVER=0
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_MROONGA_STORAGE_ENGINE=1
-DWITHOUT_DAEMON_EXAMPLE=1
-DCMAKE_C_FLAGS="-I${jemalloc:location}/include -I${libaio:location}/include -I${libxml2:location}/include -I${ncurses:location}/include -I${openssl:location}/include -I${pcre:location}/include -I${readline5:location}/include -I${zlib:location}/include"
-DCMAKE_CXX_FLAGS="-I${jemalloc:location}/include -I${libaio:location}/include -I${libxml2:location}/include -I${ncurses:location}/include -I${openssl:location}/include -I${pcre:location}/include -I${readline5:location}/include -I${zlib:location}/include"
...
...
component/mesa/buildout.cfg
View file @
55902a94
...
...
@@ -38,6 +38,8 @@ environment =
ACLOCAL=${automake:location}/bin/aclocal -I${libtool:location}/share/aclocal -I${pkgconfig:location}/share/aclocal
AUTOCONF=${autoconf:location}/bin/autoconf
AUTOMAKE=${automake:location}/bin/automake
make-options =
LIBTOOL=${libtool:location}/bin/libtool
[glu]
recipe = slapos.recipe.cmmi
...
...
component/nginx/buildout.cfg
View file @
55902a94
...
...
@@ -11,8 +11,8 @@ parts = nginx-output
[nginx-common]
recipe = slapos.recipe.cmmi
url = http://nginx.org/download/nginx-1.7.
6
.tar.gz
md5sum =
dd444e5333e0d324bec480e2ff67870a
url = http://nginx.org/download/nginx-1.7.
7
.tar.gz
md5sum =
3beaa25fc87ff2a75ab1b46174dc5ebf
[nginx]
<= nginx-common
...
...
component/perl/buildout.cfg
View file @
55902a94
...
...
@@ -7,9 +7,9 @@ parts =
[perl]
recipe = slapos.recipe.cmmi
version = 5.20.
0
version = 5.20.
1
url = http://www.cpan.org/src/5.0/perl-${:version}.tar.bz2
md5sum =
20cbecd4e9e880ee7a50a136c8b1484e
md5sum =
ede5166f949d9a07163bc5b086be9759
siteprefix = ${buildout:parts-directory}/site_${:_buildout_section_name_}
patch-options = -p1
patches =
...
...
@@ -25,4 +25,4 @@ configure-command =
-Dusethreads
environment =
PATH=${patch:location}/bin:%(PATH)s
post-make-hook = ${:_profile_base_location_}/perl-create-libs-symlink.py#
7fded8308c1676decf77575c6d6b325f
:post_make_hook
post-make-hook = ${:_profile_base_location_}/perl-create-libs-symlink.py#
539cb3cd0d1090f7f30a8e5a82b37854
:post_make_hook
component/perl/perl-create-libs-symlink.py
View file @
55902a94
...
...
@@ -15,7 +15,7 @@ def post_make_hook(options, buildout):
print
"ERROR - no libperl.* found!"
exit
elif
nr_matches
>
1
:
print
"WARNING - several libperl.a found, taking only the first one:"
,
matches
.
join
(
"
\
n
"
)
print
"WARNING - several libperl.a found, taking only the first one:"
,
"
\
n
"
.
join
(
matches
)
# matches[0] is a prefix of "location"
# For the symlink, we want the relative path.
...
...
component/rrdtools/buildout.cfg
0 → 100644
View file @
55902a94
[buildout]
parts =
rrdtools
[rrdtools]
recipe = slapos.recipe.cmmi
md5sum = dbe59386db97fd2f2216729facd74ca8
url = http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.8.tar.gz
component/rsync/buildout.cfg
View file @
55902a94
...
...
@@ -4,7 +4,7 @@ parts =
[rsync]
recipe = slapos.recipe.cmmi
url = http://rsync.samba.org/ftp/rsync/src/rsync-3.
0.9
.tar.gz
md5sum =
5ee72266fe2c1822333c407e1761b92b
url = http://rsync.samba.org/ftp/rsync/src/rsync-3.
1.1
.tar.gz
md5sum =
43bd6676f0b404326eee2d63be3cdcfe
make-options =
PREFIX=${buildout:parts-directory}/${:_buildout_section_name_}
component/smartmontools/buildout.cfg
0 → 100644
View file @
55902a94
[buildout]
parts =
smartmontools
[smartmontools]
recipe = slapos.recipe.cmmi
md5sum = 2ea0c62206e110192a97b59291b17f54
url = http://freefr.dl.sourceforge.net/project/smartmontools/smartmontools/6.3/smartmontools-6.3.tar.gz
configure-option =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
component/w3-validator/buildout.cfg
View file @
55902a94
...
...
@@ -35,6 +35,6 @@ depends =
${perl-XML-LibXML:location}
${perl-libwww-perl:location}
perl-path = ${perl:location}/bin/perl
# validator-1_
2-release in http
://dvcs.w3.org/hg/markup-validator/tags
validator-url = http
://dvcs.w3.org/hg/markup-validator/archive/754b7a64cdb4
.tar.bz2
# validator-1_
3-release in https
://dvcs.w3.org/hg/markup-validator/tags
validator-url = http
s://dvcs.w3.org/hg/markup-validator/archive/6c6c7c1f69c5
.tar.bz2
dtd-url =
slapos/recipe/dcron.py
View file @
55902a94
...
...
@@ -76,10 +76,12 @@ class Part(GenericBaseRecipe):
day_of_week_dict
=
dict
((
name
,
dow
)
for
dow
,
name
in
enumerate
(
"sunday monday tuesday wednesday thursday friday saturday"
.
split
())
for
name
in
(
name
,
name
[:
3
]))
symbolic_dict
=
dict
(
hourly
=
'0 * * * *'
,
daily
=
'0 0 * * *'
,
monthly
=
'0 0 1 * *'
,
weekly
=
'0 0 * * 0'
)
symbolic_dict
=
dict
(
minutely
=
'* * * * *'
,
hourly
=
'0 * * * *'
,
daily
=
'0 0 * * *'
,
weekly
=
'0 0 * * 0'
,
monthly
=
'0 0 1 * *'
,
yearly
=
'0 0 1 1 *'
)
def
systemd_to_cron
(
spec
):
"""Convert from systemd.time(7) calendar spec to crontab spec"""
...
...
@@ -118,13 +120,22 @@ def systemd_to_cron(spec):
raise
ValueError
month
,
day
=
day
hour
,
minute
=
time
spec
=
minute
,
hour
,
day
,
month
,
dow
for
x
,
(
y
,
z
)
in
zip
(
spec
,
((
0
,
60
),
(
0
,
24
),
(
1
,
31
),
(
1
,
12
))):
spec
=
[
minute
,
hour
,
day
,
month
,
dow
]
for
i
,
(
y
,
z
)
in
enumerate
(((
0
,
60
),
(
0
,
24
),
(
1
,
31
),
(
1
,
12
))):
x
=
spec
[
i
]
if
x
!=
'*'
:
for
x
in
x
.
split
(
','
):
x
=
map
(
int
,
x
.
split
(
'/'
,
1
))
x
[
0
]
-=
y
if
x
[
0
]
<
0
or
len
(
x
)
>
1
and
x
[
0
]
>=
x
[
1
]
or
z
<=
sum
(
x
):
raise
ValueError
a
=
x
[
0
]
-
y
if
0
<=
a
<
z
:
if
len
(
x
)
==
1
:
continue
b
=
x
[
1
]
if
b
>
0
:
a
=
(
z
-
a
-
1
)
//
b
*
b
if
a
:
spec
[
i
]
=
'%s-%s/%s'
%
(
x
[
0
],
x
[
0
]
+
a
,
b
)
continue
raise
ValueError
return
' '
.
join
(
spec
)
slapos/recipe/logrotate.py
View file @
55902a94
...
...
@@ -65,6 +65,7 @@ class Part(GenericBaseRecipe):
'dateext'
,
'rotate 3650'
,
'compress'
,
'delaycompress'
,
'notifempty'
,
'sharedscripts'
,
'create'
,
...
...
slapos/recipe/pbs.py
View file @
55902a94
...
...
@@ -244,7 +244,10 @@ class Recipe(GenericSlapRecipe, Notify, Callback):
promise_dict
)
path_list
.
append
(
promise
)
known_hosts_file
[
parsed_url
.
hostname
]
=
entry
[
'server-key'
]
# Create known_hosts file by default.
# In some case, we don't want to create it (case where we share IP mong partitions)
if
not
self
.
isTrueValue
(
self
.
options
.
get
(
'ignore-known-hosts-file'
)):
known_hosts_file
[
parsed_url
.
hostname
]
=
entry
[
'server-key'
]
notifier_wrapper_path
=
os
.
path
.
join
(
self
.
options
[
'wrappers-directory'
],
slave_id
)
rdiff_wrapper_path
=
notifier_wrapper_path
+
'_raw'
...
...
slapos/recipe/tidstorage/__init__.py
View file @
55902a94
...
...
@@ -33,14 +33,15 @@ class Recipe(GenericBaseRecipe):
self
.
options
[
'configuration-path'
],
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'tidstorage.py.in'
),
self
.
options
))
r
=
[
configuration_file
]
tidstorage_wrapper
=
self
.
createPythonScript
(
self
.
options
[
'tidstorage-wrapper'
]
,
wrapper
=
self
.
options
.
get
(
'tidstorage-wrapper'
)
wrapper
and
r
.
append
(
self
.
createPythonScript
(
wrapper
,
'slapos.recipe.librecipe.execute.execute'
,
[
self
.
options
[
'tidstoraged-binary'
],
'--nofork'
,
'--config'
,
configuration_file
])
configuration_file
])
)
r
epozo_wrapper
=
self
.
createPythonScript
(
r
.
append
(
self
.
createPythonScript
(
self
.
options
[
'repozo-wrapper'
],
'slapos.recipe.librecipe.execute.execute'
,
[
self
.
options
[
'tidstorage-repozo-binary'
],
...
...
@@ -48,6 +49,6 @@ class Recipe(GenericBaseRecipe):
'--repozo'
,
self
.
options
[
'repozo-binary'
],
'--gzip'
,
'--quick'
,
])
])
)
return
[
configuration_file
,
tidstorage_wrapper
,
repozo_wrapper
]
return
r
slapos/test/recipe/test_dcron.py
View file @
55902a94
...
...
@@ -13,12 +13,13 @@ class TestDcron(unittest.TestCase):
_
(
"10-15"
,
"0 0 15 10 *"
)
_
(
"monday *-12-* 17:00"
,
"00 17 * 12 1"
)
_
(
"12,14,13,12:20,10,30"
,
"20,10,30 12,14,13,12 * * *"
)
# TODO: sort
_
(
"*-1/2-1,3 *:30"
,
"30 * 1,3 1/2 *"
)
_
(
"*-1/2-1,3 *:30"
,
"30 * 1,3 1
-11
/2 *"
)
_
(
"03-05 08:05"
,
"05 08 05 03 *"
)
_
(
"08:05:00"
,
"05 08 * * *"
)
_
(
"05:40"
,
"40 05 * * *"
)
_
(
"Sat,Sun 12-* 08:05"
,
"05 08 * 12 0,6"
)
_
(
"Sat,Sun 08:05"
,
"05 08 * * 0,6"
)
_
(
"*:25/20"
,
"25-45/20 * * * *"
)
def
_
(
systemd
):
self
.
assertRaises
(
Exception
,
systemd_to_cron
,
systemd
)
...
...
@@ -31,7 +32,7 @@ class TestDcron(unittest.TestCase):
_
(
"08:05:40"
)
_
(
"2003-03-05"
)
_
(
"0-1"
);
_
(
"13-1"
);
_
(
"
6/4-1"
);
_
(
"5/8
-1"
)
_
(
"1-0"
);
_
(
"1-32"
);
_
(
"1-
4/3"
);
_
(
"1-
14/18"
)
_
(
"24:0"
);
_
(
"9/9:0"
);
_
(
"8/16:0"
)
_
(
"0:60"
);
_
(
"0:
22/22"
);
_
(
"0:
15/45"
)
_
(
"0-1"
);
_
(
"13-1"
);
_
(
"
8/5
-1"
)
_
(
"1-0"
);
_
(
"1-32"
);
_
(
"1-14/18"
)
_
(
"24:0"
);
_
(
"8/16:0"
)
_
(
"0:60"
);
_
(
"0:15/45"
)
software/cloudooo/software.cfg
View file @
55902a94
...
...
@@ -21,6 +21,7 @@ cert = ${slap-connection:cert-file}
[template-jinja2-base]
recipe = slapos.recipe.template:jinja2
mode = 640
template = ${:_profile_base_location_}/${:filename}.in
rendered = ${buildout:directory}/${:filename}
# XXX: extra-context is needed because we cannot append to a key of an extended
...
...
software/erp5testnode/software.cfg
View file @
55902a94
...
...
@@ -9,14 +9,8 @@ extends =
../../component/pwgen/buildout.cfg
../../component/apache/buildout.cfg
# Local development
develop =
${:parts-directory}/slapos.cookbook-repository
parts =
# Local development
slapos-cookbook
slapos.cookbook-repository
check-recipe
template
lxml-python
eggs
...
...
@@ -24,20 +18,6 @@ parts =
git
apache
# Local development
[slapos.cookbook-repository]
recipe = plone.recipe.command
stop-on-error = true
location = ${buildout:parts-directory}/${:_buildout_section_name_}
command = "${git:location}/bin/git" clone --branch erp5testnode --quiet http://git.erp5.org/repos/slapos.git "${:location}"
update-command = cd "${:location}" && "${git:location}/bin/git" fetch --quiet && "${git:location}/bin/git" reset --hard @{upstream}
[check-recipe]
recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
[eggs]
recipe = zc.recipe.egg
eggs =
...
...
@@ -79,7 +59,10 @@ md5sum = 22ffc8e212dcf2db8ad94cf0e5ac4772
[versions]
PyXML = 0.8.5
erp5.util = 0.4.4
1
plone.recipe.command = 1.1
erp5.util = 0.4.4
2
slapos.cookbook = 0.92
slapos.recipe.template = 2.5
# Required by:
# slapos.cookbook==0.92
jsonschema = 2.4.0
software/kvm/common.cfg
View file @
55902a94
...
...
@@ -48,6 +48,7 @@ eggs =
slapos.toolbox
erp5.util
cns.recipe.symlink
collective.recipe.template
[http-proxy]
# https://github.com/nodejitsu/node-http-proxy
...
...
@@ -100,14 +101,14 @@ on-update = true
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/instance-kvm-resilient.cfg.jinja2
mode = 644
md5sum =
412d8540e054aa436bee723d85213a2b
md5sum =
7071b61a862ee681c2e4323e6435e98d
download-only = true
on-update = true
[template-kvm-resilient-test]
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/instance-kvm-resilient-test.cfg.jinja2
md5sum =
080b5790b95a979e44c4a8e26dc02835
md5sum =
e3d275621420f0b8c081228caeb571f9
mode = 0644
download-only = true
on-update = true
...
...
software/kvm/development.cfg
View file @
55902a94
...
...
@@ -6,30 +6,38 @@ extends =
parts +=
slapos.cookbook-repository
slapos.toolbox-repository
slapos.core-repository
erp5.util-repository
check-recipe
develop =
${:parts-directory}/slapos.cookbook-repository
${:parts-directory}/slapos.core-repository
${:parts-directory}/slapos.toolbox-repository
${:parts-directory}/erp5.util-repository
[slapos.cookbook-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/slapos.git
branch = kvm
branch = master
git-executable = ${git:location}/bin/git
[slapos.core-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/slapos.core.git
branch = master
git-executable = ${git:location}/bin/git
[slapos.toolbox-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/slapos.toolbox.git
branch =
kvmresiliency
branch =
master
git-executable = ${git:location}/bin/git
[erp5.util-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/erp5.git
branch =
scalability-master2
branch =
master
git-executable = ${git:location}/bin/git
[check-recipe]
...
...
@@ -38,5 +46,12 @@ stop-on-error = true
update-command = ${:command}
command =
grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link &&
grep parts ${buildout:develop-eggs-directory}/slapos.core.egg-link &&
grep parts ${buildout:develop-eggs-directory}/slapos.toolbox.egg-link &&
grep parts ${buildout:develop-eggs-directory}/erp5.util.egg-link
[versions]
slapos.cookbook =
slapos.core =
slapos.toolbox =
erp5.util =
\ No newline at end of file
software/kvm/instance-for-erp5testnode.cfg.in
0 → 100644
View file @
55902a94
[buildout]
parts =
switch-softwaretype
eggs-directory = ${buildout:eggs-directory}
develop-eggs-directory = ${buildout:develop-eggs-directory}
[switch-softwaretype]
recipe = slapos.cookbook:softwaretype
default = $${:test}
kvm = $${dynamic-template-kvm:rendered}
nbd = ${template-nbd:output}
frontend = ${template-frontend:output}
kvm-resilient = $${dynamic-template-kvm-resilient:rendered}
kvm-import = ${template-kvm-import:output}
kvm-export = $${dynamic-template-kvm-export:rendered}
# Used for the test of resiliency. The system wants a "test" software_type.
test = $${dynamic-template-kvm-resilient-test:rendered}
frozen = ${instance-frozen:output}
pull-backup = ${template-pull-backup:output}
[slap-configuration]
recipe = slapos.cookbook:slapconfiguration.serialised
computer = $${slap-connection:computer-id}
partition = $${slap-connection:partition-id}
url = $${slap-connection:server-url}
key = $${slap-connection:key-file}
cert = $${slap-connection:cert-file}
[dynamic-template-kvm]
recipe = slapos.recipe.template:jinja2
template = ${template-kvm:location}/instance-kvm.cfg.jinja2
rendered = $${buildout:directory}/template-kvm.cfg
extensions = jinja2.ext.do
context =
key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory
key slapparameter_dict slap-configuration:configuration
raw curl_executable_location ${curl:location}/bin/curl
raw dash_executable_location ${dash:location}/bin/dash
raw dcron_executable_location ${dcron:location}/sbin/crond
raw debian_amd64_netinst_location ${debian-amd64-netinst.iso:location}/${debian-amd64-netinst.iso:filename}
raw novnc_location ${noVNC:location}
raw openssl_executable_location ${openssl:location}/bin/openssl
raw qemu_executable_location ${kvm:location}/bin/qemu-system-x86_64
raw qemu_img_executable_location ${kvm:location}/bin/qemu-img
raw sixtunnel_executable_location ${6tunnel:location}/bin/6tunnel
raw websockify_executable_location ${buildout:directory}/bin/websockify
template-parts-destination = ${template-parts:destination}
template-replicated-destination = ${template-replicated:destination}
import-list = file parts :template-parts-destination
file replicated :template-replicated-destination
mode = 0644
[dynamic-template-kvm-resilient]
recipe = slapos.recipe.template:jinja2
template = ${template-kvm-resilient:location}/instance-kvm-resilient.cfg.jinja2
rendered = $${buildout:directory}/template-kvm-resilient.cfg
extensions = jinja2.ext.do
context =
key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory
key slapparameter_dict slap-configuration:configuration
raw curl_executable_location ${curl:location}/bin/curl
template-parts-destination = ${template-parts:destination}
template-replicated-destination = ${template-replicated:destination}
import-list = file parts :template-parts-destination
file replicated :template-replicated-destination
mode = 0644
[dynamic-template-kvm-export]
recipe = slapos.recipe.template:jinja2
template = ${template-kvm-export:location}/instance-kvm-export.cfg.jinja2
rendered = $${buildout:directory}/template-kvm-export.cfg
extensions = jinja2.ext.do
context =
key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory
raw kvm_template $${dynamic-template-kvm:rendered}
raw template_kvm_export ${template-kvm-export-script:location}/${template-kvm-export-script:filename}
raw pbsready_export_template ${pbsready-export:output}
raw gzip_binary ${gzip:location}/bin/gzip
mode = 0644
[dynamic-template-kvm-resilient-test]
recipe = slapos.recipe.template:jinja2
template = ${template-kvm-resilient-test:location}/instance-kvm-resilient-test.cfg.jinja2
rendered = $${buildout:directory}/template-kvm-resilient-test.cfg
context =
key develop_eggs_directory buildout:develop-eggs-directory
key eggs_directory buildout:eggs-directory
key slapparameter_dict slap-configuration:configuration
raw bin_directory ${buildout:bin-directory}
mode = 0644
software/kvm/instance-kvm-resilient-input-schema.json
View file @
55902a94
...
...
@@ -40,6 +40,12 @@
"description"
:
"Amount of backup(s) to create. Each backup consists of a Pull Backup Server and a clone."
,
"type"
:
"integer"
,
"default"
:
2
},
"ignore-known-hosts-file"
:
{
"title"
:
"Ignore known_hosts file"
,
"description"
:
"Set either to fill known_hosts file for ssh or not. Useful if main instance and PBS are using the same IP (slapos proxy, webrunner)."
,
"type"
:
"boolean"
,
"default"
:
false
}
}
}
...
...
software/kvm/instance-kvm-resilient-test.cfg.jinja2
View file @
55902a94
...
...
@@ -5,7 +5,8 @@ develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
parts =
deploy-resiliency-test
deploy-unit-test
deploy-scalability-test
request-resilient-kvm
deploy-standalone-resiliency-test
...
...
@@ -21,20 +22,30 @@ log = ${:var}/log/
services = ${:etc}/service/
scripts = ${:etc}/run/
[deploy-
resilienc
y-test]
[deploy-
scalabilit
y-test]
recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:scripts}/runKVMResiliencyTestSuite
# XXX: put it in etc/run in case of scalability test so that it runs automatically.
wrapper-path = ${directory:bin}/runKVMResiliencyTestSuite
testnode-parameters = --test-result-path={{ slapparameter_dict.get('test-result-path') }} --revision={{ slapparameter_dict.get('test-suite-revision') }} --node-title={{ slapparameter_dict.get('scalability-launcher-title') }} --test-suite={{ slapparameter_dict.get('test-suite') }} --test-suite-master-url={{ slapparameter_dict.get('test-suite-master-url') }} --log-path=${directory:log}
kvm-test-parameters = server_url=${slap-connection:server-url} key_file=${slap-connection:key-file} cert_file=${slap-connection:cert-file} computer_id=${slap-connection:computer-id} partition_id=${slap-connection:partition-id} software=${slap-connection:software-release-url} namebase=kvm kvm_rootinstance_name='${request-resilient-kvm:name}'
command-line = {{ bin_directory }}/runResiliencyTest ${:testnode-parameters} ${:kvm-test-parameters}
kvm-test-parameters = server_url=${slap-connection:server-url} key_file=${slap-connection:key-file} cert_file=${slap-connection:cert-file} computer_id=${slap-connection:computer-id} partition_id=${slap-connection:partition-id} software=${slap-connection:software-release-url} namebase=kvm root_instance_name='${request-resilient-kvm:name}'
command-line = {{ bin_directory }}/runResiliencyScalabilityTestNode ${:testnode-parameters} ${:kvm-test-parameters}
[deploy-unit-test]
recipe = collective.recipe.template
#testnode-parameters = --test-result-path={{ slapparameter_dict.get('test-result-path') }} --revision={{ slapparameter_dict.get('test-suite-revision') }} --node-title={{ slapparameter_dict.get('scalability-launcher-title') }} --test-suite={{ slapparameter_dict.get('test-suite') }} --test-suite-master-url={{ slapparameter_dict.get('test-suite-master-url') }} --log-path=${directory:log}
kvm-test-parameters = server_url=${slap-connection:server-url} key_file=${slap-connection:key-file} cert_file=${slap-connection:cert-file} computer_id=${slap-connection:computer-id} partition_id=${slap-connection:partition-id} software=${slap-connection:software-release-url} namebase=kvm root_instance_name='${request-resilient-kvm:name}'
input = inline:
#!/bin/sh
exec {{ bin_directory }}/runResiliencyUnitTestTestNode $@ ${:kvm-test-parameters}
output = ${directory:bin}/runTestSuite
mode = 755
[deploy-standalone-resiliency-test]
# Used to manually run the KVM test if we don't have a running testnode.
recipe = slapos.cookbook:wrapper
wrapper-path = ${directory:bin}/runStandaloneResiliencyTestSuite
command-line = {{ bin_directory }}/runStandaloneResiliencyTest --test-suite-title=kvm ${deploy-resiliency-test:kvm-test-parameters}
command-line = {{ bin_directory }}/runStandaloneResiliencyTest --test-suite-title=kvm ${:kvm-test-parameters}
kvm-test-parameters = server_url=${slap-connection:server-url} key_file=${slap-connection:key-file} cert_file=${slap-connection:cert-file} computer_id=${slap-connection:computer-id} partition_id=${slap-connection:partition-id} software=${slap-connection:software-release-url} namebase=kvm root_instance_name='${request-resilient-kvm:name}'
[request-resilient-kvm]
<= slap-connection
...
...
@@ -48,9 +59,12 @@ config-{{ key }} = {{ dumps(value) }}
config-virtual-hard-drive-url = ${slap-parameter:virtual-hard-drive-url}
config-virtual-hard-drive-md5sum = ${slap-parameter:virtual-hard-drive-md5sum}
config-resiliency-backup-periodicity = */5 * * * *
config-resilient-clone-number = 1
config-ignore-known-hosts-file = true
return = ipv6
# XXX What to do?
sla-computer_guid = ${slap-connection:computer-id}
[slap-parameter]
virtual-hard-drive-url = http
s://softinst43236.host.vifib.net/data/public/fbd4ad.php?dl=true
virtual-hard-drive-url = http
://www.nexedi.org/static/slapos/kvm_resiliency_test/virtual.qcow2
virtual-hard-drive-md5sum = 465e1024447997e7b86ee2e5151e031b
software/kvm/instance-kvm-resilient.cfg.jinja2
View file @
55902a94
...
...
@@ -32,12 +32,13 @@ return =
url ssh-public-key ssh-url notification-id ip
# KVM related parameters
# XXX: return ALL parameters (like nat rules), through jinja
backend-url url
backend-url url
ip
[publish-connection-informations]
recipe = slapos.cookbook:publish
backend-url = ${request-kvm:connection-backend-url}
url = ${request-kvm:connection-url}
ipv6 = ${request-kvm:connection-ip}
[kvm-frontend-url-promise]
# Check that url parameter is complete
...
...
software/kvm/software-for-erp5testnode.cfg
0 → 100644
View file @
55902a94
[buildout]
extends = development.cfg
# Change default software-type to be "test", so that it can be run using erp5testnode.
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-for-erp5testnode.cfg.in
md5sum = e8afd5aa5b41df79238e9a84984a6aa5
output = ${buildout:directory}/template.cfg
mode = 0644
\ No newline at end of file
software/monitor/instance.cfg
→
software/monitor/instance.cfg
.in
View file @
55902a94
...
...
@@ -19,6 +19,8 @@ parts =
monitor-promise
monitor-instance-log-access
cron-rsync-logs
cron-smart-monitor-logs
cron-network-bench
extends = ${monitor-template:output}
...
...
@@ -34,6 +36,20 @@ name = rsync-logs
frequency = * * * * *
command = $${rsync-logs:rendered}
[cron-smart-monitor-logs]
<= cron
recipe = slapos.cookbook:cron.d
name = smartctl-mon
frequency = 11 * * * *
command = $${smartmon-logs:rendered}
[cron-network-bench]
<= cron
recipe = slapos.cookbook:cron.d
name = network-bench-test
frequency = */3 * * * *
command = ${buildout:bin-directory}/networkbench $${network-bench-configuration:rendered} $${monitor-directory:monitor-log}
[rsync-logs]
recipe = slapos.recipe.template:jinja2
template = ${rsync-logs-script:output}
...
...
@@ -43,6 +59,27 @@ context =
key buildout_directory buildout:directory
raw rsync_binary ${rsync:location}/bin/rsync
key server_log_directory monitor-directory:server-log
raw re6st_log_directory /var/log/re6stnet
key system_log_directory monitor-directory:system-log
[smartmon-logs]
recipe = slapos.recipe.template:jinja2
template = ${smartmon-logs-script:output}
rendered = $${monitor-directory:bin}/smartmon-logs.py
mode = 0744
context =
key buildout_directory buildout:directory
raw smartctl_binary ${smartmontools:location}/sbin/smartctl
key monitor_log_directory monitor-directory:monitor-log
raw python_executable ${buildout:executable}
[network-bench-configuration]
recipe = slapos.recipe.template:jinja2
template = ${network-bench-cfg:output}
rendered = $${monitor-directory:etc}/network_bench.cfg
mode = 0744
context =
[pwgen]
recipe = slapos.cookbook:generate.password
...
...
@@ -54,11 +91,12 @@ recipe = slapos.cookbook:generate.password
user = admin
bytes = 16
[monitor-directory]
server-log = $${:private-directory}/server-log
monitor-log = $${:private-directory}/monitor-log
cache = $${:var}/cache
mod-ssl = $${:cache}/httpd_mod_ssl
system-log = $${:private-directory}/system-log
[slap-parameter]
private-hash = $${pwgen:passwd}$${pwgen32:passwd}
...
...
@@ -71,6 +109,7 @@ name = Monitor Frontend
# XXX We have hardcoded SR URL here.
software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
slave = true
config = url domain
config-url = $${monitor-parameters:url}
config-domain = $${slap-parameter:frontend-domain}
return = site_url domain
...
...
software/monitor/network_bench.cfg
0 → 100644
View file @
55902a94
[network_bench]
url =
http://www.tiolive.com/robots.txt
http://www.erp5.com/robots.txt
http://www.erp5.cn/robots.txt
http://www.nexedi.cn/robots.txt
http://www.osoe-project.cn/robots.txt
http://www.nexedi.cn/robots.txt
http://www.osoe-project.org/robots.txt
http://www.osoe-project.cn/robots.txt
http://www.google.com/robots.txt
http://ipv6.google.com/robots.txt
https://[2001:67c:1254:e:a7::2e20]:9685/monitor-public/rssfeed.html
https://[2001:67c:1254:69::115c]:9685/monitor-public/rssfeed.html
https://[2001:67c:1254:8a::2621]:9685/monitor-public/rssfeed.html
https://[2001:67c:1254:e:c7::89ae]:9685/monitor-public/rssfeed.html
https://[2001:67c:1254:e:93::2e31]:9685/monitor-public/rssfeed.html
https://[2001:67c:1254:1f::2723]:9685/monitor-public/rssfeed.html
https://[2001:41d0:1:a78b::3c2a]:9685/monitor-public/rssfeed.html
http://[2001:67c:1254:4::1]/index.html
dns =
erp5.com
www.erp5.com
erp5.cn
www.erp5.cn
nexedi.cn
www.nexedi.com
www.nexedi.cn
www.osoe-project.org
www.osoe-project.cn
free.fr
google.com
ping =
erp5.com
erp5.cn
google.com
free.fr
frontend1.nexedi.com
frontend2.nexedi.com
frontend3.nexedi.cn
42.192.4.15
195.208.185.22
software/monitor/rsync-logs.sh.in
View file @
55902a94
...
...
@@ -2,6 +2,13 @@
RSYNC_BIN={{ rsync_binary }}
SLAPGRID_LOGS={{ buildout_directory }}/../var/data-log/
RE6STLOGS={{ re6st_log_directory }}
SYSTEMLOGS={{ system_log_directory }}
SERVERLOGS={{ server_log_directory }}
$RSYNC_BIN -a --delete $SLAPGRID_LOGS $SERVERLOGS
if [ -d $RE6STLOGS ]; then
$RSYNC_BIN -a --delete $RE6STLOGS $SYSTEMLOGS
fi
software/monitor/smartmon.py.in
0 → 100644
View file @
55902a94
#!{{ python_executable }}
SMARCTBIN={{ smartctl_binary }}
LOGFOLDER={{ monitor_log_directory }}
import subprocess
import logging
import os
logger = logging.getLogger("SMARTMON")
logger.setLevel(logging.DEBUG)
ch = logging.FileHandler(os.path.join(LOGFOLDER, "smartmontools.log"))
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
ch.setFormatter(formatter)
logger.addHandler(ch)
def _call(cmd):
p = subprocess.Popen(
cmd,
stdout=subprocess.PIPE,
stdin=subprocess.PIPE,
shell=True)
return p.communicate()
def get_disk_list():
output, err = _call("%s --scan" % SMARCTBIN)
disk_list = []
for line in output.split("\n"):
if line != '':
disk_path = line.split(" ")[0]
if disk_path.startswith("/dev/"):
disk_list.append(disk_path)
return disk_list
logger.debug("Starting new Data collection.")
disk_list = get_disk_list()
logger.debug("Identified disks: %s" % disk_list)
for disk in disk_list:
logger.info("Starting test for %s" % disk)
output, err = _call("%s --all %s" % (SMARCTBIN, disk))
for l in output.split("\n"):
logger.info("%s - %s" % (disk, l))
if err is not None:
logger.warning(err)
logger.debug("Stopped to Collect Data.")
software/monitor/software.cfg
View file @
55902a94
...
...
@@ -4,18 +4,23 @@ extends =
../../stack/monitor/buildout.cfg
../../stack/slapos.cfg
../../component/rsync/buildout.cfg
../../component/smartmontools/buildout.cfg
../../component/lmsensors/buildout.cfg
parts =
slapos-cookbook
slapos-toolbox
template
eggs
rsync
smartmontools
lmsensors
[template]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance.cfg
.in
output = ${buildout:directory}/instance.cfg
md5sum =
b86685e4007296f4808c2f1f1b74a290
md5sum =
184a27424b48514cfe9374e881e1cc0c
mode = 0644
# stupify index for now
...
...
@@ -30,10 +35,34 @@ md5sum = 1f30b17f5ea11fd033984d17c38bcfd3
[rsync-logs-script]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/rsync-logs.sh.in
md5sum =
33900b1f30f9d1de19814d6d3bacb03b
md5sum =
8828868268a6f9761eccbcec1660cc9a
output = ${buildout:directory}/template-rsync-logs.sh.in
mode = 0644
[smartmon-logs-script]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/smartmon.py.in
md5sum = a3ea2604abf53067af1b952b278fba94
output = ${buildout:directory}/template-smartmon-logs.py.in
mode = 0644
[network-bench-cfg]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/network_bench.cfg
md5sum = 44f8db5fca5e16ae87f570623a3ad0b4
output = ${buildout:directory}/template-network-bench-cfg.in
mode = 0644
[slapos-toolbox]
recipe = zc.recipe.egg
eggs =
${lxml-python:egg}
slapos.toolbox
scripts =
networkbench
onetimedownload
[eggs]
recipe = z3c.recipe.scripts
eggs =
...
...
@@ -49,3 +78,26 @@ cns.recipe.symlink = 0.2.3
plone.recipe.command = 1.1
slapos.recipe.template = 2.5
z3c.recipe.scripts = 1.0.1
apache-libcloud = 0.16.0
ecdsa = 0.11
gitdb = 0.6.0
pycrypto = 2.6.1
slapos.toolbox = 0.45.1
smmap = 0.8.3
# Required by:
# slapos.toolbox==0.45.1
GitPython = 0.3.2.1
# Required by:
# slapos.toolbox==0.45.1
atomize = 0.2.0
# Required by:
# slapos.toolbox==0.45.1
feedparser = 5.1.3
# Required by:
# slapos.toolbox==0.45.1
paramiko = 1.15.1
software/slaprunner/common.cfg
View file @
55902a94
...
...
@@ -46,7 +46,7 @@ mode = 0644
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-runner.cfg
output = ${buildout:directory}/template-runner.cfg.in
md5sum =
8ebc0e59db33f0105968a813a3130236
md5sum =
39458e6a1d8cddd0000d6d6a0517f017
mode = 0644
[template-runner-import-script]
...
...
@@ -82,7 +82,7 @@ mode = 0644
[template-resilient]
recipe = slapos.recipe.download
url = ${:_profile_base_location_}/instance-resilient.cfg.jinja2
md5sum =
aec7fb7fe57b48c5c26c7adcdff36d26
md5sum =
489cfdbe128c21ff5847f92d804fe460
filename = instance-resilient.cfg.jinja2
mode = 0644
...
...
@@ -90,7 +90,7 @@ mode = 0644
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/instance-resilient-test.cfg.jinja2
download-only = true
md5sum =
105c7c427def7b2643b7480b2bada3a5
md5sum =
b95b230bcdd7d4eaf9452f73156b27e8
filename = instance-resilient-test.cfg.jinja2
mode = 0644
...
...
software/slaprunner/development.cfg
View file @
55902a94
...
...
@@ -11,8 +11,8 @@ extends = common.cfg
parts =
# Development eggs
slapos.toolbox-repository
#
slapos.cookbook-repository
#
slapos.core-repository
slapos.cookbook-repository
slapos.core-repository
check-recipe
# erp5.util-repository
# Good elements
...
...
@@ -27,11 +27,10 @@ parts =
collective.recipe.template-egg
develop =
${:parts-directory}/slapos.toolbox-repository
#
${:parts-directory}/slapos.cookbook-repository
#
${:parts-directory}/slapos.core-repository
${:parts-directory}/slapos.cookbook-repository
${:parts-directory}/slapos.core-repository
# ${:parts-directory}/erp5.util-repository
...
...
@@ -39,7 +38,6 @@ develop =
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/slapos.toolbox.git
branch = slaprunner-paas
#revision = 2de7ba00a75e73cae2d6b71f7266f6261416b057
git-executable = ${git:location}/bin/git
[slapos.cookbook-repository]
...
...
@@ -52,8 +50,7 @@ git-executable = ${git:location}/bin/git
[erp5.util-repository]
recipe = slapos.recipe.build:gitclone
repository = http://git.erp5.org/repos/erp5.git
#branch = scalability-master2
revision = f9a812f4e97ffeed359bc5611366a5c8675ec749
branch = master
git-executable = ${git:location}/bin/git
[slapos.core-repository]
...
...
@@ -67,8 +64,12 @@ recipe = plone.recipe.command
stop-on-error = true
update-command = ${:command}
command =
grep parts ${buildout:develop-eggs-directory}/slapos.toolbox.egg-link
#
grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link &&
# grep parts ${buildout:develop-eggs-directory}/slapos.core.egg-link &&
grep parts ${buildout:develop-eggs-directory}/slapos.toolbox.egg-link
&&
grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link &&
grep parts ${buildout:develop-eggs-directory}/slapos.core.egg-link
# grep parts ${buildout:develop-eggs-directory}/erp5.util.egg-link
[versions]
slapos.cookbook =
slapos.core =
slapos.toolbox =
software/slaprunner/instance-for-erp5testnode.cfg.in
0 → 100644
View file @
55902a94
[buildout]
extends = ${template:output}
[switch_softwaretype]
default = $${:test}
software/slaprunner/instance-resilient-test.cfg.jinja2
View file @
55902a94
...
...
@@ -5,8 +5,9 @@ develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
parts =
deploy-resiliency-test
request-resilient-instance
deploy-unit-test
deploy-scalability-test
deploy-standalone-resiliency-test
[directory]
...
...
@@ -21,18 +22,27 @@ log = ${:var}/log/
services = ${:etc}/service/
scripts = ${:etc}/run/
[deploy-
resilienc
y-test]
[deploy-
scalabilit
y-test]
recipe = slapos.cookbook:wrapper
testnode-parameters = --test-result-path={{ slapparameter_dict.get('test-result-path') }} --revision={{ slapparameter_dict.get('test-suite-revision') }} --node-title={{ slapparameter_dict.get('scalability-launcher-title') }} --test-suite={{ slapparameter_dict.get('test-suite') }} --test-suite-master-url={{ slapparameter_dict.get('test-suite-master-url') }} --log-path=${directory:log}
test-parameters = server_url=${slap-connection:server-url} key_file=${slap-connection:key-file} cert_file=${slap-connection:cert-file} computer_id=${slap-connection:computer-id} partition_id=${slap-connection:partition-id} software=${slap-connection:software-release-url} namebase=runner
slaprunner_root
instance_name='${request-resilient-instance:name}'
command-line = {{ bin_directory }}/runResiliency
Test
${:testnode-parameters} ${:test-parameters}
test-parameters = server_url=${slap-connection:server-url} key_file=${slap-connection:key-file} cert_file=${slap-connection:cert-file} computer_id=${slap-connection:computer-id} partition_id=${slap-connection:partition-id} software=${slap-connection:software-release-url} namebase=runner
root_
instance_name='${request-resilient-instance:name}'
command-line = {{ bin_directory }}/runResiliency
ScalabilityTestNode
${:testnode-parameters} ${:test-parameters}
wrapper-path = ${directory:scripts}/runResiliencyTestSuite
[deploy-unit-test]
recipe = collective.recipe.template
test-parameters = server_url=${slap-connection:server-url} key_file=${slap-connection:key-file} cert_file=${slap-connection:cert-file} computer_id=${slap-connection:computer-id} partition_id=${slap-connection:partition-id} software=${slap-connection:software-release-url} namebase=runner root_instance_name='${request-resilient-instance:name}'
input = inline:
#!/bin/sh
exec {{ bin_directory }}/runResiliencyUnitTestTestNode $@ ${:test-parameters}
output = ${directory:bin}/runTestSuite
mode = 755
[deploy-standalone-resiliency-test]
# Used to manually run the resilient test if we don't have a running testnode.
recipe = slapos.cookbook:wrapper
test-suite-title = slaprunner
command-line = {{ bin_directory }}/runStandaloneResiliencyTest
--test-suite-title=${:test-suite-title} ${deploy-resilienc
y-test:test-parameters}
command-line = {{ bin_directory }}/runStandaloneResiliencyTest
Suite --test-suite-title=${:test-suite-title} ${deploy-scalabilit
y-test:test-parameters}
wrapper-path = ${directory:bin}/runStandaloneResiliencyTestSuite
[request-resilient-instance]
...
...
@@ -45,7 +55,8 @@ name = Resilient Instance (Root Instance)
config-{{ key }} = {{ dumps(value) }}
{% endfor -%}
config-resiliency-backup-periodicity = */6 * * * *
config-resilient-clone-number = 2
config-resilient-clone-number = 1
config-ignore-known-hosts-file = true
# XXX hardcoded
#config-frontend-domain = google.com
# XXX Hack to deploy Root Instance on the same computer as the type-test Instance
...
...
software/slaprunner/instance-resilient.cfg.jinja2
View file @
55902a94
...
...
@@ -28,7 +28,7 @@ parts +=
# Bubble up the parameters
[request-runner]
return = url ssh-public-key ssh-url notification-id ip backend_url url ssh_command access_url 1_info 2_info monitor_url webdav_url public_url git_public_url git_private_url
return = url ssh-public-key ssh-url notification-id ip backend_url url ssh_command access_url 1_info 2_info monitor_url
monitor_backend_url
webdav_url public_url git_public_url git_private_url
[publish-connection-informations]
recipe = slapos.cookbook:publish
...
...
@@ -39,6 +39,7 @@ access_url = ${request-runner:connection-access_url}
url = ${request-runner:connection-url}
ssh_command = ${request-runner:connection-ssh_command}
monitor_url = ${request-runner:connection-monitor_url}
monitor_backend_url = ${request-runner:connection-monitor_backend_url}
webdav_url = ${request-runner:connection-webdav_url}
public_url = ${request-runner:connection-public_url}
git_public_url = ${request-runner:connection-git_public_url}
...
...
software/slaprunner/instance-runner.cfg
View file @
55902a94
...
...
@@ -355,7 +355,7 @@ path_pid = $${directory:run}/gunicorn.pid
[gunicorn-launcher]
recipe = slapos.cookbook:wrapper
command-line = $${gunicorn:bin_gunicorn} slapos.runner
:app -p $${gunicorn:path_pid} -b unix:$${gunicorn:socket} -e RUNNER_CONFIG=$${slaprunner:slapos.cfg} --error-logfile $${directory:log}/$${:error-log-file} --log-level error --preload
command-line = $${gunicorn:bin_gunicorn} slapos.runner
.run:app -p $${gunicorn:path_pid} -b unix:$${gunicorn:socket} -e RUNNER_CONFIG=$${slaprunner:slapos.cfg} --error-logfile $${directory:log}/$${:error-log-file} --log-level error --preload
error-log-file = gunicorn-error.log
wrapper-path = $${gunicorn:bin_launcher}
environment = PATH=$${environ:PATH}:${git:location}/bin/
...
...
@@ -446,6 +446,7 @@ access_url = $${:url}/login
url = https://$${request-frontend:connection-domain}
ssh_command = ssh $${dropbear-runner-server:host} -p $${dropbear-runner-server:port}
monitor_url = https://$${monitor-frontend:connection-domain}
monitor_backend_url = https://[$${monitor-httpd-configuration:listening-ip}]:$${monitor-parameters:port}
webdav_url = $${:monitor_url}/share/
public_url = $${:monitor_url}/public/
git_public_url = https://[$${httpd-parameters:global_ip}]:$${httpd-parameters:monitor_port}/git-public/
...
...
software/slaprunner/software-for-erp5testnode.cfg
0 → 100644
View file @
55902a94
[buildout]
extends = development.cfg
parts += template-erp5testnode
# Change default software-type to be "test", so that it can be run using erp5testnode.
[template-erp5testnode]
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-for-erp5testnode.cfg.in
md5sum = 59a13145d3df30f38442ce172330dfb3
output = ${buildout:directory}/template.cfg
mode = 0644
[template]
output = ${buildout:directory}/template-original.cfg
software/slaprunner/software.cfg
View file @
55902a94
...
...
@@ -9,39 +9,37 @@ extends = common.cfg
[versions]
Flask-Auth = 0.85
PyRSS2Gen = 1.1
apache-libcloud = 0.15.1
async = 0.6.1
apache-libcloud = 0.16.0
cns.recipe.symlink = 0.2.3
collective.recipe.environment = 0.2.0
collective.recipe.template = 1.11
ecdsa = 0.11
erp5.util = 0.4.4
1
gitdb = 0.
5.4
erp5.util = 0.4.4
2
gitdb = 0.
6.0
gunicorn = 19.1.1
plone.recipe.command = 1.1
pycrypto = 2.6.1
slapos.recipe.build = 0.12
slapos.recipe.download = 1.0.dev-r4053
slapos.toolbox = 0.4
0.4
smmap = 0.8.
2
slapos.toolbox = 0.4
5.2
smmap = 0.8.
3
z3c.recipe.scripts = 1.0.1
# Required by:
# slapos.toolbox==0.4
0.4
GitPython = 0.3.2.
RC
1
# slapos.toolbox==0.4
5.2
GitPython = 0.3.2.1
# Required by:
# slapos.toolbox==0.4
0.4
# slapos.toolbox==0.4
5.2
atomize = 0.2.0
# Required by:
# slapos.toolbox==0.4
0.4
# slapos.toolbox==0.4
5.2
feedparser = 5.1.3
# Required by:
# slapos.cookbook==0.
87
# slapos.cookbook==0.
92
jsonschema = 2.4.0
# Required by:
# slapos.toolbox==0.4
0.4
# slapos.toolbox==0.4
5.2
paramiko = 1.15.1
software/varnish/software.cfg
View file @
55902a94
...
...
@@ -45,6 +45,7 @@ command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
[template-jinja2-base]
recipe = slapos.recipe.template:jinja2
mode = 640
template = ${:_profile_base_location_}/${:filename}.in
rendered = ${buildout:directory}/${:filename}
# XXX: extra-context is needed because we cannot append to a key of an extended
...
...
stack/erp5/buildout.cfg
View file @
55902a94
...
...
@@ -144,6 +144,7 @@ command = grep parts ${buildout:develop-eggs-directory}/slapos.cookbook.egg-link
[template-jinja2-base]
recipe = slapos.recipe.template:jinja2
mode = 640
template = ${:_profile_base_location_}/${:filename}.in
rendered = ${buildout:directory}/${:filename}
# XXX: extra-context is needed because we cannot append to a key of an extended
...
...
@@ -651,7 +652,7 @@ Pympler = 0.3.1
StructuredText = 2.11.1
WSGIUtils = 0.7
apache-libcloud = 0.16.0
astroid = 1.
2.1
astroid = 1.
3.2
async = 0.6.1
chardet = 2.3.0
csp-eventlet = 0.7.0
...
...
@@ -679,7 +680,7 @@ polib = 1.0.5
pprofile = 1.7.2
pycountry = 1.10
pyflakes = 0.8.1
pylint = 1.
3.1
pylint = 1.
4.0
python-ldap = 2.4.17
python-magic = 0.4.6
python-memcached = 1.53
...
...
@@ -687,7 +688,7 @@ qrcode = 5.1
restkit = 4.2.2
rtjp-eventlet = 0.3.2
slapos.recipe.template = 2.5
slapos.toolbox = 0.4
3.0
slapos.toolbox = 0.4
5.1
smmap = 0.8.3
socketpool = 0.5.3
spyne = 2.11.0
...
...
@@ -701,7 +702,7 @@ xupdate-processor = 0.4
xfw = 0.10
# Required by:
# slapos.toolbox==0.4
3.0
# slapos.toolbox==0.4
5.1
GitPython = 0.3.2.1
# Required by:
...
...
@@ -709,7 +710,7 @@ GitPython = 0.3.2.1
Products.ZSQLMethods = 2.13.4
# Required by:
# slapos.toolbox==0.4
3.0
# slapos.toolbox==0.4
5.1
atomize = 0.2.0
# Required by:
...
...
@@ -717,7 +718,7 @@ atomize = 0.2.0
erp5.util = 0.4.41
# Required by:
# slapos.toolbox==0.4
3.0
# slapos.toolbox==0.4
5.1
feedparser = 5.1.3
# Required by:
...
...
@@ -746,7 +747,7 @@ minitage.recipe.common = 1.90
ordereddict = 1.1
# Required by:
# slapos.toolbox==0.4
3.0
# slapos.toolbox==0.4
5.1
paramiko = 1.15.1
# Required by:
...
...
stack/resilient/buildout.cfg
View file @
55902a94
...
...
@@ -63,13 +63,13 @@ mode = 0644
recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-pull-backup.cfg.in
output = ${buildout:directory}/instance-pull-backup.cfg
md5sum =
08b80d1b7beb1610077151904526a2e
c
md5sum =
3866b0d4d2872f693b7d9519a668e6b
c
mode = 0644
[template-replicated]
recipe = slapos.recipe.download
url = ${:_profile_base_location_}/template-replicated.cfg.in
md5sum =
a21d751078dbf1fc80ecb93a6f499287
md5sum =
c781ae17375c26b08b2a11bd9b800db8
mode = 0644
destination = ${buildout:directory}/template-replicated.cfg.in
...
...
stack/resilient/instance-pull-backup.cfg.in
View file @
55902a94
...
...
@@ -136,6 +136,7 @@ run-directory = $${basedirectory:run}
# XXX: this should be named "notifier-host"
notifier-url = http://[$${notifier:host}]:$${notifier:port}
slave-instance-list = $${slap-parameter:slave_instance_list}
ignore-known-hosts-file = $${slap-parameter:ignore-known-hosts-file}
#----------------
...
...
@@ -235,6 +236,7 @@ identity-file = $${basedirectory:ssh-home}/id_rsa
[slap-parameter]
slave_instance_list = []
ignore-known-hosts-file = false
...
...
stack/resilient/template-replicated.cfg.in
View file @
55902a94
...
...
@@ -154,6 +154,7 @@ software-type = pull-backup
[request-pbs-{{namebase}}-{{id}}]
<= request-pbs-common
name = PBS ({{namebase}} / {{id}})
config-ignore-known-hosts-file = ${slap-parameter:ignore-known-hosts-file}
return = ssh-key notification-url feeds-url
slave = false
{% if sla_parameter_dict == {} -%}
...
...
@@ -231,6 +232,7 @@ sla-instance_guid = ${request-pbs-{{namebase}}-{{id}}:instance_guid}
{{namebase}}{{id}}-computer-guid =
pbs-{{namebase}}{{id}}-computer-guid =
{% endfor %}
ignore-known-hosts-file = false
{% endmacro %}
stack/slapos.cfg
View file @
55902a94
...
...
@@ -114,7 +114,7 @@ cffi = 0.8.6
cmd2 = 0.6.7
cryptography = 0.6
itsdangerous = 0.24
lxml = 3.4.
0
lxml = 3.4.
1
meld3 = 1.0.0
mr.developer = 1.31
prettytable = 0.7.2
...
...
@@ -124,14 +124,14 @@ setuptools = 7.0
six = 1.8.0
simplejson = 3.6.5
slapos.cookbook = 0.87
slapos.core = 1.3.
3
slapos.core = 1.3.
5
slapos.libnetworkcache = 0.14.2
slapos.recipe.build = 0.1
4
slapos.recipe.build = 0.1
5
slapos.recipe.cmmi = 0.2
stevedore = 1.1.0
# Required by:
# slapos.core==1.3.
3
# slapos.core==1.3.
5
Flask = 0.10.1
# Required by:
...
...
@@ -140,7 +140,7 @@ Flask = 0.10.1
argparse = 1.2.2
# Required by:
# slapos.core==1.3.
3
# slapos.core==1.3.
5
cliff = 1.8.0
# Required by:
...
...
@@ -156,7 +156,7 @@ lock-file = 2.0
netaddr = 0.7.12
# Required by:
# slapos.core==1.3.
3
# slapos.core==1.3.
5
netifaces = 0.10.4
# Required by:
...
...
@@ -169,7 +169,7 @@ pbr = 0.10.0
pip = 1.5.6
# Required by:
# slapos.core==1.3.
3
# slapos.core==1.3.
5
psutil = 2.1.3
# Required by:
...
...
@@ -178,18 +178,18 @@ pycparser = 2.10
# Required by:
# slapos.cookbook==0.87
pytz = 2014.
9
pytz = 2014.
10
# Required by:
# slapos.core==1.3.
3
# slapos.core==1.3.
5
requests = 2.4.3
# Required by:
# slapos.core==1.3.
3
# slapos.core==1.3.
5
supervisor = 3.1.3
# Required by:
# slapos.core==1.3.
3
# slapos.core==1.3.
5
uritemplate = 0.6
# Required by:
...
...
@@ -197,7 +197,7 @@ uritemplate = 0.6
xml-marshaller = 0.9.7
# Required by:
# slapos.core==1.3.
3
# slapos.core==1.3.
5
zope.interface = 4.1.1
[networkcache]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment