fixeria has uploaded this change for review.

View Change

s1gw: use REST interface to check PFCP assoc state

It's quicker to query the IUT using the REST interface rather than
waiting for StatsD metric "gauge.pfcp.associated.value" to be received.
As a bonus, we "learn" the local/remote RTS from the S1GW, which can
be used in new PFCP related testcases.

Change-Id: Iec7594e79f533b08ee93b443a39cb9c8ff03da43
---
M s1gw/S1GW_ConnHdlr.ttcn
M s1gw/S1GW_Tests.ttcn
2 files changed, 13 insertions(+), 16 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/42362/1
diff --git a/s1gw/S1GW_ConnHdlr.ttcn b/s1gw/S1GW_ConnHdlr.ttcn
index 574a2d0..fd171d3 100644
--- a/s1gw/S1GW_ConnHdlr.ttcn
+++ b/s1gw/S1GW_ConnHdlr.ttcn
@@ -434,16 +434,7 @@

function f_ConnHdlr_pfcp_assoc_handler(charstring id)
runs on ConnHdlr {
- var charstring key_name := g_pars.statsd_prefix & "gauge.pfcp.associated.value";
- var StatsDMetricKeys statsd_keys := { valueof(ts_StatsDMetricKey(key_name, "g")) };
- var StatsDMetrics statsd_snapshot := f_statsd_snapshot(statsd_keys, since_last_snapshot := false);
- var boolean pfcp_associated := statsd_snapshot[0].val == 1;
-
- if (not pfcp_associated) {
- log("Waiting for IUT to associate over PFCP");
- f_ConnHdlr_pfcp_assoc_setup();
- }
-
+ f_ConnHdlr_pfcp_assoc_setup();
setverdict(pass);
}

diff --git a/s1gw/S1GW_Tests.ttcn b/s1gw/S1GW_Tests.ttcn
index b7b01b1..f86546c 100644
--- a/s1gw/S1GW_Tests.ttcn
+++ b/s1gw/S1GW_Tests.ttcn
@@ -76,6 +76,7 @@
var S1AP_ServerList vc_S1APSRVs := {};
var PFCP_Emulation_CT vc_PFCP;
var StatsD_Checker_CT vc_STATSD;
+ var PfcpAssocInfo g_pfcp_assoc;
};

private altstep as_Tguard() runs on test_CT {
@@ -98,11 +99,11 @@
if (s1apsrv_start) {
f_init_s1ap_srv(num_mmes);
}
+ f_init_rest();
if (upf_start) {
f_init_pfcp();
f_pfcp_assoc();
}
- f_init_rest();
}

/* compute the IP address for pool MME server [idx]: mp_mme_bind_ip + idx */
@@ -140,11 +141,16 @@
var verdicttype verdict;
var ConnHdlr vc_conn;

- vc_conn := f_ConnHdlr_spawn(refers(f_ConnHdlr_pfcp_assoc_handler),
- pars := valueof(t_ConnHdlrPars));
- vc_conn.done -> value verdict;
- if (verdict != pass) {
- Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+ g_pfcp_assoc := f_REST_PfcpAssocState();
+ if (g_pfcp_assoc.state != connected) {
+ log("Waiting for IUT to associate over PFCP");
+ vc_conn := f_ConnHdlr_spawn(refers(f_ConnHdlr_pfcp_assoc_handler),
+ pars := valueof(t_ConnHdlrPars));
+ vc_conn.done -> value verdict;
+ if (verdict != pass) {
+ Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
+ }
+ g_pfcp_assoc := f_REST_PfcpAssocState();
}
}


To view, visit change 42362. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Iec7594e79f533b08ee93b443a39cb9c8ff03da43
Gerrit-Change-Number: 42362
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy@sysmocom.de>