lists.osmocom.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

gerrit-log

Thread Start a new thread
Download
Threads by month
  • ----- 2026 -----
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
gerrit-log@lists.osmocom.org

October 2025

  • 1 participants
  • 631 discussions
[L] Change in osmo-ttcn3-hacks[master]: hlr: pyhss: create/delete subscribers
by osmith 16 Oct '25

16 Oct '25
Attention is currently required from: fixeria. osmith has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41227?usp=email ) Change subject: hlr: pyhss: create/delete subscribers ...................................................................... Patch Set 2: (1 comment) File library/PyHSS_REST_Functions.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41227/comment/274f8ea4_5f28… : PS1, Line 29: f_pyhss_api_helper > (Just wondering) Why did you choose this approach (calling a helper script) over sending HTTP reques […] From the commit message: > I have first attempted to do this via HTTP_Adapter > instead of using a helper script, but this was a lot more complex and > would have required to have the JSON structure in the TTCN3 files. The > eim testsuite also runs an external script for REST requests. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41227?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic924dabbc813459f73d6646ee17b79cb11d39a76 Gerrit-Change-Number: 41227 Gerrit-PatchSet: 2 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 16 Oct 2025 12:02:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: hlr: wrap f_vty_subscr_create and _delete
by fixeria 16 Oct '25

16 Oct '25
Attention is currently required from: osmith. fixeria has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email ) Change subject: hlr: wrap f_vty_subscr_create and _delete ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6aafa118645346fd709c56de1e38771ed4de93b7 Gerrit-Change-Number: 41226 Gerrit-PatchSet: 2 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Comment-Date: Thu, 16 Oct 2025 12:01:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
[L] Change in osmo-ttcn3-hacks[master]: hlr: pyhss: create/delete subscribers
by fixeria 16 Oct '25

16 Oct '25
Attention is currently required from: osmith. fixeria has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41227?usp=email ) Change subject: hlr: pyhss: create/delete subscribers ...................................................................... Patch Set 1: (1 comment) File library/PyHSS_REST_Functions.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41227/comment/fc457952_f4a9… : PS1, Line 29: f_pyhss_api_helper (Just wondering) Why did you choose this approach (calling a helper script) over sending HTTP requests and parsing responses directly from TTCN-3? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41227?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic924dabbc813459f73d6646ee17b79cb11d39a76 Gerrit-Change-Number: 41227 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Comment-Date: Thu, 16 Oct 2025 12:00:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: hlr: wrap f_vty_subscr_create and _delete
by osmith 16 Oct '25

16 Oct '25
Attention is currently required from: fixeria. osmith has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email ) Change subject: hlr: wrap f_vty_subscr_create and _delete ...................................................................... Patch Set 1: (1 comment) File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226/comment/a1ec0b8d_c20a… : PS1, Line 516: f_subscr_create_HCH > The more usual naming would be `f_ConnHdlr_subscr_*()`. Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6aafa118645346fd709c56de1e38771ed4de93b7 Gerrit-Change-Number: 41226 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Comment-Date: Thu, 16 Oct 2025 11:59:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: hlr: wrap f_vty_subscr_create and _delete
by osmith 16 Oct '25

16 Oct '25
Attention is currently required from: osmith. Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email to look at the new patch set (#2). The following approvals got outdated and were removed: Verified+1 by Jenkins Builder Change subject: hlr: wrap f_vty_subscr_create and _delete ...................................................................... hlr: wrap f_vty_subscr_create and _delete Add wrappers as f_subscr_create/_delete (without _vty), and only use the VTY implementation for OsmoHLR. This is in preparation for implementing a different method for PyHSS in a follow-up patch. Avoid passing the VTY parameter by splitting each function into a normal variant that runs on test_CT, and a _HCH variant that runs on HLR_ConnHdlr. Change-Id: I6aafa118645346fd709c56de1e38771ed4de93b7 --- M hlr/HLR_Tests.ttcn 1 file changed, 81 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/41226/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newpatchset Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6aafa118645346fd709c56de1e38771ed4de93b7 Gerrit-Change-Number: 41226 Gerrit-PatchSet: 2 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de>
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: hlr: wrap f_vty_subscr_create and _delete
by fixeria 16 Oct '25

16 Oct '25
Attention is currently required from: osmith. fixeria has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email ) Change subject: hlr: wrap f_vty_subscr_create and _delete ...................................................................... Patch Set 1: (1 comment) File hlr/HLR_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226/comment/5b037c2c_c37c… : PS1, Line 516: f_subscr_create_HCH The more usual naming would be `f_ConnHdlr_subscr_*()`. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6aafa118645346fd709c56de1e38771ed4de93b7 Gerrit-Change-Number: 41226 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Comment-Date: Thu, 16 Oct 2025 11:56:50 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No
1 0
0 0
[M] Change in osmo-ttcn3-hacks[master]: hlr: wrap f_vty_subscr_create and _delete
by osmith 16 Oct '25

