aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2019-12-02 15:02:22 +0100
committerOliver Smith <osmith@sysmocom.de>2019-12-03 11:41:21 +0100
commitad08d17e07f307fbb67492707017a3d5103f1683 (patch)
tree257de745d22d081b018a4be261ef9e9e52f7bb7a /doc
parent118c411e81d6a3aa96a721beab937a361fa5d551 (diff)
regen_doc.sh: support gbproxy, run without docker
Do not only update the VTY reference and counters of osmo-sgsn, but also the VTY reference of gbproxy. This was not possible with the old code path of calling "regen_doc.sh" inside docker-playground.git, as it expects the program to be updated to have the same name as the docker image. Using the docker-playground script also has the disadvantage, that one must push the development branch to git.osmocom.org before updating the VTY reference/counters, because that script would build a new docker container with a freshly cloned repository, check out the same commit that we have already locally, build that and then finally regenerate the docs. So instead of adding another parameter for the docker image to the script in docker-playground.git and calling it twice, simplify the process by rewriting the regen_doc.sh script in osmo-sgsn.git. Make it start the locally installed osmo-sgsn and osmo-gbproxy binaries and call osmo_interact_vty.py on them. Related: OS#4292 Change-Id: I8b5bd5347ea34266ad650383372630f2a84d5cce
Diffstat (limited to 'doc')
-rwxr-xr-xdoc/manuals/regen_doc.sh82
1 files changed, 71 insertions, 11 deletions
diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh
index d75843669..847b764aa 100755
--- a/doc/manuals/regen_doc.sh
+++ b/doc/manuals/regen_doc.sh
@@ -1,17 +1,77 @@
-#!/bin/sh -x
+#!/bin/sh -e
-if [ -z "$DOCKER_PLAYGROUND" ]; then
- echo "You need to set DOCKER_PLAYGROUND"
+require_osmo_interact_vty() {
+ if command -v osmo_interact_vty.py >/dev/null 2>&1; then
+ return
+ fi
+ echo "ERROR: osmo_interact_vty.py not found. Are osmo-python-tests in PATH?"
exit 1
-fi
+}
-SCRIPT=$(realpath "$0")
-MANUAL_DIR=$(dirname "$SCRIPT")
+# $1: "update_vty_reference" or "update_counters"
+# $2: output file
+# $3: port
+# $4-$n: command
+interact_vty() {
+ action="$1"
+ output="$2"
+ port="$3"
+ log="/tmp/$4.log"
+ shift 3
-COMMIT=${COMMIT:-$(git log -1 --format=format:%H)}
+ echo "Starting in background: $@"
+ "$@" > "$log" 2>&1 &
+ pid="$!"
-cd "$DOCKER_PLAYGROUND/scripts" || exit 1
+ sleep 0.5
+ if ! kill -0 "$pid" 2>/dev/null; then
+ echo "ERROR: start failed!"
+ cat "$log"
+ exit 1
+ fi
-OSMO_SGSN_BRANCH=$COMMIT ./regen_doc.sh osmo-sgsn 4245 \
- "$MANUAL_DIR/chapters/counters_generated.adoc" \
- "$MANUAL_DIR/vty/sgsn_vty_reference.xml"
+ case "$action" in
+ "update_vty_reference")
+ echo "Updating VTY reference: $output"
+ osmo_interact_vty.py -X -p "$port" -H 127.0.0.1 -O "$output"
+ ;;
+ "update_counters")
+ echo "Updating asciidoc counters: $output"
+ osmo_interact_vty.py -c "enable;show asciidoc counters" -p "$port" -H 127.0.0.1 -O "$output"
+ ;;
+ *)
+ echo "ERROR: invalid argument: $action"
+ exit 1
+ ;;
+ esac
+
+ kill "$pid"
+ echo "Done (killed $1)"
+ echo
+}
+
+DIR="$(cd "$(dirname "$0")"; pwd)"
+cd "$DIR"
+
+require_osmo_interact_vty
+
+interact_vty \
+ "update_vty_reference" \
+ "vty/sgsn_vty_reference.xml" \
+ 4245 \
+ osmo-sgsn -c "../examples/osmo-sgsn/osmo-sgsn.cfg"
+
+interact_vty \
+ "update_vty_reference" \
+ "vty-osmogbproxy/gbproxy_vty_reference.xml" \
+ 4246 \
+ osmo-gbproxy -c "../examples/osmo-gbproxy/osmo-gbproxy.cfg"
+
+interact_vty \
+ "update_counters" \
+ "chapters/counters_generated.adoc" \
+ 4245 \
+ osmo-sgsn -c "../examples/osmo-sgsn/osmo-sgsn.cfg"
+
+
+echo "Done with all"