- 16 Feb, 2024 19 commits
-
-
Jérome Perrin authored
Not sure why it was OK on python2 and not sure if this has to be done or the promise code needs to cast the results of getConfig()
-
Jérome Perrin authored
-
Jérome Perrin authored
-
Bryton Lacquement authored
-
Kazuhiko Shiozaki authored
-
Kazuhiko Shiozaki authored
-
Jérome Perrin authored
-
Jérome Perrin authored
This reverts commit 6c399134.
-
Jérome Perrin authored
- use caucase for balancer certificate - move virtual host logic on the backend - change "frontend" parameter to request "" type (and no longer "zope") See merge request nexedi/slapos!1504
-
Jérome Perrin authored
The strategy for compatibility is that: - haproxy still listen on the same port as before, without rewrite rule. This is called "legacy" port. - for each frontend from request parameters, we introduce an haproxy frontend with a rewrite for the corresponding `internal-path` parameter. - the shared frontend instance is updated to use this new frontend entry from haproxy. This will cause a small downtime until the shared frontend is updated to the new URL on ERP5, but since this feature was not used, it's OK. Technical details are that we: - split haproxy config to have frontends and backends. - introduce one frontend in haproxy for each frontend from request parameters. - routing-rule-list argument is still honored the same way, globally and after path from frontend. - change the shared frontend requests to use "" type, no longer "zope" type. - we don't do automatic detection of /VirtualHostRoot in URL but always add it, because it could be used to trick zope into thinking it serves requests for an arbitrary host and do open redirects - before using the request's host header in virtualhost path, we check that it does not contain /, to prevent injection of virutalhost path elements through the host header. - we don't use the "path" parameter from shared frontend, because we want the frontend to be simple, so we don't want it to rewrite the request path (which is also the reason why we deprecated "zope" type) - the tests have changed a lot, because they were using what's now the "legacy" URL types, so we updated it to use the new URL types with all the /VirtualHostRoot/../ in path and also because they use IPv6 URL, no longer IPv4
-
Jérome Perrin authored
-
Jérome Perrin authored
and save the already allocated ports in a state file, so that requesting new families does not change already allocated ports.
-
Jérome Perrin authored
This reverts commit 620c9332 (stack/erp5: stop using caucase managed certificate for balancer, 2020-11-10) with an updated design. We add a caucase service for balancer in the balancer partition. The caucase service from the root partition (that was not used) is removed. The underlying idea is that the default configuration should use multiple caucases with limited scope, here we have one caucase to manage the certificate used by haproxy server in the balancer partition, so we put one caucase to manage this certificate and the caucase is configured to auto-accept one certificate only. The plan is that when we will add a certificate for mariadb server, we'll add another caucase inside this mariadb server. For more advanced usage and also to support the cases where a new certificate needs to be re-emitted for some reason, users can request with an existing caucase URL. In that case, they will have to accept the certificate requests. Notable changes: balancer/ssl/caucase-url is no longer documented in parameters, this is an internal parameter, users can pass one global caucase service to manage all partition CAUCASE environment variable is no longer set when running zope. There was no identified use case and with this new approach of multiple caucases, the term "caucase" alone became ambiguous.
-
Jérome Perrin authored
This is not documented in schema and has no effect in erp5 (but this is still used for slapos-master)
-
Jérome Perrin authored
-
Jérome Perrin authored
This change the format or the (mostly) unused frontend parameter to support requesting more than one frontend and also enable the request of a frontend by default, so that requesting a frontend separately is no longer needed. The `frontend` parameter now also supports requesting frontends for specific paths on the ERP5 backend, the example below requests a frontend serving directly a web site, with the necessary rewrite rules: ```js { "frontend": { "default": { "internal-path": "/erp5/web_site_module/renderjs_runner/" } } } ``` The example below requests a default frontend to the erp5 root, to access the ZMI or erp5_xhtml_style interface and two web sites: ```js { "frontend": { "default": {}, "erp5js": { "internal-path": "/erp5/web_site_module/renderjs_runner/" }, "crm": { "internal-path": "/erp5/web_site_module/erp5_officejs_support_request_ui/" } } } ``` The example below has an explicit definition of the zope families using `zope-partition-dict` parameter, because there is more than one zope family, no frontend is requested by default: ```js { "zope-partition-dict": { "backoffice": { "family": "backoffice" }, "web": { "family": "web" }, "activities": { "family": "activities" } } } ``` Continuing this example, to have frontends for backoffice and web families, the frontend request can specify the families, like it is demonstrated in the example below. In this example, we don't specify an entry for "activities" family, so no frontend will be requested for this family. ```js { "frontend": { "backoffice": { "zope-family": "backoffice" }, "web": { "zope-family": "web", "internal-path": "/erp5/web_site_module/web_site/" } } "zope-partition-dict": { "backoffice": { "family": "backoffice" }, "web": { "family": "web" }, "activities": { "family": "activities" } } } ```
-
Jérome Perrin authored
-
Kirill Smelkov authored
Going 0.140 -> 0.142 introduces the following changes: nexedi/slapos.toolbox@0.140...0.142 Test results: https://erp5js.nexedi.net/#/test_result_module/20240215-D4F3CE96 (all ok)
-
Jérome Perrin authored
-
- 15 Feb, 2024 1 commit
-
-
Thomas Gambier authored
-
- 14 Feb, 2024 1 commit
-
-
Jérome Perrin authored
-
- 13 Feb, 2024 2 commits
-
-
Lu Xu authored
-
Ivan Tyagov authored
(irrelevant for the coupler application).
-
- 09 Feb, 2024 1 commit
-
-
Jérome Perrin authored
-
- 08 Feb, 2024 1 commit
-
-
Thomas Gambier authored
(cherry picked from commit d1ec306a)
-
- 07 Feb, 2024 3 commits
-
-
Lu Xu authored
-
Lu Xu authored
-
Jérome Perrin authored
-
- 05 Feb, 2024 2 commits
-
-
Jérome Perrin authored
See merge request nexedi/slapos!1531
-
Jérome Perrin authored
See merge request nexedi/slapos!1529
-
- 03 Feb, 2024 1 commit
-
-
Jérome Perrin authored
-
- 01 Feb, 2024 4 commits
-
-
Jérome Perrin authored
-
Jérome Perrin authored
These are already defined in stack/slapos.cfg
-
Jérome Perrin authored
jupyter-py2 used an old version not py3 compatible pygolang/test used the same version as in stack/slapos.cfg
-
Jérome Perrin authored
-
- 31 Jan, 2024 1 commit
-
-
Jérome Perrin authored
-
- 30 Jan, 2024 4 commits
-
-
Kirill Smelkov authored
Don't repeat slapparameter_dict['ncell_list'][k] - we can introduce a name for current neighbour cell, and use that name in the loop. And align entries to that they read more clearly. No non-whitespace changes in rendered enb.cfg and gnb.cfg . /cc @jhuge, @lu.xu, @tomo, @xavier_thompson, @Daetalus /proposed-for-review-on nexedi/slapos!1526 /reviewed-by TrustMe
-
Kirill Smelkov authored
We currently have LTE-specific handover configuration in under cell_list and NR-specific handover configuration in under nr_cell_list. Those configuration are different. However in upcoming MultiRU we will need to handle LTE->NR handover, NR->LTE handover, and also Intra-ENB handover in addition to Inter-ENB handover we currently do. -> Move handover code into common function as a preparatory step for that. In the future the handover code for LTE and NR cells will be the same, so it makes sense to move that code to common place to avoid duplication. For rendered enb.cfg this unification introduces only space and trivial changes as shown in the appendix. /cc @jhuge, @lu.xu, @tomo, @xavier_thompson, @Daetalus /proposed-for-review-on nexedi/slapos!1528 /reviewed-by TrustMe Appendix. Diff for rendered enb.cfg and gnb.cfg before and after this patch ``` $ git diff -w --no-index config/{old,out} ``` ```diff diff --git a/config/old/enb.cfg b/config/out/enb.cfg index 43301ee13..9dcca16c7 100644 --- a/config/old/enb.cfg +++ b/config/out/enb.cfg @@ -45,16 +45,18 @@ root_sequence_index: 204, dl_earfcn: 36100, inactivity_timer: 10000, + // Handover ncell_list: [ // Inter-ENB HO { + rat: "eutra", n_id_cell: 35, dl_earfcn: 700, cell_id: 0x12345, tac: 123, - }], - + }, + ], // Carrier Aggregation scell_list: [ diff --git a/config/old/gnb.cfg b/config/out/gnb.cfg index 2127a2f6b..23b07d6e1 100644 --- a/config/old/gnb.cfg +++ b/config/out/gnb.cfg @@ -57,6 +57,7 @@ ssb_pos_bitmap: "10000000", inactivity_timer: 10000, + // Handover ncell_list: [ // Inter-ENB HO @@ -74,8 +75,8 @@ ssb_period: 20, ssb_offset: 0, ssb_duration: 1, - }], - + }, + ], // tune NR parameters for the cell manual_ref_signal_power: true, ```
-
Kirill Smelkov authored
Useful to have while doing handover-related changes. /cc @jhuge, @lu.xu, @tomo, @xavier_thompson, @Daetalus /proposed-for-review-on nexedi/slapos!1528 /reviewed-by TrustMe Appendix. Diff for rendered enb.cfg and gnb.cfg before and after this patch ``` $ git diff --no-index config/{old,out} ``` ```diff diff --git a/config/old/enb.cfg b/config/out/enb.cfg index 1843e0f24..43301ee13 100644 --- a/config/old/enb.cfg +++ b/config/out/enb.cfg @@ -45,6 +45,16 @@ root_sequence_index: 204, dl_earfcn: 36100, inactivity_timer: 10000, + // Handover + ncell_list: [ + // Inter-ENB HO + { + n_id_cell: 35, + dl_earfcn: 700, + cell_id: 0x12345, + tac: 123, + }], + // Carrier Aggregation scell_list: [ diff --git a/config/old/gnb.cfg b/config/out/gnb.cfg index d76b45d3c..2127a2f6b 100644 --- a/config/old/gnb.cfg +++ b/config/out/gnb.cfg @@ -57,6 +57,25 @@ ssb_pos_bitmap: "10000000", inactivity_timer: 10000, + // Handover + ncell_list: [ + // Inter-ENB HO + { + rat: "nr", + dl_nr_arfcn: 520000, + ssb_nr_arfcn: , + ul_nr_arfcn: 520000, + n_id_cell: 75, + gnb_id_bits: 22, + nr_cell_id: 0x77712, + tac: 321, + band: 38, + ssb_subcarrier_spacing: 30, + ssb_period: 20, + ssb_offset: 0, + ssb_duration: 1, + }], + ```
-
Kirill Smelkov authored
1. Currently we have separate log_options for LTE and NR cases with listing different subsystems in each. But in MultiRU one enb will be driving both LTE and NR cells at the same time, so we will need to define both LTE- and NR-related levels. -> Merge all log settings into one log_options as a preparatory step For current state it does not hurt for an LTE if we set e.g. ngap.level, and it does not hurt for NR if we set e.g. s1ap.level - since those layers will be unused. This way merging log settings for both LTE and NR subsystems is ok. -------- 2. Factorize log_phy_debug handling: instead of duplicating whole log_options line and changing only phy.level settings there, construct the log_options line programmatically and handle phy.level on its own. -------- 3. Use log/enb.log log_filename for both LTE and NR cases. In the upcoming MultiRU there might be several cells activated at the same time and in general it will be not possible to say are we doing "enb" or "gnb" now - for example if there will be two cells - one LTE and one NR. -> Use enb.log for log filename uniformly similarly to how the software is named (lteenb) even though it can work as both enb and gnb. For the reference we do the same with enb.xlog in nexedi/slapos!1522 . /cc @jhuge, @lu.xu, @tomo, @xavier_thompson, @Daetalus /proposed-for-review-on nexedi/slapos!1527 /reviewed-by TrustMe Appendix. Diff for rendered enb.cfg and gnb.cfg before and after this patch ``` $ git diff --no-index config/{old,out} ``` ```diff diff --git a/config/old/enb.cfg b/config/out/enb.cfg index 467bb6364..1843e0f24 100644 --- a/config/old/enb.cfg +++ b/config/out/enb.cfg @@ -3,9 +3,7 @@ { - - log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null", - + log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1,ngap.level=debug,ngap.max_size=1,xnap.level=debug,xnap.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null", log_filename: "log/enb.log", diff --git a/config/old/gnb.cfg b/config/out/gnb.cfg index 18523818a..d76b45d3c 100644 --- a/config/old/gnb.cfg +++ b/config/out/gnb.cfg @@ -3,10 +3,8 @@ { - - log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,ngap.level=debug,ngap.max_size=1,xnap.level=debug,xnap.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null", - - log_filename: "log/gnb.log", + log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1,ngap.level=debug,ngap.max_size=1,xnap.level=debug,xnap.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null", + log_filename: "log/enb.log", rf_driver: { ```
-