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
107
Merge Requests
107
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
394c348c
Commit
394c348c
authored
Nov 15, 2023
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Plain Diff
Update Release Candidate
parents
26defa86
6edf7a50
Changes
53
Hide whitespace changes
Inline
Side-by-side
Showing
53 changed files
with
707 additions
and
587 deletions
+707
-587
component/alsa/buildout.cfg
component/alsa/buildout.cfg
+3
-3
component/ca-certificates/buildout.cfg
component/ca-certificates/buildout.cfg
+1
-1
component/firefox/buildout.cfg
component/firefox/buildout.cfg
+23
-18
component/libedit/buildout.cfg
component/libedit/buildout.cfg
+16
-0
component/mariadb/buildout.cfg
component/mariadb/buildout.cfg
+4
-4
component/python-2.7/buildout.cfg
component/python-2.7/buildout.cfg
+3
-0
component/python3/buildout.cfg
component/python3/buildout.cfg
+3
-0
component/readline/buildout.cfg
component/readline/buildout.cfg
+0
-28
software/gitlab/software.cfg
software/gitlab/software.cfg
+1
-1
software/neoppod/software.cfg.json
software/neoppod/software.cfg.json
+14
-0
software/ors-amarisoft/buildout.hash.cfg
software/ors-amarisoft/buildout.hash.cfg
+42
-26
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
+3
-9
software/ors-amarisoft/instance-enb.jinja2.cfg
software/ors-amarisoft/instance-enb.jinja2.cfg
+6
-300
software/ors-amarisoft/instance-fdd-enb-input-schema.json
software/ors-amarisoft/instance-fdd-enb-input-schema.json
+3
-9
software/ors-amarisoft/instance-fdd-gnb-input-schema.json
software/ors-amarisoft/instance-fdd-gnb-input-schema.json
+3
-9
software/ors-amarisoft/instance-fdd-lopcomm-enb-input-schema.json
.../ors-amarisoft/instance-fdd-lopcomm-enb-input-schema.json
+3
-9
software/ors-amarisoft/instance-fdd-lopcomm-gnb-input-schema.json
.../ors-amarisoft/instance-fdd-lopcomm-gnb-input-schema.json
+3
-9
software/ors-amarisoft/instance-fdd-ors-enb-input-schema.json
...ware/ors-amarisoft/instance-fdd-ors-enb-input-schema.json
+3
-9
software/ors-amarisoft/instance-fdd-ors-gnb-input-schema.json
...ware/ors-amarisoft/instance-fdd-ors-gnb-input-schema.json
+3
-9
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
+3
-9
software/ors-amarisoft/instance-gnb.jinja2.cfg
software/ors-amarisoft/instance-gnb.jinja2.cfg
+1
-1
software/ors-amarisoft/instance-tdd-enb-input-schema.json
software/ors-amarisoft/instance-tdd-enb-input-schema.json
+3
-9
software/ors-amarisoft/instance-tdd-gnb-input-schema.json
software/ors-amarisoft/instance-tdd-gnb-input-schema.json
+3
-9
software/ors-amarisoft/instance-tdd-m2ru-enb-input-schema.json
...are/ors-amarisoft/instance-tdd-m2ru-enb-input-schema.json
+3
-9
software/ors-amarisoft/instance-tdd-m2ru-gnb-input-schema.json
...are/ors-amarisoft/instance-tdd-m2ru-gnb-input-schema.json
+3
-9
software/ors-amarisoft/instance-tdd-ors-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd-ors-enb-input-schema.json
+3
-9
software/ors-amarisoft/instance-tdd-ors-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd-ors-gnb-input-schema.json
+3
-9
software/ors-amarisoft/instance.cfg
software/ors-amarisoft/instance.cfg
+16
-8
software/ors-amarisoft/ru/buildout.cfg
software/ors-amarisoft/ru/buildout.cfg
+10
-0
software/ors-amarisoft/ru/libinstance.jinja2.cfg
software/ors-amarisoft/ru/libinstance.jinja2.cfg
+45
-0
software/ors-amarisoft/ru/lopcomm/CreateProcessingEle.jinja2.xml
...e/ors-amarisoft/ru/lopcomm/CreateProcessingEle.jinja2.xml
+0
-0
software/ors-amarisoft/ru/lopcomm/buildout.cfg
software/ors-amarisoft/ru/lopcomm/buildout.cfg
+42
-0
software/ors-amarisoft/ru/lopcomm/config.jinja2.py
software/ors-amarisoft/ru/lopcomm/config.jinja2.py
+0
-0
software/ors-amarisoft/ru/lopcomm/cu_config.jinja2.xml
software/ors-amarisoft/ru/lopcomm/cu_config.jinja2.xml
+117
-0
software/ors-amarisoft/ru/lopcomm/libinstance.jinja2.cfg
software/ors-amarisoft/ru/lopcomm/libinstance.jinja2.cfg
+250
-0
software/ors-amarisoft/ru/lopcomm/ncclient_common.py
software/ors-amarisoft/ru/lopcomm/ncclient_common.py
+0
-0
software/ors-amarisoft/ru/lopcomm/reset-info.jinja2.py
software/ors-amarisoft/ru/lopcomm/reset-info.jinja2.py
+0
-0
software/ors-amarisoft/ru/lopcomm/reset.jinja2.py
software/ors-amarisoft/ru/lopcomm/reset.jinja2.py
+0
-0
software/ors-amarisoft/ru/lopcomm/software.jinja2.py
software/ors-amarisoft/ru/lopcomm/software.jinja2.py
+0
-0
software/ors-amarisoft/ru/lopcomm/stats.jinja2.py
software/ors-amarisoft/ru/lopcomm/stats.jinja2.py
+0
-0
software/ors-amarisoft/ru/lopcomm/supervision.jinja2.py
software/ors-amarisoft/ru/lopcomm/supervision.jinja2.py
+0
-0
software/ors-amarisoft/ru/sdr/buildout.cfg
software/ors-amarisoft/ru/sdr/buildout.cfg
+4
-0
software/ors-amarisoft/ru/sdr/libinstance.jinja2.cfg
software/ors-amarisoft/ru/sdr/libinstance.jinja2.cfg
+5
-0
software/ors-amarisoft/ru/sunwave/buildout.cfg
software/ors-amarisoft/ru/sunwave/buildout.cfg
+4
-0
software/ors-amarisoft/ru/sunwave/libinstance.jinja2.cfg
software/ors-amarisoft/ru/sunwave/libinstance.jinja2.cfg
+5
-0
software/ors-amarisoft/software-base.cfg
software/ors-amarisoft/software-base.cfg
+2
-36
software/seleniumrunner/software.cfg
software/seleniumrunner/software.cfg
+0
-3
software/seleniumserver/buildout.hash.cfg
software/seleniumserver/buildout.hash.cfg
+1
-1
software/seleniumserver/instance-selenium.cfg.in
software/seleniumserver/instance-selenium.cfg.in
+14
-16
software/seleniumserver/software.cfg
software/seleniumserver/software.cfg
+4
-0
software/seleniumserver/test/data/test.TestFirefox115.test_screenshot.png
...mserver/test/data/test.TestFirefox115.test_screenshot.png
+0
-0
software/seleniumserver/test/data/test.TestFirefox52.test_screenshot.png
...umserver/test/data/test.TestFirefox52.test_screenshot.png
+0
-0
software/seleniumserver/test/test.py
software/seleniumserver/test/test.py
+29
-15
No files found.
component/alsa/buildout.cfg
View file @
394c348c
...
...
@@ -6,12 +6,12 @@ parts =
# Contains libasound
recipe = slapos.recipe.cmmi
shared = true
url =
ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.1.3
.tar.bz2
md5sum =
eefe5992567ba00d6110a540657aaf5c
url =
https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.10
.tar.bz2
md5sum =
aced5acdb6161ed86e5ca3bb10618ca1
configure-options =
--disable-static
--disable-aload
--
dis
able-rawmidi
--
en
able-rawmidi
--disable-ucm
--disable-alisp
--disable-old-symbols
...
...
component/ca-certificates/buildout.cfg
View file @
394c348c
...
...
@@ -21,7 +21,7 @@ patches =
${:_profile_base_location_}/ca-certificates-no-cryptography.patch#14ad1308623b0d15420906ae3d9b4867
patch-options = -p0
configure-command = true
make-targets = install DESTDIR=@@LOCATION@@ CERTSDIR=certs SBINDIR=sbin
make-targets = install DESTDIR=@@LOCATION@@ CERTSDIR=certs SBINDIR=
/
sbin
environment =
PATH=${xz-utils:location}/bin:%(PATH)s
pre-make-hook =
...
...
component/firefox/buildout.cfg
View file @
394c348c
...
...
@@ -32,6 +32,7 @@ part = firefox
recipe = slapos.recipe.build
location = ${buildout:bin-directory}/${:part}
fonts-conf = ${firefox-default-fonts-conf:output}
gsettings-schema-dir = ${gtk-3:location}/share/glib-2.0/schemas/
init =
self.buildout[options['part']]
install =
...
...
@@ -45,15 +46,21 @@ install =
# BBB use a default fonts.conf for compatibility, but it's software instance
# responsability to build a fonts.conf with the fonts they want.
[ "$FONTCONFIG_FILE" ] || export FONTCONFIG_FILE=%s
[ "$GSETTINGS_SCHEMA_DIR" ] || export GSETTINGS_SCHEMA_DIR=%s
exec $d/firefox "$@"
""" % (
part['location'],
':'.join(part['library'].split()),
':'.join(part['path'].split()),
options['fonts-conf'],
options['gsettings-schema-dir'],
))
os.fchmod(f.fileno(), 0o755)
[firefox-wrapper-115]
<= firefox-wrapper
part = firefox-115
[firefox-wrapper-78]
<= firefox-wrapper
part = firefox-78
...
...
@@ -66,10 +73,6 @@ part = firefox-68
<= firefox-wrapper
part = firefox-60
[firefox-wrapper-52]
<= firefox-wrapper
part = firefox-52
[firefox-default-fonts-conf]
recipe = slapos.recipe.template:jinja2
url = ${template-fonts-conf:output}
...
...
@@ -92,7 +95,13 @@ cache-dir =
# installed in ${buildout:bin-directory}.
# Installing ${firefox:} is not enough, because wrapper setting $LD_LIBRARY_PATH
# would not be created.
<= firefox-68
<= firefox-115
[firefox-115]
<= firefox-download
version = 115.3.1esr
i686-md5sum = f0df1b5cce1edd65addc823da02f9488
x86_64-md5sum = 910c0786459cf1e4dc214e6402d0633e
[firefox-78]
<= firefox-download
...
...
@@ -112,12 +121,6 @@ version = 60.0.2esr
i686-md5sum = ce7c80716036dfb5c2fb1ca2538556ff
x86_64-md5sum = 6fe25d9a3fcc82670320242c9047d1da
[firefox-52]
<= firefox-download
version = 52.9.0esr
i686-md5sum = 9aa18888b7812670208490609d75c9bc
x86_64-md5sum = 9336d70f45070c743d08e5473b783a7a
[firefox-download]
recipe = slapos.recipe.build
slapos_promise =
...
...
@@ -157,8 +160,10 @@ library =
${libXext:location}/lib
${libXi:location}/lib
${libxml2:location}/lib
${libXrandr:location}/lib
${libXrender:location}/lib
${libXt:location}/lib
${libXtst:location}/lib
${mesa:location}/lib
${pango:location}/lib
${pcre:location}/lib
...
...
@@ -186,7 +191,13 @@ md5sum = ${:x86_64-md5sum}
[geckodriver]
# Current geckodriver installed as ${buildout:bin-directory}/geckodriver
<= geckodriver-0.24.0
<= geckodriver-0.33.0
[geckodriver-0.33.0]
<= geckodriver-base
version = 0.33.0
i686-md5sum = c4a9e6c92dc493f25c8d390f1c6fb11c
x86_64-md5sum = 563c82cfbb21478450e1c828e3730b10
[geckodriver-0.24.0]
<= geckodriver-base
...
...
@@ -200,12 +211,6 @@ version = 0.22.0
i686-md5sum = 6de7544753fda56fbaa8382dcac99aaa
x86_64-md5sum = 81746200ce5841e00cabf3b8ea7db542
[geckodriver-0.16.1]
<= geckodriver-base
version = 0.16.1
i686-md5sum = not not on github
x86_64-md5sum = 57dfd55d4759d9878eb75b4c0123d00c
[geckodriver-base]
# Installs geckodriver ${version}
recipe = slapos.recipe.build
...
...
component/libedit/buildout.cfg
0 → 100644
View file @
394c348c
[buildout]
extends =
../ncurses/buildout.cfg
parts =
libedit
[libedit]
recipe = slapos.recipe.cmmi
shared = true
url = https://thrysoee.dk/editline/libedit-20230828-3.1.tar.gz
md5sum = 16bb2ab0d33bce3467f5cd4ec7d8f3ee
environment =
CPPFLAGS=-I${ncurses:location}/include
LDFLAGS=-L${ncurses:location}/lib -Wl,-rpath=${ncurses:location}/lib
component/mariadb/buildout.cfg
View file @
394c348c
...
...
@@ -9,6 +9,7 @@ extends =
../groonga/buildout.cfg
../jemalloc/buildout.cfg
../libaio/buildout.cfg
../libedit/buildout.cfg
../libxml2/buildout.cfg
../lz4/buildout.cfg
../ncurses/buildout.cfg
...
...
@@ -16,7 +17,6 @@ extends =
../patch/buildout.cfg
../pcre/buildout.cfg
../pkgconfig/buildout.cfg
../readline/buildout.cfg
../snappy/buildout.cfg
../xz-utils/buildout.cfg
../zlib/buildout.cfg
...
...
@@ -73,11 +73,11 @@ configure-options =
# https://lore.kernel.org/linux-btrfs/ed3642c2-682e-08a1-f18d-2d63409b7631@nexedi.com/T/
-DWITH_FALLOCATE=NO
##
CMAKE_CFLAGS = -I${bzip2:location}/include -I${jemalloc:location}/include -I${libaio:location}/include -I${libxml2:location}/include -I${ncurses:location}/include -I${openssl:location}/include -I${pcre:location}/include -I${
readline5
:location}/include -I${xz-utils:location}/include -I${zlib:location}/include -I${unixodbc:location}/include -I${lz4:location}/include -I${snappy:location}/include -I${zstd:location}/include
CMAKE_LIBRARY_PATH = ${bzip2:location}/lib:${jemalloc:location}/lib:${libaio:location}/lib:${libxml2:location}/lib:${ncurses:location}/lib:${openssl:location}/lib:${pcre:location}/lib:${
readline5
:location}/lib:${xz-utils:location}/lib:${zlib:location}/lib:${unixodbc:location}/lib:${lz4:location}/lib:${snappy:location}/lib:${zstd:location}/lib
CMAKE_CFLAGS = -I${bzip2:location}/include -I${jemalloc:location}/include -I${libaio:location}/include -I${libxml2:location}/include -I${ncurses:location}/include -I${openssl:location}/include -I${pcre:location}/include -I${
libedit
:location}/include -I${xz-utils:location}/include -I${zlib:location}/include -I${unixodbc:location}/include -I${lz4:location}/include -I${snappy:location}/include -I${zstd:location}/include
CMAKE_LIBRARY_PATH = ${bzip2:location}/lib:${jemalloc:location}/lib:${libaio:location}/lib:${libxml2:location}/lib:${ncurses:location}/lib:${openssl:location}/lib:${pcre:location}/lib:${
libedit
:location}/lib:${xz-utils:location}/lib:${zlib:location}/lib:${unixodbc:location}/lib:${lz4:location}/lib:${snappy:location}/lib:${zstd:location}/lib
environment =
CMAKE_PROGRAM_PATH=${cmake:location}/bin
CMAKE_INCLUDE_PATH=${bzip2:location}/include:${libaio:location}/include:${libaio:location}/include:${libxml2:location}/include:${ncurses:location}/include:${openssl:location}/include:${pcre:location}/include:${
readline5
:location}/include:${xz-utils:location}/include:${zlib:location}/include:${unixodbc:location}/include:${lz4:location}/include:${snappy:location}/include:${zstd:location}/include
CMAKE_INCLUDE_PATH=${bzip2:location}/include:${libaio:location}/include:${libaio:location}/include:${libxml2:location}/include:${ncurses:location}/include:${openssl:location}/include:${pcre:location}/include:${
libedit
:location}/include:${xz-utils:location}/include:${zlib:location}/include:${unixodbc:location}/include:${lz4:location}/include:${snappy:location}/include:${zstd:location}/include
CMAKE_LIBRARY_PATH=${:CMAKE_LIBRARY_PATH}
LDFLAGS=-L${bzip2:location}/lib -L${jemalloc:location}/lib -L${libaio:location}/lib -L${pcre:location}/lib -L${xz-utils:location}/lib -L${zlib:location}/lib -L${unixodbc:location}/lib -L${lz4:location}/lib -L${snappy:location}/lib -L${zstd:location}/lib
PATH=${patch:location}/bin:%(PATH)s
...
...
component/python-2.7/buildout.cfg
View file @
394c348c
...
...
@@ -9,6 +9,7 @@ extends =
../openssl/buildout.cfg
../patch/buildout.cfg
../readline/buildout.cfg
../sed/buildout.cfg
../sqlite3/buildout.cfg
../zlib/buildout.cfg
../file/buildout.cfg
...
...
@@ -49,6 +50,8 @@ patches = ${python2.7-lib-patches:patches}
${:_profile_base_location_}/pytracemalloc_pep445.patch#9f3145817afa2b7fad801fde8447e396
url =
http://www.python.org/ftp/python/${:package_version}/Python-${:package_version}${:package_version_suffix}.tar.xz
pre-configure =
${sed:location}/bin/sed -i -e "s/if 'curses' in ln:/if 'curses' in ln.split(os.sep)[-1]:/" setup.py
configure-options =
--enable-ipv6
--enable-unicode=ucs4
...
...
component/python3/buildout.cfg
View file @
394c348c
...
...
@@ -10,6 +10,7 @@ extends =
../ncurses/buildout.cfg
../openssl/buildout.cfg
../readline/buildout.cfg
../sed/buildout.cfg
../sqlite3/buildout.cfg
../util-linux/buildout.cfg
../xz-utils/buildout.cfg
...
...
@@ -30,6 +31,8 @@ executable = @@LOCATION@@/bin/${:_buildout_section_name_}
url =
https://www.python.org/ftp/python/${:package_version}/Python-${:package_version}${:package_version_suffix}.tar.xz
pre-configure =
${sed:location}/bin/sed -i -e "s/if 'curses' in ln:/if 'curses' in ln.split(os.sep)[-1]:/" setup.py
configure-options =
--enable-ipv6
--without-ensurepip
...
...
component/readline/buildout.cfg
View file @
394c348c
...
...
@@ -5,36 +5,8 @@ extends =
../patch/buildout.cfg
parts =
readline5
readline
# readline-5.x is still used for GPL2 only softwares.
[readline5]
recipe = slapos.recipe.cmmi
shared = true
url = http://ftp.gnu.org/gnu/readline/readline-5.2.tar.gz
patches =
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-001#9d4d41622aa9b230c57f68548ce87d8f
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-002#f03e512d14206e37f7d6a748b56b9476
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-003#252b42d8750f1a94b6bdf086612dceb2
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-004#a32333c2e603a3ed250514e91050e552
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-005#8106796c09b789523a3a78ab69c04b6d
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-006#512188e2bf0837f7eca19dbf71f182ae
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-007#ac17aca62eb6fb398c9f2fe9de540aff
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-008#2484c392db021905f112cf97a94dfd4c
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-009#fc6eb35d07914fae5c57d49c12483ff7
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-010#7a2bf3dc7ac7680b1461a5701100e91b
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-011#ef6cef6822663470f6ac8c517c5a7ec6
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-012#e3e9f441c8111589855bc363e5640f6c
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-013#3e2e5f543ed268a68fd1fa839faade1a
http://ftp.gnu.org/gnu/readline/readline-5.2-patches/readline52-014#a1be30e1c6f1099bb5fcef00a2631fb8
md5sum = e39331f32ad14009b9ff49cc10c5e751
pre-configure = cp -f ${gnu-config:location}/config.sub ${gnu-config:location}/config.guess support
configure-options =
--enable-multibyte
--disable-static
patch-binary = ${patch:location}/bin/patch
[readline]
recipe = slapos.recipe.cmmi
shared = true
...
...
software/gitlab/software.cfg
View file @
394c348c
...
...
@@ -135,7 +135,7 @@ git-executable = ${git:location}/bin/git
<= git-repository
repository = https://lab.nexedi.com/nexedi/gitlab-ce.git
# 9.5.10 + NXD patches:
revision = v
8.16.0.pre-16286-g9d66cd7b834
revision = v
9.5.10-12-g74c9f9fe7f9
location = ${buildout:parts-directory}/gitlab
[gitlab-shell-repository]
...
...
software/neoppod/software.cfg.json
0 → 100644
View file @
394c348c
{
"name"
:
"NEO"
,
"description"
:
"Distributed, redundant and transactional storage for ZODB"
,
"serialisation"
:
"json-in-xml"
,
"software-type"
:
{
"default"
:
{
"title"
:
"Default"
,
"software-type"
:
"default"
,
"request"
:
"instance-neo-input-schema.json"
,
"response"
:
"instance-neo-output-schema.json"
,
"index"
:
0
}
}
}
software/ors-amarisoft/buildout.hash.cfg
View file @
394c348c
...
...
@@ -16,7 +16,7 @@
[template]
filename = instance.cfg
md5sum =
f23909a703ac9001afec38cbac19591a
md5sum =
1e3d2626ffd677ab6d3c078a376c1c7c
[amarisoft-stats.jinja2.py]
_update_hash_filename_ = amarisoft-stats.jinja2.py
...
...
@@ -26,41 +26,57 @@ md5sum = c4d5e9fcf460d88bc2b4bcfbdfe554f7
_update_hash_filename_ = amarisoft-rf-info.jinja2.py
md5sum = ab666fdfadbfc7d8a16ace38d295c883
[ncclient_common]
_update_hash_filename_ = ncclient_common.py
[ru_libinstance.jinja2.cfg]
_update_hash_filename_ = ru/libinstance.jinja2.cfg
md5sum = ef4b9c9ccbb4627c0d74293802e83d57
[ru_sdr_libinstance.jinja2.cfg]
_update_hash_filename_ = ru/sdr/libinstance.jinja2.cfg
md5sum = 4be142fcd890e0f1c9573c8e724062fb
[ru_lopcomm_libinstance.jinja2.cfg]
_update_hash_filename_ = ru/lopcomm/libinstance.jinja2.cfg
md5sum = 7b84e582f149da52013740251a2e7ce4
[ru_sunwave_libinstance.jinja2.cfg]
_update_hash_filename_ = ru/sunwave/libinstance.jinja2.cfg
md5sum = 5c5248494bcd9d27d50636ee9fab7c87
[ru_lopcomm_ncclient_common.py]
_update_hash_filename_ = ru/lopcomm/ncclient_common.py
md5sum = 6f8d0592cc4b0b695cea5a0c25aafc4e
[
lopcomm-rrh-
stats.jinja2.py]
_update_hash_filename_ =
lopcomm-rrh-
stats.jinja2.py
[
ru_lopcomm_
stats.jinja2.py]
_update_hash_filename_ =
ru/lopcomm/
stats.jinja2.py
md5sum = b861ef43beba4a0a2904e8c2aee04723
[
lopcomm-rrh-
config.jinja2.py]
_update_hash_filename_ =
lopcomm-rrh-
config.jinja2.py
[
ru_lopcomm_
config.jinja2.py]
_update_hash_filename_ =
ru/lopcomm/
config.jinja2.py
md5sum = f2f550b68c8ab243ce1a4bb73a9abc1c
[lopcomm-rrh-software.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-software.jinja2.py
md5sum = 2cd8515253b75e2ab13cc77399762851
[lopcomm-rrh-supervision.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-supervision.jinja2.py
md5sum = 243d9fbf640b8dc8bf63d69b07b8afed
[lopcomm-rrh-reset-info.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-reset-info.jinja2.py
[ru_lopcomm_reset-info.jinja2.py]
_update_hash_filename_ = ru/lopcomm/reset-info.jinja2.py
md5sum = e03d7fea24566aa8291f0dc4aaf09c67
[
lopcomm-rrh-
reset.jinja2.py]
_update_hash_filename_ =
lopcomm-rrh-
reset.jinja2.py
[
ru_lopcomm_
reset.jinja2.py]
_update_hash_filename_ =
ru/lopcomm/
reset.jinja2.py
md5sum = 63472d5dc9bd46923d3941b5189e2ccd
[ru_lopcomm_software.jinja2.py]
_update_hash_filename_ = ru/lopcomm/software.jinja2.py
md5sum = 2cd8515253b75e2ab13cc77399762851
[ru_lopcomm_supervision.jinja2.py]
_update_hash_filename_ = ru/lopcomm/supervision.jinja2.py
md5sum = 243d9fbf640b8dc8bf63d69b07b8afed
[template-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum =
40f735514d8f4ead0d4328c58b78be93
md5sum =
104d63450ec08d67bc6e82a9dacee6ae
[template-gnb]
_update_hash_filename_ = instance-gnb.jinja2.cfg
md5sum =
2d7558e4799818a5546850f735fbb399
md5sum =
a64a0d06740f97cd82eeec0932f61004
[template-core-network]
_update_hash_filename_ = instance-core-network.jinja2.cfg
...
...
@@ -114,13 +130,13 @@ md5sum = c0313f9d15543361f7c8e19af96c737a
filename = config/ue-nr.jinja2.cfg
md5sum = 824233ab4d53ec428d358fb67bca8ba2
[CreateProcessingEle.jinja2.xml]
filename = netconf
/CreateProcessingEle.jinja2.xml
[
ru_lopcomm_
CreateProcessingEle.jinja2.xml]
_update_hash_filename_ = ru/lopcomm
/CreateProcessingEle.jinja2.xml
md5sum = e435990eb0a0d4be41efa9bd16dce09b
[cu_config.jinja2.xml]
filename = netconf
/cu_config.jinja2.xml
md5sum =
d10b063ad4edc760e154f7a8d63bea47
[
ru_lopcomm_
cu_config.jinja2.xml]
_update_hash_filename_ = ru/lopcomm
/cu_config.jinja2.xml
md5sum =
09123ad68c6d8e7e4e201bcc2ab331c6
[software.cfg.html]
_update_hash_filename_ = gadget/software.cfg.html
...
...
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
View file @
394c348c
...
...
@@ -423,17 +423,11 @@
"type": "number",
"default": 0
},
"min_
txr
x_delay": {
"min_
rxt
x_delay": {
"title": "Minimum available time for radio front end processing (ms)",
"description": "Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
high
er than this value)",
"description": "Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
low
er than this value)",
"type": "number",
"default": 5
},
"avg_txrx_delay": {
"title": "Average available time for radio front end processing (ms)",
"description": "Baseband latency promise will fail if average TX/RX diff reaches threshold (higher than this value)",
"type": "number",
"default": 7
"default": 0
},
"xlog_fluentbit_forward_host": {
"title": "Address to Forward Xlog by Fluenbit",
...
...
software/ors-amarisoft/instance-enb.jinja2.cfg
View file @
394c348c
...
...
@@ -10,30 +10,9 @@ parts =
amarisoft-stats-service
amarisoft-rf-info-service
{% if ru == "lopcomm" %}
lopcomm-firmware-dl
lopcomm-rrh-stats-service
lopcomm-rrh-supervision-service
lopcomm-rrh-reset-info-service
{% if slapparameter_dict.get("cron_schedule", None) %}
lopcomm-rrh-reset-cron
{% endif %}
lopcomm-rrh-config-template
lopcomm-rrh-software-template
netconf-connection-promise
firmware-update-promise
rrh-netconf-socket-promise
lopcomm-cu-config
sshd-service
sshd-add-authorized-key
sshd-promise
check-lopcomm-vswr.py
check-lopcomm-pa-current.py
check-lopcomm-pa-output-power.py
check-lopcomm-lof.py
check-lopcomm-rssi.py
check-lopcomm-sync.py
check-lopcomm-config-log.py
check-lopcomm-stats-log.py
{% endif %}
{% if slapparameter_dict.get("dnsmasq", None) %}
dnsmasq-service
...
...
@@ -46,7 +25,6 @@ parts =
{% endif %}
monitor-base
publish-connection-information
{% set extra_part_list = [] %}
extends = {{ monitor_template }}
...
...
@@ -54,6 +32,10 @@ eggs-directory = {{ eggs_directory }}
develop-eggs-directory = {{ develop_eggs_directory }}
offline = true
{%- import 'ru_libinstance.jinja2.cfg' as rulib with context %}
{{ rulib.buildout() }}
[monitor-httpd-conf-parameter]
httpd-include-file = {{ buildout_directory }}/etc/httpd-include-file.conf
port = ${monitor-instance-parameter:monitor-httpd-port}
...
...
@@ -107,15 +89,6 @@ version = {{ slapparameter_dict.get("enb_config_version") }}
offline = false
{% endif %}
{% if slapparameter_dict.get("cu_config_link", None) %}
[cu-config-dl]
recipe = slapos.recipe.build:download
url = {{ slapparameter_dict.get("cu_config_link") }}
version = {{ slapparameter_dict.get("cu_config_version") }}
offline = false
{% endif %}
[enb-sh-wrapper]
recipe = slapos.recipe.template
output = ${directory:bin}/${:_buildout_section_name_}
...
...
@@ -261,162 +234,6 @@ mode = 0775
url = {{ amarisoft_rf_info_template }}
output = ${directory:bin}/amarisoft-rf-info.py
[lopcomm-rrh-stats-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-stats.log
json-log-output = ${directory:var}/log/lopcomm-rrh-stats.json.log
cfg-json-log-output = ${directory:var}/log/lopcomm-rrh-config.json.log
supervision-json-log-output = ${directory:var}/log/lopcomm-rrh-supervision.json.log
ncsession-json-log-output = ${directory:var}/log/lopcomm-rrh-ncsession.json.log
software-json-log-output = ${directory:var}/log/lopcomm-rrh-software.json.log
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
key json_log_file :json-log-output
key cfg_json_log_file :cfg-json-log-output
key supervision_json_log_file :supervision-json-log-output
key ncsession_json_log_file :ncsession-json-log-output
key software_json_log_file :software-json-log-output
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
import netaddr netaddr
mode = 0775
url = {{ lopcomm_rrh_stats_template }}
output = ${directory:bin}/lopcomm-rrh-stats.py
[lopcomm-cu-config]
<= config-base
{% if slapparameter_dict.get("cu_config_link", None) %}
url = ${enb-config-dl:target}
{% else %}
url = {{ cu_config_template }}
{% endif %}
output = ${directory:etc}/cu_config.xml
[lopcomm-rrh-config-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-config.log
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
raw CreateProcessingEle_template {{ CreateProcessingEle_template }}
key cu_config_template lopcomm-cu-config:output
import netaddr netaddr
mode = 0775
url = {{ lopcomm_rrh_config_template }}
output = ${directory:script}/lopcomm-rrh-config.py
[lopcomm-rrh-software-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-software.log
software-reply-json-log-output = ${directory:var}/log/lopcomm-rrh-software-reply.json.log
remote-file-path = sftp://${user-info:pw-name}@[${slap-configuration:ipv6-random}]:${sshd-port:port}${lopcomm-firmware-dl:destination}
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
key software_reply_json_log_file :software-reply-json-log-output
key remote_file_path :remote-file-path
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
raw etc_path ${directory:etc}
raw firmware_name ${lopcomm-firmware-dl:filename}
import netaddr netaddr
mode = 0775
url = {{ lopcomm_rrh_software_template }}
output = ${directory:script}/lopcomm-rrh-software.py
[lopcomm-rrh-supervision-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-supervision.log
supervision-reply-json-log-output = ${directory:var}/log/lopcomm-rrh-supervision-reply.json.log
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
key supervision_reply_json_log_file :supervision-reply-json-log-output
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
raw etc_path ${directory:etc}
import netaddr netaddr
mode = 0775
url = {{ lopcomm_rrh_supervision_template }}
output = ${directory:bin}/lopcomm-rrh-supervision.py
[lopcomm-rrh-reset-info-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-reset-info.log
json-log-output = ${directory:var}/log/lopcomm-rrh-reset-info.json.log
context =
section slap_configuration slap-configuration
key log_file :log-output
key json_log_file :json-log-output
raw stats_period {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
import netaddr netaddr
mode = 0775
url = {{ lopcomm_rrh_reset_info_template }}
output = ${directory:bin}/lopcomm-rrh-reset-info.py
[lopcomm-rrh-reset-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-reset.log
json-log-output = ${directory:var}/log/lopcomm-rrh-reset.json.log
context =
section slap_configuration slap-configuration
key log_file :log-output
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
import netaddr netaddr
mode = 0775
url = {{ lopcomm_rrh_reset_template }}
output = ${directory:etc}/lopcomm-rrh-reset.py
[lopcomm-rrh-reset-cron]
recipe = slapos.cookbook:cron.d
cron-entries = ${cron:cron-entries}
name = rrh-resest
frequency = {{ slapparameter_dict.get("cron_schedule", "") }}
command = {{ buildout_directory}}/bin/pythonwitheggs ${lopcomm-rrh-reset-template:output}
[netconf-connection-promise]
<= monitor-promise-base
promise = check_command_execute
name = netconf-connection-promise.py
config-command = [ -f ${directory:etc}/is_netconf_connected ]
[firmware-update-promise]
<= monitor-promise-base
promise = check_command_execute
name = firmware-update-promise.py
config-command = [ -f ${directory:etc}/is_firmware_updated ]
[rrh-netconf-socket-promise]
<= monitor-promise-base
promise = check_socket_listening
name = rrh-netconf-socket-promise.py
config-host = ${slap-configuration:tap-ipv6-gateway}
config-port = 830
[amarisoft-stats-service]
recipe = slapos.cookbook:wrapper
command-line = ${amarisoft-stats-template:output}
...
...
@@ -433,38 +250,6 @@ mode = 0775
hash-files =
${amarisoft-rf-info-template:output}
[lopcomm-rrh-stats-service]
recipe = slapos.cookbook:wrapper
command-line = ${lopcomm-rrh-stats-template:output}
wrapper-path = ${directory:service}/lopcomm-rrh-stats
mode = 0775
hash-files =
${lopcomm-rrh-stats-template:output}
[lopcomm-rrh-supervision-service]
recipe = slapos.cookbook:wrapper
command-line = ${lopcomm-rrh-supervision-template:output}
wrapper-path = ${directory:service}/lopcomm-rrh-supervision
mode = 0775
hash-files =
${lopcomm-rrh-supervision-template:output}
[lopcomm-rrh-reset-info-service]
recipe = slapos.cookbook:wrapper
command-line = ${lopcomm-rrh-reset-info-template:output}
wrapper-path = ${directory:service}/lopcomm-rrh-reset-info
mode = 0775
hash-files =
${lopcomm-rrh-reset-info-template:output}
[lopcomm-firmware-dl]
recipe = slapos.recipe.build:download
url = https://lab.nexedi.com/nexedi/ors-utils/raw/master/lopcomm-firmware/${:filename}
filename = PR.PRM61C70V1004.006.tar.gz
md5sum = 5139019aae77c2f3178a99915f1c57dc
destination = ${directory:etc}/${:filename}
offline = false
[user-info]
recipe = slapos.cookbook:userinfo
...
...
@@ -584,7 +369,7 @@ monitor-gadget-url = ${:monitor-base-url}/gadget/software.cfg.html
{% if ru == "lopcomm" %}
ssh-command = ssh ${user-info:pw-name}@${slap-configuration:ipv6-random} -p ${sshd-port:port}
ssh-url = ssh://${user-info:pw-name}@[${slap-configuration:ipv6-random}]:${sshd-port:port}
ru-firmware =
${lopcomm-firmware-dl:filename
}
ru-firmware =
{{ru_lopcomm_firmware_filename}
}
ru-ipv6 = ${slap-configuration:tap-ipv6-gateway}
{% endif %}
...
...
@@ -614,7 +399,7 @@ promise = check_baseband_latency
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-amarisoft-stats-log = ${amarisoft-stats-template:log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
config-min-
txrx-delay = {{ slapparameter_dict.get("min_txrx_delay", 5
) }}
config-min-
rxtx-delay = {{ slapparameter_dict.get("min_rxtx_delay", 0
) }}
[check-amarisoft-stats-log.py]
<= macro.promise
...
...
@@ -623,79 +408,6 @@ output = ${directory:plugins}/check-amarisoft-stats-log.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-amarisoft-stats-log = ${amarisoft-stats-template:log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-vswr.py]
<= macro.promise
promise = check_lopcomm_vswr
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-rssi.py]
<= macro.promise
promise = check_lopcomm_rssi
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-pa-current.py]
<= macro.promise
promise = check_lopcomm_pa_current
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-pa-output-power.py]
<= macro.promise
promise = check_lopcomm_pa_output_power
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-sync.py]
<= macro.promise
promise = check_lopcomm_sync
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-lof.py]
<= macro.promise
promise = check_lopcomm_lof
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-stats-log.py]
<= macro.promise
promise = check_lopcomm_stats_log
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-stats-log = ${lopcomm-rrh-stats-template:log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
[check-lopcomm-config-log.py]
<= macro.promise
promise = check_lopcomm_config_log
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-config-log = ${lopcomm-rrh-config-template:log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
{% if ru == "lopcomm" %}
{%- set cell_list = slapparameter_dict.get('cell_list', {'default': {}}) %}
{%- for i, k in enumerate(cell_list) %}
{%- set sfp_port = cell_list[k].get('cpri_port_number', i) %}
{%- do extra_part_list.append('SFP%s-cpri-lock.py' % sfp_port) %}
[SFP{{sfp_port}}-cpri-lock.py]
<= macro.promise
promise = check_cpri_lock
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-sdr_dev = {{ slapparameter_dict.get('sdr_number', 0) }}
config-sfp_port = {{ sfp_port }}
config-amarisoft-rf-info-log = ${amarisoft-rf-info-template:log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
{%- endfor %}
{% endif %}
[check-rx-saturated.py]
<= macro.promise
promise = check_rx_saturated
...
...
@@ -704,9 +416,3 @@ config-rf-rx-chan-list = {{ list(range(0, int(slapparameter_dict.get('n_antenna_
config-amarisoft-stats-log = ${amarisoft-stats-template:log-output}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
config-max-rx-sample-db = {{ slapparameter_dict.get("max_rx_sample_db", 0) }}
[buildout]
parts +=
{%- for part in extra_part_list %}
{{ part }}
{%- endfor %}
software/ors-amarisoft/instance-fdd-enb-input-schema.json
View file @
394c348c
...
...
@@ -256,17 +256,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
high
er than this value)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
low
er than this value)"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if average TX/RX diff reaches threshold (higher than this value)"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-fdd-gnb-input-schema.json
View file @
394c348c
...
...
@@ -299,17 +299,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"
Minimum TX/RX diff threshold above which baseband latency promise will fail
"
,
"description"
:
"
Baseband latency promise will fail if minimum TX/RX diff reaches threshold (lower than this value)
"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Average TX/RX diff threshold above which baseband latency promise will fail"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-fdd-lopcomm-enb-input-schema.json
View file @
394c348c
...
...
@@ -349,17 +349,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
high
er than this value)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
low
er than this value)"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if average TX/RX diff reaches threshold (higher than this value)"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-fdd-lopcomm-gnb-input-schema.json
View file @
394c348c
...
...
@@ -299,17 +299,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"
Minimum TX/RX diff threshold above which baseband latency promise will fail
"
,
"description"
:
"
Baseband latency promise will fail if minimum TX/RX diff reaches threshold (lower than this value)
"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Average TX/RX diff threshold above which baseband latency promise will fail"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-fdd-ors-enb-input-schema.json
View file @
394c348c
...
...
@@ -245,17 +245,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
high
er than this value)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
low
er than this value)"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if average TX/RX diff reaches threshold (higher than this value)"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-fdd-ors-gnb-input-schema.json
View file @
394c348c
...
...
@@ -299,17 +299,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"
Minimum TX/RX diff threshold above which baseband latency promise will fail
"
,
"description"
:
"
Baseband latency promise will fail if minimum TX/RX diff reaches threshold (lower than this value)
"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Average TX/RX diff threshold above which baseband latency promise will fail"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
View file @
394c348c
...
...
@@ -320,17 +320,11 @@
"type": "number",
"default": 0
},
"min_
txr
x_delay": {
"min_
rxt
x_delay": {
"title": "Minimum available time for radio front end processing (ms)",
"description": "
Minimum TX/RX diff threshold above which baseband latency promise will fail
",
"description": "
Baseband latency promise will fail if minimum TX/RX diff reaches threshold (lower than this value)
",
"type": "number",
"default": 5
},
"avg_txrx_delay": {
"title": "Average available time for radio front end processing (ms)",
"description": "Average TX/RX diff threshold above which baseband latency promise will fail",
"type": "number",
"default": 7
"default": 0
},
"xlog_fluentbit_forward_host": {
"title": "Address to Forward Xlog by Fluenbit",
...
...
software/ors-amarisoft/instance-gnb.jinja2.cfg
View file @
394c348c
...
...
@@ -297,7 +297,7 @@ promise = check_baseband_latency
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-amarisoft-stats-log = ${amarisoft-stats-template:log-output}
config-stats-period = {{ slapparameter_dict.get("gnb_stats_fetch_period", 60) }}
config-min-
txrx-delay = {{ slapparameter_dict.get("min_txrx_delay", 5
) }}
config-min-
rxtx-delay = {{ slapparameter_dict.get("min_rxtx_delay", 0
) }}
[check-amarisoft-stats-log.py]
<= macro.promise
...
...
software/ors-amarisoft/instance-tdd-enb-input-schema.json
View file @
394c348c
...
...
@@ -266,17 +266,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
high
er than this value)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
low
er than this value)"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if average TX/RX diff reaches threshold (higher than this value)"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-tdd-gnb-input-schema.json
View file @
394c348c
...
...
@@ -310,17 +310,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"
Minimum TX/RX diff threshold above which baseband latency promise will fail
"
,
"description"
:
"
Baseband latency promise will fail if minimum TX/RX diff reaches threshold (lower than this value)
"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Average TX/RX diff threshold above which baseband latency promise will fail"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-tdd-m2ru-enb-input-schema.json
View file @
394c348c
...
...
@@ -304,17 +304,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
high
er than this value)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
low
er than this value)"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if average TX/RX diff reaches threshold (higher than this value)"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-tdd-m2ru-gnb-input-schema.json
View file @
394c348c
...
...
@@ -310,17 +310,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"
Minimum TX/RX diff threshold above which baseband latency promise will fail
"
,
"description"
:
"
Baseband latency promise will fail if minimum TX/RX diff reaches threshold (lower than this value)
"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Average TX/RX diff threshold above which baseband latency promise will fail"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-tdd-ors-enb-input-schema.json
View file @
394c348c
...
...
@@ -255,17 +255,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
high
er than this value)"
,
"description"
:
"Baseband latency promise will fail if minimum TX/RX diff reaches threshold (
low
er than this value)"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Baseband latency promise will fail if average TX/RX diff reaches threshold (higher than this value)"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance-tdd-ors-gnb-input-schema.json
View file @
394c348c
...
...
@@ -310,17 +310,11 @@
"type"
:
"number"
,
"default"
:
0
},
"min_
txr
x_delay"
:
{
"min_
rxt
x_delay"
:
{
"title"
:
"Minimum available time for radio front end processing (ms)"
,
"description"
:
"
Minimum TX/RX diff threshold above which baseband latency promise will fail
"
,
"description"
:
"
Baseband latency promise will fail if minimum TX/RX diff reaches threshold (lower than this value)
"
,
"type"
:
"number"
,
"default"
:
5
},
"avg_txrx_delay"
:
{
"title"
:
"Average available time for radio front end processing (ms)"
,
"description"
:
"Average TX/RX diff threshold above which baseband latency promise will fail"
,
"type"
:
"number"
,
"default"
:
7
"default"
:
0
},
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Address to Forward Xlog by Fluenbit"
,
...
...
software/ors-amarisoft/instance.cfg
View file @
394c348c
...
...
@@ -38,6 +38,12 @@ context =
raw bbu ${rf-mode:bbu}
raw ru ${rf-mode:ru}
$${:extra-context}
import-list =
rawfile ru_libinstance.jinja2.cfg ${ru_libinstance.jinja2.cfg:target}
rawfile ru_sdr_libinstance.jinja2.cfg ${ru_sdr_libinstance.jinja2.cfg:target}
rawfile ru_lopcomm_libinstance.jinja2.cfg ${ru_lopcomm_libinstance.jinja2.cfg:target}
rawfile ru_sunwave_libinstance.jinja2.cfg ${ru_sunwave_libinstance.jinja2.cfg:target}
[amarisoft]
recipe = slapos.recipe.build
...
...
@@ -270,14 +276,16 @@ extra-context =
raw sib23_template ${sib23.jinja2.asn:target}
raw amarisoft_stats_template ${amarisoft-stats.jinja2.py:target}
raw amarisoft_rf_info_template ${amarisoft-rf-info.jinja2.py:target}
raw lopcomm_rrh_stats_template ${lopcomm-rrh-stats.jinja2.py:target}
raw lopcomm_rrh_config_template ${lopcomm-rrh-config.jinja2.py:target}
raw lopcomm_rrh_software_template ${lopcomm-rrh-software.jinja2.py:target}
raw lopcomm_rrh_supervision_template ${lopcomm-rrh-supervision.jinja2.py:target}
raw lopcomm_rrh_reset_info_template ${lopcomm-rrh-reset-info.jinja2.py:target}
raw lopcomm_rrh_reset_template ${lopcomm-rrh-reset.jinja2.py:target}
raw CreateProcessingEle_template ${CreateProcessingEle.jinja2.xml:target}
raw cu_config_template ${cu_config.jinja2.xml:target}
raw ru_lopcomm_stats_template ${ru_lopcomm_stats.jinja2.py:target}
raw ru_lopcomm_config_template ${ru_lopcomm_config.jinja2.py:target}
raw ru_lopcomm_software_template ${ru_lopcomm_software.jinja2.py:target}
raw ru_lopcomm_supervision_template ${ru_lopcomm_supervision.jinja2.py:target}
raw ru_lopcomm_reset_info_template ${ru_lopcomm_reset-info.jinja2.py:target}
raw ru_lopcomm_reset_template ${ru_lopcomm_reset.jinja2.py:target}
raw ru_lopcomm_CreateProcessingEle_template ${ru_lopcomm_CreateProcessingEle.jinja2.xml:target}
raw ru_lopcomm_cu_config_template ${ru_lopcomm_cu_config.jinja2.xml:target}
raw ru_lopcomm_firmware_path ${ru_lopcomm_firmware-dl:target}
raw ru_lopcomm_firmware_filename ${ru_lopcomm_firmware-dl:filename}
raw openssl_location ${openssl:location}
raw default_lte_bandwidth ${default-params:default-lte-bandwidth}
raw default_lte_inactivity_timer ${default-params:default-lte-inactivity-timer}
...
...
software/ors-amarisoft/ru/buildout.cfg
0 → 100644
View file @
394c348c
# ru/buildout.cfg provides common software code for handling Radio Units.
[buildout]
extends =
sdr/buildout.cfg
lopcomm/buildout.cfg
sunwave/buildout.cfg
[ru_libinstance.jinja2.cfg]
<= download-base
software/ors-amarisoft/ru/libinstance.jinja2.cfg
0 → 100644
View file @
394c348c
{#- Package ru/libinstance provides common instance code for handling Radio Units and cells.
Use buildout() macro to emit instance-level code to
handle configured RU.
NOTE: driver-specific logic is implemented in rudrv.buildout() .
#}
{%- macro buildout() %}
{#- part emits new buildout section and registers it into buildout.parts #}
{%- set parts_list = [] %}
{%- macro part(name) %}
{%- do parts_list.append(name) %}
[{{ name }}]
{%- endmacro %}
{#- promise emits new buildout section for a promise #}
{%- macro promise(name) %}
{{ part('promise-'+name) }}
<= monitor-promise-base
name = {{ name }}.py
config-testing = {{ slapparameter_dict.get("testing", False) }}
config-stats-period = {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
{%- endmacro %}
{#- import RU drivers #}
{%- import 'ru_sdr_libinstance.jinja2.cfg' as rudrv_sdr with context %}
{%- import 'ru_lopcomm_libinstance.jinja2.cfg' as rudrv_lopcomm with context %}
{%- import 'ru_sunwave_libinstance.jinja2.cfg' as rudrv_sunwave with context %}
{%- set rudrv_dict = namespace(sdr=rudrv_sdr,
lopcomm=rudrv_lopcomm,
sunwave=rudrv_sunwave) %}
{#- invoke RU-specific buildout handler #}
{%- set ru_type = {'lopcomm': 'lopcomm', 'm2ru': 'sunwave'}.get(ru, 'sdr') %}
{%- set rudrv = rudrv_dict[ru_type] %}
{{ rudrv.buildout() }}
[buildout]
parts +=
{%- for part in parts_list %}
{{ part }}
{%- endfor %}
{%- endmacro %}
software/ors-amarisoft/
netconf
/CreateProcessingEle.jinja2.xml
→
software/ors-amarisoft/
ru/lopcomm
/CreateProcessingEle.jinja2.xml
View file @
394c348c
File moved
software/ors-amarisoft/ru/lopcomm/buildout.cfg
0 → 100644
View file @
394c348c
# ru/lopcomm/buildout.cfg provides software code for handling Lopcomm ORAN Radio Units.
[buildout]
parts +=
ru_lopcomm_ncclient_common.py
[ru_lopcomm_libinstance.jinja2.cfg]
<= download-base
[ru_lopcomm_config.jinja2.py]
<= download-base
[ru_lopcomm_reset-info.jinja2.py]
<= download-base
[ru_lopcomm_reset.jinja2.py]
<= download-base
[ru_lopcomm_stats.jinja2.py]
<= download-base
[ru_lopcomm_software.jinja2.py]
<= download-base
[ru_lopcomm_supervision.jinja2.py]
<= download-base
[ru_lopcomm_ncclient_common.py]
<= download-base
destination = ${buildout:directory}/ncclient_common.py
[ru_lopcomm_CreateProcessingEle.jinja2.xml]
<= download-base
[ru_lopcomm_cu_config.jinja2.xml]
<= download-base
[ru_lopcomm_firmware-dl]
recipe = slapos.recipe.build:download
url = https://lab.nexedi.com/nexedi/ors-utils/raw/master/lopcomm-firmware/${:filename}
filename = PR.PRM61C70V1004.006.tar.gz
md5sum = 5139019aae77c2f3178a99915f1c57dc
software/ors-amarisoft/
lopcomm-rrh-
config.jinja2.py
→
software/ors-amarisoft/
ru/lopcomm/
config.jinja2.py
View file @
394c348c
File moved
software/ors-amarisoft/
netconf
/cu_config.jinja2.xml
→
software/ors-amarisoft/
ru/lopcomm
/cu_config.jinja2.xml
View file @
394c348c
<xc:config
xmlns:xc=
"urn:ietf:params:xml:ns:netconf:base:1.0"
>
{%- set n_antenna_dl = slapparameter_dict.get('n_antenna_dl', int(slap_configuration['configuration.default_n_antenna_dl'])) %}
{%- set n_antenna_ul = slapparameter_dict.get('n_antenna_ul', int(slap_configuration['configuration.default_n_antenna_ul'])) %}
<user-plane-configuration
xc:operation=
"replace"
xmlns=
"urn:o-ran:uplane-conf-option8:1.0"
>
<!-- low-level-t[r]x-links -->
<tx-links>
<name>
TXA0P00C00
</name>
<processing-element>
PE0
</processing-element>
<tx-array-carrier>
TXA0CC00
</tx-array-carrier>
<tx-endpoint>
TXA0P00C00
</tx-endpoint>
</tx-links>
{% if slapparameter_dict.get('n_antenna_dl') == 4 %}
<tx-links>
<name>
TXA0P01C00
</name>
<processing-element>
PE0
</processing-element>
<tx-array-carrier>
TXA0CC00
</tx-array-carrier>
<tx-endpoint>
TXA0P01C00
</tx-endpoint>
</tx-links>
{% endif %}
<tx-links>
<name>
TXA0P00C01
</name>
<processing-element>
PE0
</processing-element>
<tx-array-carrier>
TXA0CC00
</tx-array-carrier>
<tx-endpoint>
TXA0P00C01
</tx-endpoint>
</tx-links>
{% if slapparameter_dict.get('n_antenna_dl') == 4 %}
<tx-links>
<name>
TXA0P01C01
</name>
<processing-element>
PE0
</processing-element>
<tx-array-carrier>
TXA0CC00
</tx-array-carrier>
<tx-endpoint>
TXA0P01C01
</tx-endpoint>
</tx-links>
{% endif %}
<rx-links>
<name>
RXA0P00C00
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<rx-endpoint>
RXA0P00C00
</rx-endpoint>
</rx-links>
<rx-links>
<name>
PRACH0P00C00
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<rx-endpoint>
PRACH0P00C00
</rx-endpoint>
</rx-links>
{% if slapparameter_dict.get('n_antenna_dl') == 4 %}
<rx-links>
<name>
RXA0P01C00
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<rx-endpoint>
RXA0P01C00
</rx-endpoint>
</rx-links>
<rx-links>
<name>
PRACH0P01C00
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<rx-endpoint>
PRACH0P01C00
</rx-endpoint>
</rx-links>
{% endif %}
<rx-links>
<name>
RXA0P00C01
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<rx-endpoint>
RXA0P00C01
</rx-endpoint>
</rx-links>
<rx-links>
<name>
PRACH0P00C01
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<rx-endpoint>
PRACH0P00C01
</rx-endpoint>
</rx-links>
{% if slapparameter_dict.get('n_antenna_dl') == 4 %}
<rx-links>
<name>
RXA0P01C01
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<rx-endpoint>
RXA0P01C01
</rx-endpoint>
</rx-links>
<rx-links>
<name>
PRACH0P01C01
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
RXA0CC00
</rx-array-carrier>
<rx-endpoint>
PRACH0P01C01
</rx-endpoint>
</rx-links>
{% endif %}
<!-- TX path: eaxcid → TxEndpoint
↘
mod → static TxEndpoint → TxArray
↗
TxCarrier
(static TxEndpoint, TxArray and their association are defined by RU itself)
-->
{%- set TxCarrier = 'TXA0CC00' %}
{%- for ant in range(n_antenna_dl) %}
{%- set port = ant // 2 %}
{%- set chan = ant % 2 %}
{%- set txep = 'TXA0P%02dC%02d' % (port, chan) %}
<!-- TxAntenna{{ ant }} -->
<tx-endpoints>
<name>
TXA0P00C00
</name>
<name>
{{ txep }}
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
0
</eaxc-id>
<eaxc-id>
{{ ant }}
</eaxc-id>
</e-axcid>
</tx-endpoints>
{% if slapparameter_dict.get('n_antenna_dl') == 4 %}
<tx-endpoints>
<name>
TXA0P01C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
2
</eaxc-id>
</e-axcid>
</tx-endpoints>
{% endif %}
<tx-endpoints>
<name>
TXA0P00C01
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
1
</eaxc-id>
</e-axcid>
</tx-endpoints>
{% if slapparameter_dict.get('n_antenna_dl') == 4 %}
<tx-endpoints>
<name>
TXA0P01C01
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
3
</eaxc-id>
</e-axcid>
</tx-endpoints>
{% endif %}
<rx-endpoints>
<name>
RXA0P00C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
0
</eaxc-id>
</e-axcid>
</rx-endpoints>
<rx-endpoints>
<name>
PRACH0P00C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
8
</eaxc-id>
</e-axcid>
</rx-endpoints>
{% if slapparameter_dict.get('n_antenna_dl') == 4 %}
<rx-endpoints>
<name>
RXA0P01C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
2
</eaxc-id>
</e-axcid>
</rx-endpoints>
<rx-endpoints>
<name>
PRACH0P01C00
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
9
</eaxc-id>
</e-axcid>
</rx-endpoints>
{% endif %}
<tx-links>
<name>
{{ txep }}
</name>
<processing-element>
PE0
</processing-element>
<tx-array-carrier>
{{ TxCarrier }}
</tx-array-carrier>
<tx-endpoint>
{{ txep }}
</tx-endpoint>
</tx-links>
{%- endfor %}
<!--
RX path: eaxcid ← RxEndpoint
(data ∪ prach)
↖
demod ← static RxEndpoint ← RxArray
↗
RxCarrier
(static RxEndpoint, RxArray and their association are defined by RU itself)
-->
{%- set RxCarrier = 'RXA0CC00' %}
{%- for ant in range(n_antenna_ul) %}
{%- set port = ant // 2 %}
{%- set chan = ant % 2 %}
{%- set rxep = 'RXA0P%02dC%02d' % (port, chan) %}
{%- set prachep = 'PRACH0P%02dC%02d' % (port, chan) %}
<!-- RxAntenna{{ ant }} -->
<rx-endpoints>
<name>
RXA0P00C01
</name>
<name>
{{ rxep }}
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
1
</eaxc-id>
<eaxc-id>
{{ ant }}
</eaxc-id>
</e-axcid>
</rx-endpoints>
<rx-endpoints>
<name>
PRACH0P00C01
</name>
<name>
{{ prachep }}
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
24
</eaxc-id>
<eaxc-id>
{{ 16*chan + 8 + port }}
</eaxc-id>
</e-axcid>
</rx-endpoints>
{% if slapparameter_dict.get('n_antenna_dl') == 4 %}
<rx-endpoints>
<name>
RXA0P01C01
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
3
</eaxc-id>
</e-axcid>
</rx-endpoints>
<rx-endpoints>
<name>
PRACH0P01C01
</name>
<e-axcid>
<o-du-port-bitmask>
61440
</o-du-port-bitmask>
<band-sector-bitmask>
3968
</band-sector-bitmask>
<ccid-bitmask>
112
</ccid-bitmask>
<ru-port-bitmask>
15
</ru-port-bitmask>
<eaxc-id>
25
</eaxc-id>
</e-axcid>
</rx-endpoints>
{% endif %}
<rx-links>
<name>
{{ rxep }}
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
{{ RxCarrier }}
</rx-array-carrier>
<rx-endpoint>
{{ rxep }}
</rx-endpoint>
</rx-links>
<rx-links>
<name>
{{ prachep }}
</name>
<processing-element>
PE0
</processing-element>
<rx-array-carrier>
{{ RxCarrier }}
</rx-array-carrier>
<rx-endpoint>
{{ prachep }}
</rx-endpoint>
</rx-links>
{%- endfor %}
<!-- TX/RX carriers -->
<tx-array-carriers>
<name>
TXA0CC00
</name>
<name>
{{ TxCarrier }}
</name>
<absolute-frequency-center>
{{ slapparameter_dict.get('dl_earfcn', 300) }}
</absolute-frequency-center>
<center-of-channel-bandwidth>
{{ 1000000*slapparameter_dict.get('txa0cc00_center_frequency', 2140) }}
</center-of-channel-bandwidth>
<channel-bandwidth>
{{ {'1.4 MHz': 1400000, '3 MHz': 3000000, '5 MHz': 5000000, '10 MHz': 10000000, '15 MHz': 15000000, '20 MHz': 20000000}.get(slapparameter_dict.get('bandwidth'), '20 MHz') }}
</channel-bandwidth>
...
...
@@ -222,7 +103,7 @@
<downlink-sfn-offset>
0
</downlink-sfn-offset>
</tx-array-carriers>
<rx-array-carriers>
<name>
RXA0CC00
</name>
<name>
{{ RxCarrier }}
</name>
<absolute-frequency-center>
{{ slapparameter_dict.get('rxa0cc00_center_frequency_earfcn', 18300) }}
</absolute-frequency-center>
<center-of-channel-bandwidth>
{{ 1000000*slapparameter_dict.get('rxa0cc00_center_frequency', 1950) }}
</center-of-channel-bandwidth>
<channel-bandwidth>
{{ {'1.4 MHz': 1400000, '3 MHz': 3000000, '5 MHz': 5000000, '10 MHz': 10000000, '15 MHz': 15000000, '20 MHz': 20000000}.get(slapparameter_dict.get('bandwidth'), '20 MHz') }}
</channel-bandwidth>
...
...
software/ors-amarisoft/ru/lopcomm/libinstance.jinja2.cfg
0 → 100644
View file @
394c348c
{#- Package ru/lopcomm/libinstance provides instance code for handling Lopcomm ORAN Radio Units. #}
{%- macro buildout() %}
{#- indicate whether RU is listening for netconf #}
{{ promise('lopcomm-rrh-netconf-socket') }}
promise = check_socket_listening
config-host = ${slap-configuration:tap-ipv6-gateway}
config-port = 830
{#- monitor state of netconf connection + keep on touching RU watchdog #}
[lopcomm-rrh-supervision-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-supervision.log
supervision-reply-json-log-output = ${directory:var}/log/lopcomm-rrh-supervision-reply.json.log
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
key supervision_reply_json_log_file :supervision-reply-json-log-output
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
raw etc_path ${directory:etc}
import netaddr netaddr
mode = 0775
url = {{ ru_lopcomm_supervision_template }}
output = ${directory:bin}/lopcomm-rrh-supervision.py
[lopcomm-rrh-supervision-service]
recipe = slapos.cookbook:wrapper
command-line = ${lopcomm-rrh-supervision-template:output}
wrapper-path = ${directory:service}/lopcomm-rrh-supervision
mode = 0775
hash-files =
${lopcomm-rrh-supervision-template:output}
{{ promise('lopcomm-rrh-netconf-connection') }}
promise = check_command_execute
config-command = [ -f ${directory:etc}/is_netconf_connected ]
{#- push firmware to RU #}
[lopcomm-rrh-software-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-software.log
software-reply-json-log-output = ${directory:var}/log/lopcomm-rrh-software-reply.json.log
remote-file-path = sftp://${user-info:pw-name}@[${slap-configuration:ipv6-random}]:${sshd-port:port}{{ru_lopcomm_firmware_path}}
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
key software_reply_json_log_file :software-reply-json-log-output
key remote_file_path :remote-file-path
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
raw etc_path ${directory:etc}
raw firmware_name {{ru_lopcomm_firmware_filename}}
import netaddr netaddr
mode = 0775
url = {{ ru_lopcomm_software_template }}
output = ${directory:script}/lopcomm-rrh-software.py
{{ promise('lopcomm-firmware') }}
promise = check_command_execute
config-command = [ -f ${directory:etc}/is_firmware_updated ]
{#- push config to RU #}
{% if slapparameter_dict.get("cu_config_link", None) %}
[cu-config-dl]
recipe = slapos.recipe.build:download
url = {{ slapparameter_dict.get("cu_config_link") }}
version = {{ slapparameter_dict.get("cu_config_version") }}
offline = false
{% endif %}
[lopcomm-cu-config]
<= config-base
{% if slapparameter_dict.get("cu_config_link", None) %}
url = ${cu-config-dl:target}
{% else %}
url = {{ ru_lopcomm_cu_config_template }}
{% endif %}
output = ${directory:etc}/cu_config.xml
[lopcomm-rrh-config-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-config.log
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
raw CreateProcessingEle_template {{ ru_lopcomm_CreateProcessingEle_template }}
key cu_config_template lopcomm-cu-config:output
import netaddr netaddr
mode = 0775
url = {{ ru_lopcomm_config_template }}
output = ${directory:script}/lopcomm-rrh-config.py
{{ promise('lopcomm-config-log') }}
promise = check_lopcomm_config_log
config-config-log = ${lopcomm-rrh-config-template:log-output}
{#- handle notifications from RU #}
[lopcomm-rrh-stats-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-stats.log
json-log-output = ${directory:var}/log/lopcomm-rrh-stats.json.log
cfg-json-log-output = ${directory:var}/log/lopcomm-rrh-config.json.log
supervision-json-log-output = ${directory:var}/log/lopcomm-rrh-supervision.json.log
ncsession-json-log-output = ${directory:var}/log/lopcomm-rrh-ncsession.json.log
software-json-log-output = ${directory:var}/log/lopcomm-rrh-software.json.log
context =
section directory directory
section slap_configuration slap-configuration
key slapparameter_dict slap-configuration:configuration
key log_file :log-output
key json_log_file :json-log-output
key cfg_json_log_file :cfg-json-log-output
key supervision_json_log_file :supervision-json-log-output
key ncsession_json_log_file :ncsession-json-log-output
key software_json_log_file :software-json-log-output
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
import netaddr netaddr
mode = 0775
url = {{ ru_lopcomm_stats_template }}
output = ${directory:bin}/lopcomm-rrh-stats.py
[lopcomm-rrh-stats-service]
recipe = slapos.cookbook:wrapper
command-line = ${lopcomm-rrh-stats-template:output}
wrapper-path = ${directory:service}/lopcomm-rrh-stats
mode = 0775
hash-files =
${lopcomm-rrh-stats-template:output}
{{ promise('lopcomm-vswr') }}
promise = check_lopcomm_vswr
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
{{ promise('lopcomm-rssi') }}
promise = check_lopcomm_rssi
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
{{ promise('lopcomm-pa-current') }}
promise = check_lopcomm_pa_current
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
{{ promise('lopcomm-pa-output-power') }}
promise = check_lopcomm_pa_output_power
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
{{ promise('lopcomm-sync') }}
promise = check_lopcomm_sync
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
{{ promise('lopcomm-lof') }}
promise = check_lopcomm_lof
config-netconf-log = ${lopcomm-rrh-stats-template:json-log-output}
{{ promise('lopcomm-stats-log') }}
promise = check_lopcomm_stats_log
config-stats-log = ${lopcomm-rrh-stats-template:log-output}
{%- set cell_list = slapparameter_dict.get('cell_list', {'default': {}}) %}
{%- for i, k in enumerate(cell_list) %}
{%- set sfp_port = cell_list[k].get('cpri_port_number', i) %}
{{ promise('SFP%d-cpri-lock' % sfp_port) }}
promise = check_cpri_lock
config-sdr_dev = {{ slapparameter_dict.get('sdr_number', 0) }}
config-sfp_port = {{ sfp_port }}
config-amarisoft-rf-info-log = ${amarisoft-rf-info-template:log-output}
{%- endfor %}
{#- reset RU periodically #}
{%- if slapparameter_dict.get("cron_schedule") %}
[lopcomm-rrh-reset-info-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-reset-info.log
json-log-output = ${directory:var}/log/lopcomm-rrh-reset-info.json.log
context =
section slap_configuration slap-configuration
key log_file :log-output
key json_log_file :json-log-output
raw stats_period {{ slapparameter_dict.get("enb_stats_fetch_period", 60) }}
raw testing {{ slapparameter_dict.get("testing", False) }}
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
import netaddr netaddr
mode = 0775
url = {{ ru_lopcomm_reset_info_template }}
output = ${directory:bin}/lopcomm-rrh-reset-info.py
[lopcomm-rrh-reset-template]
recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do
log-output = ${directory:var}/log/lopcomm-rrh-reset.log
json-log-output = ${directory:var}/log/lopcomm-rrh-reset.json.log
context =
section slap_configuration slap-configuration
key log_file :log-output
raw python_path {{ buildout_directory}}/bin/pythonwitheggs
raw buildout_directory_path {{ buildout_directory }}
import netaddr netaddr
mode = 0775
url = {{ ru_lopcomm_reset_template }}
output = ${directory:etc}/lopcomm-rrh-reset.py
{{ part('lopcomm-reset-cron') }}
recipe = slapos.cookbook:cron.d
cron-entries = ${cron:cron-entries}
name = rrh-resest
frequency = {{ slapparameter_dict.get("cron_schedule", "") }}
command = {{ buildout_directory}}/bin/pythonwitheggs ${lopcomm-rrh-reset-template:output}
{{ part('lopcomm-reset-info-service') }}
recipe = slapos.cookbook:wrapper
command-line = ${lopcomm-rrh-reset-info-template:output}
wrapper-path = ${directory:service}/lopcomm-rrh-reset-info
mode = 0775
hash-files =
${lopcomm-rrh-reset-info-template:output}
{%- endif %}
{%- endmacro %}
software/ors-amarisoft/ncclient_common.py
→
software/ors-amarisoft/
ru/lopcomm/
ncclient_common.py
View file @
394c348c
File moved
software/ors-amarisoft/
lopcomm-rrh-
reset-info.jinja2.py
→
software/ors-amarisoft/
ru/lopcomm/
reset-info.jinja2.py
View file @
394c348c
File moved
software/ors-amarisoft/
lopcomm-rrh-
reset.jinja2.py
→
software/ors-amarisoft/
ru/lopcomm/
reset.jinja2.py
View file @
394c348c
File moved
software/ors-amarisoft/
lopcomm-rrh-
software.jinja2.py
→
software/ors-amarisoft/
ru/lopcomm/
software.jinja2.py
View file @
394c348c
File moved
software/ors-amarisoft/
lopcomm-rrh-
stats.jinja2.py
→
software/ors-amarisoft/
ru/lopcomm/
stats.jinja2.py
View file @
394c348c
File moved
software/ors-amarisoft/
lopcomm-rrh-
supervision.jinja2.py
→
software/ors-amarisoft/
ru/lopcomm/
supervision.jinja2.py
View file @
394c348c
File moved
software/ors-amarisoft/ru/sdr/buildout.cfg
0 → 100644
View file @
394c348c
# ru/sdr/buildout.cfg provides software code for handling SDR Radio Units.
[ru_sdr_libinstance.jinja2.cfg]
<= download-base
software/ors-amarisoft/ru/sdr/libinstance.jinja2.cfg
0 → 100644
View file @
394c348c
{#- Package ru/sdr/libinstance provides instance code for handling SDR Radio Units. #}
{%- macro buildout() %}
{#- nothing SDR-specific #}
{%- endmacro %}
software/ors-amarisoft/ru/sunwave/buildout.cfg
0 → 100644
View file @
394c348c
# ru/sunwave/buildout.cfg provides software code for handling SunWave Radio Units.
[ru_sunwave_libinstance.jinja2.cfg]
<= download-base
software/ors-amarisoft/ru/sunwave/libinstance.jinja2.cfg
0 → 100644
View file @
394c348c
{#- Package ru/sunwave/libinstance provides instance code for handling SunWave Radio Units. #}
{%- macro buildout() %}
{#- nothing SunWave-specific #}
{%- endmacro %}
software/ors-amarisoft/software-base.cfg
View file @
394c348c
...
...
@@ -15,11 +15,11 @@ extends =
../../component/dnsmasq/buildout.cfg
../../component/fluent-bit/buildout.cfg
../../component/openssh/buildout.cfg
ru/buildout.cfg
parts +=
template
slapos-cookbook
ncclient_common
# copy all configs by default
mme.jinja2.cfg
dnsmasq.jinja2.cfg
...
...
@@ -29,8 +29,6 @@ parts +=
ue_db.jinja2.cfg
ue-lte.jinja2.cfg
ue-nr.jinja2.cfg
CreateProcessingEle.jinja2.xml
cu_config.jinja2.xml
sib23.jinja2.asn
monitor-httpd-extra-conf
# copy all gadget file
...
...
@@ -57,34 +55,12 @@ output = ${buildout:directory}/template.cfg
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/${:_update_hash_filename_}
[ncclient_common]
<= download-base
destination = ${buildout:directory}/ncclient_common.py
[amarisoft-stats.jinja2.py]
<= download-base
[amarisoft-rf-info.jinja2.py]
<= download-base
[lopcomm-rrh-stats.jinja2.py]
<= download-base
[lopcomm-rrh-config.jinja2.py]
<= download-base
[lopcomm-rrh-software.jinja2.py]
<= download-base
[lopcomm-rrh-supervision.jinja2.py]
<= download-base
[lopcomm-rrh-reset-info.jinja2.py]
<= download-base
[lopcomm-rrh-reset.jinja2.py]
<= download-base
[template-enb]
<= download-base
...
...
@@ -111,10 +87,6 @@ url = ${:_profile_base_location_}/${:_buildout_section_name_}
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/config/${:_buildout_section_name_}
[copy-netconf-to-instance]
recipe = slapos.recipe.build:download
url = ${:_profile_base_location_}/netconf/${:_buildout_section_name_}
[gadget]
recipe = slapos.recipe.template
output = ${buildout:directory}/${:_buildout_section_name_}/renderjs.js
...
...
@@ -167,13 +139,6 @@ filename = ue-lte.jinja2.cfg
<= copy-config-to-instance
filename = ue-nr.jinja2.cfg
[CreateProcessingEle.jinja2.xml]
<= copy-netconf-to-instance
filename = CreateProcessingEle.jinja2.xml
[cu_config.jinja2.xml]
<= copy-netconf-to-instance
filename = cu_config.jinja2.xml
# Download gadget files
[software.cfg.html]
<= copy-gadget-to-software
...
...
@@ -198,6 +163,7 @@ eggs =
${bcrypt:egg}
xmltodict
ncclient
${lxml-python:egg}
interpreter = pythonwitheggs
[xlte-repository]
...
...
software/seleniumrunner/software.cfg
View file @
394c348c
...
...
@@ -52,6 +52,3 @@ url = ${:_profile_base_location_}/${:filename}
[template]
<= macro-template
output = ${buildout:directory}/template.cfg
[versions]
plone.recipe.command = 1.1
software/seleniumserver/buildout.hash.cfg
View file @
394c348c
...
...
@@ -19,4 +19,4 @@ md5sum = 10e19df182c692b71ea552da183a0bcf
[template-selenium]
filename = instance-selenium.cfg.in
md5sum =
2d84d5fb9306b88ef71e101acb46f684
md5sum =
8c48c7bef34dd54ab3bd94c91f2bf041
software/seleniumserver/instance-selenium.cfg.in
View file @
394c348c
...
...
@@ -97,28 +97,28 @@ environment =
hostname = $${slap-configuration:ipv4-random}
[selenium-server-node-instance-firefox-52]
<= selenium-server-node-instance
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-52:version},firefox_binary=${firefox-wrapper-52:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.16.1:location}
port = 7777
[selenium-server-node-instance-firefox-60]
<= selenium-server-node-instance
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-60:version},firefox_binary=${firefox-wrapper-60:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.22.0:location}
port = 777
8
port = 777
7
[selenium-server-node-instance-firefox-68]
<= selenium-server-node-instance
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-68:version},firefox_binary=${firefox-wrapper-68:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.24.0:location}
port = 777
9
port = 777
8
[selenium-server-node-instance-firefox-78]
<= selenium-server-node-instance
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-78:version},firefox_binary=${firefox-wrapper-78:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.24.0:location}
port = 7779
[selenium-server-node-instance-firefox-115]
<= selenium-server-node-instance
capabilities = browserName=firefox,maxInstances=3,marionette=true,platform=LINUX,version=${firefox-115:version},firefox_binary=${firefox-wrapper-115:location}
java-args = -Dwebdriver.gecko.driver=${geckodriver-0.33.0:location}
port = 7780
[selenium-server-node-instance-chromium-69]
...
...
@@ -137,12 +137,10 @@ port = 7782
[selenium-server-admin-password]
recipe = slapos.cookbook:generate.password
username = admin
bytes = 12
[selenium-server-selenium-password]
recipe = slapos.cookbook:generate.password
username = selenium
bytes = 12
[selenium-server-frontnend-certificate]
...
...
@@ -303,10 +301,10 @@ instance-promises =
$${selenium-server-frontend-listen-promise:name}
$${selenium-server-hub-listen-promise:name}
$${selenium-server-hub-nodes-registered-promise:name}
$${selenium-server-node-firefox-52-listen-promise:name}
$${selenium-server-node-firefox-60-listen-promise:name}
$${selenium-server-node-firefox-68-listen-promise:name}
$${selenium-server-node-firefox-78-listen-promise:name}
$${selenium-server-node-firefox-115-listen-promise:name}
$${selenium-server-node-instance-chromium-69-listen-promise:name}
$${selenium-server-node-instance-chromium-91-listen-promise:name}
...
...
@@ -353,11 +351,6 @@ inline =
sys.exit(0 if expected_node_count == actual_node_count else 1)
[selenium-server-node-firefox-52-listen-promise]
<= check-port-listening-promise
config-host = $${selenium-server-node-instance-firefox-52:hostname}
config-port = $${selenium-server-node-instance-firefox-52:port}
[selenium-server-node-firefox-60-listen-promise]
<= check-port-listening-promise
config-host = $${selenium-server-node-instance-firefox-60:hostname}
...
...
@@ -373,6 +366,11 @@ config-port = $${selenium-server-node-instance-firefox-68:port}
config-host = $${selenium-server-node-instance-firefox-78:hostname}
config-port = $${selenium-server-node-instance-firefox-78:port}
[selenium-server-node-firefox-115-listen-promise]
<= check-port-listening-promise
config-host = $${selenium-server-node-instance-firefox-115:hostname}
config-port = $${selenium-server-node-instance-firefox-115:port}
[selenium-server-node-instance-chromium-69-listen-promise]
<= check-port-listening-promise
config-host = $${selenium-server-node-instance-chromium-69:hostname}
...
...
software/seleniumserver/software.cfg
View file @
394c348c
...
...
@@ -75,3 +75,7 @@ post-install =
[firefox-78]
post-install =
${symlink-extra-fonts-to-firefox-fonts-dir:install}
[firefox-115]
post-install =
${symlink-extra-fonts-to-firefox-fonts-dir:install}
software/seleniumserver/test/data/test.TestFirefox115.test_screenshot.png
0 → 100644
View file @
394c348c
10.9 KB
software/seleniumserver/test/data/test.TestFirefox52.test_screenshot.png
deleted
100644 → 0
View file @
26defa86
7.74 KB
software/seleniumserver/test/test.py
View file @
394c348c
...
...
@@ -290,12 +290,12 @@ class TestBrowserSelection(WebServerMixin, SeleniumServerTestCase):
'Gecko/20100101 Firefox/60.0'
,
driver
.
execute_script
(
'return navigator.userAgent'
))
driver
.
quit
()
desired_capabilities
[
'version'
]
=
'
52.9.0
esr'
desired_capabilities
[
'version'
]
=
'
115.3.1
esr'
driver
=
webdriver
.
Remote
(
command_executor
=
webdriver_url
,
desired_capabilities
=
desired_capabilities
)
self
.
assertIn
(
'Gecko/20100101 Firefox/
52
.0'
,
'Gecko/20100101 Firefox/
115
.0'
,
driver
.
execute_script
(
'return navigator.userAgent'
))
driver
.
quit
()
...
...
@@ -310,6 +310,12 @@ class TestFrontend(WebServerMixin, SeleniumServerTestCase):
parsed
=
urllib
.
parse
.
urlparse
(
admin_url
)
self
.
assertEqual
(
'admin'
,
parsed
.
username
)
self
.
assertTrue
(
parsed
.
password
)
self
.
assertEqual
(
requests
.
get
(
parsed
.
_replace
(
netloc
=
f"[
{
parsed
.
hostname
}
]:
{
parsed
.
port
}
"
).
geturl
(),
verify
=
False
).
status_code
,
requests
.
codes
.
unauthorized
)
self
.
assertIn
(
'Grid Console'
,
requests
.
get
(
admin_url
,
verify
=
False
).
text
)
...
...
@@ -319,6 +325,12 @@ class TestFrontend(WebServerMixin, SeleniumServerTestCase):
parsed
=
urllib
.
parse
.
urlparse
(
webdriver_url
)
self
.
assertEqual
(
'selenium'
,
parsed
.
username
)
self
.
assertTrue
(
parsed
.
password
)
self
.
assertEqual
(
requests
.
get
(
parsed
.
_replace
(
netloc
=
f"[
{
parsed
.
hostname
}
]:
{
parsed
.
port
}
"
).
geturl
(),
verify
=
False
).
status_code
,
requests
.
codes
.
unauthorized
)
# XXX we are using a self signed certificate, but selenium 3.141.0 does
# not expose API to ignore certificate verification
...
...
@@ -397,19 +409,6 @@ class TestSSHServer(SeleniumServerTestCase):
self
.
assertIn
(
b"Welcome to SlapOS Selenium Server."
,
received
)
class
TestFirefox52
(
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
ImageComparisonTestCase
,
):
desired_capabilities
=
dict
(
DesiredCapabilities
.
FIREFOX
,
version
=
'52.9.0esr'
)
user_agent
=
'Gecko/20100101 Firefox/52.0'
# resizing window is not supported on firefox 52 geckodriver
@
unittest
.
expectedFailure
def
test_resize_window
(
self
):
super
().
test_resize_window
()
class
TestFirefox60
(
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
...
...
@@ -427,6 +426,7 @@ class TestFirefox68(
desired_capabilities
=
dict
(
DesiredCapabilities
.
FIREFOX
,
version
=
'68.0.2esr'
)
user_agent
=
'Gecko/20100101 Firefox/68.0'
class
TestFirefox78
(
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
...
...
@@ -436,6 +436,20 @@ class TestFirefox78(
user_agent
=
'Gecko/20100101 Firefox/78.0'
class
TestFirefox115
(
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
ImageComparisonTestCase
,
):
desired_capabilities
=
dict
(
DesiredCapabilities
.
FIREFOX
,
version
=
'115.3.1esr'
)
user_agent
=
'Gecko/20100101 Firefox/115.0'
# resizing window does not work, but we don't really depend on it
@
unittest
.
expectedFailure
def
test_resize_window
(
self
):
super
().
test_resize_window
()
class
TestChrome69
(
BrowserCompatibilityMixin
,
SeleniumServerTestCase
,
...
...
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