Skip to content

Commit 374ddb5

Browse files
author
codebot
committed
Update main
2 parents ced118d + 5f7f790 commit 374ddb5

File tree

121 files changed

+3133
-276
lines changed

Some content is hidden

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

121 files changed

+3133
-276
lines changed

.gitlab/ci/build.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1975,8 +1975,6 @@ basic avx512 dpdk:
19751975
extends: .build_and_unit
19761976
rules:
19771977
- if: $CI_DESCRIPTION =~ /Nightly E2E Tests/
1978-
when: delayed
1979-
start_in: 1 hours
19801978
retry: 2
19811979
interruptible: false
19821980
variables:

.gitlab/ci/docker.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ gnb docker compose:
148148
paths:
149149
- docker/docker-compose.yml
150150
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
151+
interruptible: false
151152
script:
152153
- 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
153154
- sh -c "docker compose -f docker/docker-compose.yml run --no-deps gnb ${TEST_CMD}"
@@ -169,6 +170,7 @@ gnb docker compose:
169170
- docker/open5gs/**/*
170171
- docker/docker-compose.yml
171172
- if: $CI_DESCRIPTION =~ /Weekly/
173+
interruptible: false
172174
script:
173175
- docker compose -f docker/docker-compose.yml build --build-arg NUM_CORES=${KUBERNETES_CPU_LIMIT} 5gc
174176
- docker compose -f docker/docker-compose.yml run 5gc 5gc -v
@@ -183,6 +185,7 @@ grafana docker compose:
183185
- docker/grafana/**/*
184186
- docker/docker-compose.yml
185187
- if: $CI_DESCRIPTION =~ /Weekly/
188+
interruptible: false
186189
script:
187190
- docker compose -f docker/docker-compose.yml run --no-deps grafana --version
188191

@@ -195,6 +198,7 @@ influxdb docker compose:
195198
- docker/.env
196199
- docker/docker-compose.yml
197200
- if: $CI_DESCRIPTION =~ /Weekly/
201+
interruptible: false
198202
script:
199203
- docker compose -f docker/docker-compose.yml run influxdb influx version
200204

@@ -208,6 +212,7 @@ metrics-server docker compose:
208212
- docker/metrics_server/**/*
209213
- docker/docker-compose.yml
210214
- if: $CI_DESCRIPTION =~ /Weekly/
215+
interruptible: false
211216
script:
212217
- docker compose -f docker/docker-compose.yml run metrics-server metrics-server --help
213218

@@ -274,6 +279,7 @@ grafana server image latest:
274279
variables:
275280
MODE: build
276281
- if: $CI_DESCRIPTION =~ /Nightly Build Unit Tests/
282+
interruptible: false
277283
variables:
278284
MODE: publish
279285
variables:

.gitlab/ci/e2e/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ GNB_REMOTE_PATH=/usr/local/bin/gnb
22
GNB_IS_EXECUTABLE=true
33
SRSGNB_REGISTRY_URI=registry.gitlab.com/softwareradiosystems/srsgnb
44
RETINA_REGISTRY_PREFIX=registry.gitlab.com/softwareradiosystems/ci/retina
5-
RETINA_VERSION=0.50.9
5+
RETINA_VERSION=0.50.11
66
UBUNTU_VERSION=24.04
77
AMARISOFT_VERSION=2023-09-08
88
SRSUE_VERSION=23.11

apps/cu/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ add_executable(srscu
2222
cu.cpp
2323
cu_appconfig_cli11_schema.cpp
2424
cu_appconfig_validator.cpp
25+
cu_appconfig_yaml_writer.cpp
2526
cu_worker_manager.cpp
2627
)
2728

apps/cu/cu.cpp

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,11 @@
7272
#include "apps/services/application_message_banners.h"
7373
#include "apps/services/application_tracer.h"
7474
#include "apps/services/stdin_command_dispatcher.h"
75+
#include "apps/units/cu_cp/cu_cp_unit_config_yaml_writer.h"
76+
#include "apps/units/cu_up/cu_up_unit_config_yaml_writer.h"
7577
#include "cu_appconfig.h"
7678
#include "cu_appconfig_validator.h"
79+
#include "cu_appconfig_yaml_writer.h"
7780