16 Oct '25
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email ) Change subject: hlr: wrap f_vty_subscr_create and _delete ...................................................................... hlr: wrap f_vty_subscr_create and _delete Add wrappers as f_subscr_create/_delete (without _vty), and only use the VTY implementation for OsmoHLR. This is in preparation for implementing a different method for PyHSS in a follow-up patch. Avoid passing the VTY parameter by splitting each function into a normal variant that runs on test_CT, and a _HCH variant that runs on HLR_ConnHdlr. Change-Id: I6aafa118645346fd709c56de1e38771ed4de93b7 --- M hlr/HLR_Tests.ttcn 1 file changed, 81 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/41226/1 diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index 97bbada..3ce7032 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -500,6 +500,50 @@ } /*********************************************************************** + * Subscriber creation wrappers + ***********************************************************************/ + +function f_subscr_create(HlrSubscriber sub) +runs on test_CT { + if (m_hlr_impl == HLR_IMPL_OSMOCOM) { + f_vty_subscr_create(VTY, sub); + } else { + setverdict(fail, "f_subscr_create is not implemented for ", m_hlr_impl); + mtc.stop; + } +} + +function f_subscr_create_HCH(HlrSubscriber sub) +runs on HLR_ConnHdlr { + if (m_hlr_impl == HLR_IMPL_OSMOCOM) { + f_vty_subscr_create(VTY, sub); + } else { + setverdict(fail, "f_subscr_create_HCH is not implemented for ", m_hlr_impl); + mtc.stop; + } +} + +function f_subscr_delete(HlrSubscriber sub) +runs on test_CT { + if (m_hlr_impl == HLR_IMPL_OSMOCOM) { + f_vty_subscr_delete(VTY, sub); + } else { + setverdict(fail, "f_subscr_delete is not implemented for ", m_hlr_impl); + mtc.stop; + } +} + +function f_subscr_delete_HCH(HlrSubscriber sub) +runs on HLR_ConnHdlr { + if (m_hlr_impl == HLR_IMPL_OSMOCOM) { + f_vty_subscr_delete(VTY, sub); + } else { + setverdict(fail, "f_subscr_delete_HCH is not implemented for ", m_hlr_impl); + mtc.stop; + } +} + +/*********************************************************************** * Helper functions for ConnHdlr ***********************************************************************/ @@ -877,10 +921,10 @@ } var HLR_ConnHdlr vc_conn; - f_vty_subscr_create(VTY, sub); + f_subscr_create(sub); vc_conn := f_start_handler(fn, pars); vc_conn.done; - f_vty_subscr_delete(VTY, sub); + f_subscr_delete(sub); } } @@ -1140,21 +1184,21 @@ /* we're not using f_gen_subs() here as the expect pattern for the 'show' are different * from case to case */ sub := valueof(t_Sub2G(f_rnd_imsi('26242'H), '49161'H & f_rnd_hexstring(7, 9), "comp128v1")); - f_vty_subscr_create(VTY, sub); + f_subscr_create(sub); f_vty_subscr_show(VTY, sub, pattern "*IMSI: *2G auth: COMP128v1*"); - f_vty_subscr_delete(VTY, sub); + f_subscr_delete(sub); sub := valueof(t_Sub3G(f_rnd_imsi('26242'H), '49161'H & f_rnd_hexstring(7, 9), "milenage", false)); - f_vty_subscr_create(VTY, sub); + f_subscr_create(sub); f_vty_subscr_show(VTY, sub, pattern "*IMSI: *3G auth: MILENAGE*"); - f_vty_subscr_delete(VTY, sub); + f_subscr_delete(sub); sub := valueof(t_Sub2G3G(f_rnd_imsi('26242'H), '49161'H & f_rnd_hexstring(7, 9), "comp128v1", "milenage", false)); - f_vty_subscr_create(VTY, sub); + f_subscr_create(sub); f_vty_subscr_show(VTY, sub, pattern "*IMSI: *2G auth: COMP128v1*3G auth: MILENAGE*"); - f_vty_subscr_delete(VTY, sub); + f_subscr_delete(sub); setverdict(pass); } @@ -1166,7 +1210,7 @@ timer T := 5.0; /* Create Subscriber */ - f_vty_subscr_create(VTY, g_pars.sub); + f_subscr_create_HCH(g_pars.sub); /* Perform UpdateLocation (VLR now known to HLR) */ res := f_perform_UL(g_pars.sub.imsi, g_pars.sub.msisdn); @@ -1281,7 +1325,7 @@ for (var integer i := 0; i < sizeof(sl); i := i+1) { var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i])); pars.ussd.sid := f_rnd_octstring(4); - f_vty_subscr_create(VTY, pars.sub); + f_subscr_create(pars.sub); vc_conn := f_start_handler(refers(f_TC_mo_ussd_unknown), pars); vc_conn.done; } @@ -1308,7 +1352,7 @@ for (var integer i := 0; i < sizeof(sl); i := i+1) { var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i])); pars.ussd.sid := f_rnd_octstring(4); - f_vty_subscr_create(VTY, pars.sub); + f_subscr_create(pars.sub); vc_conn := f_start_handler(refers(f_TC_mo_ussd_euse_disc), pars); vc_conn.done; } @@ -1340,7 +1384,7 @@ for (var integer i := 0; i < sizeof(sl); i := i+1) { var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i])); pars.ussd.sid := f_rnd_octstring(4); - f_vty_subscr_create(VTY, pars.sub); + f_subscr_create(pars.sub); vc_conn := f_start_handler(refers(f_TC_mo_ussd_iuse_imsi), pars); vc_conn.done; } @@ -1354,7 +1398,7 @@ for (var integer i := 0; i < sizeof(sl); i := i+1) { var HLR_ConnHdlrPars pars := valueof(t_Pars_sub_via_proxy(sl[i])); pars.ussd.sid := f_rnd_octstring(4); - f_vty_subscr_create(VTY, pars.sub); + f_subscr_create(pars.sub); vc_conn := f_start_handler(refers(f_TC_mo_ussd_iuse_imsi), pars); vc_conn.done; } @@ -1386,7 +1430,7 @@ for (var integer i := 0; i < sizeof(sl); i := i+1) { var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i])); pars.ussd.sid := f_rnd_octstring(4); - f_vty_subscr_create(VTY, pars.sub); + f_subscr_create(pars.sub); vc_conn := f_start_handler(refers(f_TC_mo_ussd_iuse_msisdn), pars); vc_conn.done; } @@ -1400,7 +1444,7 @@ for (var integer i := 0; i < sizeof(sl); i := i+1) { var HLR_ConnHdlrPars pars := valueof(t_Pars_sub_via_proxy(sl[i])); pars.ussd.sid := f_rnd_octstring(4); - f_vty_subscr_create(VTY, pars.sub); + f_subscr_create(pars.sub); vc_conn := f_start_handler(refers(f_TC_mo_ussd_iuse_msisdn), pars); vc_conn.done; } @@ -1433,7 +1477,7 @@ for (var integer i := 0; i < sizeof(sl); i := i+1) { var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i])); pars.ussd.sid := f_rnd_octstring(4); - f_vty_subscr_create(VTY, pars.sub); + f_subscr_create(pars.sub); vc_conn := f_start_handler(refers(f_TC_mo_ussd_100), pars); vc_conn.done; } @@ -1480,7 +1524,7 @@ for (var integer i := 0; i < sizeof(sl); i := i+1) { var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i])); pars.ussd.sid := f_rnd_octstring(4); - f_vty_subscr_create(VTY, pars.sub); + f_subscr_create(pars.sub); vc_conn := f_start_handler(refers(f_TC_mo_ussd_100_continue), pars); vc_conn.done; } @@ -1516,7 +1560,7 @@ for (var integer i := 0; i < sizeof(sl); i := i+1) { var HLR_ConnHdlrPars pars := valueof(t_Pars_sub(sl[i])); pars.ussd.sid := f_rnd_octstring(4); - f_vty_subscr_create(VTY, pars.sub); + f_subscr_create(pars.sub); vc_conn := f_start_handler(refers(f_TC_mo_ussd_999), pars); vc_conn.done; } @@ -1567,10 +1611,10 @@ pars := valueof(t_Pars_sub(sub)); pars.ussd.sid := f_rnd_octstring(4); - f_vty_subscr_create(VTY, sub); + f_subscr_create(sub); vc_conn := f_start_handler(refers(f_TC_mo_sss_reject), pars); vc_conn.done; - f_vty_subscr_delete(VTY, sub); + f_subscr_delete(sub); } @@ -1668,7 +1712,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d*"); /* last line, hence not matching "\d\d\d\n" */ f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*"); res := f_perform_UL(g_pars.sub.imsi, ?); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); /* Random MSISDN and PS NAM (LU must pass) */ f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 ps"); @@ -1678,7 +1722,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*"); f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*PS disabled*"); res := f_perform_UL(g_pars.sub.imsi, ?); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); /* Random MSISDN and CS NAM (LU must fail) */ f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs"); @@ -1688,7 +1732,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern "*PS disabled*"); f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*CS disabled*"); res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed */); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); /* Random MSISDN and no NAM (LU must fail) */ f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 none"); @@ -1697,7 +1741,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d*"); f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*"); res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed */); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); /* No MSISDN and no NAM (LU must fail) */ f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn none"); @@ -1706,7 +1750,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*"); f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*"); res := f_perform_UL(g_pars.sub.imsi, ?, 7 /* GPRS services not allowed */); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); /* No MSISDN and CS+PS NAM (LU must pass) */ f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn cs+ps"); @@ -1715,7 +1759,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*"); f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*"); res := f_perform_UL(g_pars.sub.imsi, omit); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); setverdict(pass); } @@ -1740,7 +1784,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*"); f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*"); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); /* Random MSISDN and PS NAM (LU must pass) */ f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 ps"); @@ -1749,7 +1793,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*"); f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*"); f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*PS disabled*"); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); /* Random MSISDN and CS NAM (LU must fail) */ f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 cs"); @@ -1758,7 +1802,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*"); f_vty_subscr_show(VTY, g_pars.sub, pattern "*PS disabled*"); f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*CS disabled*"); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); /* Random MSISDN and no NAM (LU must fail) */ f_vty_config(VTY, "hlr", "subscriber-create-on-demand 3 none"); @@ -1766,7 +1810,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: \d\d\d\n*"); f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*"); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); /* No MSISDN and no NAM (LU must fail) */ f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn none"); @@ -1774,7 +1818,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*"); f_vty_subscr_show(VTY, g_pars.sub, pattern "*CS disabled*PS disabled*"); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); /* No MSISDN and CS+PS NAM (LU must pass) */ f_vty_config(VTY, "hlr", "subscriber-create-on-demand no-msisdn cs+ps"); @@ -1782,7 +1826,7 @@ f_vty_subscr_show(VTY, g_pars.sub, pattern imsi_pattern); f_vty_subscr_show(VTY, g_pars.sub, pattern "*MSISDN: none*"); f_vty_subscr_show_nomatch(VTY, g_pars.sub, pattern "*[CP]S disabled*"); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); setverdict(pass); } @@ -1814,7 +1858,7 @@ /* Location update */ res := f_perform_UL(g_pars.sub.imsi, ?); - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); setverdict(pass); } testcase TC_subscr_create_on_demand_sai() runs on test_CT { @@ -1838,7 +1882,7 @@ /* Create subscriber */ g_pars.sub.msisdn := msisdn; - f_vty_subscr_create(VTY, g_pars.sub); + f_subscr_create_HCH(g_pars.sub); /* Send mDNS query, expect timeout */ mDNS.send(ts_MSLookup_mDNS_query(id, domain)); @@ -1872,7 +1916,7 @@ } } - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); } testcase TC_MSLookup_mDNS_service_other_home() runs on test_CT { var hexstring imsi := f_rnd_imsi('26242'H); @@ -1922,7 +1966,7 @@ /* Create subscriber */ g_pars.sub.msisdn := '133713381339'H; - f_vty_subscr_create(VTY, g_pars.sub); + f_subscr_create_HCH(g_pars.sub); /* Send mDNS query, expect result */ mDNS.send(ts_MSLookup_mDNS_query(id, domain)); @@ -1939,7 +1983,7 @@ } } - f_vty_subscr_delete(VTY, g_pars.sub); + f_subscr_delete_HCH(g_pars.sub); } testcase TC_MSLookup_mDNS_service_GSUP_HLR_home() runs on test_CT { var hexstring imsi := f_rnd_imsi('26242'H); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41226?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6aafa118645346fd709c56de1e38771ed4de93b7 Gerrit-Change-Number: 41226 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de>
1 0
0 0
[L] Change in osmo-ttcn3-hacks[master]: hlr: pyhss: create/delete subscribers
by osmith 16 Oct '25

