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
Labels
Merge Requests
105
Merge Requests
105
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Jobs
Commits
Open sidebar
nexedi
slapos
Commits
5b5a35ac
Commit
5b5a35ac
authored
Sep 04, 2024
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Plain Diff
Update Release Candidate
parents
f6361a00
06fd87df
Changes
29
Show whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
822 additions
and
722 deletions
+822
-722
component/inkscape/buildout.cfg
component/inkscape/buildout.cfg
+1
-0
component/librsync/buildout.cfg
component/librsync/buildout.cfg
+1
-0
component/macros/macro.pythonpath.eggs.cfg
component/macros/macro.pythonpath.eggs.cfg
+19
-4
component/openssl/buildout.cfg
component/openssl/buildout.cfg
+2
-2
component/scipy/buildout.cfg
component/scipy/buildout.cfg
+29
-3
component/wendelin.core/buildout.cfg
component/wendelin.core/buildout.cfg
+1
-1
component/wget/buildout.cfg
component/wget/buildout.cfg
+0
-36
setup.py
setup.py
+1
-2
slapos/recipe/generic_cloudooo/__init__.py
slapos/recipe/generic_cloudooo/__init__.py
+1
-0
slapos/recipe/generic_cloudooo/template/cloudooo.cfg.in
slapos/recipe/generic_cloudooo/template/cloudooo.cfg.in
+2
-0
slapos/recipe/web_checker/template/web_checker.cfg.in
slapos/recipe/web_checker/template/web_checker.cfg.in
+0
-43
software/kvm/instance-kvm-input-schema.json
software/kvm/instance-kvm-input-schema.json
+429
-418
software/kvm/instance-kvm-resilient-input-schema.json
software/kvm/instance-kvm-resilient-input-schema.json
+54
-57
software/monitor/software.cfg
software/monitor/software.cfg
+1
-0
software/peertube/software.cfg
software/peertube/software.cfg
+1
-9
software/rapid-cdn/software.cfg
software/rapid-cdn/software.cfg
+0
-1
software/rapid-cdn/test/test.py
software/rapid-cdn/test/test.py
+3
-3
software/slapos-sr-testing/software.cfg
software/slapos-sr-testing/software.cfg
+7
-0
software/slapos-testing/test/setup.py
software/slapos-testing/test/setup.py
+50
-0
software/slapos-testing/test/test.py
software/slapos-testing/test/test.py
+67
-0
software/theia/buildout.hash.cfg
software/theia/buildout.hash.cfg
+1
-1
software/theia/instance-import.cfg.jinja.in
software/theia/instance-import.cfg.jinja.in
+2
-2
software/theia/instance-input-schema.json
software/theia/instance-input-schema.json
+80
-71
software/theia/instance-resilient-input-schema.json
software/theia/instance-resilient-input-schema.json
+57
-60
software/theia/test/test.py
software/theia/test/test.py
+9
-0
software/theia/test/test_resiliency.py
software/theia/test/test_resiliency.py
+2
-2
stack/erp5-zope2/buildout.cfg
stack/erp5-zope2/buildout.cfg
+0
-2
stack/erp5/buildout.cfg
stack/erp5/buildout.cfg
+0
-3
stack/slapos.cfg
stack/slapos.cfg
+2
-2
No files found.
component/inkscape/buildout.cfg
View file @
5b5a35ac
...
@@ -30,6 +30,7 @@ extends =
...
@@ -30,6 +30,7 @@ extends =
../defaults.cfg
../defaults.cfg
[gcc]
[gcc]
min_version = 10.5
max_version = 11
max_version = 11
[gsl]
[gsl]
...
...
component/librsync/buildout.cfg
View file @
5b5a35ac
...
@@ -18,6 +18,7 @@ configure-command = ${cmake:location}/bin/cmake
...
@@ -18,6 +18,7 @@ configure-command = ${cmake:location}/bin/cmake
configure-options =
configure-options =
-DCMAKE_INSTALL_PREFIX=${:location}
-DCMAKE_INSTALL_PREFIX=${:location}
-DCMAKE_INSTALL_RPATH=${:location}/lib:${bzip2:location}/lib:${popt:location}/lib:${zlib:location}/lib
-DCMAKE_INSTALL_RPATH=${:location}/lib:${bzip2:location}/lib:${popt:location}/lib:${zlib:location}/lib
-DCMAKE_INSTALL_LIBDIR=lib
make-options =
make-options =
VERBOSE=1
VERBOSE=1
environment =
environment =
...
...
component/macros/macro.pythonpath.eggs.cfg
View file @
5b5a35ac
[buildout]
[buildout]
parts =
parts =
[macro.
pythonpath
.eggs]
[macro.
variable
.eggs]
recipe = slapos.recipe.build
recipe = slapos.recipe.build
init =
init =
self.eggs = [e.strip() for e in options['eggs'].splitlines() if e.strip()]
self.eggs = [e.strip() for e in options['eggs'].splitlines() if e.strip()]
update =
update =
import os
from zc.buildout.easy_install import working_set
from zc.buildout.easy_install import working_set
buildout = self.buildout['buildout']
buildout = self.buildout['buildout']
eggs_directory = buildout['eggs-directory']
eggs_directory = buildout['eggs-directory']
develop_eggs_directory = buildout['develop-eggs-directory']
develop_eggs_directory = buildout['develop-eggs-directory']
dists = working_set(self.eggs, [develop_eggs_directory, eggs_directory])
dists = working_set(self.eggs, [develop_eggs_directory, eggs_directory])
paths = ':'.join(dist.location for dist in dists)
subpaths = dict(l.split() for l in options['subpaths'].splitlines())
self.buildout[options['environment']]['PYTHONPATH'] = paths
def make_path(dist):
print("PYTHONPATH=" + paths)
subpath = subpaths.get(dist.key)
return os.path.join(dist.location, subpath) if subpath else dist.location
paths = ':'.join(make_path(dist) for dist in dists)
environment = self.buildout[options['environment']]
variable = options['variable']
value = environment.get(variable)
if value:
paths = '%s:%s' % (paths, value)
environment[variable] = paths
print("%s=%s" %(variable, paths))
variable = PYTHONPATH
subpaths =
[macro.pythonpath.eggs]
<= macro.variable.eggs
component/openssl/buildout.cfg
View file @
5b5a35ac
...
@@ -51,8 +51,8 @@ md5sum = e6fe71fb59a502db54a25cd0f34ea67e
...
@@ -51,8 +51,8 @@ md5sum = e6fe71fb59a502db54a25cd0f34ea67e
[openssl-quictls]
[openssl-quictls]
<= openssl-3.0
<= openssl-3.0
url = https://github.com/quictls/openssl/archive/refs/tags/openssl-3.0.1
3
-quic1.tar.gz
url = https://github.com/quictls/openssl/archive/refs/tags/openssl-3.0.1
4
-quic1.tar.gz
md5sum = f
f6a1f5fc5e7ea03aba9c97e7f26d97d
md5sum = f
a0ae39667afa8be6dbeadb3cc838e89
[openssl-1.1]
[openssl-1.1]
<= openssl-common
<= openssl-common
...
...
component/scipy/buildout.cfg
View file @
5b5a35ac
[buildout]
[buildout]
# Scipy requires BLAS/LAPACK libraries.
# Scipy requires BLAS/LAPACK libraries.
extends =
extends =
../meson/buildout.cfg
../ninja/buildout.cfg
../numpy/openblas.cfg
../numpy/openblas.cfg
../pandas/buildout.cfg
../pandas/buildout.cfg
../pkgconfig/buildout.cfg
parts = scipy
parts = scipy
[scipy-env]
[scipy-env]
<= numpy-env
<= numpy-env
PATH=${meson:location}/bin:${ninja:location}/bin:${pkgconfig:location}/bin:${buildout:bin-directory}:%(PATH)s
PKG_CONFIG_PATH = ${openblas:location}/lib/pkgconfig
[scipy]
[scipy]
recipe = zc.recipe.egg:custom
recipe = zc.recipe.egg:custom
...
@@ -14,30 +19,51 @@ egg = scipy
...
@@ -14,30 +19,51 @@ egg = scipy
environment = scipy-env
environment = scipy-env
setup-eggs = ${numpy:egg}
setup-eggs = ${numpy:egg}
rpath = ${numpy:rpath}
rpath = ${numpy:rpath}
depends = ${scipy-pythonpath:recipe}
depends =
${scipy-pythonpath:recipe}
${scipy-pkgconfig:recipe}
[scipy-pythonpath]
[scipy-pythonpath]
<= macro.pythonpath.eggs
<= macro.pythonpath.eggs
environment = scipy-env
environment = scipy-env
eggs = ${scipy-setup-eggs:eggs}
eggs = ${scipy-setup-eggs:eggs}
[scipy-pkgconfig]
<= macro.variable.eggs
variable = PKG_CONFIG_PATH
environment = scipy-env
eggs = pybind11
subpaths =
pybind11 pybind11/share/pkgconfig/
depends = ${scipy-setup-eggs:recipe}
[scipy-setup-eggs]
[scipy-setup-eggs]
recipe = zc.recipe.egg
recipe = zc.recipe.egg
scripts =
scripts =
cython
pythran
eggs =
eggs =
${cython:egg}
${cython:egg}
${numpy:egg}
${numpy:egg}
${pandas:egg}
${pandas:egg}
meson-python
pythran
pythran
pybind11
pybind11
[versions]
[versions]
pybind11 = 2.9.2
pybind11 = 2.11.1
scipy = 1.8.1
scipy = 1.12.0
meson-python = 0.13.2:whl
pyproject-metadata = 0.8.0:whl
meson = 1.4.1
beniget = 0.4.1
beniget = 0.4.1
gast = 0.5.3
gast = 0.5.3
pythran = 0.11.0:whl
pythran = 0.11.0:whl
[versions:sys.version_info < (3,11)]
tomli = 2.0.1:whl
[scipy:sys.version_info < (3,8)]
[scipy:sys.version_info < (3,8)]
depends =
depends =
...
...
component/wendelin.core/buildout.cfg
View file @
5b5a35ac
...
@@ -50,7 +50,7 @@ CGO_LDFLAGS += -Wl,-rpath=${zlib:location}/lib
...
@@ -50,7 +50,7 @@ CGO_LDFLAGS += -Wl,-rpath=${zlib:location}/lib
recipe = slapos.recipe.build:gitclone
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/wendelin.core.git
repository = https://lab.nexedi.com/nexedi/wendelin.core.git
branch = master
branch = master
revision = wendelin.core-2.0.alpha3-
9-gda765ef
revision = wendelin.core-2.0.alpha3-
22-g07087ec8
# dir is pretty name as top-level recipe
# dir is pretty name as top-level recipe
location = ${buildout:parts-directory}/wendelin.core
location = ${buildout:parts-directory}/wendelin.core
git-executable = ${git:location}/bin/git
git-executable = ${git:location}/bin/git
component/wget/buildout.cfg
deleted
100644 → 0
View file @
f6361a00
[buildout]
extends =
../gettext/buildout.cfg
../lunzip/buildout.cfg
../openssl/buildout.cfg
../patch/buildout.cfg
../pcre/buildout.cfg
../perl/buildout.cfg
../pkgconfig/buildout.cfg
../zlib/buildout.cfg
parts =
wget
[wget]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/gnu/wget/wget-1.20.3.tar.lz
md5sum = 3bc242eb69165247b1793dd0b794ff52
configure-options =
--enable-ipv6
--enable-opie
--disable-iri
--disable-pcre2
--with-ssl=openssl
--with-libssl-prefix=${openssl:location}
--with-zlib-lib=${zlib:location}
environment =
# Python 3 is used for things we don't need. This is an optional dependency,
# unless PYTHON is set (previously set by [python]): wget complains (rightly)
# if it points to Python 2.7 (which we may still use).
PYTHON=
PATH=${gettext:location}/bin:${lunzip:location}/bin:${patch:location}/bin:${perl:location}/bin:${pkgconfig:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${openssl:location}/lib/pkgconfig
LDFLAGS=-L${zlib:location}/lib -Wl,-rpath=${zlib:location}/lib -L${openssl:location}/lib -L${pcre:location}/lib -Wl,-rpath=${pcre:location}/lib -Wl,-rpath=${openssl:location}/lib
CPPFLAGS=-I${zlib:location}/include -I${openssl:location}/include -I${pcre:location}/include
setup.py
View file @
5b5a35ac
...
@@ -28,7 +28,7 @@ from setuptools import setup, find_packages
...
@@ -28,7 +28,7 @@ from setuptools import setup, find_packages
import
glob
import
glob
import
os
import
os
version
=
'1.0.36
0
'
version
=
'1.0.36
5
'
name
=
'slapos.cookbook'
name
=
'slapos.cookbook'
long_description
=
open
(
"README.rst"
).
read
()
long_description
=
open
(
"README.rst"
).
read
()
...
@@ -163,7 +163,6 @@ setup(name=name,
...
@@ -163,7 +163,6 @@ setup(name=name,
'urlparse = slapos.recipe._urlparse:Recipe'
,
'urlparse = slapos.recipe._urlparse:Recipe'
,
'uuid = slapos.recipe._uuid:Recipe'
,
'uuid = slapos.recipe._uuid:Recipe'
,
'userinfo = slapos.recipe.userinfo:Recipe'
,
'userinfo = slapos.recipe.userinfo:Recipe'
,
'webchecker = slapos.recipe.web_checker:Recipe'
,
'wrapper = slapos.recipe.wrapper:Recipe'
,
'wrapper = slapos.recipe.wrapper:Recipe'
,
'zabbixagent = slapos.recipe.zabbixagent:Recipe'
,
'zabbixagent = slapos.recipe.zabbixagent:Recipe'
,
'zeo = slapos.recipe.zeo:Recipe'
,
'zeo = slapos.recipe.zeo:Recipe'
,
...
...
slapos/recipe/generic_cloudooo/__init__.py
View file @
5b5a35ac
...
@@ -96,6 +96,7 @@ class Recipe(GenericBaseRecipe):
...
@@ -96,6 +96,7 @@ class Recipe(GenericBaseRecipe):
ip
=
self
.
options
[
'ip'
],
ip
=
self
.
options
[
'ip'
],
port
=
int
(
self
.
options
[
'port'
]),
port
=
int
(
self
.
options
[
'port'
]),
openoffice_port
=
int
(
self
.
options
[
'openoffice-port'
]),
openoffice_port
=
int
(
self
.
options
[
'openoffice-port'
]),
ooo_enable_scripting
=
self
.
options
.
get
(
'ooo_enable_scripting'
,
'false'
),
)
)
environment_variable_list
=
[]
environment_variable_list
=
[]
for
env_line
in
self
.
options
[
'environment'
].
splitlines
():
for
env_line
in
self
.
options
[
'environment'
].
splitlines
():
...
...
slapos/recipe/generic_cloudooo/template/cloudooo.cfg.in
View file @
5b5a35ac
...
@@ -12,6 +12,8 @@ working_path = %(working_path)s
...
@@ -12,6 +12,8 @@ working_path = %(working_path)s
uno_path = %(uno_path)s
uno_path = %(uno_path)s
# Folder where soffice.bin is installed
# Folder where soffice.bin is installed
office_binary_path = %(office_binary_path)s
office_binary_path = %(office_binary_path)s
# Whether running scripts on the loaded document is allowed
ooo_enable_scripting = %(ooo_enable_scripting)s
#
#
## Monitor Settings
## Monitor Settings
#
#
...
...
slapos/recipe/web_checker/template/web_checker.cfg.in
deleted
100644 → 0
View file @
f6361a00
[web_checker]
url = %(frontend_url)s
working_directory = %(web_checker_working_directory)s
varnishlog_binary_path = %(varnishlog_binary_path)s
wget_binary_path = %(wget_binary_path)s
email_address = %(web_checker_mail_address)s
smtp_host = %(web_checker_smtp_host)s
debug_level = debug
file_log_path = %(web_checker_log)s
[header_list]
Expires = True
Vary = Accept-Language, Cookie, Accept-Encoding
Accept-Language, Cookie
Accept-Language,Cookie,Accept-Encoding
Accept-Language,Cookie
Accept-Encoding
Cache-Control = max-age=300
max-age=3600
public,max-age=300
public,max-age=3600
[header url=(.*_form)]
Vary = Accept-Encoding
[header url=.*/favicon.ico]
Last-Modified = True
[header content-type=(text/css|.*/javascript)]
Last-Modified = True
Cache-Control = public,max-age=300
public,max-age=3600
public
[no_header content-type=(image/.*|application/font)]
Vary = None
[erp5_extension_list]
prohibited_folder_name_list = web_page_module
document_module
prohibited_file_name_list = WebSection_viewAsWeb
Base_viewHistory
list
software/kvm/instance-kvm-input-schema.json
View file @
5b5a35ac
{
{
"type"
:
"object"
,
"type"
:
"object"
,
"$schema"
:
"http
://json-schema.org/draft-06/schema#
"
,
"$schema"
:
"http
s://json-schema.org/draft/2020-12/schema
"
,
"title"
:
"Input Parameters"
,
"title"
:
"Input Parameters"
,
"$defs"
:
{
"instance-parameters"
:
{
"type"
:
"object"
,
"properties"
:
{
"properties"
:
{
"enable-device-hotplug"
:
{
"enable-device-hotplug"
:
{
"title"
:
"Enable device hotplug mode"
,
"title"
:
"Enable device hotplug mode"
,
...
@@ -428,4 +431,12 @@
...
@@ -428,4 +431,12 @@
}
}
}
}
}
}
}
},
"unevaluatedProperties"
:
false
,
"allOf"
:
[
{
"$ref"
:
"#/$defs/instance-parameters"
}
]
}
}
software/kvm/instance-kvm-resilient-input-schema.json
View file @
5b5a35ac
...
@@ -2,13 +2,12 @@
...
@@ -2,13 +2,12 @@
"type"
:
"object"
,
"type"
:
"object"
,
"$schema"
:
"https://json-schema.org/draft/2020-12/schema#"
,
"$schema"
:
"https://json-schema.org/draft/2020-12/schema#"
,
"description"
:
"Parameters to instantiate resilient KVM"
,
"description"
:
"Parameters to instantiate resilient KVM"
,
"unevaluatedProperties"
:
false
,
"allOf"
:
[
"allOf"
:
[
{
{
"$ref"
:
"./instance-kvm-input-schema.json#"
,
"$ref"
:
"./instance-kvm-input-schema.json#/$defs/instance-parameters"
"additionalProperties"
:
true
,
}
},
],
{
"additionalProperties"
:
true
,
"properties"
:
{
"properties"
:
{
"resilient-clone-number"
:
{
"resilient-clone-number"
:
{
"title"
:
"Amount of backup(s) to create"
,
"title"
:
"Amount of backup(s) to create"
,
...
@@ -61,6 +60,4 @@
...
@@ -61,6 +60,4 @@
"optional"
:
true
"optional"
:
true
}
}
}
}
}
]
}
}
software/monitor/software.cfg
View file @
5b5a35ac
...
@@ -79,6 +79,7 @@ numpy = 1.22.0
...
@@ -79,6 +79,7 @@ numpy = 1.22.0
# For numy = 1.22.0
# For numy = 1.22.0
setuptools = 44.1.1
setuptools = 44.1.1
scipy = 1.11.4
# Build GCC with Fortran for OpenBLAS (scipy & numpy)
# Build GCC with Fortran for OpenBLAS (scipy & numpy)
[gcc]
[gcc]
...
...
software/peertube/software.cfg
View file @
5b5a35ac
...
@@ -29,7 +29,6 @@ extends =
...
@@ -29,7 +29,6 @@ extends =
# redis-server
# redis-server
../../component/redis/buildout.cfg
../../component/redis/buildout.cfg
../../component/git/buildout.cfg
../../component/git/buildout.cfg
../../component/wget/buildout.cfg
# backup
# backup
../../component/rdiff-backup/buildout.cfg
../../component/rdiff-backup/buildout.cfg
../../component/rsync/buildout.cfg
../../component/rsync/buildout.cfg
...
@@ -39,15 +38,8 @@ parts =
...
@@ -39,15 +38,8 @@ parts =
# in 99,9% of Slapos Software Releases)
# in 99,9% of Slapos Software Releases)
slapos-cookbook
slapos-cookbook
dcron
dcron
unzip
curl
openssl
python3
nginx
ffmpeg
ffmpeg
postgresql
postgresql
redis
wget
# peetube sections
# peetube sections
peertube
peertube
peertube-build
peertube-build
...
@@ -65,7 +57,7 @@ md5sum = 1c9639748d66e8c49fc27e4705f87622
...
@@ -65,7 +57,7 @@ md5sum = 1c9639748d66e8c49fc27e4705f87622
recipe = slapos.recipe.cmmi
recipe = slapos.recipe.cmmi
path = ${peertube:location}
path = ${peertube:location}
environment =
environment =
PATH=${unzip:location}/bin:${vim:location}/bin:${nodejs:location}/bin:${yarn:location}/bin:${python3:location}/bin:${nginx:location}/sbin:${postgresql10:location}/bin:${redis:location}/bin:${git:location}/bin:
${wget:location}/bin:
%(PATH)s
PATH=${unzip:location}/bin:${vim:location}/bin:${nodejs:location}/bin:${yarn:location}/bin:${python3:location}/bin:${nginx:location}/sbin:${postgresql10:location}/bin:${redis:location}/bin:${git:location}/bin:%(PATH)s
CPPFLAGS=-I${openssl:location}/include
CPPFLAGS=-I${openssl:location}/include
LDFLAGS=-L${curl:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -Wl
LDFLAGS=-L${curl:location}/lib -Wl,-rpath -Wl,${openssl:location}/lib -Wl
pre-configure =
pre-configure =
...
...
software/rapid-cdn/software.cfg
View file @
5b5a35ac
...
@@ -38,7 +38,6 @@ url = ${:_profile_base_location_}/software.py
...
@@ -38,7 +38,6 @@ url = ${:_profile_base_location_}/software.py
recipe = plone.recipe.command
recipe = plone.recipe.command
stop-on-error = True
stop-on-error = True
location = ${buildout:parts-directory}/${:_buildout_section_name_}
location = ${buildout:parts-directory}/${:_buildout_section_name_}
update-command = ${:command}
command =
command =
rm -fr ${:location} &&
rm -fr ${:location} &&
mkdir -p ${:location} &&
mkdir -p ${:location} &&
...
...
software/rapid-cdn/test/test.py
View file @
5b5a35ac
...
@@ -2584,10 +2584,10 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin, AtsMixin):
...
@@ -2584,10 +2584,10 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin, AtsMixin):
self
.
certificate_pem
,
self
.
certificate_pem
,
result
.
certificate
)
result
.
certificate
)
self
.
assertEqual
(
# 502 and 503 are both ok as response codes by the backend-haproxy
self
.
assertIn
(
result
.
status_code
,
result
.
status_code
,
http
.
client
.
BAD_GATEWAY
[
http
.
client
.
BAD_GATEWAY
,
http
.
client
.
SERVICE_UNAVAILABLE
])
)
finally
:
finally
:
self
.
stopAuthenticatedServerProcess
()
self
.
stopAuthenticatedServerProcess
()
...
...
software/slapos-sr-testing/software.cfg
View file @
5b5a35ac
...
@@ -272,6 +272,11 @@ setup = ${slapos-repository:location}/software/js-drone/test/
...
@@ -272,6 +272,11 @@ setup = ${slapos-repository:location}/software/js-drone/test/
egg = slapos.test.osie_coupler
egg = slapos.test.osie_coupler
setup = ${slapos-repository:location}/software/osie-coupler/test/
setup = ${slapos-repository:location}/software/osie-coupler/test/
[slapos.test.slapos-testing-setup]
<= setup-develop-egg
egg = slapos.test.slapos_testing
setup = ${slapos-repository:location}/software/slapos-testing/test/
[slapos.core-repository]
[slapos.core-repository]
<= git-clone-repository
<= git-clone-repository
repository = https://lab.nexedi.com/nexedi/slapos.core.git
repository = https://lab.nexedi.com/nexedi/slapos.core.git
...
@@ -394,6 +399,7 @@ eggs +=
...
@@ -394,6 +399,7 @@ eggs +=
${slapos.test.restic_rest_server-setup:egg}
${slapos.test.restic_rest_server-setup:egg}
${slapos.test.seleniumserver-setup:egg}
${slapos.test.seleniumserver-setup:egg}
${slapos.test.slapos-master-setup:egg}
${slapos.test.slapos-master-setup:egg}
${slapos.test.slapos-testing-setup:egg}
${slapos.test.ssh-setup:egg}
${slapos.test.ssh-setup:egg}
${slapos.test.theia-setup:egg}
${slapos.test.theia-setup:egg}
${slapos.test.turnserver-setup:egg}
${slapos.test.turnserver-setup:egg}
...
@@ -490,6 +496,7 @@ tests =
...
@@ -490,6 +496,7 @@ tests =
restic-rest-server ${slapos.test.restic_rest_server-setup:setup}
restic-rest-server ${slapos.test.restic_rest_server-setup:setup}
seleniumserver ${slapos.test.seleniumserver-setup:setup}
seleniumserver ${slapos.test.seleniumserver-setup:setup}
slapos-master ${slapos.test.slapos-master-setup:setup}
slapos-master ${slapos.test.slapos-master-setup:setup}
slapos-testing ${slapos.test.slapos-testing-setup:setup}
ssh ${slapos.test.ssh-setup:setup}
ssh ${slapos.test.ssh-setup:setup}
theia ${slapos.test.theia-setup:setup}
theia ${slapos.test.theia-setup:setup}
turnserver ${slapos.test.turnserver-setup:setup}
turnserver ${slapos.test.turnserver-setup:setup}
...
...
software/slapos-testing/test/setup.py
0 → 100644
View file @
5b5a35ac
##############################################################################
#
# Copyright (c) 2019 Nexedi SA and Contributors. All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# guarantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from
setuptools
import
setup
,
find_packages
version
=
'0.0.1.dev0'
name
=
'slapos.test.slapos_testing'
description
=
"Test for SlapOS' slapos-testing"
setup
(
name
=
name
,
version
=
version
,
description
=
description
,
long_description
=
description
,
long_description_content_type
=
'text/plain'
,
maintainer
=
"Nexedi"
,
maintainer_email
=
"info@nexedi.com"
,
url
=
"https://lab.nexedi.com/nexedi/slapos"
,
packages
=
find_packages
(),
install_requires
=
[
'slapos.core'
,
'slapos.libnetworkcache'
,
],
zip_safe
=
True
,
test_suite
=
'test'
,
)
s
lapos/recipe/web_checker/__init__
.py
→
s
oftware/slapos-testing/test/test
.py
View file @
5b5a35ac
##############################################################################
##############################################################################
#
#
# Copyright (c) 201
2 Vifib SARL
and Contributors. All Rights Reserved.
# Copyright (c) 201
9 Nexedi SA
and Contributors. All Rights Reserved.
#
#
# WARNING: This program as such is intended to be used by professional
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsibility of assessing all potential
# programmers who take the whole responsibility of assessing all potential
...
@@ -24,37 +24,44 @@
...
@@ -24,37 +24,44 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
#
##############################################################################
##############################################################################
import
os
import
os
import
re
from
slapos.recipe.librecipe
import
GenericSlapRecipe
from
slapos.testing.testcase
import
(
makeModuleSetUpAndTestCaseClass
,
class
Recipe
(
GenericSlapRecipe
):
installSoftwareUrlList
,
"""
Create web checker configuration.
"""
def
_install
(
self
):
path_list
=
[]
try
:
web_checker_mail_address
=
self
.
options
[
'mail-address'
]
web_checker_smtp_host
=
self
.
options
[
'smtp-host'
]
web_checker_frontend_url
=
self
.
options
[
'frontend-url'
]
except
KeyError
:
# BBB
web_checker_mail_address
=
self
.
parameter_dict
[
'web-checker-mail-address'
]
web_checker_smtp_host
=
self
.
parameter_dict
[
'web-checker-smtp-host'
]
web_checker_frontend_url
=
self
.
parameter_dict
[
'web-checker-frontend-url'
]
web_checker_working_directory
=
\
self
.
options
[
'web-checker-working-directory'
]
config
=
dict
(
web_checker_mail_address
=
web_checker_mail_address
,
web_checker_smtp_host
=
web_checker_smtp_host
,
web_checker_working_directory
=
web_checker_working_directory
,
frontend_url
=
web_checker_frontend_url
,
wget_binary_path
=
self
.
options
[
'wget-binary-path'
],
varnishlog_binary_path
=
self
.
options
[
'varnishlog-binary-path'
],
web_checker_log
=
self
.
options
[
'web-checker-log'
],
)
)
path_list
.
append
(
self
.
createFile
(
self
.
options
[
'web-checker-config'
],
self
.
substituteTemplate
(
self
.
getTemplateFilename
(
'web_checker.cfg.in'
),
parent_folder
=
os
.
path
.
abspath
(
os
.
path
.
join
(
os
.
path
.
dirname
(
__file__
),
'..'
))
config
)))
return
path_list
software_files
=
[
'software%s.cfg'
%
v
for
v
in
(
''
,
'-py3next'
,
'-py2'
)]
software_urls
=
[
os
.
path
.
join
(
parent_folder
,
name
)
for
name
in
software_files
]
_
,
SlapOSInstanceTestCase
=
makeModuleSetUpAndTestCaseClass
(
parent_folder
+
'/{'
+
'|'
.
join
(
software_files
)
+
'}'
# used only for display
)
def
setUpModule
():
# Supply every version of the software.
installSoftwareUrlList
(
SlapOSInstanceTestCase
,
software_urls
,
debug
=
bool
(
int
(
os
.
environ
.
get
(
'SLAPOS_TEST_DEBUG'
,
0
))),
)
class
SlaposTestingTestCase
(
SlapOSInstanceTestCase
):
def
requestDefaultInstance
(
cls
,
state
=
'started'
):
# This method is called for requesting and destroying (state='destroyed').
for
name
,
url
in
zip
(
software_files
,
software_urls
):
cls
.
slap
.
request
(
software_release
=
url
,
software_type
=
None
,
# default
partition_reference
=
'Instance_of_'
+
name
,
partition_parameter_kw
=
cls
.
_instance_parameter_dict
,
state
=
state
,
)
def
test
():
# Just test that each version of the software compiled and instantiates.
pass
software/theia/buildout.hash.cfg
View file @
5b5a35ac
...
@@ -23,7 +23,7 @@ md5sum = 9658a11340c018de816d0de40683706a
...
@@ -23,7 +23,7 @@ md5sum = 9658a11340c018de816d0de40683706a
[instance-import]
[instance-import]
_update_hash_filename_ = instance-import.cfg.jinja.in
_update_hash_filename_ = instance-import.cfg.jinja.in
md5sum =
d0ff7b93e392f9b9233f9ae6ba81583
f
md5sum =
647d99aa6f96b2515ac28013145fe81
f
[instance-export]
[instance-export]
_update_hash_filename_ = instance-export.cfg.jinja.in
_update_hash_filename_ = instance-export.cfg.jinja.in
...
...
software/theia/instance-import.cfg.jinja.in
View file @
5b5a35ac
...
@@ -67,8 +67,8 @@ autorun = stopped
...
@@ -67,8 +67,8 @@ autorun = stopped
# Change the gravatar favicon seed
# Change the gravatar favicon seed
[favicon.ico]
[f
rontend-instance-f
avicon.ico]
seed =
Import
{{ root_title }}
seed =
{{ theia_id }}
{{ root_title }}
# The resilient stack calls post-notification-run:output followed by
# The resilient stack calls post-notification-run:output followed by
...
...
software/theia/instance-input-schema.json
View file @
5b5a35ac
{
{
"$schema"
:
"http://json-schema.org/draft-06/schema#"
,
"$schema"
:
"https://json-schema.org/draft/2019-09/schema"
,
"type"
:
"object"
,
"description"
:
"Parameters to instantiate Theia"
,
"description"
:
"Parameters to instantiate Theia"
,
"additionalProperties"
:
false
,
"$defs"
:
{
"instance-parameters"
:
{
"type"
:
"object"
,
"properties"
:
{
"properties"
:
{
"autorun"
:
{
"autorun"
:
{
"title"
:
"Automatically Run Software/Instance"
,
"title"
:
"Automatically Run Software/Instance"
,
...
@@ -72,4 +73,12 @@
...
@@ -72,4 +73,12 @@
"default"
:
"RootSoftwareInstance"
"default"
:
"RootSoftwareInstance"
}
}
}
}
}
},
"unevaluatedProperties"
:
false
,
"allOf"
:
[
{
"$ref"
:
"#/$defs/instance-parameters"
}
]
}
}
software/theia/instance-resilient-input-schema.json
View file @
5b5a35ac
{
{
"$schema"
:
"https://json-schema.org/draft/20
20-12/schema#
"
,
"$schema"
:
"https://json-schema.org/draft/20
19-09/schema
"
,
"type"
:
"object"
,
"type"
:
"object"
,
"description"
:
"Parameters to instantiate resilient Theia"
,
"description"
:
"Parameters to instantiate resilient Theia"
,
"unevaluatedProperties"
:
false
,
"allOf"
:
[
"allOf"
:
[
{
{
"$ref"
:
"./instance-input-schema.json#"
,
"$ref"
:
"./instance-input-schema.json#/$defs/instance-parameters"
"additionalProperties"
:
true
}
},
],
{
"additionalProperties"
:
true
,
"properties"
:
{
"properties"
:
{
"resilient-clone-number"
:
{
"resilient-clone-number"
:
{
"title"
:
"Amount of backup(s) to create"
,
"title"
:
"Amount of backup(s) to create"
,
...
@@ -63,6 +62,4 @@
...
@@ -63,6 +62,4 @@
"optional"
:
true
"optional"
:
true
}
}
}
}
}
]
}
}
software/theia/test/test.py
View file @
5b5a35ac
...
@@ -650,6 +650,15 @@ class TestTheiaResilientInterface(ResilientTheiaMixin, TestTheia):
...
@@ -650,6 +650,15 @@ class TestTheiaResilientInterface(ResilientTheiaMixin, TestTheia):
monitor_setup_params
[
'password'
],
monitor_setup_params
[
'password'
],
)).
raise_for_status
()
)).
raise_for_status
()
def
test_all_favicon_are_different
(
self
):
favicon_relpath
=
os
.
path
.
join
(
'srv'
,
'frontend-static'
,
'favicon.ico'
)
with
open
(
self
.
getPartitionPath
(
'export'
,
favicon_relpath
),
'rb'
)
as
f
:
export_favicon
=
f
.
read
()
with
open
(
self
.
getPartitionPath
(
'import'
,
favicon_relpath
),
'rb'
)
as
f
:
import_favicon
=
f
.
read
()
if
export_favicon
==
import_favicon
:
self
.
fail
(
'Import favicon and export favicon are not different'
)
class
TestTheiaResilientWithEmbeddedInstance
(
ResilientTheiaMixin
,
TestTheiaWithEmbeddedInstance
):
class
TestTheiaResilientWithEmbeddedInstance
(
ResilientTheiaMixin
,
TestTheiaWithEmbeddedInstance
):
pass
pass
software/theia/test/test_resiliency.py
View file @
5b5a35ac
...
@@ -499,8 +499,8 @@ class TakeoverMixin(ExportAndImportMixin):
...
@@ -499,8 +499,8 @@ class TakeoverMixin(ExportAndImportMixin):
resp
=
requests
.
get
(
"%s?password=%s"
%
(
takeover_url
,
takeover_password
),
verify
=
True
)
resp
=
requests
.
get
(
"%s?password=%s"
%
(
takeover_url
,
takeover_password
),
verify
=
True
)
self
.
assertEqual
(
requests
.
codes
.
ok
,
resp
.
status_code
)
self
.
assertEqual
(
requests
.
codes
.
ok
,
resp
.
status_code
)
# Allow KeyError because of stricter "slapos request" command
# Allow KeyError because of stricter "slapos request" command
self
.
assertNotIn
(
"Error"
,
resp
.
text
.
replace
(
"KeyError:
\
\
'frozen
\
\
'"
,
""
)
,
"An Error occured: %s"
%
resp
.
text
)
self
.
assertNotIn
(
"Error"
,
resp
.
text
.
replace
(
"KeyError:
\
\
'frozen
\
\
'"
,
""
))
self
.
assertIn
(
"Success"
,
resp
.
text
,
"An Error occured: %s"
%
resp
.
text
)
self
.
assertIn
(
"Success"
,
resp
.
text
)
return
resp
.
text
return
resp
.
text
def
_doTakeover
(
self
):
def
_doTakeover
(
self
):
...
...
stack/erp5-zope2/buildout.cfg
View file @
5b5a35ac
...
@@ -46,7 +46,6 @@ extends =
...
@@ -46,7 +46,6 @@ extends =
../../component/grep/buildout.cfg
../../component/grep/buildout.cfg
../../component/dash/buildout.cfg
../../component/dash/buildout.cfg
../../component/bash/buildout.cfg
../../component/bash/buildout.cfg
../../component/wget/buildout.cfg
../../component/aspell/buildout.cfg
../../component/aspell/buildout.cfg
../../component/6tunnel/buildout.cfg
../../component/6tunnel/buildout.cfg
../../component/userhosts/buildout.cfg
../../component/userhosts/buildout.cfg
...
@@ -228,7 +227,6 @@ context =
...
@@ -228,7 +227,6 @@ context =
key template_fonts_conf template-fonts-conf:output
key template_fonts_conf template-fonts-conf:output
key userhosts_location userhosts:location
key userhosts_location userhosts:location
key unixodbc_location unixodbc:location
key unixodbc_location unixodbc:location
key wget_location wget:location
key extra_path_list eggs:extra-paths
key extra_path_list eggs:extra-paths
key python_executable_for_kernel erp5-python-interpreter-jupyter:exe
key python_executable_for_kernel erp5-python-interpreter-jupyter:exe
key erp5_kernel_location erp5-kernel:location
key erp5_kernel_location erp5-kernel:location
...
...
stack/erp5/buildout.cfg
View file @
5b5a35ac
...
@@ -50,7 +50,6 @@ extends =
...
@@ -50,7 +50,6 @@ extends =
../../component/grep/buildout.cfg
../../component/grep/buildout.cfg
../../component/dash/buildout.cfg
../../component/dash/buildout.cfg
../../component/bash/buildout.cfg
../../component/bash/buildout.cfg
../../component/wget/buildout.cfg
../../component/aspell/buildout.cfg
../../component/aspell/buildout.cfg
../../component/6tunnel/buildout.cfg
../../component/6tunnel/buildout.cfg
../../component/userhosts/buildout.cfg
../../component/userhosts/buildout.cfg
...
@@ -233,7 +232,6 @@ context =
...
@@ -233,7 +232,6 @@ context =
key template_fonts_conf template-fonts-conf:output
key template_fonts_conf template-fonts-conf:output
key userhosts_location userhosts:location
key userhosts_location userhosts:location
key unixodbc_location unixodbc:location
key unixodbc_location unixodbc:location
key wget_location wget:location
key extra_path_list eggs:extra-paths
key extra_path_list eggs:extra-paths
key python_executable_for_kernel erp5-python-interpreter-jupyter:exe
key python_executable_for_kernel erp5-python-interpreter-jupyter:exe
key erp5_kernel_location erp5-kernel:location
key erp5_kernel_location erp5-kernel:location
...
@@ -633,7 +631,6 @@ scripts =
...
@@ -633,7 +631,6 @@ scripts =
tidstoraged
tidstoraged
tidstorage_repozo
tidstorage_repozo
wcfs
wcfs
web_checker_utility
extra-paths =
extra-paths =
${erp5:location}
${erp5:location}
...
...
stack/slapos.cfg
View file @
5b5a35ac
...
@@ -138,10 +138,10 @@ eggs =
...
@@ -138,10 +138,10 @@ eggs =
# The last version of setuptools compatible with Python 3.7
# The last version of setuptools compatible with Python 3.7
setuptools = 67.8.0
setuptools = 67.8.0
# Use SlapOS patched zc.buildout
# Use SlapOS patched zc.buildout
zc.buildout = 3.0.1+slapos00
2
zc.buildout = 3.0.1+slapos00
4
pip = 23.2.1
pip = 23.2.1
# Use SlapOS patched zc.recipe.egg (zc.recipe.egg 2.x is for Buildout 2)
# Use SlapOS patched zc.recipe.egg (zc.recipe.egg 2.x is for Buildout 2)
zc.recipe.egg = 2.0.8.dev0+slapos00
2
zc.recipe.egg = 2.0.8.dev0+slapos00
4
aiofiles = 23.1.0:whl
aiofiles = 23.1.0:whl
aiohttp = 3.8.5:whl
aiohttp = 3.8.5:whl
...
...
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