Commit 07ea8eca authored by Łukasz Nowak's avatar Łukasz Nowak

Update Release Candidate

parents ec1d1159 71abde5e
......@@ -57,7 +57,7 @@ environment =
LDFLAGS=-Wl,-rpath=${gmp:location}/lib -Wl,-rpath=${isl:location}/lib -Wl,-rpath=${mpc:location}/lib -Wl,-rpath=${mpfr:location}/lib
PATH=${binutils:location}/bin:${gettext:location}/bin:${perl:location}/bin:${tar:location}/bin:%(PATH)s
[gcc-common:os.path.isdir('/usr/lib/arm-linux-gnueabihf') and os.access('/proc/device-tree/model', os.R_OK) and 'OLinuXino-LIME2' in open('/proc/device-tree/model').read()]
[gcc-common:os.path.isdir('/usr/lib/arm-linux-gnueabihf') and os.access('/proc/device-tree/model', os.R_OK) and 'OLinuXino' in open('/proc/device-tree/model').read()]
extra-configure-options =
--with-arch=armv7-a
--with-fpu=vfp
......
......@@ -74,13 +74,25 @@ environment-extra =
[golang1.17]
<= golang-common
url = https://golang.org/dl/go1.17.6.src.tar.gz
md5sum = dc57f93f323e9f8189e5ffc1f223e346
url = https://golang.org/dl/go1.17.13.src.tar.gz
md5sum = 4476707f05cf6915ec1173038dc357a9
# go1.17 needs go1.4 to bootstrap
environment-extra =
GOROOT_BOOTSTRAP=${golang14:location}
[golang1.18]
<= golang-common
url = https://golang.org/dl/go1.18.9.src.tar.gz
md5sum = e2caa7c4de49aa77a14c694bfc9a5cd1
# go1.18 needs go1.4 or go1.17 to bootstrap.
# We use go1.4 to reduce the amount of components which
# need to be installed. See following note for rationale:
# https://lab.nexedi.com/nexedi/slapos/merge_requests/1305#note_174936
environment-extra =
GOROOT_BOOTSTRAP=${golang14:location}
# ---- infrastructure to build Go workspaces / projects ----
# gowork is the top-level section that defines Go workspace.
......@@ -140,7 +152,7 @@ bin = ${gowork.dir:bin}
depends = ${gowork.goinstall:recipe}
# go version used for the workspace (possible to override in applications)
golang = ${golang1.17:location}
golang = ${golang1.18:location}
# no special build flags by default
buildflags =
......
......@@ -65,7 +65,6 @@ Pygments = 2.2.0
astor = 0.5
backports-abc = 0.5
backports.shutil-get-terminal-size = 1.0.0
cycler = 0.10.0
ipykernel = 4.5.2
ipython = 5.3.0
ipython-genutils = 0.1.0
......@@ -78,7 +77,6 @@ matplotlib = 2.1.2
mistune = 0.7.3
nbformat = 4.3.0
notebook = 4.4.1
pandas = 0.19.2
prompt-toolkit = 1.0.13
ptyprocess = 0.5.1
pyzmq = 16.0.2
......@@ -89,8 +87,6 @@ statsmodels = 0.8.0
terminado = 0.6
tornado = 4.4.2
widgetsnbextension = 2.0.0
# numpy >= 1.13.1 is required for numpy.core.multiarray
numpy = 1.13.1
# nbconvert 4.2.0 depends on entrypoints egg that is not available as tar/zip source.
nbconvert = 4.1.0
......@@ -99,7 +95,6 @@ patsy = 0.4.1
pexpect = 4.2.1
pickleshare = 0.7.4
scandir = 1.5
scipy = 0.19.0
singledispatch = 3.4.0.3
wcwidth = 0.1.7
jupyter = 1.0.0
......
[buildout]
extends =
../cmake/buildout.cfg
../openssl/buildout.cfg
../libxslt/buildout.cfg
[mosquitto]
recipe = slapos.recipe.cmmi
......@@ -9,5 +11,11 @@ md5sum = 22b7a8b05caa692cb22496b791529193
configure-command =
${cmake:location}/bin/cmake
configure-options =
-DDOCUMENTATION=OFF
-DWITH_CJSON=no
-DCMAKE_INSTALL_PREFIX=@@LOCATION@@
-DOPENSSL_ROOT_DIR=${openssl:location}
-DOPENSSL_INCLUDE_DIR=${openssl:location}/include
environment =
PATH=${openssl:location}/bin:${libxslt:location}/bin:%(PATH)s
LDFLAGS=-L${openssl:location}/lib -Wl,-rpath=${openssl:location}/lib -Wl,-rpath=@@LOCATION@@/lib
......@@ -27,4 +27,4 @@ numpy = 1.22.0
depends =
[versions:sys.version_info < (3,8)]
numpy = 1.16.4
numpy = 1.16.5
......@@ -15,13 +15,14 @@ egg = pandas
environment = pandas-env
setup-eggs =
${numpy:egg}
[pandas:sys.version_info >= (3,8)]
setup-eggs +=
${cython:egg}
[versions]
pandas = 0.25.3
[versions:sys.version_info >= (3,8)]
pandas = 1.4.0
[pandas:sys.version_info < (3,8)]
setup-eggs =
${numpy:egg}
[versions:sys.version_info < (3,8)]
pandas = 0.24.2
[buildout]
extends =
../java-jdk/buildout.cfg
../libsecret/buildout.cfg
../pkgconfig/buildout.cfg
../patchelf/buildout.cfg
......@@ -144,8 +143,7 @@ content =
"editor.tabSize": 2,
"plantuml.server": "https://plantuml.host.vifib.net/svg/",
"plantuml.render": "PlantUMLServer",
"gitlens.remotes": [{ "domain": "lab.nexedi.com", "type": "GitLab" }],
"java.home": "${java-jdk:location}"
"gitlens.remotes": [{ "domain": "lab.nexedi.com", "type": "GitLab" }]
},
"warnOnPotentiallyInsecureHostPattern": false
}
......
......@@ -19,7 +19,7 @@ md5sum = 8157c22134200bd862a07c6521ebf799
[yarn.lock]
_update_hash_filename_ = yarn.lock
md5sum = d3fae8f0a2c911611d96a5dd870674c6
md5sum = ff5b37cac09580b885e6d269f62cdbad
[ms-python-disable-jedi-buildout.patch]
_update_hash_filename_ = ms-python-disable-jedi-buildout.patch
......
# This file is automatically generated from generate_download_plugins_cfg.py
# Do not edit directly.
[theia-download-plugins]
urls = vscode-bat https://open-vsx.org/api/vscode/bat/1.64.0-next.68976705968/file/vscode.bat-1.64.0-next.68976705968.vsix 3808827894862d2c63aae04a4840a861
vscode-clojure https://open-vsx.org/api/vscode/clojure/1.64.0-next.d9fa2b12136/file/vscode.clojure-1.64.0-next.d9fa2b12136.vsix 4e05d77c5118cd92e28994717181bf9a
vscode-coffeescript https://open-vsx.org/api/vscode/coffeescript/1.64.0-next.d9fa2b12136/file/vscode.coffeescript-1.64.0-next.d9fa2b12136.vsix d56e4973fdc4239f06e66c662f6dac48
vscode-configuration-editing https://open-vsx.org/api/vscode/configuration-editing/1.64.0-next.68976705968/file/vscode.configuration-editing-1.64.0-next.68976705968.vsix 3d75fe0c13ab47f5d888fc46ab7bbeee
vscode-cpp https://open-vsx.org/api/vscode/cpp/1.64.0-next.68976705968/file/vscode.cpp-1.64.0-next.68976705968.vsix c28a5153f9c901cae1a49ecb7286ad13
vscode-csharp https://open-vsx.org/api/vscode/csharp/1.64.0-next.68976705968/file/vscode.csharp-1.64.0-next.68976705968.vsix 7df8a1d496fe64be501d700b317add86
vscode-css https://open-vsx.org/api/vscode/css/1.64.0-next.68976705968/file/vscode.css-1.64.0-next.68976705968.vsix a6b66792515359636d2b08e290aa7a2b
vscode-css-language-features https://open-vsx.org/api/vscode/css-language-features/1.64.0-next.68976705968/file/vscode.css-language-features-1.64.0-next.68976705968.vsix b15baed86b3895e3fcf103c1f56f676a
vscode-debug-auto-launch https://open-vsx.org/api/vscode/debug-auto-launch/1.64.0-next.68976705968/file/vscode.debug-auto-launch-1.64.0-next.68976705968.vsix 0792fc7fc0ca8befd6fd872c7564df99
vscode-docker https://open-vsx.org/api/vscode/docker/1.64.0-next.d9fa2b12136/file/vscode.docker-1.64.0-next.d9fa2b12136.vsix 87c2019e0143bf6175bd6a0ea34972fc
vscode-emmet https://open-vsx.org/api/vscode/emmet/1.64.0-next.d9fa2b12136/file/vscode.emmet-1.64.0-next.d9fa2b12136.vsix cc149d6a9b30936cfcd895ba9a984a7b
vscode-fsharp https://open-vsx.org/api/vscode/fsharp/1.64.0-next.d9fa2b12136/file/vscode.fsharp-1.64.0-next.d9fa2b12136.vsix a8c41bb0612f5fe73b52e979a172fd90
vscode-git-base https://open-vsx.org/api/vscode/git-base/1.64.0-next.68976705968/file/vscode.git-base-1.64.0-next.68976705968.vsix fe6c947d635ac5f66e46ca1b610b8d40
vscode-git https://open-vsx.org/api/vscode/git/1.64.0-next.d9fa2b12136/file/vscode.git-1.64.0-next.d9fa2b12136.vsix 816a84a16eee644c857b22064f14c25b
vscode-go https://open-vsx.org/api/vscode/go/1.64.0-next.68976705968/file/vscode.go-1.64.0-next.68976705968.vsix a4b2d5f49d6d291b47953737b187ba87
vscode-groovy https://open-vsx.org/api/vscode/groovy/1.64.0-next.68976705968/file/vscode.groovy-1.64.0-next.68976705968.vsix 21493fad1579b469c20ad096016604e8
vscode-grunt https://open-vsx.org/api/vscode/grunt/1.64.0-next.68976705968/file/vscode.grunt-1.64.0-next.68976705968.vsix a960e0e4874395be14f57ef52221d770
vscode-gulp https://open-vsx.org/api/vscode/gulp/1.64.0-next.68976705968/file/vscode.gulp-1.64.0-next.68976705968.vsix 88cf31c50fc25db47f3ebff082de70ea
vscode-handlebars https://open-vsx.org/api/vscode/handlebars/1.64.0-next.68976705968/file/vscode.handlebars-1.64.0-next.68976705968.vsix 15fb2fc72c65541763087881d888bb21
vscode-hlsl https://open-vsx.org/api/vscode/hlsl/1.64.0-next.68976705968/file/vscode.hlsl-1.64.0-next.68976705968.vsix 4eb3eb5c511f60abd9166e00ef4b0c24
vscode-html https://open-vsx.org/api/vscode/html/1.64.0-next.d9fa2b12136/file/vscode.html-1.64.0-next.d9fa2b12136.vsix 87166fc7b70b607789edc5066e873925
vscode-html-language-features https://open-vsx.org/api/vscode/html-language-features/1.64.0-next.68976705968/file/vscode.html-language-features-1.64.0-next.68976705968.vsix 9f4c1ee42da4b1d5e0045ded6d523bb9
vscode-ini https://open-vsx.org/api/vscode/ini/1.64.0-next.d9fa2b12136/file/vscode.ini-1.64.0-next.d9fa2b12136.vsix c419b150fad0cc71a746587eb5770ef8
vscode-jake https://open-vsx.org/api/vscode/jake/1.64.0-next.68976705968/file/vscode.jake-1.64.0-next.68976705968.vsix cf4b4e910e58ecf3ccfa4ec2cee88059
vscode-java https://open-vsx.org/api/vscode/java/1.64.0-next.68976705968/file/vscode.java-1.64.0-next.68976705968.vsix 9476e9de0cac5875768d352b9126febe
vscode-javascript https://open-vsx.org/api/vscode/javascript/1.64.0-next.68976705968/file/vscode.javascript-1.64.0-next.68976705968.vsix 94ec64cf481c4ae0f2f39e3444e24d08
urls = vscode-bat https://open-vsx.org/api/vscode/bat/1.64.2/file/vscode.bat-1.64.2.vsix 1901ff00b24a0bf948bc2c9738cb4cd1
vscode-clojure https://open-vsx.org/api/vscode/clojure/1.64.2/file/vscode.clojure-1.64.2.vsix a0729fdc8032a742b76be91e53052d23
vscode-coffeescript https://open-vsx.org/api/vscode/coffeescript/1.64.2/file/vscode.coffeescript-1.64.2.vsix a870b64940b69b39b5d7e2ba43bbe689
vscode-configuration-editing https://open-vsx.org/api/vscode/configuration-editing/1.64.2/file/vscode.configuration-editing-1.64.2.vsix 01a93045a3c68bd9e36a5038bd9467de
vscode-cpp https://open-vsx.org/api/vscode/cpp/1.64.2/file/vscode.cpp-1.64.2.vsix 6fbb59c00831b79b2038d6e6dbfc9595
vscode-csharp https://open-vsx.org/api/vscode/csharp/1.64.2/file/vscode.csharp-1.64.2.vsix 1c0938aba4ee5f512829ca0bf9976fcf
vscode-css https://open-vsx.org/api/vscode/css/1.64.2/file/vscode.css-1.64.2.vsix 5bf5e7249d6f5d7132581223e06ed980
vscode-css-language-features https://open-vsx.org/api/vscode/css-language-features/1.64.2/file/vscode.css-language-features-1.64.2.vsix 0215b8a8219d0ce8e82459920f587ae0
vscode-debug-auto-launch https://open-vsx.org/api/vscode/debug-auto-launch/1.64.2/file/vscode.debug-auto-launch-1.64.2.vsix 84b3911a417c502713c740604ce8c0b3
vscode-docker https://open-vsx.org/api/vscode/docker/1.64.2/file/vscode.docker-1.64.2.vsix 456f074f44df3304ac691d2b7eb8fb81
vscode-emmet https://open-vsx.org/api/vscode/emmet/1.64.2/file/vscode.emmet-1.64.2.vsix 888a23488fc622bbc66f5809a41c26b4
vscode-fsharp https://open-vsx.org/api/vscode/fsharp/1.64.2/file/vscode.fsharp-1.64.2.vsix 296ca507167fe1a40f7b52a40242d8a1
vscode-git-base https://open-vsx.org/api/vscode/git-base/1.64.2/file/vscode.git-base-1.64.2.vsix 27274057ed5c5e8cdec74a9680f45c62
vscode-git https://open-vsx.org/api/vscode/git/1.64.2/file/vscode.git-1.64.2.vsix 346e87aac8a2963d5bdad6678b4713e6
vscode-go https://open-vsx.org/api/vscode/go/1.64.2/file/vscode.go-1.64.2.vsix 8ab63e75f0c82c8a4207fb23ca33a873
vscode-groovy https://open-vsx.org/api/vscode/groovy/1.64.2/file/vscode.groovy-1.64.2.vsix 306eebbdcb3cd4372f7897ccb96c939c
vscode-grunt https://open-vsx.org/api/vscode/grunt/1.64.2/file/vscode.grunt-1.64.2.vsix 69944d92cf98b78bac144a4fe4490dd1
vscode-gulp https://open-vsx.org/api/vscode/gulp/1.64.2/file/vscode.gulp-1.64.2.vsix 25bfba939f365ab3a448d729836c3b25
vscode-handlebars https://open-vsx.org/api/vscode/handlebars/1.64.2/file/vscode.handlebars-1.64.2.vsix 4dc1e05ea5c3b97b4ec329bed3516cab
vscode-hlsl https://open-vsx.org/api/vscode/hlsl/1.64.2/file/vscode.hlsl-1.64.2.vsix 8392843dd637debabe55acff62d2c097
vscode-html https://open-vsx.org/api/vscode/html/1.64.2/file/vscode.html-1.64.2.vsix 0e87df0acf77b4b006b4d7e4be855cb4
vscode-html-language-features https://open-vsx.org/api/vscode/html-language-features/1.64.2/file/vscode.html-language-features-1.64.2.vsix 29d44bbc8f366f79eca105c638e40cf1
vscode-ini https://open-vsx.org/api/vscode/ini/1.64.2/file/vscode.ini-1.64.2.vsix ef27c31c9cc36426da738314ca9fd276
vscode-jake https://open-vsx.org/api/vscode/jake/1.64.2/file/vscode.jake-1.64.2.vsix 8a65e3226181234511fd0c11d9604d2f
vscode-java https://open-vsx.org/api/vscode/java/1.64.2/file/vscode.java-1.64.2.vsix 984f0712831a0e2e6e0366d19c02b347
vscode-javascript https://open-vsx.org/api/vscode/javascript/1.64.2/file/vscode.javascript-1.64.2.vsix f9c3ae4466d86db00951367c0511ef3d
ms-vscode-js-debug https://open-vsx.org/api/ms-vscode/js-debug/1.51.0/file/ms-vscode.js-debug-1.51.0.vsix db7f18b5bd883018d2b9150e20098b5f
vscode-json https://open-vsx.org/api/vscode/json/1.64.0-next.68976705968/file/vscode.json-1.64.0-next.68976705968.vsix e9aad32d331b9f51480c2211063183a3
vscode-json-language-features https://open-vsx.org/api/vscode/json-language-features/1.64.0-next.68976705968/file/vscode.json-language-features-1.64.0-next.68976705968.vsix aff87b26843553339e3599754dab307e
vscode-less https://open-vsx.org/api/vscode/less/1.64.0-next.68976705968/file/vscode.less-1.64.0-next.68976705968.vsix 05ddbc8712084832dc264b2b6bfe082e
vscode-log https://open-vsx.org/api/vscode/log/1.64.0-next.68976705968/file/vscode.log-1.64.0-next.68976705968.vsix b5dd144003e253bf496e77772478e6bc
vscode-lua https://open-vsx.org/api/vscode/lua/1.64.0-next.68976705968/file/vscode.lua-1.64.0-next.68976705968.vsix c8f386eb35006a473a7cd84fa4eaa9bd
vscode-make https://open-vsx.org/api/vscode/make/1.64.0-next.68976705968/file/vscode.make-1.64.0-next.68976705968.vsix 99fade531280141a35ffecb9c24fabc7
vscode-markdown https://open-vsx.org/api/vscode/markdown/1.64.0-next.68976705968/file/vscode.markdown-1.64.0-next.68976705968.vsix 6522d41686c64047c104a231644bc8cb
vscode-markdown-language-features https://open-vsx.org/api/vscode/markdown-language-features/1.64.0-next.68976705968/file/vscode.markdown-language-features-1.64.0-next.68976705968.vsix 0846abe91f5935457643d858529d3d12
vscode-merge-conflict https://open-vsx.org/api/vscode/merge-conflict/1.64.0-next.68976705968/file/vscode.merge-conflict-1.64.0-next.68976705968.vsix 7f2fa9d69fcc187df56775187c9d851e
vscode-npm https://open-vsx.org/api/vscode/npm/1.64.0-next.68976705968/file/vscode.npm-1.64.0-next.68976705968.vsix 236f7fb01ffd9d1ef610cf42c50735b4
vscode-json https://open-vsx.org/api/vscode/json/1.64.2/file/vscode.json-1.64.2.vsix ecd86b9f7b7811996e0fe2f5e5b7905e
vscode-json-language-features https://open-vsx.org/api/vscode/json-language-features/1.64.2/file/vscode.json-language-features-1.64.2.vsix b4db1245639536e6670711f4e47b0687
vscode-less https://open-vsx.org/api/vscode/less/1.64.2/file/vscode.less-1.64.2.vsix 56c1438d92ed10471a356c444db4af6c
vscode-log https://open-vsx.org/api/vscode/log/1.64.2/file/vscode.log-1.64.2.vsix 870b732441b7479734a4d9b10cf15330
vscode-lua https://open-vsx.org/api/vscode/lua/1.64.2/file/vscode.lua-1.64.2.vsix cc9ce27193f225c0d9a87cf259e7b8d0
vscode-make https://open-vsx.org/api/vscode/make/1.64.2/file/vscode.make-1.64.2.vsix f38b397c89e96efff8492255f6e39447
vscode-markdown https://open-vsx.org/api/vscode/markdown/1.64.2/file/vscode.markdown-1.64.2.vsix 92245fa408ae7f1bbb8a6ad22096b05f
vscode-markdown-language-features https://open-vsx.org/api/vscode/markdown-language-features/1.64.2/file/vscode.markdown-language-features-1.64.2.vsix 965b7d0fed9ae49df6dd0c923da7ad7e
vscode-merge-conflict https://open-vsx.org/api/vscode/merge-conflict/1.64.2/file/vscode.merge-conflict-1.64.2.vsix c9b7b48c48ed85ef009959472a5d7e53
vscode-npm https://open-vsx.org/api/vscode/npm/1.64.2/file/vscode.npm-1.64.2.vsix a4ae8099e720b0e49560977e217b82a2
ms-vscode-node-debug https://open-vsx.org/api/ms-vscode/node-debug/1.45.0/file/ms-vscode.node-debug-1.45.0.vsix 676769e9901f5f51ed6a21d7c6a831fb
ms-vscode-node-debug2 https://open-vsx.org/api/ms-vscode/node-debug2/1.43.0/file/ms-vscode.node-debug2-1.43.0.vsix 4c78ac1f3c4d753d005d72a68c13f7c7
vscode-objective-c https://open-vsx.org/api/vscode/objective-c/1.64.0-next.68976705968/file/vscode.objective-c-1.64.0-next.68976705968.vsix fd4960bdc742f5680b469a4c78bf350c
vscode-perl https://open-vsx.org/api/vscode/perl/1.64.0-next.68976705968/file/vscode.perl-1.64.0-next.68976705968.vsix 22a8d19b8ea30ebb8f962d92dcf11213
vscode-powershell https://open-vsx.org/api/vscode/powershell/1.64.0-next.68976705968/file/vscode.powershell-1.64.0-next.68976705968.vsix b9efcd63c1d902f8ab304f30ea7b3a46
vscode-pug https://open-vsx.org/api/vscode/pug/1.64.0-next.68976705968/file/vscode.pug-1.64.0-next.68976705968.vsix 84b5f8e238fdaffc97de0cc00bc7b866
vscode-python https://open-vsx.org/api/vscode/python/1.64.0-next.68976705968/file/vscode.python-1.64.0-next.68976705968.vsix 9cedb22e14f7d0d9e125f056799b0255
vscode-r https://open-vsx.org/api/vscode/r/1.64.0-next.68976705968/file/vscode.r-1.64.0-next.68976705968.vsix 06ddfabf2a5dca828efcc1050c3da5bf
vscode-razor https://open-vsx.org/api/vscode/razor/1.64.0-next.68976705968/file/vscode.razor-1.64.0-next.68976705968.vsix f69c2e7d1193ad9b5294138b3385ef11
vscode-ruby https://open-vsx.org/api/vscode/ruby/1.64.0-next.68976705968/file/vscode.ruby-1.64.0-next.68976705968.vsix 0411258f14c98e040509c8b82ac5eb60
vscode-rust https://open-vsx.org/api/vscode/rust/1.64.0-next.68976705968/file/vscode.rust-1.64.0-next.68976705968.vsix f11c453e9002b74f05806588667d80c4
vscode-scss https://open-vsx.org/api/vscode/scss/1.64.0-next.68976705968/file/vscode.scss-1.64.0-next.68976705968.vsix ae01407e9aaf5db3bedfa2b1295b34a4
vscode-shaderlab https://open-vsx.org/api/vscode/shaderlab/1.64.0-next.68976705968/file/vscode.shaderlab-1.64.0-next.68976705968.vsix abc3f9b61ede4749125dc70d77aea4cc
vscode-shellscript https://open-vsx.org/api/vscode/shellscript/1.64.0-next.68976705968/file/vscode.shellscript-1.64.0-next.68976705968.vsix ed143bbaf14d21c701671385b0e3f276
vscode-sql https://open-vsx.org/api/vscode/sql/1.64.0-next.68976705968/file/vscode.sql-1.64.0-next.68976705968.vsix e6ec5be560d6416022ab64b9a81e5fa9
vscode-swift https://open-vsx.org/api/vscode/swift/1.64.0-next.68976705968/file/vscode.swift-1.64.0-next.68976705968.vsix d3ab2b6bf0c0289dcc1eebfc5900c39a
vscode-theme-abyss https://open-vsx.org/api/vscode/theme-abyss/1.64.0-next.68976705968/file/vscode.theme-abyss-1.64.0-next.68976705968.vsix c2020243785034f221f37c382461ac4b
vscode-theme-defaults https://open-vsx.org/api/vscode/theme-defaults/1.64.0-next.68976705968/file/vscode.theme-defaults-1.64.0-next.68976705968.vsix 1eb37e411ee51e5a5e05465f8d4bd9e0
vscode-theme-kimbie-dark https://open-vsx.org/api/vscode/theme-kimbie-dark/1.64.0-next.68976705968/file/vscode.theme-kimbie-dark-1.64.0-next.68976705968.vsix 2204dfa6fe0d14523d3882957256ec4c
vscode-theme-monokai https://open-vsx.org/api/vscode/theme-monokai/1.64.0-next.68976705968/file/vscode.theme-monokai-1.64.0-next.68976705968.vsix 6c8b1c9cf05868a8a43f8c28267e0873
vscode-theme-monokai-dimmed https://open-vsx.org/api/vscode/theme-monokai-dimmed/1.64.0-next.d9fa2b12136/file/vscode.theme-monokai-dimmed-1.64.0-next.d9fa2b12136.vsix 5872dd4bfd3547207783cc88fb8bc47d
vscode-theme-quietlight https://open-vsx.org/api/vscode/theme-quietlight/1.64.0-next.68976705968/file/vscode.theme-quietlight-1.64.0-next.68976705968.vsix 79059d3fb09b962df21cd0c745d3742e
vscode-theme-red https://open-vsx.org/api/vscode/theme-red/1.64.0-next.68976705968/file/vscode.theme-red-1.64.0-next.68976705968.vsix c5a6d2edda3ee45d21718c808835523e
vscode-theme-solarized-dark https://open-vsx.org/api/vscode/theme-solarized-dark/1.64.0-next.68976705968/file/vscode.theme-solarized-dark-1.64.0-next.68976705968.vsix 1d4a3e28fb0dec4311573de97c8f4aaf
vscode-theme-tomorrow-night-blue https://open-vsx.org/api/vscode/theme-tomorrow-night-blue/1.64.0-next.68976705968/file/vscode.theme-tomorrow-night-blue-1.64.0-next.68976705968.vsix 18ea8a3b21a04a1c7b9b5ac6b9e2481e
vscode-typescript https://open-vsx.org/api/vscode/typescript/1.64.0-next.68976705968/file/vscode.typescript-1.64.0-next.68976705968.vsix a2bd1461e1b6a33de0f5ef9ef7925eff
vscode-typescript-language-features https://open-vsx.org/api/vscode/typescript-language-features/1.64.0-next.68976705968/file/vscode.typescript-language-features-1.64.0-next.68976705968.vsix cc6bccf754cad1ad2b68617b9ee75836
vscode-vb https://open-vsx.org/api/vscode/vb/1.64.0-next.68976705968/file/vscode.vb-1.64.0-next.68976705968.vsix 68761dc3ab8b884e2d8a66587c06dc13
vscode-vscode-theme-seti https://open-vsx.org/api/vscode/vscode-theme-seti/1.64.0-next.d9fa2b12136/file/vscode.vscode-theme-seti-1.64.0-next.d9fa2b12136.vsix 1c36cb3ad02a38468ab05cf47e5d8dfb
vscode-xml https://open-vsx.org/api/vscode/xml/1.64.0-next.68976705968/file/vscode.xml-1.64.0-next.68976705968.vsix 42a1f30aa07fec37217ae21f391d6c6d
vscode-yaml https://open-vsx.org/api/vscode/yaml/1.64.0-next.68976705968/file/vscode.yaml-1.64.0-next.68976705968.vsix 1179f39c66406b35092762271691872c
vscode-objective-c https://open-vsx.org/api/vscode/objective-c/1.64.2/file/vscode.objective-c-1.64.2.vsix b7d0c2d42fd280c961f726c58cf84a45
vscode-perl https://open-vsx.org/api/vscode/perl/1.64.2/file/vscode.perl-1.64.2.vsix 25f33d0f4eebb285572b05343c50ca79
vscode-powershell https://open-vsx.org/api/vscode/powershell/1.64.2/file/vscode.powershell-1.64.2.vsix 16370f64db00dedac8a9daad571246d7
vscode-pug https://open-vsx.org/api/vscode/pug/1.64.2/file/vscode.pug-1.64.2.vsix 07a1abda48190ca1c080fba056342842
vscode-python https://open-vsx.org/api/vscode/python/1.64.2/file/vscode.python-1.64.2.vsix 6bccedf3af4a925187c7b64f8bce635f
vscode-r https://open-vsx.org/api/vscode/r/1.64.2/file/vscode.r-1.64.2.vsix 6c705272e9e0d880f4c88a2866ce38f2
vscode-razor https://open-vsx.org/api/vscode/razor/1.64.2/file/vscode.razor-1.64.2.vsix 3e3e09f1a65d7c4f7e76c59718bf7cf1
vscode-ruby https://open-vsx.org/api/vscode/ruby/1.64.2/file/vscode.ruby-1.64.2.vsix 79db9154b36648e9d161e53ee56aa427
vscode-rust https://open-vsx.org/api/vscode/rust/1.64.2/file/vscode.rust-1.64.2.vsix 03879b10ab8b7105f77189a0b0945d45
vscode-scss https://open-vsx.org/api/vscode/scss/1.64.2/file/vscode.scss-1.64.2.vsix 3e2b75817772dd08f9bcbbe2c3229dd3
vscode-shaderlab https://open-vsx.org/api/vscode/shaderlab/1.64.2/file/vscode.shaderlab-1.64.2.vsix 04564bcf5ea4f6bc61d98a09a4098042
vscode-shellscript https://open-vsx.org/api/vscode/shellscript/1.64.2/file/vscode.shellscript-1.64.2.vsix 7f3a0f3ad26c12933e72af9583bc6256
vscode-sql https://open-vsx.org/api/vscode/sql/1.64.2/file/vscode.sql-1.64.2.vsix 816b23bcfa1cba9c3663a41a5fb24563
vscode-swift https://open-vsx.org/api/vscode/swift/1.64.2/file/vscode.swift-1.64.2.vsix 120b49a800ce4440a332e43e6505f884
vscode-theme-abyss https://open-vsx.org/api/vscode/theme-abyss/1.64.2/file/vscode.theme-abyss-1.64.2.vsix 3f2481da81c9e4fc1b3bfc12e5d81676
vscode-theme-defaults https://open-vsx.org/api/vscode/theme-defaults/1.64.2/file/vscode.theme-defaults-1.64.2.vsix 5d8659bc7fca0040ddeb31d0d33a10f3
vscode-theme-kimbie-dark https://open-vsx.org/api/vscode/theme-kimbie-dark/1.64.2/file/vscode.theme-kimbie-dark-1.64.2.vsix 384f83b02df7ca9b546e2d863de8f373
vscode-theme-monokai https://open-vsx.org/api/vscode/theme-monokai/1.64.2/file/vscode.theme-monokai-1.64.2.vsix a510c9ab57bae3615b7ebacf27d3835f
vscode-theme-monokai-dimmed https://open-vsx.org/api/vscode/theme-monokai-dimmed/1.64.2/file/vscode.theme-monokai-dimmed-1.64.2.vsix afe9389c2eafd2c50ac27a39ed9d61b7
vscode-theme-quietlight https://open-vsx.org/api/vscode/theme-quietlight/1.64.2/file/vscode.theme-quietlight-1.64.2.vsix dd9ae36ddc89b9afc81ede7f14a4dcf3
vscode-theme-red https://open-vsx.org/api/vscode/theme-red/1.64.2/file/vscode.theme-red-1.64.2.vsix d453d6cebdf0b7b9c187fe65a982c944
vscode-theme-solarized-dark https://open-vsx.org/api/vscode/theme-solarized-dark/1.64.2/file/vscode.theme-solarized-dark-1.64.2.vsix f47d3b87f67f6ec6c4e0e933d4fb4420
vscode-theme-tomorrow-night-blue https://open-vsx.org/api/vscode/theme-tomorrow-night-blue/1.64.2/file/vscode.theme-tomorrow-night-blue-1.64.2.vsix 8ada1d4461a1128472fc9625c436d632
vscode-typescript https://open-vsx.org/api/vscode/typescript/1.64.2/file/vscode.typescript-1.64.2.vsix a02500454e15d733c97965a14e19546f
vscode-typescript-language-features https://open-vsx.org/api/vscode/typescript-language-features/1.64.2/file/vscode.typescript-language-features-1.64.2.vsix 04285e36dbe5292a1f945f9dd2481eae
vscode-vb https://open-vsx.org/api/vscode/vb/1.64.2/file/vscode.vb-1.64.2.vsix 1838a38ac6c2a46577faf402eb48cfc4
vscode-vscode-theme-seti https://open-vsx.org/api/vscode/vscode-theme-seti/1.64.2/file/vscode.vscode-theme-seti-1.64.2.vsix 2e657cb98672577ef2b2652d5436a336
vscode-xml https://open-vsx.org/api/vscode/xml/1.64.2/file/vscode.xml-1.64.2.vsix a619bebcc9308c01be5e2b31b6a1fd9a
vscode-yaml https://open-vsx.org/api/vscode/yaml/1.64.2/file/vscode.yaml-1.64.2.vsix 4a4b855b1ede5beac2f450d95f9faad1
EditorConfig-EditorConfig https://open-vsx.org/api/EditorConfig/EditorConfig/0.16.6/file/EditorConfig.EditorConfig-0.16.6.vsix e787245e6c68617178ae995ad97c3ccb
dbaeumer-vscode-eslint https://open-vsx.org/api/dbaeumer/vscode-eslint/2.1.20/file/dbaeumer.vscode-eslint-2.1.20.vsix 1cb024ac02ebeb5ce6b0dfed6e51cdd2
ms-vscode-references-view https://open-vsx.org/api/ms-vscode/references-view/0.0.89/file/ms-vscode.references-view-0.0.89.vsix 7ec05cb01a77ee7f6c5198a5225fa707
vscjava-vscode-java-debug https://open-vsx.org/api/vscjava/vscode-java-debug/0.29.0/file/vscjava.vscode-java-debug-0.29.0.vsix 1eb95110f84ff8dcabbe3c672066b86d
redhat-java https://open-vsx.org/api/redhat/java/0.61.0/file/redhat.java-0.61.0.vsix 72e548e2845e1ff655f28111558d6942
vscjava-vscode-java-test https://open-vsx.org/api/vscjava/vscode-java-test/0.26.0/file/vscjava.vscode-java-test-0.26.0.vsix fd63da5537a4bee1d3ceaae0fa6bf419
ms-python-python https://open-vsx.org/api/ms-python/python/2020.10.332292344/file/ms-python.python-2020.10.332292344.vsix e5cb6d850db94278b9fda02e38851361
perrinjerome-vscode-zc-buildout https://open-vsx.org/api/perrinjerome/vscode-zc-buildout/0.8.3/file/perrinjerome.vscode-zc-buildout-0.8.3.vsix 8fd4d7fb5c2e6203c7046f53dd839b77
jebbs-plantuml https://open-vsx.org/api/jebbs/plantuml/2.14.0/file/jebbs.plantuml-2.14.0.vsix 13fa7cbd14a30ecca166c41a307c7a73
......
import configparser
import logging
import requests
import hashlib
urls = []
session = requests.Session()
timeout = 30
logger = logging.getLogger()
logging.basicConfig(level=logging.DEBUG)
for plugin_and_version in '''\
vscode/bat/latest
......@@ -83,9 +88,6 @@ for plugin_and_version in '''\
ms-vscode/references-view/latest
# golang.Go removed because it overwrites the PATH in theia shell
# golang/Go/0.16.2
vscjava/vscode-java-debug/0.29.0
redhat/java/0.61.0
vscjava/vscode-java-test/0.26.0
ms-python/python/2020.10.332292344
perrinjerome/vscode-zc-buildout/latest
jebbs/plantuml/2.14.0
......@@ -99,8 +101,9 @@ for plugin_and_version in '''\
publisher, extension_name, version = plugin_and_version.split('/')
api_url = f'https://open-vsx.org/api/{publisher}/{extension_name}/{version}'
download_url = requests.get(api_url).json()['files']['download']
md5sum = hashlib.md5(requests.get(download_url).content).hexdigest()
logger.info(plugin_and_version)
download_url = session.get(api_url, timeout=timeout).json()['files']['download']
md5sum = hashlib.md5(session.get(download_url, timeout=timeout).content).hexdigest()
urls.append(f'{publisher}-{extension_name} {download_url} {md5sum}')
cfg = configparser.ConfigParser()
......
This source diff could not be displayed because it is too large. You can view the blob instead.
[buildout]
parts =
kerberos
extends =
../../component/bison/buildout.cfg
[kerberos-package]
recipe = hexagonit.recipe.download
ignore-existing = true
url = http://web.mit.edu/kerberos/dist/krb5/1.11/krb5-1.11.1-signed.tar
md5sum = 76c6bed945c5771674357cfd4a08e3f5
[kerberos]
recipe = hexagonit.recipe.cmmi
url = ${kerberos-package:location}/krb5-1.11.1.tar.gz
configure-command = src/configure
configure-options =
--prefix=${buildout:parts-directory}/${:_buildout_section_name_}
make-options = -j1
environment =
PATH=${bison:location}/bin:%(PATH)s
......@@ -50,7 +50,7 @@ CGO_LDFLAGS += -Wl,-rpath=${zlib:location}/lib
recipe = slapos.recipe.build:gitclone
repository = https://lab.nexedi.com/nexedi/wendelin.core.git
branch = master
revision = wendelin.core-2.0.alpha2-2-g3d0f134c
revision = wendelin.core-2.0.alpha3-0-g6315384
# dir is pretty name as top-level recipe
location = ${buildout:parts-directory}/wendelin.core
git-executable = ${git:location}/bin/git
......@@ -176,7 +176,6 @@ output = ${buildout:directory}/nginx_conf.in
Pillow = 6.2.2
matplotlib = 2.2.5
kiwisolver = 1.1.0
cycler = 0.10.0
Pyro = 3.16
zeroconf2 = 0.19.2
cython = 0.29.24
......
......@@ -122,11 +122,10 @@ autobahn = 19.11.2
txaio = 18.8.1
idna = 2.10
numpy = 1.16.5
cycler = 0.10.0
click = 7.1.2
lxml = 4.5.0
opcua = 0.98.13
trollius = 2.2.1
futures = 3.3.0
numpy = 1.16.6
cycler = 0.10.0
......@@ -22,19 +22,19 @@ md5sum = 5784bea3bd608913769ff9a8afcccb68
[profile-frontend]
filename = instance-frontend.cfg.in
md5sum = 1ec349747487b45dd6b30bb2aa45acbe
md5sum = 7c966ea975cea4dcea09281466df8082
[profile-master]
filename = instance-master.cfg.in
md5sum = 50dbd9bd25fbc608b576ac83f4e13b0f
md5sum = cfd5212f27696311f12c92dfce32cc59
[profile-slave-list]
filename = instance-slave-list.cfg.in
md5sum = 5be5a32d5cf22e10967e59570dda2d36
md5sum = aba91817a1b58377597500f676603d23
[profile-master-publish-slave-information]
filename = instance-master-publish-slave-information.cfg.in
md5sum = b3422f3624054f57b78d0e50a0de399a
md5sum = cba4d995962f7fbeae3f61c9372c4181
[template-caddy-frontend-configuration]
_update_hash_filename_ = templates/Caddyfile.in
......
......@@ -180,7 +180,6 @@ caddy-https-port = ${configuration:port}
slave-introspection-configuration = ${directory:etc}/slave-introspection-httpd-nginx.conf
slave-introspection-https-port = ${configuration:slave-introspection-https-port}
slave-introspection-secure_access = ${slave-introspection-frontend:connection-secure_access}
slave-introspection-domain = ${slave-introspection-frontend:connection-domain}
[self-signed-ip-access]
# Self Signed certificate for HTTPS IP accesses to the frontend
......@@ -979,7 +978,7 @@ software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/a
shared = true
config-url = https://[${slap-configuration:ipv6-random}]:{{ instance_parameter_dict['configuration.slave-introspection-https-port'] }}/
config-https-only = true
return = domain secure_access
return = secure_access
[backend-haproxy-statistic-frontend]
<= slap-connection
......
......@@ -52,6 +52,11 @@
{% endif %}
{% endfor %}
[common-frontend-information]
{% for frontend_key, frontend_value in frontend_information.items() %}
{{ frontend_key }} = {{ frontend_value }}
{% endfor %}
# Publish information for each slave
{% set active_slave_instance_list = json_module.loads(active_slave_instance_dict['active-slave-instance-list']) %}
{% for slave_reference, slave_information in slave_information_dict.items() %}
......@@ -61,7 +66,9 @@
{% set publish_section_title = 'publish-%s' % slave_reference %}
{% do part_list.append(publish_section_title) %}
[{{ publish_section_title }}]
recipe = slapos.cookbook:publish
<= common-frontend-information
recipe = slapos.cookbook:publish_failsafe
-error-status-file = {{ publish_failsafe_error }}/{{ slave_reference }}-error.status
-slave-reference = {{ slave_reference }}
{% set log_access_url = slave_information.pop('log-access-urls', None) %}
{% if log_access_url %}
......@@ -72,9 +79,6 @@ log-access-url = {{ dumps(json_module.dumps(log_access_url, sort_keys=True)) }}
{{ key }} = {{ dumps(value) }}
{% endfor %}
{% endif %}
{% for frontend_key, frontend_value in frontend_information.items() %}
{{ frontend_key }} = {{ frontend_value }}
{% endfor %}
{% endfor %}
[buildout]
......
......@@ -414,6 +414,7 @@ backend-client-caucase-url = {{ caucase_url }}
{# sort_keys are important in order to avoid shuffling parameters on each run #}
rejected-slave-dict = {{ dumps(json_module.dumps(rejected_slave_dict, sort_keys=True)) }}
rejected-slave-promise-url = ${rejected-slave-promise:config-url}
publish-failsafe-error-promise-url = ${publish-failsafe-error-promise:config-url}
master-key-upload-url = ${request-kedifa:connection-master-key-upload-url}
master-key-generate-auth-url = ${request-kedifa:connection-master-key-generate-auth-url}
kedifa-caucase-url = ${request-kedifa:connection-caucase-url}
......@@ -546,6 +547,7 @@ extra-context =
section active_slave_instance_dict active-slave-instance
section warning_slave_information warning-slave-information
key slave_kedifa_information request-kedifa:connection-slave-kedifa-information
key publish_failsafe_error directory:publish-failsafe-error-var
[monitor-base-url-dict]
kedifa = ${request-kedifa:connection-monitor-base-url}
......@@ -563,7 +565,10 @@ backup = ${:srv}/backup
caucased = ${:srv}/caucased
backup-caucased = ${:backup}/caucased
# NGINX
rejected-var = ${:var}/rejected-nginx
master-introspection-var = ${:var}/master-introspection-nginx
# slaves
publish-failsafe-error-var = ${:var}/publish-failsafe-error
publish-failsafe-check-var = ${:var}/publish-failsafe-check
{% if aikc_enabled %}
[directory]
......@@ -829,27 +834,53 @@ context =
service = ${:etc}/service
promise-output = ${:srv}/promise-output
[rejected-slave-publish-configuration]
[master-introspection-server-configuration]
ip = {{ instance_parameter_dict['ipv6-random'] }}
port = 14455
[rejected-slave-publish]
directory = ${rejected-slave-json:directory}
url = https://${rejected-slave-password:user}:${rejected-slave-password:passwd}@[${rejected-slave-publish-configuration:ip}]:${rejected-slave-publish-configuration:port}/${rejected-slave-json:filename}
[master-introspection-server]
ip = ${master-introspection-server-configuration:ip}
port = ${master-introspection-server-configuration:port}
recipe = slapos.cookbook:wrapper
command-line = {{ software_parameter_dict['nginx'] }}
-c ${rejected-slave-template:output}
-c ${master-introspection-template:output}
wrapper-path = ${directory:service}/rejected-slave-publish
wrapper-path = ${directory:service}/master-introspection-server
hash-existing-files =
${buildout:directory}/software_release/buildout.cfg
hash-files =
${rejected-slave-template:output}
${rejected-slave-certificate:certificate}
${master-introspection-template:output}
${master-introspection-certificate:certificate}
[master-introspection-frontend]
<= slap-connection
recipe = slapos.cookbook:requestoptional
name = Master Introspection Frontend
software-url = http://git.erp5.org/gitweb/slapos.git/blob_plain/HEAD:/software/apache-frontend/software.cfg
shared = true
config-url = https://[${master-introspection-server:ip}]:${master-introspection-server:port}/
config-https-only = true
return = secure_access
[master-introspection-frontend-url]
recipe = slapos.recipe.build
url = ${master-introspection-frontend:connection-secure_access}
user = ${master-introspection-password:user}
password = ${master-introspection-password:passwd}
init =
import furl
url = furl.furl(options['url'])
url.set(username = options['user'].lower())
url.set(password = options['password'])
url.set(path = '')
options['frontend-url'] = url.tostr()
[rejected-slave-certificate]
[rejected-slave-publish]
url = ${master-introspection-frontend-url:frontend-url}/${master-introspection-template:rejected-slave-path}/${rejected-slave-json:filename}
[master-introspection-certificate]
recipe = plone.recipe.command
certificate = ${directory:etc}/rejected-slave.pem
certificate = ${directory:etc}/master-introspection.pem
key = ${:certificate}
{#- Can be stopped on error, as does not rely on self provided service #}
......@@ -859,29 +890,31 @@ command =
[ -f ${:certificate} ] && {{ software_parameter_dict['findutils'] }}/bin/find ${:certificate} -type f -mtime +3 -delete
if ! [ -f ${:certificate} ] ; then
openssl req -new -newkey rsa:2048 -sha256 -subj \
"/CN=${rejected-slave-publish-configuration:ip}" \
"/CN=${master-introspection-server-configuration:ip}" \
-days 5 -nodes -x509 -keyout ${:certificate} -out ${:certificate}
fi
[rejected-slave-password]
[master-introspection-password]
recipe = slapos.cookbook:generate.password
storage-path = ${directory:etc}/.rejected-slave.passwd
storage-path = ${directory:etc}/.master-introspection.passwd
bytes = 8
user = admin
[rejected-slave-htpasswd]
[master-introspection-htpasswd]
recipe = plone.recipe.command
{#- Can be stopped on error, as does not rely on self provided service #}
stop-on-error = True
file = ${directory:var}/nginx-rejected.htpasswd
file = ${directory:var}/master-introspection.htpasswd
{#- update-command is not needed, as if the ${:password} would change, the whole part will be recalculated #}
password = ${rejected-slave-password:passwd}
command = {{ software_parameter_dict['htpasswd'] }} -cb ${:file} ${rejected-slave-password:user} ${:password}
password = ${master-introspection-password:passwd}
command = {{ software_parameter_dict['htpasswd'] }} -cb ${:file} ${master-introspection-password:user} ${:password}
[rejected-slave-template]
[master-introspection-template]
recipe = slapos.recipe.template:jinja2
var = ${directory:rejected-var}
pid = ${directory:var}/nginx-rejected.pid
var = ${directory:master-introspection-var}
pid = ${directory:var}/nginx-master-introspection-server.pid
rejected-slave-path = rejected-slave
publish-failsafe-error-path = publish-failsafe-error
inline =
daemon off;
pid ${:pid};
......@@ -895,35 +928,40 @@ inline =
port_in_redirect off;
error_log stderr;
access_log /dev/null;
listen [${rejected-slave-publish-configuration:ip}]:${rejected-slave-publish-configuration:port} ssl;
ssl_certificate ${rejected-slave-certificate:certificate};
ssl_certificate_key ${rejected-slave-certificate:certificate};
listen [${master-introspection-server-configuration:ip}]:${master-introspection-server-configuration:port} ssl;
ssl_certificate ${master-introspection-certificate:certificate};
ssl_certificate_key ${master-introspection-certificate:certificate};
default_type application/octet-stream;
client_body_temp_path ${:var} 1 2;
proxy_temp_path ${:var} 1 2;
fastcgi_temp_path ${:var} 1 2;
uwsgi_temp_path ${:var} 1 2;
scgi_temp_path ${:var} 1 2;
location / {
auth_basic "Master Introspection";
auth_basic_user_file ${master-introspection-htpasswd:file};
location /${:rejected-slave-path} {
alias ${rejected-slave-json:directory}/;
autoindex off;
sendfile on;
sendfile_max_chunk 1m;
auth_basic "Rejected slave template";
auth_basic_user_file ${rejected-slave-htpasswd:file};
}
location /${:publish-failsafe-error-path} {
alias ${check-publish-failsafe-error:directory}/;
autoindex off;
sendfile on;
sendfile_max_chunk 1m;
}
}
}
output = ${directory:etc}/nginx-rejected-slave.conf
output = ${directory:etc}/nginx-master-introspection.conf
[promise-rejected-slave-publish-ip-port]
[master-introspection-server-ip-port]
<= monitor-promise-base
promise = check_socket_listening
name = rejected-slave-publish-ip-port-listening.py
config-host = ${rejected-slave-publish-configuration:ip}
config-port = ${rejected-slave-publish-configuration:port}
name = master-introspection-server-ip-port-listening.py
config-host = ${master-introspection-server-configuration:ip}
config-port = ${master-introspection-server-configuration:port}
[rejected-slave-promise]
<= monitor-promise-base
......@@ -986,6 +1024,25 @@ hash-existing-files = ${buildout:directory}/software_release/buildout.cfg
key_len=2048
)}}
[check-publish-failsafe-error]
recipe = plone.recipe.command
directory = ${directory:publish-failsafe-check-var}
filename = publish-failsafe-error.txt
file = ${:directory}/${:filename}
command = {{ software_parameter_dict['findutils'] }}/bin/find ${directory:publish-failsafe-error-var} -type f -printf "%f\n" > ${:file}
update-command = ${:command}
[check-publish-failsafe-error-publish]
url = ${master-introspection-frontend-url:frontend-url}/${master-introspection-template:publish-failsafe-error-path}/${check-publish-failsafe-error:filename}
[publish-failsafe-error-promise]
<= monitor-promise-base
promise = check_file_state
name = publish-failsafe-error.py
config-filename = ${check-publish-failsafe-error:file}
config-state = empty
config-url = ${check-publish-failsafe-error-publish:url}
[buildout]
extends =
{{ software_parameter_dict['profile_common'] }}
......@@ -993,15 +1050,18 @@ extends =
parts =
monitor-base
publish-slave-information
check-publish-failsafe-error
publish-failsafe-error-promise
publish-information
request-kedifa
rejected-slave-promise
promise-rejected-slave-publish-ip-port
master-introspection-server-ip-port
caucased-backend-client
caucased-backend-client-promise
master-key-upload-url-ready-promise
master-key-generate-auth-url-ready-promise
master-key-download-url-ready-promise
master-introspection-frontend
{% for part in part_list %}
{{ ' %s' % part }}
{% endfor %}
......@@ -376,22 +376,12 @@ config-frequency = 720
{%- endif %}
{#- ############################### #}
{#- Publish Slave Information #}
{%- if not configuration['extra_slave_instance_list'] %}
{%- set publish_section_title = 'publish-%s-connection-information' % slave_instance.get('slave_reference') %}
{%- do part_list.append(publish_section_title) %}
[{{ publish_section_title }}]
recipe = slapos.cookbook:publish
{%- for key, value in slave_publish_dict.items() %}
{{ key }} = {{ value }}
{%- endfor %}
{%- else %}
{%- do slave_instance_information_list.append(slave_publish_dict) %}
{#- Prepare Slave Information #}
{%- do slave_instance_information_list.append(slave_publish_dict) %}
{%- do frontend_slave_list.append(slave_instance) %}
{%- if slave_type != 'redirect' %}
{%- do backend_slave_list.append(slave_instance) %}
{%- endif %}
{%- do frontend_slave_list.append(slave_instance) %}
{%- if slave_type != 'redirect' %}
{%- do backend_slave_list.append(slave_instance) %}
{%- endif %}
{%- endfor %} {# Slave iteration ends for slave_instance in slave_instance_list #}
{%- do part_list.append('slave-introspection') %}
......
......@@ -442,12 +442,12 @@ class TestDataMixin(object):
generateHashFromFiles([
backend_haproxy_wrapper_path] + hash_file_list)
for rejected_slave_publish_path in glob.glob(os.path.join(
self.instance_path, '*', 'etc', 'nginx-rejected-slave.conf')):
self.instance_path, '*', 'etc', 'nginx-master-introspection.conf')):
partition_id = rejected_slave_publish_path.split('/')[-3]
rejected_slave_pem_path = os.path.join(
self.instance_path, partition_id, 'etc', 'rejected-slave.pem')
self.instance_path, partition_id, 'etc', 'master-introspection.pem')
data_replacement_dict[
'{hash-rejected-slave-publish}'
'{hash-master-introspection}'
] = generateHashFromFiles(
[rejected_slave_publish_path, rejected_slave_pem_path] + hash_file_list
)
......@@ -955,6 +955,18 @@ class HttpFrontendTestCase(SlapOSInstanceTestCase):
with cls.slap.instance_supervisor_rpc as instance_supervisor:
return getattr(instance_supervisor, method)(*args, **kwargs)
def assertPublishFailsafeErrorPromiseEmptyWithPop(self, parameter_dict):
promise_url = parameter_dict.pop(
'publish-failsafe-error-promise-url')
try:
result = requests.get(promise_url, verify=False)
self.assertEqual("", result.text)
except AssertionError:
raise
except Exception as e:
self.fail(e)
def assertRejectedSlavePromiseEmptyWithPop(self, parameter_dict):
rejected_slave_promise_url = parameter_dict.pop(
'rejected-slave-promise-url')
......@@ -1185,11 +1197,10 @@ class HttpFrontendTestCase(SlapOSInstanceTestCase):
return parsed_parameter_dict
def getMasterPartitionPath(self):
# partition with etc/nginx-rejected-slave.conf
return [
q for q in glob.glob(os.path.join(self.instance_path, '*',))
if os.path.exists(
os.path.join(q, 'etc', 'nginx-rejected-slave.conf'))][0]
os.path.join(q, 'etc', 'nginx-master-introspection.conf'))][0]
def parseConnectionParameterDict(self):
return self.parseParameterDict(
......@@ -1461,6 +1472,7 @@ class TestMasterRequestDomain(HttpFrontendTestCase, TestDataMixin):
self.assertKeyWithPop('monitor-setup-url', parameter_dict)
self.assertBackendHaproxyStatisticUrl(parameter_dict)
self.assertKedifaKeysWithPop(parameter_dict, 'master-')
self.assertPublishFailsafeErrorPromiseEmptyWithPop(parameter_dict)
self.assertRejectedSlavePromiseEmptyWithPop(parameter_dict)
self.assertNodeInformationWithPop(parameter_dict)
......@@ -1493,6 +1505,7 @@ class TestMasterRequest(HttpFrontendTestCase, TestDataMixin):
self.assertKeyWithPop('monitor-setup-url', parameter_dict)
self.assertBackendHaproxyStatisticUrl(parameter_dict)
self.assertKedifaKeysWithPop(parameter_dict, 'master-')
self.assertPublishFailsafeErrorPromiseEmptyWithPop(parameter_dict)
self.assertRejectedSlavePromiseEmptyWithPop(parameter_dict)
self.assertNodeInformationWithPop(parameter_dict)
self.assertEqual(
......@@ -1601,6 +1614,7 @@ class TestMasterAIKCDisabledAIBCCDisabledRequest(
self.assertKeyWithPop('monitor-setup-url', parameter_dict)
self.assertBackendHaproxyStatisticUrl(parameter_dict)
self.assertKedifaKeysWithPop(parameter_dict, 'master-')
self.assertPublishFailsafeErrorPromiseEmptyWithPop(parameter_dict)
self.assertRejectedSlavePromiseEmptyWithPop(parameter_dict)
self.assertKeyWithPop('kedifa-csr-certificate', parameter_dict)
self.assertKeyWithPop('kedifa-csr-url', parameter_dict)
......@@ -2073,6 +2087,7 @@ class TestSlave(SlaveHttpFrontendTestCase, TestDataMixin, AtsMixin):
self.assertKeyWithPop('monitor-setup-url', parameter_dict)
self.assertBackendHaproxyStatisticUrl(parameter_dict)
self.assertKedifaKeysWithPop(parameter_dict, 'master-')
self.assertPublishFailsafeErrorPromiseEmptyWithPop(parameter_dict)
self.assertRejectedSlavePromiseEmptyWithPop(parameter_dict)
self.assertNodeInformationWithPop(parameter_dict)
......@@ -5169,6 +5184,7 @@ class TestSlaveSlapOSMasterCertificateCompatibility(
self.assertBackendHaproxyStatisticUrl(parameter_dict)
self.assertKedifaKeysWithPop(parameter_dict, 'master-')
self.assertNodeInformationWithPop(parameter_dict)
self.assertPublishFailsafeErrorPromiseEmptyWithPop(parameter_dict)
self.assertRejectedSlavePromiseEmptyWithPop(parameter_dict)
expected_parameter_dict = {
......@@ -5676,6 +5692,7 @@ class TestSlaveSlapOSMasterCertificateCompatibilityUpdate(
self.assertBackendHaproxyStatisticUrl(parameter_dict)
self.assertKedifaKeysWithPop(parameter_dict, 'master-')
self.assertNodeInformationWithPop(parameter_dict)
self.assertPublishFailsafeErrorPromiseEmptyWithPop(parameter_dict)
self.assertRejectedSlavePromiseEmptyWithPop(parameter_dict)
expected_parameter_dict = {
......@@ -5768,6 +5785,7 @@ class TestSlaveCiphers(SlaveHttpFrontendTestCase, TestDataMixin):
self.assertBackendHaproxyStatisticUrl(parameter_dict)
self.assertKedifaKeysWithPop(parameter_dict, 'master-')
self.assertNodeInformationWithPop(parameter_dict)
self.assertPublishFailsafeErrorPromiseEmptyWithPop(parameter_dict)
self.assertRejectedSlavePromiseEmptyWithPop(parameter_dict)
expected_parameter_dict = {
......@@ -6035,6 +6053,7 @@ class TestSlaveRejectReportUnsafeDamaged(SlaveHttpFrontendTestCase):
self.assertBackendHaproxyStatisticUrl(parameter_dict)
self.assertKedifaKeysWithPop(parameter_dict, 'master-')
self.assertNodeInformationWithPop(parameter_dict)
self.assertPublishFailsafeErrorPromiseEmptyWithPop(parameter_dict)
self.assertRejectedSlavePromiseWithPop(parameter_dict)
expected_parameter_dict = {
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -2,9 +2,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -3,13 +3,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -8,13 +8,14 @@ T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-2.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -4,9 +4,9 @@ T-0:bootstrap-monitor EXITED
T-0:caucased-backend-client-{hash-generic}-on-watch RUNNING
T-0:certificate_authority-{hash-generic}-on-watch RUNNING
T-0:crond-{hash-generic}-on-watch RUNNING
T-0:master-introspection-server-{hash-master-introspection}-on-watch RUNNING
T-0:monitor-httpd-{hash-generic}-on-watch RUNNING
T-0:monitor-httpd-graceful EXITED
T-0:rejected-slave-publish-{hash-rejected-slave-publish}-on-watch RUNNING
T-1:bootstrap-monitor EXITED
T-1:caucase-updater-on-watch RUNNING
T-1:caucased-{hash-generic}-on-watch RUNNING
......
......@@ -7,13 +7,14 @@ T-0/etc/plugin/buildout-T-0-status.py
T-0/etc/plugin/caucased-backend-client.py
T-0/etc/plugin/check-backend-haproxy-statistic-url-frontend-node-1.py
T-0/etc/plugin/check-free-disk-space.py
T-0/etc/plugin/master-introspection-server-ip-port-listening.py
T-0/etc/plugin/master-key-download-url-ready-promise.py
T-0/etc/plugin/master-key-generate-auth-url-ready-promise.py
T-0/etc/plugin/master-key-upload-url-ready-promise.py
T-0/etc/plugin/monitor-bootstrap-status.py
T-0/etc/plugin/monitor-http-frontend.py
T-0/etc/plugin/monitor-httpd-listening-on-tcp.py
T-0/etc/plugin/rejected-slave-publish-ip-port-listening.py
T-0/etc/plugin/publish-failsafe-error.py
T-0/etc/plugin/rejected-slave.py
T-1/etc/plugin/__init__.py
T-1/etc/plugin/buildout-T-1-status.py
......
......@@ -49,7 +49,6 @@ rpy2 = 2.4.0
pydot = 1.0.28
xlrd = 0.9.3
xlwt = 0.7.5
scipy = 0.13.3
simpy = 3.0.5
zope.dottedname = 4.1.0
tablib = 0.10.0
......
......@@ -46,7 +46,7 @@ from slapos.testing.testcase import (
makeModuleSetUpAndTestCaseClass,
)
old_software_release_url = 'https://lab.nexedi.com/nexedi/slapos/raw/1.0.167.6/software/erp5/software.cfg'
old_software_release_url = 'https://lab.nexedi.com/nexedi/slapos/raw/1.0.167.7/software/erp5/software.cfg'
new_software_release_url = os.path.abspath(
os.path.join(os.path.dirname(__file__), '..', 'software.cfg'))
......
......@@ -50,6 +50,8 @@ revision = v1.17.3-0-g24a552b90b
[gowork]
# Fails with current default golang1.18
golang = ${golang1.17:location}
install =
${go_github.com_grafana_loki:location}:./cmd/loki
${go_github.com_grafana_loki:location}:./cmd/promtail
......
......@@ -51,7 +51,6 @@ async-generator = 1.10
backports-abc = 0.5
backports.shutil-get-terminal-size = 1.0.0
bleach = 3.2.1
cycler = 0.10.0
defusedxml = 0.6.0
entrypoints = 0.3
ipykernel = 5.3.4:whl
......@@ -69,8 +68,6 @@ nest-asyncio = 1.4.3
nbclient = 0.5.1
nbformat = 5.0.8
notebook = 6.1.5
numpy = 1.14.6
pandas = 0.25.3
pandocfilters = 1.4.3
prompt-toolkit = 1.0.13
ptyprocess = 0.5.1
......@@ -95,7 +92,6 @@ pickleshare = 0.7.4
prometheus-client = 0.9.0
scandir = 1.5
pytz = 2020.4
scipy = 1.0.1
singledispatch = 3.4.0.3
wcwidth = 0.1.7
jupyter = 1.0.0
......
Tests for Mosquitto software release
from setuptools import setup, find_packages
version = "0.0.1.dev0"
name = "slapos.test.mosquitto"
with open("README.md") as f:
long_description = f.read()
setup(
name=name,
version=version,
description="Test for SlapOS Mosquitto",
long_description=long_description,
long_description_content_type="text/markdown",
maintainer="Nexedi",
maintainer_email="info@nexedi.com",
url="https://lab.nexedi.com/nexedi/slapos",
packages=find_packages(),
install_requires=[
"slapos.core",
"slapos.libnetworkcache",
"erp5.util",
"requests",
"paho-mqtt",
],
zip_safe=True,
test_suite="test",
)
import os
import time
import paho.mqtt.client as mqtt
import paho.mqtt.publish as publish
from slapos.testing.testcase import makeModuleSetUpAndTestCaseClass
setUpModule, SlapOSInstanceTestCase = makeModuleSetUpAndTestCaseClass(
os.path.abspath(
os.path.join(os.path.dirname(__file__), '..', 'software.cfg')))
class TestMosquitto(SlapOSInstanceTestCase):
"""
Test if mosquitto service can publish and subscribe
to specific topics with custom authentication ...
"""
def on_connect(self, client, userdata, flags, rc):
client.subscribe("test")
self.code = rc
def on_message(self, client, userdata, msg):
self.topic = msg.topic
self.payload = str(msg.payload.decode())
def test_topic_ipv4(self):
host = self.computer_partition.getConnectionParameterDict()["ipv4"]
username = self.computer_partition.getConnectionParameterDict()["username"]
password = self.computer_partition.getConnectionParameterDict()["password"]
topic = "test"
payload = "Hello, World!"
client = mqtt.Client()
client.on_connect = self.on_connect
client.on_message = self.on_message
client.username_pw_set(username=f"{username}", password=f"{password}")
client.connect(f"{host}", 1883, 10)
client.loop_start()
publish.single(
topic=topic,
payload=payload,
hostname=f"{host}",
auth={ "username": f"{username}", "password": f"{password}" }
)
time.sleep(10)
client.loop_stop()
self.assertEqual(self.code, 0)
self.assertEqual(self.topic, topic)
def test_payload_ipv4(self):
host = self.computer_partition.getConnectionParameterDict()["ipv4"]
username = self.computer_partition.getConnectionParameterDict()["username"]
password = self.computer_partition.getConnectionParameterDict()["password"]
topic = "test"
payload = "Hello, World!"
client = mqtt.Client()
client.on_connect = self.on_connect
client.on_message = self.on_message
client.username_pw_set(username=f"{username}", password=f"{password}")
client.connect(f"{host}", 1883, 10)
client.loop_start()
publish.single(
topic=topic,
payload=payload,
hostname=f"{host}",
auth={ "username": f"{username}", "password": f"{password}" }
)
time.sleep(10)
client.loop_stop()
self.assertEqual(self.code, 0)
self.assertEqual(self.payload, payload)
def test_topic_ipv6(self):
host = self.computer_partition.getConnectionParameterDict()["ipv6"]
username = self.computer_partition.getConnectionParameterDict()["username"]
password = self.computer_partition.getConnectionParameterDict()["password"]
topic = "test"
payload = "Hello, World!"
client = mqtt.Client()
client.on_connect = self.on_connect
client.on_message = self.on_message
client.username_pw_set(username=f"{username}", password=f"{password}")
client.connect(f"{host}", 1883, 10)
client.loop_start()
publish.single(
topic=topic,
payload=payload,
hostname=f"{host}",
auth={ "username": f"{username}", "password": f"{password}" }
)
time.sleep(10)
client.loop_stop()
self.assertEqual(self.code, 0)
self.assertEqual(self.topic, topic)
def test_payload_ipv6(self):
host = self.computer_partition.getConnectionParameterDict()["ipv6"]
username = self.computer_partition.getConnectionParameterDict()["username"]
password = self.computer_partition.getConnectionParameterDict()["password"]
topic = "test"
payload = "Hello, World!"
client = mqtt.Client()
client.on_connect = self.on_connect
client.on_message = self.on_message
client.username_pw_set(username=f"{username}", password=f"{password}")
client.connect(f"{host}", 1883, 10)
client.loop_start()
publish.single(
topic=topic,
payload=payload,
hostname=f"{host}",
auth={ "username": f"{username}", "password": f"{password}" }
)
time.sleep(10)
client.loop_stop()
self.assertEqual(self.code, 0)
self.assertEqual(self.payload, payload)
......@@ -24,23 +24,23 @@ md5sum = 6e0a052bd0ca08cc0c7b4880d3deffcc
[template-lte-enb-epc]
_update_hash_filename_ = instance-enb-epc.jinja2.cfg
md5sum = da99546afedb6f443bfd767ab054763d
md5sum = 833667743c693b8d5f78a2527b275a9e
[template-lte-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum = 689a1ace1f197663ff7c27c31862b275
md5sum = ec127e2da004e52a516a7f499d7c7652
[template-lte-gnb-epc]
_update_hash_filename_ = instance-gnb-epc.jinja2.cfg
md5sum = 5455d0685f3bad94dbbdeaa772a7647f
md5sum = 1f0b18cb6d70466d002b378bb931e7da
[template-lte-epc]
_update_hash_filename_ = instance-epc.jinja2.cfg
md5sum = 7863ada6fe3062b7f62e61cb973fa0fc
md5sum = 99c05a34678adb5a70aa64ecf2ee4e35
[template-lte-gnb]
_update_hash_filename_ = instance-gnb.jinja2.cfg
md5sum = 82674b93d0d7edb09fd85a8062a387bb
md5sum = 58ee1663f86db0bbc4ccaf27831d2f0c
[template-lte-mme]
_update_hash_filename_ = instance-mme.jinja2.cfg
......@@ -48,11 +48,11 @@ md5sum = 728f4d3ae248710c23e4b73eea4d628e
[template-lte-ue-lte]
_update_hash_filename_ = instance-ue-lte.jinja2.cfg
md5sum = 8f2f6ff6f242546b2fef3bd559ba887d
md5sum = 8888be35fa6e6f3e69d9373002a0e06e
[template-lte-ue-nr]
_update_hash_filename_ = instance-ue-nr.jinja2.cfg
md5sum = a8388fe893ad251bba929ef9047935a6
md5sum = 94ca609dc564d7ed95db09e1fa029208
[ue_db.jinja2.cfg]
filename = config/ue_db.jinja2.cfg
......@@ -108,7 +108,7 @@ md5sum = 5bf57a9074ea5b054d999789cbbe2c87
[cpu-temperature-promise]
_update_hash_filename_ = promise/check_cpu_temperature.py
md5sum = 979a5a3a1eb9d0b081fa014baeef706f
md5sum = 6812310b65c2d95815afc2b034a5f90f
[interface-up-promise]
_update_hash_filename_ = promise/check_interface_up.py
......
......@@ -89,7 +89,9 @@ lte-enb-request = ${lte-enb-request:connection-monitor-base-url}
[cpu-temperature-promise]
recipe = slapos.cookbook:promise.plugin
eggs = slapos.core
eggs =
slapos.core
python-dateutil
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......
......@@ -171,9 +171,9 @@ config-sdr = {{ sdr }}
[cell-gain-saturated-promise]
recipe = slapos.cookbook:promise.plugin
eggs =
slapos.core
python-dateutil
eggs =
slapos.core
python-dateutil
file = {{ cell_gain_saturated_promise }}
output = ${directory:plugins}/check-cell-gain-saturated.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......@@ -182,9 +182,9 @@ config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[rx-saturated-promise]
recipe = slapos.cookbook:promise.plugin
eggs =
slapos.core
python-dateutil
eggs =
slapos.core
python-dateutil
file = {{ rx_saturated_promise }}
output = ${directory:plugins}/check-rx-saturated.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......@@ -194,9 +194,9 @@ config-max-rx-sample-db = {{ slapparameter_dict.get("max_rx_sample_db", 0) }}
[amarisoft-stats-log-promise]
recipe = slapos.cookbook:promise.plugin
eggs =
slapos.core
python-dateutil
eggs =
slapos.core
python-dateutil
file = {{ amarisoft_stats_log_promise }}
output = ${directory:plugins}/check-amarisoft-stats-log.py
config-amarisoft-stats-log = ${amarisoft-stats-template:log-output}
......@@ -204,7 +204,9 @@ config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[cpu-temperature-promise]
recipe = slapos.cookbook:promise.plugin
eggs = slapos.core
eggs =
slapos.core
python-dateutil
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......
......@@ -78,7 +78,9 @@ lte-mme-request = ${lte-mme-request:connection-monitor-base-url}
[cpu-temperature-promise]
recipe = slapos.cookbook:promise.plugin
eggs = slapos.core
eggs =
slapos.core
python-dateutil
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......
......@@ -89,7 +89,9 @@ lte-gnb-request = ${lte-gnb-request:connection-monitor-base-url}
[cpu-temperature-promise]
recipe = slapos.cookbook:promise.plugin
eggs = slapos.core
eggs =
slapos.core
python-dateutil
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......
......@@ -171,9 +171,9 @@ config-sdr = {{ sdr }}
[cell-gain-saturated-promise]
recipe = slapos.cookbook:promise.plugin
eggs =
slapos.core
python-dateutil
eggs =
slapos.core
python-dateutil
file = {{ cell_gain_saturated_promise }}
output = ${directory:plugins}/check-cell-gain-saturated.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......@@ -182,9 +182,9 @@ config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[rx-saturated-promise]
recipe = slapos.cookbook:promise.plugin
eggs =
slapos.core
python-dateutil
eggs =
slapos.core
python-dateutil
file = {{ rx_saturated_promise }}
output = ${directory:plugins}/check-rx-saturated.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......@@ -194,9 +194,9 @@ config-max-rx-sample-db = {{ slapparameter_dict.get("max_rx_sample_db", 0) }}
[amarisoft-stats-log-promise]
recipe = slapos.cookbook:promise.plugin
eggs =
slapos.core
python-dateutil
eggs =
slapos.core
python-dateutil
file = {{ amarisoft_stats_log_promise }}
output = ${directory:plugins}/check-amarisoft-stats-log.py
config-amarisoft-stats-log = ${amarisoft-stats-template:log-output}
......@@ -204,7 +204,9 @@ config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[cpu-temperature-promise]
recipe = slapos.cookbook:promise.plugin
eggs = slapos.core
eggs =
slapos.core
python-dateutil
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......
......@@ -132,7 +132,9 @@ config-sdr = {{ sdr }}
[cpu-temperature-promise]
recipe = slapos.cookbook:promise.plugin
eggs = slapos.core
eggs =
slapos.core
python-dateutil
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......
......@@ -135,7 +135,9 @@ config-sdr = {{ sdr }}
[cpu-temperature-promise]
recipe = slapos.cookbook:promise.plugin
eggs = slapos.core
eggs =
slapos.core
python-dateutil
file = {{ cpu_temperature_promise }}
output = ${directory:plugins}/check-cpu-temperature.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
......
......@@ -79,12 +79,12 @@ class RunPromise(GenericPromise):
data = psutil.sensors_temperatures()
cpu_temp = data['coretemp'][0][1]
l = get_data_interval(self.__log_file, max_avg_temp_duration)
l = get_data_interval(self.__log_file, max_avg_temp_duration) or [{'cpu_temperature': cpu_temp}]
avg_temp = sum(map(lambda x: x['cpu_temperature'], l)) / len(l)
data = json.dumps({'cpu_temperature': cpu_temp, 'avg_cpu_temperature': avg_temp})
self.json_logger.info("Temperature data", extra={'data': data})
promise_success = True
if cpu_temp > max_temp:
self.logger.error("Temperature reached critical threshold: %s degrees celsius (threshold is %s degrees celsius)" % (cpu_temp, max_temp))
......
......@@ -117,7 +117,6 @@ filename = ue-nr.jinja2.cfg
recipe = zc.recipe.egg
eggs =
websocket-client
python-dateutil
interpreter = pythonwitheggs
[versions]
......
......@@ -192,7 +192,7 @@ class TestBan(ProFTPdTestCase):
self._getConnection(password='wrong')
# after that, even with a valid password we cannot connect
with self.assertRaisesRegex(SSHException, 'Connection reset by peer'):
with self.assertRaises(Exception):
self._getConnection()
# ban event is logged
......
......@@ -161,7 +161,6 @@ setup = ${slapos-repository:location}/software/hugo/test/
egg = slapos.test.matomo
setup = ${slapos-repository:location}/software/matomo/test/
[slapos.test.jupyter-setup]
<= setup-develop-egg
egg = slapos.test.jupyter
......@@ -242,6 +241,11 @@ setup = ${slapos-repository:location}/software/erp5testnode/test/
egg = slapos.test.beremiz_ide
setup = ${slapos-repository:location}/software/beremiz-ide/test/
[slapos.test.mosquitto-setup]
<= setup-develop-egg
egg = slapos.test.mosquitto
setup = ${slapos-repository:location}/software/mosquitto/test/
[slapos.test.peertube-setup]
<= setup-develop-egg
egg = slapos.test.peertube
......@@ -318,6 +322,7 @@ eggs +=
${slapos.test.matomo-setup:egg}
${slapos.test.metabase-setup:egg}
${slapos.test.monitor-setup:egg}
${slapos.test.mosquitto-setup:egg}
${slapos.test.nextcloud-setup:egg}
${slapos.test.nginx-push-stream-setup:egg}
${slapos.test.ors-amarisoft-setup:egg}
......@@ -382,7 +387,6 @@ context =
tests =
json-schemas ${slapos.cookbook-setup:setup}
backupserver ${slapos.test.backupserver-setup:setup}
beremiz-ide ${slapos.test.beremiz-ide-setup:setup}
caddy-frontend ${slapos.test.caddy-frontend-setup:setup}
......@@ -409,6 +413,7 @@ tests =
matomo ${slapos.test.matomo-setup:setup}
metabase ${slapos.test.metabase-setup:setup}
monitor ${slapos.test.monitor-setup:setup}
mosquitto ${slapos.test.mosquitto-setup:setup}
nextcloud ${slapos.test.nextcloud-setup:setup}
nginx-push-stream ${slapos.test.nginx-push-stream-setup:setup}
ors-amarisoft ${slapos.test.ors-amarisoft-setup:setup}
......@@ -444,6 +449,7 @@ mysqlclient = 2.1.1
pexpect = 4.8.0
ptyprocess = 0.6.0
psycopg2 = 2.8.6
paho-mqtt = 1.5.0
# Patched eggs
PyPDF2 = 1.26.0+SlapOSPatched001
......
......@@ -15,7 +15,7 @@
[instance-theia]
_update_hash_filename_ = instance-theia.cfg.jinja.in
md5sum = 3d00572afdd311ba8b4fc8b6ad0ac4b6
md5sum = bd79a9e6306b321414b9f83524308e5f
[instance]
_update_hash_filename_ = instance.cfg.in
......
......@@ -360,7 +360,7 @@ output = $${directory:bin}/$${:_buildout_section_name_}
inline =
#!/bin/sh
export HOME=$${directory:home}
export PATH=${java-jdk:location}/bin:${cli-utilities:PATH}:$HOME/.cargo/bin:$PATH
export PATH=${cli-utilities:PATH}:$HOME/.cargo/bin:$PATH
export IPV6_SLAPRUNNER={{ ipv6_random }}
# Theia Backend
......
......@@ -865,3 +865,7 @@ strict-rfc3339 = 0.7
webcolors = 1.10
rfc3987 = 1.3.8
jsonpointer = 2.2
pandas = 0.19.2
numpy = 1.13.1
scipy = 0.19.0
ZConfig = 2.9.3
......@@ -70,7 +70,7 @@ md5sum = b95084ae9eed95a68eada45e28ef0c04
[template]
filename = instance.cfg.in
md5sum = a75e8cf8fd664de164a88a680ddd2c9e
md5sum = 74979d6743cdc7ce3d2f17680115458d
[template-erp5]
filename = instance-erp5.cfg.in
......@@ -102,4 +102,4 @@ md5sum = 5cf0316fdd17a940031e4083bbededd8
[instance-wcfs.cfg.in]
filename = instance-wcfs.cfg.in
md5sum = eb4be2669a9a56187cc4366272e11d18
md5sum = 0f921643a68e3a8de5529d653710ddca
{# instance that runs WCFS service associated with ZODB storage #}
{% from "instance_zodb_base" import zodb_dict with context %}
{# q(text) returns urllib.quote_plus(text) #}
{% macro q(text) %}{{ urllib_parse.quote_plus(text) }}{% endmacro %}
{# build zurl to connect to configured ZODB #}
{% if len(zodb_dict) != 1 -%}
......@@ -12,15 +14,18 @@
{% if zodb['type'] == 'zeo' -%}
{% set zurl = ('zeo://%s?storage=%s' % (z['server'], z['storage'])) -%}
{% elif zodb['type'] == 'neo' -%}
{% set zurl = ('neo://%s@%s' % (z.pop('name'), z.pop('master_nodes'))) -%}
{% set argv = [] -%}
{% set i = 0 -%}
{% for k,v in z|dictsort -%}
{% do argv.append('%s=%s' % (k,v)) -%}
{% endfor -%}
{% if len(argv) > 0 -%}
{% set zurl = zurl + '&' + '?'.join(argv) -%}
{# neo(s)://[credentials@]master1,master2,...,masterN/name?options #}
{# (see https://lab.nexedi.com/kirr/neo/blob/3e13fa06/go/neo/client.go#L417) #}
{# If 'ca' in storage-dict, ssl is true. #}
{# (see https://lab.nexedi.com/nexedi/slapos/blob/397726e1/stack/erp5/instance-zodb-base.cfg.in#L17-21) #}
{% if "ca" in z -%}
{# ca=ca.crt;cert=my.crt;key=my.key (see https://lab.nexedi.com/kirr/neo/blob/3e13fa06/go/neo/client.go#L428) #}
{% set zurl = 'neos://ca=%s;cert=%s;key=%s@' % (q(z.pop("ca")), q(z.pop("cert")), q(z.pop("key"))) -%}
{% else -%}
{% set zurl = 'neo://' -%}
{% endif -%}
{% set zurl = ('%s%s/%s' % (zurl, z.pop('master_nodes'), z.pop('name'))) -%}
{% set zurl = zurl + '?' + (z | dictsort | urlencode) -%}
{% else -%}
{% do assert(False, ("unsupported ZODB type", zodb)) -%}
{% endif -%}
......
......@@ -206,6 +206,7 @@ url = {{ instance_wcfs_cfg_in }}
filename = instance_wcfs.cfg
extra-context =
section parameter_dict dynamic-template-zope-parameters
import urllib_parse six.moves.urllib.parse
import-list =
file instance_zodb_base context:template-zodb-base
......
......@@ -227,7 +227,7 @@ scandir = 1.10.0
setproctitle = 1.1.10
setuptools-dso = 1.7
six = 1.16.0
slapos.cookbook = 1.0.291
slapos.cookbook = 1.0.297
slapos.core = 1.8.5
slapos.extension.shared = 1.0
slapos.libnetworkcache = 0.25
......@@ -250,7 +250,7 @@ Werkzeug = 2.0.2
wheel = 0.35.1:whl
xml-marshaller = 1.0.2
zc.lockfile = 1.4
ZConfig = 2.9.3
ZConfig = 3.6.1
zdaemon = 4.2.0
zipp = 1.2.0:whl
zodburi = 2.5.0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment