Skip to content

Commit a804c5b

Browse files
author
codebot
committed
Update main
# Conflicts: # include/srsran/cu_cp/ue_manager.h # include/srsran/cu_cp/up_resource_manager.h # lib/cu_cp/up_resource_manager/up_resource_manager_factory.cpp
2 parents d68f5cd + ce02893 commit a804c5b

File tree

274 files changed

+4285
-3154
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

274 files changed

+4285
-3154
lines changed

.gitlab-ci.yml

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,16 @@
2525

2626
include:
2727
- project: softwareradiosystems/ci/tools
28-
ref: "19"
28+
ref: "20"
2929
file: .gitlab/ci-shared/setup/all.yml
3030
- project: softwareradiosystems/ci/tools
31-
ref: "19"
31+
ref: "20"
3232
file: .gitlab/ci-shared/features/all.yml
3333
- project: softwareradiosystems/ci/tools
34-
ref: "19"
34+
ref: "20"
3535
file: .gitlab/ci-shared/tools/python.yml
3636
- project: softwareradiosystems/ci/tools
37-
ref: "19"
37+
ref: "20"
3838
file: .gitlab/ci-shared/tools/test_reporter.yml
3939
- local: .gitlab/ci/builders/version.yml
4040
- local: .gitlab/ci/build.yml
@@ -65,6 +65,7 @@ variables:
6565
################################################################################
6666
job cleaner:
6767
extends: .job cleaner
68+
timeout: 4h
6869
rules:
6970
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
7071

@@ -111,6 +112,20 @@ trigger docker:
111112
variables:
112113
PY_DIR: docker/metrics_server
113114

115+
helm:
116+
stage: ci
117+
rules:
118+
- if: $CI_DESCRIPTION =~ /Weekly/
119+
variables:
120+
CI_DESCRIPTION: Synchronization with srsGNB
121+
NOTIFY_SLACK: "true"
122+
trigger:
123+
project: softwareradiosystems/ci/srsgnb_k8s
124+
branch: main
125+
needs:
126+
- job: trigger docker
127+
artifacts: false
128+
114129
################################################################################
115130
## Static
116131
################################################################################
@@ -259,10 +274,10 @@ clangsa:
259274
stage: static
260275
needs: []
261276
variables:
262-
KUBERNETES_CPU_REQUEST: 7
263-
KUBERNETES_CPU_LIMIT: 7
264-
KUBERNETES_MEMORY_REQUEST: 13Gi
265-
KUBERNETES_MEMORY_LIMIT: 13Gi
277+
KUBERNETES_CPU_REQUEST: 6
278+
KUBERNETES_CPU_LIMIT: 6
279+
KUBERNETES_MEMORY_REQUEST: 12Gi
280+
KUBERNETES_MEMORY_LIMIT: 12Gi
266281
tags:
267282
- ${AMD64_TAG}
268283
interruptible: false

.gitlab/ci/build.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ variables:
1717
AMD64_AVX2_TAG: amd64-avx2
1818
AMD64_AVX512_TAG: amd64-avx2-avx512
1919
ARM64_TAG: arm64
20-
20+
2121
INFRASTRUCTURE_TAG:
2222
description: Computer architecture and supported instruction sets
2323
options:
@@ -280,7 +280,7 @@ variables:
280280
bash -c "${CTEST_CMD} && echo 0 > ${status_file} || echo 1 > ${status_file}" \
281281
&& ret=$(cat ${status_file}) || ret=124
282282
283-
if [[ $TEST_MODE = "coverage" ]]; then
283+
if [[ $TEST_MODE = "coverage" ]]; then
284284
common_options="-j${KUBERNETES_CPU_REQUEST} \
285285
--exclude-unreachable-branches \
286286
--gcov-ignore-parse-errors=negative_hits.warn_once_per_file \
@@ -677,7 +677,7 @@ intermediate commits cached:
677677
- if: $CI_MERGE_REQUEST_LABELS =~ /no-cache/
678678
when: never
679679
- if: $ON_MR
680-
timeout: 1 hour
680+
timeout: 2 hour
681681
variables:
682682
SAVE_ARTIFACTS: "True"
683683
script:
@@ -1889,7 +1889,7 @@ check-affinity-manager-nocpu:
18891889
echo $output
18901890
echo "**********************************************************************************"
18911891
echo "Error for number of CPU = $((i-2))"
1892-
echo -e "\n\n\n\n\n"
1892+
echo -e "\n\n\n\n\n"
18931893
fi
18941894
done
18951895

.gitlab/ci/builders.yml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88

99
include:
1010
- project: softwareradiosystems/ci/tools
11-
ref: "19"
11+
ref: "20"
1212
file: .gitlab/ci-shared/setup/all.yml
1313
- project: softwareradiosystems/ci/tools
14-
ref: "19"
14+
ref: "20"
1515
file: .gitlab/ci-shared/tools/docker.yml
1616
- project: softwareradiosystems/ci/tools
17-
ref: "19"
17+
ref: "20"
1818
file: .gitlab/ci-shared/tools/python.yml
1919
- local: .gitlab/ci/builders/version.yml
2020
- local: .gitlab/ci/src_cache.yml
@@ -468,7 +468,7 @@ manifest [ubuntu, 20.04]:
468468
optional: false
469469
parallel:
470470
matrix:
471-
- REGISTRY: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
471+
- REGISTRY_URI: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
472472

473473
################################################################################
474474
# Ubuntu 22.04
@@ -555,7 +555,7 @@ manifest [ubuntu, 22.04]:
555555
optional: false
556556
parallel:
557557
matrix:
558-
- REGISTRY: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
558+
- REGISTRY_URI: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
559559

560560
################################################################################
561561
# Ubuntu 23.10
@@ -642,7 +642,7 @@ manifest [ubuntu, 23.10]:
642642
optional: false
643643
parallel:
644644
matrix:
645-
- REGISTRY: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
645+
- REGISTRY_URI: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
646646

647647
################################################################################
648648
# Ubuntu 24.04
@@ -719,7 +719,7 @@ manifest [ubuntu, 24.04]:
719719
optional: false
720720
parallel:
721721
matrix:
722-
- REGISTRY: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
722+
- REGISTRY_URI: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
723723

724724
################################################################################
725725
# Debian
@@ -781,7 +781,7 @@ manifest [debian, 11]:
781781
optional: false
782782
parallel:
783783
matrix:
784-
- REGISTRY: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
784+
- REGISTRY_URI: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
785785

786786
alternative-tag [debian, 12, amd64]:
787787
extends:
@@ -826,7 +826,7 @@ manifest [debian, 12]:
826826
optional: false
827827
parallel:
828828
matrix:
829-
- REGISTRY: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
829+
- REGISTRY_URI: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
830830

831831
################################################################################
832832
# Rhel 8
@@ -890,7 +890,7 @@ manifest [rhel, 8]:
890890
optional: false
891891
parallel:
892892
matrix:
893-
- REGISTRY: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
893+
- REGISTRY_URI: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
894894

895895
################################################################################
896896
# Archlinux
@@ -926,11 +926,11 @@ manifest [archlinux, latest]:
926926
script:
927927
- |
928928
skopeo copy \
929-
docker://${REGISTRY}${CI_PROJECT_NAMESPACE#'softwareradiosystems'}/${CI_PROJECT_NAME}/builder-$OS_NAME-$OS_VERSION:${DOCKER_BUILDER_VERSION}-amd64 \
930-
docker://${REGISTRY}${CI_PROJECT_NAMESPACE#'softwareradiosystems'}/${CI_PROJECT_NAME}/builder-$OS_NAME-$OS_VERSION:${DOCKER_BUILDER_VERSION}
929+
docker://${REGISTRY_URI}${CI_PROJECT_NAMESPACE#'softwareradiosystems'}/${CI_PROJECT_NAME}/builder-$OS_NAME-$OS_VERSION:${DOCKER_BUILDER_VERSION}-amd64 \
930+
docker://${REGISTRY_URI}${CI_PROJECT_NAMESPACE#'softwareradiosystems'}/${CI_PROJECT_NAME}/builder-$OS_NAME-$OS_VERSION:${DOCKER_BUILDER_VERSION}
931931
parallel:
932932
matrix:
933-
- REGISTRY: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
933+
- REGISTRY_URI: ["${CR_REGISTRY_URI}", "${GITLAB_REGISTRY_URI}"]
934934
needs:
935935
- builder version
936936
- job: alternative-tag [archlinux, latest, amd64]