16 Oct '25
osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41227?usp=email ) Change subject: hlr: pyhss: create/delete subscribers ...................................................................... hlr: pyhss: create/delete subscribers Run the PyHSS API service, and fill it with a default APN on startup. Having one APN entry in the database is required for creating subscribers. Talk to the API service for creating and deleting subscribers. Do this with a new script pyhss_api_helper.py. Deleting subscribers requires reading JSON returned from the server (to get the AUC and subscriber ID from the IMSI). I have first attempted to do this via HTTP_Adapter instead of using a helper script, but this was a lot more complex and would have required to have the JSON structure in the TTCN3 files. The eim testsuite also runs an external script for REST requests. With this change and additional fixes in PyHSS, more tests pass: * HLR_Tests.TC_gsup_sai * HLR_Tests.TC_gsup_sai_num_auth_vectors * HLR_Tests.TC_gsup_ul * HLR_Tests.TC_gsup_purge_cs * HLR_Tests.TC_gsup_purge_ps Related: OS#6862 Change-Id: Ic924dabbc813459f73d6646ee17b79cb11d39a76 --- M _testenv/data/podman/Dockerfile A _testenv/data/scripts/pyhss_api_helper.py M hlr/HLR_Tests.ttcn M hlr/README.md M hlr/gen_links.sh A hlr/pyhss/setup_db.sh M hlr/regen_makefile.sh M hlr/testenv_pyhss.cfg A library/PyHSS_REST_Functions.ttcn 9 files changed, 303 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/27/41227/1 diff --git a/_testenv/data/podman/Dockerfile b/_testenv/data/podman/Dockerfile index f1deb29..9044f1f 100644 --- a/_testenv/data/podman/Dockerfile +++ b/_testenv/data/podman/Dockerfile @@ -80,6 +80,7 @@ python3-dev \ python3-pip \ python3-poetry-core \ + python3-requests \ python3-venv \ qemu-system-x86 \ rsync \ diff --git a/_testenv/data/scripts/pyhss_api_helper.py b/_testenv/data/scripts/pyhss_api_helper.py new file mode 100755 index 0000000..a20af74 --- /dev/null +++ b/_testenv/data/scripts/pyhss_api_helper.py @@ -0,0 +1,110 @@ +#!/usr/bin/env python3 +# Copyright 2025 sysmocom - s.f.m.c. GmbH +# SPDX-License-Identifier: GPL-3.0-or-later +import argparse +import requests +import sys + +args = None +api = "http://127.0.0.1:8080" +session = requests.Session() + + +def parse_args(): + global args + + parser = argparse.ArgumentParser() + subparsers = parser.add_subparsers(title="action", dest="action", required=True) + + subparser = subparsers.add_parser("add_default_apn") + + subparser = subparsers.add_parser("add_subscr") + subparser.add_argument("--imsi", required=True) + subparser.add_argument("--msisdn", required=True) + subparser.add_argument("--auc-id", required=True) + subparser.add_argument("--algo", required=True) + subparser.add_argument("--ki", required=True) + subparser.add_argument("--opc", required=True) + + subparser = subparsers.add_parser("del_subscr") + subparser.add_argument("--imsi", required=True) + + args = parser.parse_args() + + +def add_default_apn(): + url = f"{api}/apn/" + print(f"PUT {url}") + payload = { + "apn_id": 1, + "apn": "internet", + "ip_version": 0, + "charging_characteristics": "0800", + "apn_ambr_dl": 0, + "apn_ambr_ul": 0, + "qci": 9, + "arp_priority": 4, + "arp_preemption_capability": 0, + "arp_preemption_vulnerability": 1, + } + session.put(url, json=payload) + + +def add_subscr(): + # Previous tests may have left an entry in the AUC table + url = f"{api}/auc/{args.auc_id}" + print(f"DELETE {url}") + session.delete(url) + + url = f"{api}/auc/" + print(f"PUT {url}") + payload = { + "auc_id": args.auc_id, + "ki": args.ki, + "opc": args.opc, + "amf": "8000", + "sqn": "0", + "imsi": args.imsi, + "algo": args.algo, + } + session.put(url, json=payload) + + url = f"{api}/subscriber/" + print(f"PUT {url}") + payload = { + "auc_id": args.auc_id, + "default_apn": "Internet", + "apn_list": "1", + "imsi": args.imsi, + "msisdn": args.msisdn, + } + session.put(url, json=payload) + + +def get_subscr_by_imsi(): + url = f"{api}/subscriber/imsi/{args.imsi}" + print(f"GET {url}") + ret = session.get(url).json() + + if not ret: + print("ERROR: subscriber does not exist") + sys.exit(1) + + return ret + + +def del_subscr(): + subscr = get_subscr_by_imsi() + + url = f"{api}/auc/{subscr['auc_id']}" + print(f"DELETE {url}") + session.delete(url) + + url = f"{api}/subscriber/{subscr['subscriber_id']}" + print(f"DELETE {url}") + session.delete(url) + + +if __name__ == "__main__": + parse_args() + globals()[args.action]() diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn index 3ce7032..a396dc6 100644 --- a/hlr/HLR_Tests.ttcn +++ b/hlr/HLR_Tests.ttcn @@ -37,12 +37,14 @@ import from MSLookup_mDNS_Templates all; import from DNS_Helpers all; +import from PyHSS_REST_Functions all; + type enumerated HLR_Impl { HLR_IMPL_OSMOCOM, HLR_IMPL_PYHSS }; -type component test_CT extends CTRL_Adapter_CT { +type component test_CT extends CTRL_Adapter_CT, PyHSS_REST_CT { /* emulated GSUP client (MSC/SGSN) */ var IPA_Emulation_CT vc_IPA; var IPA_CCM_Parameters ccm_pars; @@ -101,7 +103,7 @@ type record of HlrSubscriber HlrSubscriberList; -type component HLR_ConnHdlr extends GSUP_ConnHdlr { +type component HLR_ConnHdlr extends GSUP_ConnHdlr, PyHSS_REST_CT { timer g_Tguard := 10.0; var HLR_ConnHdlrPars g_pars; port TELNETasp_PT VTY; @@ -498,6 +500,42 @@ var charstring prefix := valueof(t_subscr_prefix(sub.imsi)); f_vty_transceive_nomatch(VTY, prefix & "show", exp); } +/*********************************************************************** + * Subscriber creation via PyHSS REST API + ***********************************************************************/ +function f_rest_subscr_create(HlrSubscriber sub) +runs on PyHSS_REST_CT { + /* Notes on 3G K, OP/ OPc: + * - OPc is derived from K and OPc (3GPP TS 35.206 § 4.1). + * - HlrSubscrAud3G has "k", "op", "op_is_opc" + * - OsmoHLR DB has "k", "op" and "opc" + * - PyHSS DB has "opc" + * As PyHSS only accepts OPc, and the values are dummys anyway, ignore + * "op_is_opc" and just set sub.aud3g.op as OPc. */ + if (ispresent(sub.aud2g) and ispresent(sub.aud3g)) { + f_pyhss_rest_subscr_create(sub.imsi, + sub.msisdn, + sub.aud2g.algo, + sub.aud2g.ki, + sub.aud3g.algo, + sub.aud3g.op); + } else if (ispresent(sub.aud2g)) { + f_pyhss_rest_subscr_create(sub.imsi, + sub.msisdn, + sub.aud2g.algo, + sub.aud2g.ki); + } else if (ispresent(sub.aud3g)) { + f_pyhss_rest_subscr_create(sub.imsi, + sub.msisdn, + omit, + omit, + sub.aud3g.algo, + sub.aud3g.op); + } else { + setverdict(fail, "f_rest_subscr_create: algo2g and algo3g are unset"); + mtc.stop; + } +} /*********************************************************************** * Subscriber creation wrappers @@ -507,6 +545,8 @@ runs on test_CT { if (m_hlr_impl == HLR_IMPL_OSMOCOM) { f_vty_subscr_create(VTY, sub); + } else if (m_hlr_impl == HLR_IMPL_PYHSS) { + f_rest_subscr_create(sub); } else { setverdict(fail, "f_subscr_create is not implemented for ", m_hlr_impl); mtc.stop; @@ -517,6 +557,8 @@ runs on HLR_ConnHdlr { if (m_hlr_impl == HLR_IMPL_OSMOCOM) { f_vty_subscr_create(VTY, sub); + } else if (m_hlr_impl == HLR_IMPL_PYHSS) { + f_rest_subscr_create(sub); } else { setverdict(fail, "f_subscr_create_HCH is not implemented for ", m_hlr_impl); mtc.stop; @@ -527,6 +569,8 @@ runs on test_CT { if (m_hlr_impl == HLR_IMPL_OSMOCOM) { f_vty_subscr_delete(VTY, sub); + } else if (m_hlr_impl == HLR_IMPL_PYHSS) { + f_pyhss_rest_subscr_delete(sub.imsi); } else { setverdict(fail, "f_subscr_delete is not implemented for ", m_hlr_impl); mtc.stop; @@ -537,6 +581,8 @@ runs on HLR_ConnHdlr { if (m_hlr_impl == HLR_IMPL_OSMOCOM) { f_vty_subscr_delete(VTY, sub); + } else if (m_hlr_impl == HLR_IMPL_PYHSS) { + f_pyhss_rest_subscr_delete(sub.imsi); } else { setverdict(fail, "f_subscr_delete_HCH is not implemented for ", m_hlr_impl); mtc.stop; diff --git a/hlr/README.md b/hlr/README.md index a08c03f..0bf29ad 100644 --- a/hlr/README.md +++ b/hlr/README.md @@ -1,8 +1,14 @@ # HLR_Tests.ttcn -* external interfaces - * GSUP (emulates VLR/SGSN side) - * VTY +External interfaces: +* GSUP (emulates VLR/SGSN side) +* VTY / PyHSS REST API client + +PyHSS notes: +* Temporary branch that has all necessary patches: + https://gitea.osmocom.org/osmith/pyhss/src/branch/osmith/ttcn3 +* Patches are being upstreamed to: + https://github.com/nickvsnetworking/pyhss {% dot hlr_tests.svg digraph G { diff --git a/hlr/gen_links.sh b/hlr/gen_links.sh index a077937..621fe05 100755 --- a/hlr/gen_links.sh +++ b/hlr/gen_links.sh @@ -43,6 +43,10 @@ FILES="UDPasp_PT.cc UDPasp_PT.hh UDPasp_PortType.ttcn UDPasp_Types.ttcn" gen_links $DIR $FILES +DIR=$BASEDIR/titan.TestPorts.PIPEasp/src +FILES="PIPEasp_PT.cc PIPEasp_PT.hh PIPEasp_Types.ttcn PIPEasp_PortType.ttcn " +gen_links $DIR $FILES + DIR=../library FILES="Native_Functions.ttcn Native_FunctionDefs.cc Misc_Helpers.ttcn General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp " FILES+="PCO_Types.ttcn GSUP_Types.ttcn GSUP_Templates.ttcn GSUP_Emulation.ttcn " @@ -50,6 +54,8 @@ FILES+="Osmocom_VTY_Functions.ttcn " FILES+="SS_Templates.ttcn USSD_Helpers.ttcn " FILES+="MSLookup_mDNS_Types.ttcn MSLookup_mDNS_Emulation.ttcn MSLookup_mDNS_Templates.ttcn DNS_Helpers.ttcn " +FILES+="PyHSS_REST_Functions.ttcn " +FILES+="PIPEasp_Templates.ttcn " gen_links $DIR $FILES diff --git a/hlr/pyhss/setup_db.sh b/hlr/pyhss/setup_db.sh new file mode 100755 index 0000000..5fe0a71 --- /dev/null +++ b/hlr/pyhss/setup_db.sh @@ -0,0 +1,5 @@ +#!/bin/sh -ex + +wait_for_port.py -p 8080 + +pyhss_api_helper.py add_default_apn diff --git a/hlr/regen_makefile.sh b/hlr/regen_makefile.sh index 721599c..ac58c84 100755 --- a/hlr/regen_makefile.sh +++ b/hlr/regen_makefile.sh @@ -12,6 +12,7 @@ IPL4asp_discovery.cc Native_FunctionDefs.cc MAP_EncDec.cc + PIPEasp_PT.cc SS_EncDec.cc TCCConversion.cc TCCEncoding.cc @@ -26,3 +27,6 @@ " . ../_buildsystem/regen_makefile.inc.sh + +# required for forkpty(3) used by PIPEasp +sed -i -e '/^LINUX_LIBS/ s/$/ -lutil/' Makefile diff --git a/hlr/testenv_pyhss.cfg b/hlr/testenv_pyhss.cfg index 1fcd75b..4666d2d 100644 --- a/hlr/testenv_pyhss.cfg +++ b/hlr/testenv_pyhss.cfg @@ -10,3 +10,10 @@ make=pyhss package=pyhss copy=pyhss/config.yaml + +[pyhss_api] +program=cd ../pyhss_gsup && PYHSS_CONFIG=config.yaml run_in_venv.sh pyhss_api +setup=./setup_db.sh +make=pyhss +package=pyhss +copy=pyhss/setup_db.sh diff --git a/library/PyHSS_REST_Functions.ttcn b/library/PyHSS_REST_Functions.ttcn new file mode 100644 index 0000000..10dc341 --- /dev/null +++ b/library/PyHSS_REST_Functions.ttcn @@ -0,0 +1,113 @@ +/* REST interface API for PyHSS + * + * (C) 2025 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de> + * Author: Oliver Smith <osmith(a)sysmocom.de> + * + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +module PyHSS_REST_Functions { + +import from General_Types all; + +import from PIPEasp_PortType all; +import from PIPEasp_Types all; +import from PIPEasp_Templates all; + + +type component PyHSS_REST_CT { + var boolean g_pipe_initialized := false; + var integer g_next_auc_id := 1; + port PIPEasp_PT PIPE; +} + +private function f_pyhss_api_helper(charstring args) +runs on PyHSS_REST_CT { + if (not g_pipe_initialized) { + map(self:PIPE, system:PIPE); + g_pipe_initialized := true; + } + f_PIPEasp_exec_sync(PIPE, "pyhss_api_helper.py " & args) +} + +/* Get the algorithm value (algo), from PyHSS lib/database.py: + * 1 = Comp128v1 + * 2 = Comp128v2 + * 3 = Comp128v3 + * All Other = 3G auth with 2g keys from 3G Milenage */ +private function f_pyhss_algo(template (omit) charstring algo2g := omit, + template (omit) charstring algo3g := omit) +return integer { + if (not istemplatekind(algo2g, "omit")) { + if (valueof(algo2g) == "comp128v1") { + return 1; + } else if (valueof(algo2g) == "comp128v2") { + return 2; + } else if (valueof(algo2g) == "comp128v3") { + return 3; + } else { + setverdict(fail, "f_pyhss_algo: Unexpected algo2g: ", algo2g); + mtc.stop; + } + } + + if (not istemplatekind(algo3g, "omit")) { + if (valueof(algo3g) == "milenage") { + return 4; + } else { + setverdict(fail, "f_pyhss_algo: Unexpected algo3g: ", algo3g); + mtc.stop; + } + } + + setverdict(fail, "f_pyhss_algo: algo2g and algo3g are unset"); + mtc.stop; + + return -1; +} + +/* Create a subscriber */ +function f_pyhss_rest_subscr_create(hexstring imsi, + hexstring msisdn, + /* 2g */ + template (omit) charstring algo2g := omit, + template (omit) OCT16 ki := omit, + /* 3g */ + template (omit) charstring algo3g := omit, + template (omit) OCT16 opc := omit) +runs on PyHSS_REST_CT { + var integer algo := f_pyhss_algo(algo2g, algo3g); + + /* ki and opc cannot be NULL in the PyHSS DB */ + if (istemplatekind(ki, "omit")) { + ki := '11111111111111111111111111111111'O; + } + if (istemplatekind(opc, "omit")) { + opc := '22222222222222222222222222222222'O; + } + + f_pyhss_api_helper( + "add_subscr" + & " --imsi " & hex2str(imsi) + & " --msisdn " & hex2str(msisdn) + & " --auc-id " & int2str(g_next_auc_id) + & " --algo " & int2str(algo) + & " --ki " & oct2str(valueof(ki)) + & " --opc " & oct2str(valueof(opc)) + ); + + g_next_auc_id := g_next_auc_id + 1; +} + +/* Delete a subscriber */ +function f_pyhss_rest_subscr_delete(hexstring imsi) +runs on PyHSS_REST_CT{ + f_pyhss_api_helper("del_subscr --imsi " & hex2str(imsi)); +} + +} -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/41227?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic924dabbc813459f73d6646ee17b79cb11d39a76 Gerrit-Change-Number: 41227 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de>
1 0
0 0
[XS] Change in osmo-ci[master]: jobs/ttcn3-testsuites-testenv: hlr: add -c osmo_hlr
by osmith 16 Oct '25

