Commit Graph

15 Commits

Author SHA1 Message Date
Neels Hofmeyr e0570c2a34 fill_config.py: fix expansion of ${_name}
Change-Id: Icece4135fd3b6ff6e091e43f40c6ed423db7fd8f
2020-05-20 22:41:50 +02:00
Neels Hofmeyr 96a12a1681 make freeswitch template configurable
move some freeswitch config files out of the freeswitch/ tree and symlink so
that they become configurable

Apply new PBX_* variable naming

fill_config: enable symlinks;
ignore template function 'strftime' because freeswith cfg uses that.

Change-Id: I97d3db87398c743637f7eb13629e21b149bcc8fa
2019-12-04 04:09:05 +01:00
Oliver Smith 87dae195e3 fill_config.py: copy subdirs
Change-Id: I010336d1ab2bb8abb69f38b3b5630ec9c47c77ed
2019-12-04 02:55:34 +01:00
Neels Hofmeyr c65901cf09 fill_config.py: sort foreach items numerically, not alphabetically
Make sure that BTS 11 doesn't get sorted between BTS 1 and 2, because osmo-bsc
requires the BTS to be configured in numerical order.

Also makes sense as foreach loop ordering in general.

Change-Id: Ib06052fd71def3d4c869ee9b3dc4d02ba06267af
2019-08-21 04:07:41 +02:00
Neels Hofmeyr 3cf904ac68 fill_config.py: expand ${FOOn} outside of ${foreach} blocks
Change-Id: Icd724218afac86e04d1c1030ff982d9b7c3ab6cb
2019-03-15 15:35:38 +01:00
Oliver Smith 24ddf9c941 run.sh: more userfriendly "stale configs" message
Make the message easy to understand at first glance, print what needs to
be done to regenerate the configs. Add an empty line before listing the
stale file that has been found, so it stands out from the (at this
point) less relevant path listings. It looks like the following now:

$ ./run.sh
using config file '/home/user/code/osmo-dev/net/config_2g3g_osmith'
on templates '/home/user/code/osmo-dev/net/tmpl_std'
with NET_DIR '/home/user/code/osmo-dev/net/osmith'

Stale: '/home/user/code/osmo-dev/net/tmpl_std/run.sh' is newer than 'run.sh'

WARNING: STALE CONFIGS - your net configs are older than the templates they should be based on!
 * Hit enter to continue, and use the stale config files
 * Hit ^C and run 'make regen' to regenerate your configs

Change-Id: If225e094619a07a228e0e2f337153ee18cdb420c
2019-01-30 17:56:22 +01:00
Neels Hofmeyr e7cb4a591c fill_config: fix multiple command expansions
If there are multiple ${foo()} commands expanded in one iteration, there would
be offset mismatches because the changed string was used with regex offsets
from before the match. Re-run the regex after each change.

Change-Id: I69de60d840ff3ba115c37d1ede7ccbc8879c82eb
2018-11-26 01:20:03 +01:00
Neels Hofmeyr 3c093457d2 fill_config: tweak for_each error message
Change-Id: If2c87e4aabeba91f99a2ec9da2b3d7ac8fa986ba
2018-11-26 01:19:16 +01:00
Neels Hofmeyr 4f0612251c fill_config.py: ignore templates starting with 'common_'
It's useful to include common parts in numerous cfg files, using the
${include(path)} command. So far they were called common_* and stored outside
of the templates dir (e.g. for logging). So far all files in a templates dir
are seen as templates, so the common files had to be stored in a different dir,
which is a bit senseless.

Allow storing them in the same dir with the templates: ignore all files
starting with 'common_'.

Change-Id: I74446dc0a7f51d4f231e8758a691abb675e87483
2018-11-17 00:05:16 +01:00
Neels Hofmeyr 5549ffbde8 fill_config.py: add ${foreach(FOO)}
This patch indicates that we should rather use a proper templating python
library instead of re-inventing this stuff. But now that we're here...

Add a construct

  ${foreach(BTS)}
   bts ${BTSn}
    location_area_code ${BTSn_LAC}
  ${foreach_end}

that repeats for each BTS<nr> variable found, e.g.

  BTS0_LAC=23
  BTS1_LAC=24
  BTS2_LAC=25

would result in three blocks of the above.

I am using this to avoid copy-pasting for configuring N BTSes for 35c3.

Change-Id: Ie1139a017f42cea5bf7ebbbe457bbc3bfe06944c
2018-11-16 18:43:43 +01:00
Oliver Smith fd7446fcab fill_config.py: add NET_DIR variable
Allow all config files to use a new NET_DIR variable, which always
points to the network folder with the generated configs. We can use
this to place all temporary files (sockets, pid files, ...) there.

Change-Id: Idbdf478ebb9f0b2fcd860e5eff3c414a0a459561
2018-10-31 13:07:00 +00:00
Neels Hofmeyr e02e0aee7a fill_config: resolve relative include paths recursively 2018-09-26 14:57:57 +02:00
Neels Hofmeyr d924e332bb fill_config.py: fix missing config file error msg 2018-09-10 00:05:29 +02:00
Neels Hofmeyr 57e4288c86 include cfg.sh,stale_config.sh in fill_config.py
Staleness check now also checks for included files.
fill_config.py figures out last used paths itself and has cmdline doc.
2018-08-23 15:19:35 +02:00
Neels Hofmeyr 697a617e0e add template-configs, script to launch network
This is the set of scripts I've written for myself over the years to easily
configure and run Osmocom core networks on my lab computer. I hope this will be
useful to others as well.
2018-08-23 14:17:20 +02:00