.gitlab/ci/docker.yml

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@
88

99
include:
1010
- project: softwareradiosystems/ci/tools
11-
ref: "19"
11+
ref: "20"
1212
file: .gitlab/ci-shared/setup/all.yml
1313
- project: softwareradiosystems/ci/tools
14-
ref: "19"
14+
ref: "20"
1515
file: .gitlab/ci-shared/tools/python.yml
1616
- project: softwareradiosystems/ci/tools
17-
ref: "19"
17+
ref: "20"
1818
file: .gitlab/ci-shared/tools/docker.yml
1919

2020
################################################################################
@@ -120,23 +120,21 @@ metrics version check in retina:
120120
################################################################################
121121
.docker compose:
122122
stage: compose
123-
image: docker:24.0.7
123+
image: docker:24.0.7-dind
124124
tags:
125-
- saas-linux-medium-amd64
125+
- amd64-avx2
126126
timeout: 2h
127-
variables:
128-
DOCKER_HOST: tcp://docker:2375/
129-
DOCKER_DRIVER: overlay2
130-
DOCKER_TLS_CERTDIR: ""
131-
services:
132-
- name: docker:24.0.7-dind
133-
alias: docker
134-
entrypoint: ["env", "-u", "DOCKER_HOST"]
135-
command: ["dockerd-entrypoint.sh"]
127+
before_script:
128+
- dockerd-entrypoint.sh &
129+
- |
130+
while ! ( nc -zv localhost 2376 2>&1 >/dev/null )
131+
do
132+
sleep 1
133+
done
136134
137135
gnb docker compose:
138136
extends: .docker compose
139-
variables:
137+
variables: &build_in_compose_variables
140138
KUBERNETES_CPU_REQUEST: 6
141139
KUBERNETES_CPU_LIMIT: 6
142140
KUBERNETES_MEMORY_REQUEST: 12Gi
@@ -151,7 +149,7 @@ gnb docker compose:
151149
- docker/docker-compose.yml
152150
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
153151
script:
154-
- docker compose -f docker/docker-compose.yml build --build-arg LIB=${LIB} --build-arg LIB_VERSION=${LIB_VERSION} gnb
152+
- docker compose -f docker/docker-compose.yml build --build-arg NUM_CORES=${KUBERNETES_CPU_LIMIT} --build-arg LIB=${LIB} --build-arg LIB_VERSION=${LIB_VERSION} gnb
155153
- sh -c "docker compose -f docker/docker-compose.yml run --no-deps gnb ${TEST_CMD}"
156154
parallel:
157155
matrix:
@@ -162,6 +160,8 @@ gnb docker compose:
162160

163161
5gc docker compose:
164162
extends: .docker compose
163+
variables:
164+
<<: *build_in_compose_variables
165165
rules:
166166
- if: $ON_MR
167167
changes:
@@ -170,6 +170,7 @@ gnb docker compose:
170170
- docker/docker-compose.yml
171171
- if: $CI_DESCRIPTION =~ /Weekly/
172172
script:
173+
- docker compose -f docker/docker-compose.yml build --build-arg NUM_CORES=${KUBERNETES_CPU_LIMIT} 5gc
173174
- docker compose -f docker/docker-compose.yml run 5gc 5gc -v
174175

175176
grafana docker compose:

.gitlab/ci/e2e.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
include:
1010
- project: softwareradiosystems/ci/tools
11-
ref: "19"
11+
ref: "20"
1212
file: .gitlab/ci-shared/setup/all.yml
1313

1414
variables:
@@ -305,11 +305,12 @@ amari 32UE:
305305
"iperf and tcp and not band:3",
306306
]
307307

308-
amari 32UE beta:
308+
amari 8UE beta:
309309
extends: amari 32UE
310310
parallel:
311311
matrix:
312312
- KEYWORDS: ["reestablishment", "handover"]
313+
allow_failure: true
313314

314315
amari 32UE asan:
315316
extends: .zmq
@@ -521,14 +522,13 @@ viavi:
521522
- *retina-needs
522523
parallel:
523524
matrix:
524-
- KEYWORDS:
525-
[
526-
"fading and 32UE",
527-
"fading and 1UE",
528-
"ideal and 32UE",
525+
- KEYWORDS: [
529526
"ideal and 1UE",
530-
"birth-death and 32UE",
527+
"ideal and 32UE",
528+
"fading and 1UE",
529+
# "fading and 32UE",
531530
"birth-death and 1UE",
531+
# "birth-death and 32UE",
532532
]
533533

534534
viavi-debug:
@@ -576,5 +576,5 @@ retina setup:
576576
retina post:
577577
stage: .post
578578
extends: .demolition
579-
dependencies:
579+
dependencies:
580580
- load retina variables

.gitlab/ci/e2e/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
SRSGNB_REGISTRY_URI=registry.gitlab.com/softwareradiosystems/srsgnb
22
RETINA_REGISTRY_PREFIX=registry.gitlab.com/softwareradiosystems/ci/retina
3-
RETINA_VERSION=0.49.16
3+
RETINA_VERSION=0.49.18
44
UBUNTU_VERSION=24.04
55
AMARISOFT_VERSION=2023-09-08
66
SRSUE_VERSION=23.11

.gitlab/ci/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88

99
include:
1010
- project: softwareradiosystems/ci/tools
11-
ref: "19"
11+
ref: "20"
1212
file: .gitlab/ci-shared/setup/all.yml
1313
- project: softwareradiosystems/ci/tools
14-
ref: "19"
14+
ref: "20"
1515
file: .gitlab/ci-shared/features/all.yml
1616

1717
stages:

.gitlab/ci/trx.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
include:
1010
- project: softwareradiosystems/ci/tools
11-
ref: "19"
11+
ref: "20"
1212
file: .gitlab/ci-shared/setup/all.yml
1313
- local: .gitlab/ci/build.yml
1414

apps/services/metrics_hub.cpp

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -56,21 +56,33 @@ rlc_metrics_source* metrics_hub::get_rlc_metrics_source(std::string source_name_
5656
return nullptr;
5757
}
5858

59-
void scheduler_ue_metrics_source::report_metrics(span<const scheduler_ue_metrics> ue_metrics)
59+
scheduler_ue_metrics_source::scheduler_ue_metrics_source(std::string source_name_) :
60+
metrics_hub_source(source_name_),
61+
logger(srslog::fetch_basic_logger("ALL")),
62+
metrics_pool(metric_pool_initial_capacity)
63+
{
64+
}
65+
66+
void scheduler_ue_metrics_source::report_metrics(const scheduler_cell_metrics& metrics)
6067
{
6168
srsran_assert(executor != nullptr, "Task executor must not be nullptr");
62-
std::vector<scheduler_ue_metrics> ue_metrics_copy(ue_metrics.begin(), ue_metrics.end());
63-
if (not executor->execute([this, ue_metrics_copy]() {
69+
70+
// Fetch a metrics report object from the pool.
71+
auto cached_metrics = metrics_pool.get();
72+
// Try to reuse the pre-existing memory in the cached_metrics object.
73+
cached_metrics->ue_metrics.assign(metrics.ue_metrics.begin(), metrics.ue_metrics.end());
74+
cached_metrics->nof_error_indications = metrics.nof_error_indications;
75+
76+
if (not executor->execute([this, cached_metrics = std::move(cached_metrics)]() {
6477
for (auto& subscriber : subscribers) {
65-
span<const scheduler_ue_metrics> ue_metrics_span(ue_metrics_copy);
66-
subscriber->report_metrics(ue_metrics_span);
78+
subscriber->report_metrics(*cached_metrics);
6779
}
6880
})) {
69-
srslog::fetch_basic_logger("ALL").warning("Failed to dispatch scheduler UE metrics");
81+
logger.warning("Failed to dispatch scheduler UE metrics");
7082
}
7183
}
7284

73-
void scheduler_ue_metrics_source::add_subscriber(scheduler_ue_metrics_notifier& subscriber)
85+
void scheduler_ue_metrics_source::add_subscriber(scheduler_metrics_notifier& subscriber)
7486
{
7587
subscribers.push_back(&subscriber);
7688
}

0 commit comments

Comments
 (0)