7881
#include <atomic>
7982
#include <thread>
@@ -137,12 +140,18 @@ static void register_app_logs(const logger_appconfig& log_cfg,
137140
const cu_up_unit_logger_config& cu_up_loggers)
138141
{
139142
// Set log-level of app and all non-layer specific components to app level.
140-
for (const auto& id : {"CU", "ALL", "SCTP-GW", "IO-EPOLL", "UDP-GW", "PCAP"}) {
143+
for (const auto& id : {"ALL", "SCTP-GW", "IO-EPOLL", "UDP-GW", "PCAP"}) {
141144
auto& logger = srslog::fetch_basic_logger(id, false);
142145
logger.set_level(log_cfg.lib_level);
143146
logger.set_hex_dump_max_size(log_cfg.hex_max_size);
144147
}
145148

149+
auto& app_logger = srslog::fetch_basic_logger("CU", false);
150+
app_logger.set_level(srslog::basic_levels::info);
151+
app_services::application_message_banners::log_build_info(app_logger);
152+
app_logger.set_level(log_cfg.config_level);
153+
app_logger.set_hex_dump_max_size(log_cfg.hex_max_size);
154+
146155
auto& config_logger = srslog::fetch_basic_logger("CONFIG", false);
147156
config_logger.set_level(log_cfg.config_level);
148157
config_logger.set_hex_dump_max_size(log_cfg.hex_max_size);
@@ -225,7 +234,11 @@ int main(int argc, char** argv)
225234
// Log input configuration.
226235
srslog::basic_logger& config_logger = srslog::fetch_basic_logger("CONFIG");
227236
if (config_logger.debug.enabled()) {
228-
config_logger.debug("Input configuration (all values): \n{}", app.config_to_str(true, false));
237+
YAML::Node node;
238+
fill_cu_appconfig_in_yaml_schema(node, cu_cfg);
239+
fill_cu_up_config_in_yaml_schema(node, cu_up_config);
240+
fill_cu_cp_config_in_yaml_schema(node, cu_cp_config);
241+
config_logger.debug("Input configuration (all values): \n{}", YAML::Dump(node));
229242
} else {
230243
config_logger.info("Input configuration (only non-default values): \n{}", app.config_to_str(false, false));
231244
}
@@ -242,9 +255,6 @@ int main(int argc, char** argv)
242255
// Setup size of byte buffer pool.
243256
init_byte_buffer_segment_pool(cu_cfg.buffer_pool_config.nof_segments, cu_cfg.buffer_pool_config.segment_size);
244257

245-
// Log build info
246-
cu_logger.info("Built in {} mode using {}", get_build_mode(), get_build_info());
247-
248258
// Log CPU architecture.
249259
// TODO
250260

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
/*
2+
*
3+
* Copyright 2021-2024 Software Radio Systems Limited
4+
*
5+
* This file is part of srsRAN.
6+
*
7+
* srsRAN is free software: you can redistribute it and/or modify
8+
* it under the terms of the GNU Affero General Public License as
9+
* published by the Free Software Foundation, either version 3 of
10+
* the License, or (at your option) any later version.
11+
*
12+
* srsRAN is distributed in the hope that it will be useful,
13+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15+
* GNU Affero General Public License for more details.
16+
*
17+
* A copy of the GNU Affero General Public License can be found in
18+
* the LICENSE file in the top-level directory of this distribution
19+
* and at http://www.gnu.org/licenses/.
20+
*
21+
*/
22+
23+
#include "cu_appconfig_yaml_writer.h"
24+
#include "apps/services/logger/logger_appconfig_yaml_writer.h"
25+
#include "cu_appconfig.h"
26+
27+
using namespace srsran;
28+
29+
static void fill_cu_appconfig_buffer_pool_section(YAML::Node node, const buffer_pool_appconfig& config)
30+
{
31+
node["nof_segments"] = config.nof_segments;
32+
node["segment_size"] = config.segment_size;
33+
}
34+
35+
static void fill_cu_appconfig_f1ap_section(YAML::Node node, const srs_cu::cu_f1ap_appconfig& config)
36+
{
37+
YAML::Node cu_cp_node = node["cu_cp"];
38+
YAML::Node f1ap_node = cu_cp_node["f1ap"];
39+
f1ap_node["bind_address"] = config.bind_addr;
40+
}
41+
42+
static void fill_cu_appconfig_nru_section(YAML::Node node, const srs_cu::cu_nru_appconfig& config)
43+
{
44+
YAML::Node cu_up_node = node["cu_up"];
45+
YAML::Node nru_node = cu_up_node["nru"];
46+
nru_node["udp_max_rx_msgs"] = config.udp_rx_max_msgs;
47+
nru_node["bind_addr"] = config.bind_addr;
48+
}
49+
50+
void srsran::fill_cu_appconfig_in_yaml_schema(YAML::Node& node, const cu_appconfig& config)
51+
{
52+
fill_logger_appconfig_in_yaml_schema(node, config.log_cfg);
53+
fill_cu_appconfig_buffer_pool_section(node["buffer_pool"], config.buffer_pool_config);
54+
fill_cu_appconfig_f1ap_section(node, config.f1ap_cfg);
55+
fill_cu_appconfig_nru_section(node, config.nru_cfg);
56+
}

apps/cu/cu_appconfig_yaml_writer.h

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
*
3+
* Copyright 2021-2024 Software Radio Systems Limited
4+
*
5+
* This file is part of srsRAN.
6+
*
7+
* srsRAN is free software: you can redistribute it and/or modify
8+
* it under the terms of the GNU Affero General Public License as
9+
* published by the Free Software Foundation, either version 3 of
10+
* the License, or (at your option) any later version.
11+
*
12+
* srsRAN is distributed in the hope that it will be useful,
13+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15+
* GNU Affero General Public License for more details.
16+
*
17+
* A copy of the GNU Affero General Public License can be found in
18+
* the LICENSE file in the top-level directory of this distribution
19+
* and at http://www.gnu.org/licenses/.
20+
*
21+
*/
22+
23+
#pragma once
24+
25+
#include <yaml-cpp/yaml.h>
26+
27+
namespace srsran {
28+
29+
struct cu_appconfig;
30+
31+
/// Fills the given node with the CU application configuration values.
32+
void fill_cu_appconfig_in_yaml_schema(YAML::Node& node, const cu_appconfig& config);
33+
34+
} // namespace srsran

apps/du/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ add_executable(srsdu
2323
du_appconfig_cli11_schema.cpp
2424
du_appconfig_validators.cpp
2525
du_appconfig_translators.cpp
26+
du_appconfig_yaml_writer.cpp
2627
../gnb/adapters/e2_gateway_remote_connector.cpp # TODO: Delete
2728
)
2829

apps/du/du.cpp

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@
5353

5454
// Include ThreadSanitizer (TSAN) options if thread sanitization is enabled.
5555
// This include is not unused - it helps prevent false alarms from the thread sanitizer.
56+
#include "du_appconfig_yaml_writer.h"
57+
5658
#include "srsran/support/tsan_options.h"
5759

5860
#include <atomic>
@@ -66,6 +68,7 @@
6668
#include "apps/units/flexible_du/du_high/pcap_factory.h"
6769
#include "apps/units/flexible_du/split_dynamic/dynamic_du_unit_cli11_schema.h"
6870
#include "apps/units/flexible_du/split_dynamic/dynamic_du_unit_config_validator.h"
71+
#include "apps/units/flexible_du/split_dynamic/dynamic_du_unit_config_yaml_writer.h"
6972
#include "apps/units/flexible_du/split_dynamic/dynamic_du_unit_logger_registrator.h"
7073

7174
#ifdef DPDK_FOUND
@@ -123,12 +126,18 @@ static void initialize_log(const std::string& filename)
123126
static void register_app_logs(const logger_appconfig& log_cfg, const dynamic_du_unit_config& du_loggers)
124127
{
125128
// Set log-level of app and all non-layer specific components to app level.
126-
for (const auto& id : {"GNB", "ALL", "SCTP-GW", "IO-EPOLL", "UDP-GW", "PCAP"}) {
129+
for (const auto& id : {"ALL", "SCTP-GW", "IO-EPOLL", "UDP-GW", "PCAP"}) {
127130
auto& logger = srslog::fetch_basic_logger(id, false);
128131
logger.set_level(log_cfg.lib_level);
129132
logger.set_hex_dump_max_size(log_cfg.hex_max_size);
130133
}
131134

135+
auto& app_logger = srslog::fetch_basic_logger("GNB", false);
136+
app_logger.set_level(srslog::basic_levels::info);
137+
app_services::application_message_banners::log_build_info(app_logger);
138+
app_logger.set_level(log_cfg.config_level);
139+
app_logger.set_hex_dump_max_size(log_cfg.hex_max_size);
140+
132141
auto& config_logger = srslog::fetch_basic_logger("CONFIG", false);
133142
config_logger.set_level(log_cfg.config_level);
134143
config_logger.set_hex_dump_max_size(log_cfg.hex_max_size);
@@ -200,7 +209,10 @@ int main(int argc, char** argv)
200209
// Log input configuration.
201210
srslog::basic_logger& config_logger = srslog::fetch_basic_logger("CONFIG");
202211
if (config_logger.debug.enabled()) {
203-
config_logger.debug("Input configuration (all values): \n{}", app.config_to_str(true, false));
212+
YAML::Node node;
213+
fill_du_appconfig_in_yaml_schema(node, du_cfg);
214+
fill_dynamic_du_unit_config_in_yaml_schema(node, du_unit_cfg);
215+
config_logger.debug("Input configuration (all values): \n{}", YAML::Dump(node));
204216
} else {
205217
config_logger.info("Input configuration (only non-default values): \n{}", app.config_to_str(false, false));
206218
}
@@ -230,9 +242,6 @@ int main(int argc, char** argv)
230242
// Setup size of byte buffer pool.
231243
init_byte_buffer_segment_pool(du_cfg.buffer_pool_config.nof_segments, du_cfg.buffer_pool_config.segment_size);
232244

233-
// Log build info
234-
du_logger.info("Built in {} mode using {}", get_build_mode(), get_build_info());
235-
236245
// Log CPU architecture.
237246
cpu_architecture_info::get().print_cpu_info(du_logger);
238247

0 commit comments

Comments
 (0)