16 Oct '25
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/41225?usp=email ) Change subject: jobs/ttcn3-testsuites-testenv: hlr: add -c osmo_hlr ...................................................................... jobs/ttcn3-testsuites-testenv: hlr: add -c osmo_hlr Now that it is also possible to run the HLR tests against PyHSS, add "-c osmo_hlr" to run the existing ttcn3-hlr-test jobs against osmo-hlr. I plan to add jobs for PyHSS later in a separate patch. Related: OS#6862 Depends: osmo-ttcn3-hacks I7a7e709ec02a9bf44343fff4df2861dfe4e1a761 Change-Id: Ic7acd3ca654580aa8e5a52f162f5c9042fc7d09f --- M jobs/ttcn3-testsuites-testenv.yml 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/jobs/ttcn3-testsuites-testenv.yml b/jobs/ttcn3-testsuites-testenv.yml index 73f19ab..92bc1d0 100644 --- a/jobs/ttcn3-testsuites-testenv.yml +++ b/jobs/ttcn3-testsuites-testenv.yml @@ -58,7 +58,7 @@ - ttcn3-hlr-test: # ~3 min testsuite: hlr - args: -b osmocom:nightly + args: -b osmocom:nightly -c osmo_hlr timer: H 08 * * * - ttcn3-mgw-test: # ~8 min @@ -243,7 +243,7 @@ - ttcn3-hlr-test-latest: # ~3 min testsuite: hlr - args: -b osmocom:latest + args: -b osmocom:latest -c osmo_hlr timer: H 12 * * * - ttcn3-mgw-test-latest: # ~8 min @@ -448,7 +448,7 @@ - ttcn3-hlr-test-asan: # ~3 min testsuite: hlr - args: -b osmocom:nightly:asan + args: -b osmocom:nightly:asan -c osmo_hlr timer: H 16 * * * - ttcn3-sip-test-asan: # ~2 min -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/41225?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic7acd3ca654580aa8e5a52f162f5c9042fc7d09f Gerrit-Change-Number: 41225 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
1 0
0 0
[XS] Change in osmo-ci[master]: jobs/ttcn3-testsuites-testenv: hlr: add -c osmo_hlr
by fixeria 16 Oct '25

16 Oct '25
Attention is currently required from: osmith. fixeria has posted comments on this change by osmith. ( https://gerrit.osmocom.org/c/osmo-ci/+/41225?usp=email ) Change subject: jobs/ttcn3-testsuites-testenv: hlr: add -c osmo_hlr ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/41225?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: comment Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ic7acd3ca654580aa8e5a52f162f5c9042fc7d09f Gerrit-Change-Number: 41225 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osmith(a)sysmocom.de> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de> Gerrit-Attention: osmith <osmith(a)sysmocom.de> Gerrit-Comment-Date: Thu, 16 Oct 2025 09:17:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • ...
  • 64
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.