The "Affero" nature makes sense for the Osmocom network components like
BSC, SGSN, etc. as they are typically operated to provide a network
service.
For testing, this doesn't make so much sense as it is difficult to
imagine people creating a business out of offering to run test cases on
an end-to-end Osmocom GSM network. So let's drop the 'Affero' here.
All code is so far developed by sysmocom staff, so as Managing Director
of sysmocom I can effect such a license change unilaterally.
Change-Id: I8959c2d605854ffdc21cb29c0fe0e715685c4c05
Otherwise 0.0.0.0 was being used and we want all interfaces for a
specific osmo-hlr instance to use the same IP
Requires osmo-hlr change id I79f7a300480f308b21116dd14d1698be38725afd
otherwise osmo-hlr won't be able to parse the configuration file.
Change-Id: I4e0063abc8de3d739ebd81942b692cc2e75792f1
Have all complexity in one common shell script, greatly simplify the individual
scripts.
This allows to provide a specific branch or git hash to build instead of
current master. Some scripts allowed to provide branch names before, this now
also allows using git hashes directly.
Environment variables can be used to override the git hash/branch to use for
specific repositories.
Motivation for this patch: we need this to investigate failure causes more
easily.
Change-Id: I5ac2f90d006a1b2f6c246976346d852a70c89089
Otherwise 127.0.0.1 was being used and we want all interfaces for a
specific osmo-mgcpgw instance to use the same IP
Change-Id: I60dbfbb66458cd333fe07139ee175c94fa1672a7
Otherwise 127.0.0.1 was being used and we want all interfaces for a
specific osmo-bsc instance to use the same IP
Change-Id: I38dccac6707bf55f0abcf96e3a9d7d8ec765a156
Preparation for following commits to add smpp support, as we will have a
class SmppClient with a method accepting an Sms object to send it.
Change-Id: I1f28e14e963abb64df687b69d54975be2aeb0d0d
Implement the Modem.log_info() function, use that instead of logging all modem
properties.
Tweak mo_mt_sms.py print() statements.
Pass modem object to SMS generation to inlcude the modem name as SMS token.
Change-Id: I2b17fce0b3b05594fd9038b54e5b65f5127bd0a4
I got a backtrace in which the modem was lacking feature 'net'. That
happens for 2 reasons:
1- net feature is not shown unless the modem is Online (at least for
sierra modems)
2- Even after it has been set online, a lapse of time can pass before
the feature gets shown.
This was added in 896f08f6ab
"fix: refresh dbus object when interfaces have changed"
with the expectation that the 'Features' list would be available in all
modem states. Since it depends on being powered and online, the same
functionality is already provided by checking the Interfaces list, hence
this code can be dropped entirely.
Change-Id: Iedd62235d1a3a8b917ad4ac0b61b9c5dbf0fe43c
Completely discard prefix/share/doc in builds. There was still ~1.2Mb from
libosmo-netif around.
Exception: osmo-hlr installs a bootstrap sql in prefix/share/doc/osmo-hlr,
so leave that script as-is.
Change-Id: I7f3f3cfed0f56099bdff93b11a0009c1caef67c8
Allows using 'with some_origin() as foo:' constructs.
Not used actively, but is sometimes useful during debugging sessions.
Change-Id: I7a6463ee39761775305dd2272c24f248552db4ad
This seems to be the default address used to communicate via SSH with the
sysmoBTS. Whichever process ends up getting this address sees all of the
SSH in its pcap (for the AoIP build it tends to be OsmoHLR).
We could filter properly, but actually also just take this address out of
the pool for allocation to server processes.
Change-Id: I07e74ba0b9a5b08a308aae7646c4b7c70fe4aa0e
After a suite was done, the modem object would linger. If two suites were run
consecutively, the first suite's modem objects would still log incoming SMS.
Add an object cleanup mechanism in the SuiteRun class. Start by adding a
cleanup() to the Modem object and subscribing created modems there.
Move the modem_obj() function into SuiteRun, there is no use of it being
separate, and it makes for better logging.
Change-Id: I0048d33e661d683a263c98128cd5c38b8d897dab
This solves the KeyError problems when we attempt to use new Interfaces that
have come up. The solution is to get a fresh pydbus object when interfaces have
been added.
Another key solution is to not completely discard and unregister all signals
every time. This is racy and may cause signals getting lost. If an interface
was not removed, it is not harmful to have it subscribed using an older pydbus
object. These older objects may linger until the specific signal subscriptions
are disconnected. It is important to fetch a new dbus object for subscribing to
signals on interfaces that have just been added.
Put signal subscription and property watching in a separate class
ModemDbusInteraction. This class may also be used without signals or a modem
config, in anticipation of the IMSI discovery patch that's coming up.
Related: OS#2233
Change-Id: Ia36b881c25976d7e69dbb587317dd139169ce3d9
Add missing code to free resources, not upon program exit, but when a suite is
done.
This allows running more than one suite in a row.
Also add a check to not attempt to free if there is nothing to be freed, to
avoid a regression test failure triggered when a suite exits without reserving
anything.
Change-Id: Ic017a1cf07052f5e48812c8553fba6f972d280f0
Related: OS#2301
If not a single resource of a wanted item was left, we ran into a None. Report
unavailability instead.
Change-Id: Ie1849a74cb227964e7c3ac06852582baa2333697
Before this, the network opened up by osmo-bts-trx would be invisible through
the attenuation of the osmo-gsm-tester hardware, because tx-attenuation would
apparently default to 50, meaning maximum attenuation.
Change-Id: I1c026b5691033127eef766d82566c39cc070e14a
The idea is to see the full origin list for log level ERR, while the rest
of the logging can be kept less verbose.
Change-Id: I0277782652548fa321f767da79b207d70678fad1
It would be nicer to select the network programs as scenarios, i.e.
independently from the specifics of tests that don't care whether a NITB or a
MSC+BSC is in place. See OS#2270.
For now have a separate script for BSC+MSC+HLR operation to be able to rapidly
get the binaries to work. We might even simply drop the NITB style, in which
case we don't need to make it configurable.
Change-Id: I06d2529822f3e483ce7fffc439edfa57844e01ef
The upcoming BSC+MSC+HLR+MGCPGW style will need four IP addresses. I found six
already configured on the main unit, so adding all of them to our
resources.conf.
Change-Id: Ie0e0ed9bb7fbd87ebe630c32ef59659117d77ed8
To start an MGCPGW, we so far need the BTS address in advance (should get fixed
at some point, but so far we do).
The sysmoBTS has a fixed IP address configured. The osmo-bts-trx so far always
uses 127.0.0.1 (should also be fixed at some point). Both now return this
address with the remote_addr() function.
This also replaces a SysmoBts.remote_addr member variable (which is not
sufficient because it is only populated during configure()).
Change-Id: I7af9275914f34808cb60ae16b65ecd3688fd6b5b
A NITB is a BSC + MSC, and if a BTS talks to a NITB, it talks to the BSC part
of the NITB. Hence it makes more sense to name certain things 'bsc' instead of
'nitb', to prepare for a separate BSC process appearing soon.
Change-Id: I6a0343b9243b166d4053cc44f523543f1245d772
I would like to use the IP addresses also for OsmoBSC processes, so it is more
than clear now that 'nitb_iface' was the wrong naming choice.
The only distinction we may need in the future is public versus loopback
interface. To add that, we may add a trait to the 'ip_address' resource
like:
ip_address:
- addr: 10.42.42.1
type: public
- addr: 127.0.0.1
type: loopback
This way we can substitute public vs loopback addresses flexibly (e.g. using
scenarios).
Change-Id: I3ad583ae7a33f7a7bb56fe78a125f73c56a0e860
We're not currently paying attention to the octphy in osmo-gsm-tester. So
instead of maintaining dead code, remove the bts_octphy.py; we can re-add when
the octphy is implemented properly.
Change-Id: Ia5d5750d440ae7019634b51fa1efe7bbb2a1d1e2
This file is already created in run_suites().
Creating it in here too makes a new file name()_2.xml created and
populated instead of the original name().xml one.
Change-Id: Ibec14a1ef5fd029aa37ce666d00236bb872d636e