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
106
Merge Requests
106
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
7467cb0c
Commit
7467cb0c
authored
Nov 06, 2024
by
Joanne Hugé
Browse files
Options
Browse Files
Download
Plain Diff
Update Release Candidate
parents
19ebaf23
51ca4092
Changes
21
Show whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
103 additions
and
221 deletions
+103
-221
component/gdal/buildout.cfg
component/gdal/buildout.cfg
+3
-1
component/openvpn/buildout.cfg
component/openvpn/buildout.cfg
+3
-4
component/pytest/buildout.cfg
component/pytest/buildout.cfg
+5
-0
software/dependency-track/software.cfg
software/dependency-track/software.cfg
+2
-2
software/erp5/test/setup.py
software/erp5/test/setup.py
+1
-1
software/erp5/test/test/__init__.py
software/erp5/test/test/__init__.py
+1
-185
software/erp5/test/test/benchmarks.py
software/erp5/test/test/benchmarks.py
+3
-0
software/erp5/test/test/test_balancer.py
software/erp5/test/test/test_balancer.py
+3
-2
software/erp5/test/test/test_erp5.py
software/erp5/test/test/test_erp5.py
+4
-2
software/erp5/test/test/test_mariadb.py
software/erp5/test/test/test_mariadb.py
+1
-1
software/simpleran/buildout.hash.cfg
software/simpleran/buildout.hash.cfg
+2
-2
software/simpleran/instance-enb-input-schema.json
software/simpleran/instance-enb-input-schema.json
+7
-2
software/simpleran/instance-enb.jinja2.cfg
software/simpleran/instance-enb.jinja2.cfg
+46
-12
software/simpleran/instance-ors-enb-input-schema.json
software/simpleran/instance-ors-enb-input-schema.json
+3
-0
software/simpleran/instance-ors-gnb-input-schema.json
software/simpleran/instance-ors-gnb-input-schema.json
+6
-0
software/simpleran/instance.cfg
software/simpleran/instance.cfg
+1
-0
software/simpleran/test/test.py
software/simpleran/test/test.py
+1
-0
software/simpleran/test/test_ors.py
software/simpleran/test/test_ors.py
+2
-0
stack/erp5/buildout.hash.cfg
stack/erp5/buildout.hash.cfg
+1
-1
stack/erp5/instance-zeo.cfg.in
stack/erp5/instance-zeo.cfg.in
+2
-2
stack/slapos.cfg
stack/slapos.cfg
+6
-4
No files found.
component/gdal/buildout.cfg
View file @
7467cb0c
...
@@ -48,8 +48,10 @@ environment =
...
@@ -48,8 +48,10 @@ environment =
[gdal-python]
[gdal-python]
recipe = zc.recipe.egg:custom
recipe = zc.recipe.egg:custom
egg = GDAL ==${gdal:version}
egg = GDAL ==${gdal:version}
+SlapOSPatched001
setup-eggs = ${numpy:egg}
setup-eggs = ${numpy:egg}
patches = https://github.com/OSGeo/gdal/commit/166ee6fee9c5e2356605e89abf72c23f3bd0cb74.patch?full_index=1#878ccd1b33e03a5d7445e8d4ff9b6746
patch-options = -p3
rpath = ${:library-dirs}
rpath = ${:library-dirs}
include-dirs =
include-dirs =
${gdal:location}/include
${gdal:location}/include
...
...
component/openvpn/buildout.cfg
View file @
7467cb0c
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
extends =
extends =
../flex/buildout.cfg
../flex/buildout.cfg
../libnsl/buildout.cfg
../libnsl/buildout.cfg
../lz4/buildout.cfg
../lzo/buildout.cfg
../lzo/buildout.cfg
../openssl/buildout.cfg
../openssl/buildout.cfg
../xz-utils/buildout.cfg
../xz-utils/buildout.cfg
...
@@ -20,9 +21,7 @@ configure-options =
...
@@ -20,9 +21,7 @@ configure-options =
--enable-iproute2
--enable-iproute2
environment =
environment =
PATH=${xz-utils:location}/bin:%(PATH)s
PATH=${xz-utils:location}/bin:%(PATH)s
LZO_LIBS=-L${lzo:location}/lib -llzo2
LZO_CFLAGS=-I${lzo:location}/include
OPENSSL_LIBS=-L${openssl-1.1:location}/lib -lcrypto -lssl
OPENSSL_LIBS=-L${openssl-1.1:location}/lib -lcrypto -lssl
OPENSSL_CFLAGS=-I${openssl-1.1:location}/include
OPENSSL_CFLAGS=-I${openssl-1.1:location}/include
LDFLAGS
=
-Wl,-rpath=${lzo:location}/lib -Wl,-rpath=${flex:location}/lib -Wl,-rpath=${openssl-1.1:location}/lib -L${libnsl:location}/lib -Wl,-rpath=${libnsl:location}/lib
LDFLAGS
=-L${lz4:location}/lib -Wl,-rpath=${lz4:location}/lib -L${lzo:location}/lib
-Wl,-rpath=${lzo:location}/lib -Wl,-rpath=${flex:location}/lib -Wl,-rpath=${openssl-1.1:location}/lib -L${libnsl:location}/lib -Wl,-rpath=${libnsl:location}/lib
CPPFLAGS=-I${lzo:location}/include -I${flex:location}/include -I${libnsl:location}/include
CPPFLAGS=-I${lz
4:location}/include -I${lz
o:location}/include -I${flex:location}/include -I${libnsl:location}/include
component/pytest/buildout.cfg
View file @
7467cb0c
...
@@ -14,6 +14,11 @@ eggs = ${pytest:eggs}
...
@@ -14,6 +14,11 @@ eggs = ${pytest:eggs}
[versions]
[versions]
pytest = 8.3.3:whl
pytest-timeout = 2.3.1
pytest-mock = 3.14.0:whl
[versions:python2]
pytest = 4.6.11:whl
pytest = 4.6.11:whl
pytest-timeout = 1.4.2
pytest-timeout = 1.4.2
pytest-mock = 2.0.0:whl
pytest-mock = 2.0.0:whl
software/dependency-track/software.cfg
View file @
7467cb0c
...
@@ -18,8 +18,8 @@ parts =
...
@@ -18,8 +18,8 @@ parts =
[dependency-track-bundled.jar]
[dependency-track-bundled.jar]
recipe = slapos.recipe.build:download
recipe = slapos.recipe.build:download
url = https://github.com/DependencyTrack/dependency-track/releases/download/4.1
1.4
/dependency-track-bundled.jar
url = https://github.com/DependencyTrack/dependency-track/releases/download/4.1
2.1
/dependency-track-bundled.jar
md5sum =
a1c5e8f216a999b6d497b133c93588a
6
md5sum =
3621372d92eab7d7e7e0302cbd697de
6
[instance-profile]
[instance-profile]
recipe = slapos.recipe.template
recipe = slapos.recipe.template
...
...
software/erp5/test/setup.py
View file @
7467cb0c
...
@@ -41,7 +41,7 @@ setup(name=name,
...
@@ -41,7 +41,7 @@ setup(name=name,
url
=
"https://lab.nexedi.com/nexedi/slapos"
,
url
=
"https://lab.nexedi.com/nexedi/slapos"
,
packages
=
find_packages
(),
packages
=
find_packages
(),
install_requires
=
[
install_requires
=
[
'slapos.core'
,
'slapos.core
[testing]
'
,
'supervisor'
,
'supervisor'
,
'slapos.libnetworkcache'
,
'slapos.libnetworkcache'
,
'erp5.util'
,
'erp5.util'
,
...
...
software/erp5/test/test/__init__.py
View file @
7467cb0c
...
@@ -25,26 +25,13 @@
...
@@ -25,26 +25,13 @@
#
#
##############################################################################
##############################################################################
import
hashlib
import
itertools
import
itertools
import
json
import
json
import
os
import
os
import
shutil
import
subprocess
import
sys
import
sys
import
tempfile
import
time
import
urllib
import
requests
from
slapos.testing.testcase
import
makeModuleSetUpAndTestCaseClass
from
cryptography
import
x509
from
cryptography.hazmat.backends
import
default_backend
from
cryptography.hazmat.primitives
import
hashes
,
serialization
from
cryptography.hazmat.primitives.asymmetric
import
rsa
from
cryptography.x509.oid
import
NameOID
from
slapos.testing.testcase
import
ManagedResource
,
makeModuleSetUpAndTestCaseClass
from
slapos.testing.utils
import
findFreeTCPPort
ERP5PY3
=
os
.
environ
[
'SLAPOS_SR_TEST_NAME'
]
==
'erp5-py3'
ERP5PY3
=
os
.
environ
[
'SLAPOS_SR_TEST_NAME'
]
==
'erp5-py3'
...
@@ -221,174 +208,3 @@ class ERP5InstanceTestCase(SlapOSInstanceTestCase, metaclass=ERP5InstanceTestMet
...
@@ -221,174 +208,3 @@ class ERP5InstanceTestCase(SlapOSInstanceTestCase, metaclass=ERP5InstanceTestMet
def
getComputerPartitionPath
(
cls
,
partition_reference
):
def
getComputerPartitionPath
(
cls
,
partition_reference
):
partition_id
=
cls
.
getComputerPartition
(
partition_reference
).
getId
()
partition_id
=
cls
.
getComputerPartition
(
partition_reference
).
getId
()
return
os
.
path
.
join
(
cls
.
slap
.
_instance_root
,
partition_id
)
return
os
.
path
.
join
(
cls
.
slap
.
_instance_root
,
partition_id
)
class
CaucaseService
(
ManagedResource
):
"""A caucase service.
"""
url
:
str
=
None
directory
:
str
=
None
_caucased_process
:
subprocess
.
Popen
=
None
def
open
(
self
)
->
None
:
# start a caucased and server certificate.
software_release_root_path
=
os
.
path
.
join
(
self
.
_cls
.
slap
.
_software_root
,
hashlib
.
md5
(
self
.
_cls
.
getSoftwareURL
().
encode
()).
hexdigest
(),
)
caucased_path
=
os
.
path
.
join
(
software_release_root_path
,
'bin'
,
'caucased'
)
self
.
directory
=
tempfile
.
mkdtemp
()
caucased_dir
=
os
.
path
.
join
(
self
.
directory
,
'caucased'
)
os
.
mkdir
(
caucased_dir
)
os
.
mkdir
(
os
.
path
.
join
(
caucased_dir
,
'user'
))
os
.
mkdir
(
os
.
path
.
join
(
caucased_dir
,
'service'
))
backend_caucased_netloc
=
f'
{
self
.
_cls
.
_ipv4_address
}
:
{
findFreeTCPPort
(
self
.
_cls
.
_ipv4_address
)
}
'
self
.
url
=
'http://'
+
backend_caucased_netloc
self
.
_caucased_process
=
subprocess
.
Popen
(
[
caucased_path
,
'--db'
,
os
.
path
.
join
(
caucased_dir
,
'caucase.sqlite'
),
'--server-key'
,
os
.
path
.
join
(
caucased_dir
,
'server.key.pem'
),
'--netloc'
,
backend_caucased_netloc
,
'--service-auto-approve-count'
,
'1'
,
],
# capture subprocess output not to pollute test's own stdout
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
STDOUT
,
)
for
_
in
range
(
30
):
try
:
if
requests
.
get
(
self
.
url
).
status_code
==
200
:
break
except
Exception
:
pass
time
.
sleep
(
1
)
else
:
raise
RuntimeError
(
'caucased failed to start.'
)
def
close
(
self
)
->
None
:
self
.
_caucased_process
.
terminate
()
self
.
_caucased_process
.
wait
()
self
.
_caucased_process
.
stdout
.
close
()
shutil
.
rmtree
(
self
.
directory
)
@
property
def
ca_crt_path
(
self
)
->
str
:
"""Path of the CA certificate from this caucase.
"""
ca_crt_path
=
os
.
path
.
join
(
self
.
directory
,
'ca.crt.pem'
)
if
not
os
.
path
.
exists
(
ca_crt_path
):
with
open
(
ca_crt_path
,
'w'
)
as
f
:
f
.
write
(
requests
.
get
(
urllib
.
parse
.
urljoin
(
self
.
url
,
'/cas/crt/ca.crt.pem'
,
)).
text
)
return
ca_crt_path
class
CaucaseCertificate
(
ManagedResource
):
"""A certificate signed by a caucase service.
"""
ca_crt_file
:
str
=
None
crl_file
:
str
=
None
csr_file
:
str
=
None
cert_file
:
str
=
None
key_file
:
str
=
None
def
open
(
self
)
->
None
:
self
.
tmpdir
=
tempfile
.
mkdtemp
()
self
.
ca_crt_file
=
os
.
path
.
join
(
self
.
tmpdir
,
'ca-crt.pem'
)
self
.
crl_file
=
os
.
path
.
join
(
self
.
tmpdir
,
'ca-crl.pem'
)
self
.
csr_file
=
os
.
path
.
join
(
self
.
tmpdir
,
'csr.pem'
)
self
.
cert_file
=
os
.
path
.
join
(
self
.
tmpdir
,
'crt.pem'
)
self
.
key_file
=
os
.
path
.
join
(
self
.
tmpdir
,
'key.pem'
)
def
close
(
self
)
->
None
:
shutil
.
rmtree
(
self
.
tmpdir
)
@
property
def
_caucase_path
(
self
)
->
str
:
"""path of caucase executable.
"""
software_release_root_path
=
os
.
path
.
join
(
self
.
_cls
.
slap
.
_software_root
,
hashlib
.
md5
(
self
.
_cls
.
getSoftwareURL
().
encode
()).
hexdigest
(),
)
return
os
.
path
.
join
(
software_release_root_path
,
'bin'
,
'caucase'
)
def
request
(
self
,
common_name
:
str
,
caucase
:
CaucaseService
,
san
:
x509
.
SubjectAlternativeName
=
None
)
->
None
:
"""Generate certificate and request signature to the caucase service.
This overwrite any previously requested certificate for this instance.
"""
cas_args
=
[
self
.
_caucase_path
,
'--ca-url'
,
caucase
.
url
,
'--ca-crt'
,
self
.
ca_crt_file
,
'--crl'
,
self
.
crl_file
,
]
key
=
rsa
.
generate_private_key
(
public_exponent
=
65537
,
key_size
=
2048
,
backend
=
default_backend
()
)
with
open
(
self
.
key_file
,
'wb'
)
as
f
:
f
.
write
(
key
.
private_bytes
(
encoding
=
serialization
.
Encoding
.
PEM
,
format
=
serialization
.
PrivateFormat
.
TraditionalOpenSSL
,
encryption_algorithm
=
serialization
.
NoEncryption
(),
))
csr
=
x509
.
CertificateSigningRequestBuilder
().
subject_name
(
x509
.
Name
([
x509
.
NameAttribute
(
NameOID
.
COMMON_NAME
,
common_name
,
),
]))
if
san
:
csr
=
csr
.
add_extension
(
san
,
critical
=
True
)
csr
=
csr
.
sign
(
key
,
hashes
.
SHA256
(),
default_backend
())
with
open
(
self
.
csr_file
,
'wb'
)
as
f
:
f
.
write
(
csr
.
public_bytes
(
serialization
.
Encoding
.
PEM
))
csr_id
=
subprocess
.
check_output
(
cas_args
+
[
'--send-csr'
,
self
.
csr_file
,
],
).
split
()[
0
].
decode
()
assert
csr_id
for
_
in
range
(
30
):
if
not
subprocess
.
call
(
cas_args
+
[
'--get-crt'
,
csr_id
,
self
.
cert_file
,
],
stdout
=
subprocess
.
PIPE
,
stderr
=
subprocess
.
STDOUT
,
)
==
0
:
break
else
:
time
.
sleep
(
1
)
else
:
raise
RuntimeError
(
'getting service certificate failed.'
)
with
open
(
self
.
cert_file
)
as
cert_file
:
assert
'BEGIN CERTIFICATE'
in
cert_file
.
read
()
def
revoke
(
self
,
caucase
:
CaucaseService
)
->
None
:
"""Revoke the client certificate on this caucase instance.
"""
subprocess
.
check_call
([
self
.
_caucase_path
,
'--ca-url'
,
caucase
.
url
,
'--ca-crt'
,
self
.
ca_crt_file
,
'--crl'
,
self
.
crl_file
,
'--revoke-crt'
,
self
.
cert_file
,
self
.
key_file
,
])
software/erp5/test/test/benchmarks.py
View file @
7467cb0c
...
@@ -44,6 +44,9 @@ from . import ERP5InstanceTestCase, default, matrix, setUpModule
...
@@ -44,6 +44,9 @@ from . import ERP5InstanceTestCase, default, matrix, setUpModule
from
.test_erp5
import
ZopeSkinsMixin
from
.test_erp5
import
ZopeSkinsMixin
_
=
setUpModule
class
TestOrderBuildPackingListSimulation
(
class
TestOrderBuildPackingListSimulation
(
ZopeSkinsMixin
,
ZopeSkinsMixin
,
ERP5InstanceTestCase
,
ERP5InstanceTestCase
,
...
...
software/erp5/test/test/test_balancer.py
View file @
7467cb0c
...
@@ -23,11 +23,12 @@ import psutil
...
@@ -23,11 +23,12 @@ import psutil
import
requests
import
requests
from
slapos.proxy.db_version
import
DB_VERSION
from
slapos.proxy.db_version
import
DB_VERSION
from
slapos.testing.caucase
import
CaucaseCertificate
,
CaucaseService
from
slapos.testing.utils
import
CrontabMixin
,
ManagedHTTPServer
from
slapos.testing.utils
import
CrontabMixin
,
ManagedHTTPServer
from
.
import
CaucaseCertificate
,
CaucaseService
,
ERP5InstanceTestCase
,
default
,
matrix
,
setUpModule
from
.
import
ERP5InstanceTestCase
,
default
,
matrix
,
setUpModule
setUpModule
# pyflakes
_
=
setUpModule
class
EchoHTTPServer
(
ManagedHTTPServer
):
class
EchoHTTPServer
(
ManagedHTTPServer
):
...
...
software/erp5/test/test/test_erp5.py
View file @
7467cb0c
...
@@ -48,12 +48,14 @@ import xmlrpc.client
...
@@ -48,12 +48,14 @@ import xmlrpc.client
import
psutil
import
psutil
import
requests
import
requests
import
urllib3
import
urllib3
from
slapos.testing.caucase
import
CaucaseService
from
slapos.testing.utils
import
CrontabMixin
from
slapos.testing.utils
import
CrontabMixin
import
zc.buildout.configparser
import
zc.buildout.configparser
from
.
import
CaucaseService
,
ERP5InstanceTestCase
,
default
,
matrix
,
neo
,
setUpModule
,
ERP5PY3
setUpModule
# pyflakes
from
.
import
ERP5InstanceTestCase
,
default
,
matrix
,
neo
,
setUpModule
,
ERP5PY3
_
=
setUpModule
class
TestPublishedURLIsReachableMixin
:
class
TestPublishedURLIsReachableMixin
:
...
...
software/erp5/test/test/test_mariadb.py
View file @
7467cb0c
...
@@ -42,7 +42,7 @@ from slapos.testing.utils import CrontabMixin, getPromisePluginParameterDict
...
@@ -42,7 +42,7 @@ from slapos.testing.utils import CrontabMixin, getPromisePluginParameterDict
from
.
import
ERP5InstanceTestCase
,
default
,
matrix
,
setUpModule
from
.
import
ERP5InstanceTestCase
,
default
,
matrix
,
setUpModule
setUpModule
# pyflakes
_
=
setUpModule
class
MariaDBTestCase
(
ERP5InstanceTestCase
):
class
MariaDBTestCase
(
ERP5InstanceTestCase
):
...
...
software/simpleran/buildout.hash.cfg
View file @
7467cb0c
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
[template]
[template]
filename = instance.cfg
filename = instance.cfg
md5sum =
f1b9ae02222c020c89d1a3fa75475826
md5sum =
770fccd0e4c5ad30e9637fd643a126c5
[template-ors]
[template-ors]
filename = instance-ors.cfg
filename = instance-ors.cfg
...
@@ -60,7 +60,7 @@ md5sum = 52da9fe3a569199e35ad89ae1a44c30e
...
@@ -60,7 +60,7 @@ md5sum = 52da9fe3a569199e35ad89ae1a44c30e
[template-enb]
[template-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
_update_hash_filename_ = instance-enb.jinja2.cfg
md5sum =
9cd5250fc523863d206b8dc038beaf82
md5sum =
a05c6ed1830d77a9faea67ac54cf9c2f
[template-ors-enb]
[template-ors-enb]
_update_hash_filename_ = instance-ors-enb.jinja2.cfg
_update_hash_filename_ = instance-ors-enb.jinja2.cfg
...
...
software/simpleran/instance-enb-input-schema.json
View file @
7467cb0c
...
@@ -212,6 +212,12 @@
...
@@ -212,6 +212,12 @@
"type"
:
"number"
,
"type"
:
"number"
,
"default"
:
0
"default"
:
0
},
},
"xlog_forwarding_enabled"
:
{
"title"
:
"Enable eNB xlog forwarding"
,
"description"
:
"Enable eNB xlog forwarding through fluentbit"
,
"type"
:
"boolean"
,
"default"
:
"true"
},
"wendelin_telecom_software_release_url"
:
{
"wendelin_telecom_software_release_url"
:
{
"title"
:
"Wendelin Telecom Software Release URL"
,
"title"
:
"Wendelin Telecom Software Release URL"
,
"description"
:
"URL of the Wendelin Telecom Software Release to use to request a shared instance"
,
"description"
:
"URL of the Wendelin Telecom Software Release to use to request a shared instance"
,
...
@@ -221,8 +227,7 @@
...
@@ -221,8 +227,7 @@
"xlog_fluentbit_forward_host"
:
{
"xlog_fluentbit_forward_host"
:
{
"title"
:
"Fluentbit Xlog forwarding address"
,
"title"
:
"Fluentbit Xlog forwarding address"
,
"description"
:
"Address of remote Fluentd or Fluentbit server to which Fluentbit should forward Xlog data"
,
"description"
:
"Address of remote Fluentd or Fluentbit server to which Fluentbit should forward Xlog data"
,
"type"
:
"string"
,
"type"
:
"string"
"default"
:
"fluentd.rapid.space"
},
},
"xlog_fluentbit_forward_port"
:
{
"xlog_fluentbit_forward_port"
:
{
"title"
:
"Fluentbit Xlog forwarding port"
,
"title"
:
"Fluentbit Xlog forwarding port"
,
...
...
software/simpleran/instance-enb.jinja2.cfg
View file @
7467cb0c
...
@@ -8,8 +8,8 @@
...
@@ -8,8 +8,8 @@
'use_ipv4': False,
'use_ipv4': False,
'gnb_id_bits': 28,
'gnb_id_bits': 28,
'nssai': {'1': {'sst': 1}},
'nssai': {'1': {'sst': 1}},
'xlog_forwarding_enabled': True,
'wendelin_telecom_software_release_url': 'wendelin-telecom-enb-shared-instance',
'wendelin_telecom_software_release_url': 'wendelin-telecom-enb-shared-instance',
'xlog_fluentbit_forward_host': 'fluentd.rapid.space',
'xlog_fluentbit_forward_port': 24224,
'xlog_fluentbit_forward_port': 24224,
} %}
} %}
{%- set gtp_addr_lo = '127.0.1.1' %}
{%- set gtp_addr_lo = '127.0.1.1' %}
...
@@ -26,8 +26,12 @@ parts =
...
@@ -26,8 +26,12 @@ parts =
enb-config
enb-config
enb-service
enb-service
xamari-xlog-service
xamari-xlog-service
xlog-fluentbit-service
request-wendelin-telecom-shared
request-wendelin-telecom-shared
{%- if slapparameter_dict.xlog_forwarding_enabled %}
xlog-fluentbit-service
check-xlog-fluentbit-forward-host.py
check-xlog-fluentbit-health.py
{%- endif %}
check-baseband-latency.py
check-baseband-latency.py
monitor-base
monitor-base
publish-connection-information
publish-connection-information
...
@@ -165,11 +169,25 @@ wrapper-path = ${directory:service}/${:_buildout_section_name_}
...
@@ -165,11 +169,25 @@ wrapper-path = ${directory:service}/${:_buildout_section_name_}
command-line = ${xamari-xlog-script:output}
command-line = ${xamari-xlog-script:output}
hash-files = ${:command-line}
hash-files = ${:command-line}
[request-wendelin-telecom-shared]
<= slap-connection
recipe = slapos.cookbook:requestoptional
name = Wendelin Telecom Registration
software-url = {{ slapparameter_dict.wendelin_telecom_software_release_url }}
shared = true
{%- if not slapparameter_dict.xlog_forwarding_enabled or slapparameter_dict.get("xlog_fluentbit_forward_host") %}
state = destroyed
{%- else %}
config-fluentbit-tag = ${xlog-fluentbit-tag:xlog-fluentbit-tag}
return = gateway-host
{%- endif %}
{% if slapparameter_dict.xlog_forwarding_enabled %}
[xlog-fluentbit-tag]
[xlog-fluentbit-tag]
recipe = slapos.recipe.build
recipe = slapos.recipe.build
computer = ${slap-connection:computer-id}
computer = ${slap-connection:computer-id}
enb-id = {{ slapparameter_dict.get("enb_id") }}
enb-id = {{ slapparameter_dict.get("enb_id"
, ""
) }}
gnb-id = {{ slapparameter_dict.get("gnb_id") }}
gnb-id = {{ slapparameter_dict.get("gnb_id"
, ""
) }}
init =
init =
import socket
import socket
...
@@ -189,13 +207,22 @@ init =
...
@@ -189,13 +207,22 @@ init =
recipe = slapos.recipe.template
recipe = slapos.recipe.template
output = ${directory:etc}/${:_buildout_section_name_}.cfg
output = ${directory:etc}/${:_buildout_section_name_}.cfg
logfile = ${xamari-xlog-script:logfile}
logfile = ${xamari-xlog-script:logfile}
forward-host = {{ slapparameter_dict.
xlog_fluentbit_forward_host
}}
forward-host = {{ slapparameter_dict.
get('xlog_fluentbit_forward_host', '') or '${request-wendelin-telecom-shared:connection-gateway-host}'
}}
forward-port = {{ slapparameter_dict.xlog_fluentbit_forward_port }}
forward-port = {{ slapparameter_dict.xlog_fluentbit_forward_port }}
forward-shared-key = {{ slapparameter_dict.get('xlog_fluentbit_forward_shared_key', '') }}
forward-shared-key = {{ slapparameter_dict.get('xlog_fluentbit_forward_shared_key', '') }}
forward-self-hostname = {{ B(comp_id['comp-id']) }}
forward-self-hostname = {{ B(comp_id['comp-id']) }}
monitoring-host = {{ my_ipv4 }}
monitoring-port = {{ slapparameter_dict.xlog_fluentbit_forward_port + 1 }}
inline =
inline =
[SERVICE]
[SERVICE]
flush 5
flush 5
HTTP_Server On
HTTP_Listen ${:monitoring-host}
HTTP_PORT ${:monitoring-port}
Health_Check On
HC_Errors_Count 0
HC_Retry_Failure_Count 0
HC_Period 60
[INPUT]
[INPUT]
name tail
name tail
path ${:logfile}
path ${:logfile}
...
@@ -212,6 +239,7 @@ inline =
...
@@ -212,6 +239,7 @@ inline =
Shared_Key ${:forward-shared-key}
Shared_Key ${:forward-shared-key}
{%- endif %}
{%- endif %}
Self_Hostname ${:forward-self-hostname}
Self_Hostname ${:forward-self-hostname}
Retry_Limit 50
tls on
tls on
tls.verify off
tls.verify off
...
@@ -223,13 +251,17 @@ command-line = ${:fluentbit} -c ${:fluentbit-config}
...
@@ -223,13 +251,17 @@ command-line = ${:fluentbit} -c ${:fluentbit-config}
wrapper-path = ${directory:service}/${:_buildout_section_name_}
wrapper-path = ${directory:service}/${:_buildout_section_name_}
hash-files = ${:fluentbit-config}
hash-files = ${:fluentbit-config}
[request-wendelin-telecom-shared]
[check-xlog-fluentbit-forward-host.py]
<= slap-connection
<= macro.promise
recipe = slapos.cookbook:requestoptional
promise = check_socket_listening
name = Wendelin Telecom Registration
config-host = ${xlog-fluentbit-config:forward-host}
software-url = {{ slapparameter_dict.wendelin_telecom_software_release_url }}
config-port = ${xlog-fluentbit-config:forward-port}
shared = true
config-fluentbit-tag = ${xlog-fluentbit-tag:xlog-fluentbit-tag}
[check-xlog-fluentbit-health.py]
<= macro.promise
promise = check_url_available
config-url = http://${xlog-fluentbit-config:monitoring-host}:${xlog-fluentbit-config:monitoring-port}/api/v1/health
{%- endif %}
[config-base]
[config-base]
recipe = slapos.recipe.template:jinja2
recipe = slapos.recipe.template:jinja2
...
@@ -280,7 +312,9 @@ ru-list = {{ dumps(rulib.iru_dict.keys() | sort) }}
...
@@ -280,7 +312,9 @@ ru-list = {{ dumps(rulib.iru_dict.keys() | sort) }}
cell-list = {{ dumps(rulib.icell_dict.keys() | sort) }}
cell-list = {{ dumps(rulib.icell_dict.keys() | sort) }}
peer-list = {{ dumps(ipeer_dict.keys() | sort) }}
peer-list = {{ dumps(ipeer_dict.keys() | sort) }}
peer-cell-list = {{ dumps(ipeercell_dict.keys() | sort) }}
peer-cell-list = {{ dumps(ipeercell_dict.keys() | sort) }}
{%- if slapparameter_dict.xlog_forwarding_enabled %}
fluentbit-tag = ${xlog-fluentbit-tag:xlog-fluentbit-tag}
fluentbit-tag = ${xlog-fluentbit-tag:xlog-fluentbit-tag}
{%- endif %}
[monitor-instance-parameter]
[monitor-instance-parameter]
...
...
software/simpleran/instance-ors-enb-input-schema.json
View file @
7467cb0c
...
@@ -199,6 +199,9 @@
...
@@ -199,6 +199,9 @@
"min_rxtx_delay"
:
{
"min_rxtx_delay"
:
{
"$ref"
:
"instance-enb-input-schema.json#/properties/min_rxtx_delay"
"$ref"
:
"instance-enb-input-schema.json#/properties/min_rxtx_delay"
},
},
"xlog_forwarding_enabled"
:
{
"$ref"
:
"instance-enb-input-schema.json#/properties/xlog_forwarding_enabled"
},
"wendelin_telecom_software_release_url"
:
{
"wendelin_telecom_software_release_url"
:
{
"$ref"
:
"instance-enb-input-schema.json#/properties/wendelin_telecom_software_release_url"
"$ref"
:
"instance-enb-input-schema.json#/properties/wendelin_telecom_software_release_url"
},
},
...
...
software/simpleran/instance-ors-gnb-input-schema.json
View file @
7467cb0c
...
@@ -189,6 +189,12 @@
...
@@ -189,6 +189,12 @@
"min_rxtx_delay"
:
{
"min_rxtx_delay"
:
{
"$ref"
:
"instance-ors-enb-input-schema.json#/properties/min_rxtx_delay"
"$ref"
:
"instance-ors-enb-input-schema.json#/properties/min_rxtx_delay"
},
},
"xlog_forwarding_enabled"
:
{
"$ref"
:
"instance-ors-enb-input-schema.json#/properties/xlog_forwarding_enabled"
},
"wendelin_telecom_software_release_url"
:
{
"$ref"
:
"instance-ors-enb-input-schema.json#/properties/wendelin_telecom_software_release_url"
},
"xlog_fluentbit_forward_host"
:
{
"xlog_fluentbit_forward_host"
:
{
"$ref"
:
"instance-ors-enb-input-schema.json#/properties/xlog_fluentbit_forward_host"
"$ref"
:
"instance-ors-enb-input-schema.json#/properties/xlog_fluentbit_forward_host"
},
},
...
...
software/simpleran/instance.cfg
View file @
7467cb0c
...
@@ -40,6 +40,7 @@ context =
...
@@ -40,6 +40,7 @@ context =
section slap_connection slap-connection
section slap_connection slap-connection
key slapparameter_dict slap-configuration:configuration
key slapparameter_dict slap-configuration:configuration
key lan_ipv4 lan-ip:ipv4
key lan_ipv4 lan-ip:ipv4
key my_ipv4 slap-configuration:ipv4-random
key my_ipv6 slap-configuration:ipv6-random
key my_ipv6 slap-configuration:ipv6-random
$${:extra-context}
$${:extra-context}
import-list =
import-list =
...
...
software/simpleran/test/test.py
View file @
7467cb0c
...
@@ -332,6 +332,7 @@ class ENBTestCase4(RFTestCase4):
...
@@ -332,6 +332,7 @@ class ENBTestCase4(RFTestCase4):
'1'
:
{
'plmn'
:
'51413'
,
'tac'
:
0x124
},
'1'
:
{
'plmn'
:
'51413'
,
'tac'
:
0x124
},
'2'
:
{
'plmn'
:
'55555'
,
'tac'
:
0x125
,
'ranac'
:
210
,
'reserved'
:
True
},
'2'
:
{
'plmn'
:
'55555'
,
'tac'
:
0x125
,
'ranac'
:
210
,
'reserved'
:
True
},
},
},
'xlog_forwarding_enabled'
:
False
,
})}
})}
@
classmethod
@
classmethod
...
...
software/simpleran/test/test_ors.py
View file @
7467cb0c
...
@@ -104,6 +104,7 @@ enb_param_dict = {
...
@@ -104,6 +104,7 @@ enb_param_dict = {
'tac'
:
2
'tac'
:
2
},
},
},
},
'xlog_forwarding_enabled'
:
False
,
}
}
gnb_param_dict
=
{
gnb_param_dict
=
{
# ors_version for tests is B39, so dl_nr_arfcn needs to be within N39
# ors_version for tests is B39, so dl_nr_arfcn needs to be within N39
...
@@ -148,6 +149,7 @@ gnb_param_dict = {
...
@@ -148,6 +149,7 @@ gnb_param_dict = {
'tac'
:
2
'tac'
:
2
},
},
},
},
'xlog_forwarding_enabled'
:
False
,
}
}
gnb_param_dict1
=
{
gnb_param_dict1
=
{
'plmn_list'
:
{
'plmn_list'
:
{
...
...
stack/erp5/buildout.hash.cfg
View file @
7467cb0c
...
@@ -78,7 +78,7 @@ md5sum = 1333d2fc21f64da4010a4eafea59d141
...
@@ -78,7 +78,7 @@ md5sum = 1333d2fc21f64da4010a4eafea59d141
[template-zeo]
[template-zeo]
filename = instance-zeo.cfg.in
filename = instance-zeo.cfg.in
md5sum =
6513f1ecd9a2daaf36ca720f15932ae3
md5sum =
025f11aef75bf00d61e90c6734ce13d8
[template-zeo-conf]
[template-zeo-conf]
filename = zeo.conf.in
filename = zeo.conf.in
...
...
stack/erp5/instance-zeo.cfg.in
View file @
7467cb0c
...
@@ -108,9 +108,9 @@ inline =
...
@@ -108,9 +108,9 @@ inline =
--file="$zodb_directory/$zodb_path"
--file="$zodb_directory/$zodb_path"
CURRENT_EXIT_CODE=$?
CURRENT_EXIT_CODE=$?
if [
! "$CURRENT_EXIT_CODE"="0"
]; then
if [
$CURRENT_EXIT_CODE != 0
]; then
EXIT_CODE="$CURRENT_EXIT_CODE"
EXIT_CODE="$CURRENT_EXIT_CODE"
echo "$storage_name Backup
restoration
failed."
echo "$storage_name Backup failed."
fi
fi
{% endfor -%}
{% endfor -%}
{% endfor -%}
{% endfor -%}
...
...
stack/slapos.cfg
View file @
7467cb0c
...
@@ -151,6 +151,7 @@ annotated-types = 0.6.0:whl
...
@@ -151,6 +151,7 @@ annotated-types = 0.6.0:whl
anyio = 4.3.0:whl
anyio = 4.3.0:whl
apache-libcloud = 2.4.0
apache-libcloud = 2.4.0
argon2-cffi = 20.1.0
argon2-cffi = 20.1.0
arrow = 1.2.3
asn1crypto = 1.3.0
asn1crypto = 1.3.0
astor = 0.8.1
astor = 0.8.1
asttokens = 2.4.1:whl
asttokens = 2.4.1:whl
...
@@ -209,6 +210,7 @@ executing = 2.0.1:whl
...
@@ -209,6 +210,7 @@ executing = 2.0.1:whl
fastjsonschema = 2.18.1
fastjsonschema = 2.18.1
feedparser = 6.0.10
feedparser = 6.0.10
Flask = 3.0.0:whl
Flask = 3.0.0:whl
fqdn = 1.5.1
frozenlist = 1.4.0:whl
frozenlist = 1.4.0:whl
funcsigs = 1.0.2
funcsigs = 1.0.2
functools32 = 3.2.3.post2
functools32 = 3.2.3.post2
...
@@ -231,12 +233,14 @@ Importing = 1.10
...
@@ -231,12 +233,14 @@ Importing = 1.10
importlib-metadata = 6.8.0:whl
importlib-metadata = 6.8.0:whl
importlib-resources = 5.10.2:whl
importlib-resources = 5.10.2:whl
incremental = 22.10.0
incremental = 22.10.0
iniconfig = 2.0.0:whl
inotify-simple = 1.1.1
inotify-simple = 1.1.1
ipaddress = 1.0.23
ipaddress = 1.0.23
ipykernel = 6.29.3:whl
ipykernel = 6.29.3:whl
ipython = 8.18.1:whl
ipython = 8.18.1:whl
ipython-genutils = 0.2.0
ipython-genutils = 0.2.0
ipywidgets = 8.1.2:whl
ipywidgets = 8.1.2:whl
isoduration = 20.11.0
itsdangerous = 2.1.2
itsdangerous = 2.1.2
jdcal = 1.4
jdcal = 1.4
jedi = 0.17.2
jedi = 0.17.2
...
@@ -250,7 +254,6 @@ jupyter-client = 8.6.1:whl
...
@@ -250,7 +254,6 @@ jupyter-client = 8.6.1:whl
jupyter-console = 6.6.3:whl
jupyter-console = 6.6.3:whl
jupyter-core = 5.7.1:whl
jupyter-core = 5.7.1:whl
jupyter-events = 0.6.3:whl
jupyter-events = 0.6.3:whl
isoduration = 20.11.0
jupyter-lsp = 2.2.3:whl
jupyter-lsp = 2.2.3:whl
jupyter-server = 2.10.0:whl
jupyter-server = 2.10.0:whl
jupyter-server-terminals = 0.5.2:whl
jupyter-server-terminals = 0.5.2:whl
...
@@ -259,8 +262,6 @@ jupyterlab-launcher = 0.13.1
...
@@ -259,8 +262,6 @@ jupyterlab-launcher = 0.13.1
jupyterlab-pygments = 0.3.0:whl
jupyterlab-pygments = 0.3.0:whl
jupyterlab-server = 2.24.0:whl
jupyterlab-server = 2.24.0:whl
jupyterlab-widgets = 3.0.10:whl
jupyterlab-widgets = 3.0.10:whl
arrow = 1.2.3
fqdn = 1.5.1
lock-file = 2.0
lock-file = 2.0
lockfile = 0.12.2:whl
lockfile = 0.12.2:whl
lsprotocol = 2023.0.0b1:whl
lsprotocol = 2023.0.0b1:whl
...
@@ -304,7 +305,7 @@ pkgconfig = 1.5.1:whl
...
@@ -304,7 +305,7 @@ pkgconfig = 1.5.1:whl
pkgutil-resolve-name = 1.3.10:whl
pkgutil-resolve-name = 1.3.10:whl
platformdirs = 4.2.0:whl
platformdirs = 4.2.0:whl
plone.recipe.command = 1.1
plone.recipe.command = 1.1
pluggy =
0.13.1
:whl
pluggy =
1.5.0
:whl
ply = 3.11
ply = 3.11
prettytable = 0.7.2
prettytable = 0.7.2
prometheus-client = 0.9.0
prometheus-client = 0.9.0
...
@@ -469,6 +470,7 @@ nbclient = 0.5.1
...
@@ -469,6 +470,7 @@ nbclient = 0.5.1
netaddr = 0.7.19
netaddr = 0.7.19
notebook = 6.1.5
notebook = 6.1.5
packaging = 16.8
packaging = 16.8
pluggy = 0.13.1:whl
psycopg2 = 2.8.6
psycopg2 = 2.8.6
pycurl = 7.43.0
pycurl = 7.43.0
pyparsing = 2.4.7
pyparsing = 2.4.7
...
...
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