<p>osmith has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-sgsn/+/16407">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">regen_doc.sh: support gbproxy, run without docker<br><br>Do not only update the VTY reference and counters of osmo-sgsn, but also<br>the VTY reference of gbproxy.<br><br>This was not possible with the old code path of calling "regen_doc.sh"<br>inside docker-playground.git, as it expects the program to be updated to<br>have the same name as the docker image. Using the docker-playground<br>script also has the disadvantage, that one must push the development<br>branch to git.osmocom.org before updating the VTY reference/counters,<br>because that script would build a new docker container with a freshly<br>cloned repository, check out the same commit that we have already<br>locally, build that and then finally regenerate the docs.<br><br>So instead of adding another parameter for the docker image to the<br>script in docker-playground.git and calling it twice, simplify the<br>process by rewriting the regen_doc.sh script in osmo-sgsn.git. Make it<br>start the locally installed osmo-sgsn and osmo-gbproxy binaries and<br>call osmo_interact_vty.py on them.<br><br>Related: OS#4292<br>Change-Id: I8b5bd5347ea34266ad650383372630f2a84d5cce<br>---<br>M doc/manuals/regen_doc.sh<br>1 file changed, 71 insertions(+), 11 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/07/16407/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh</span><br><span>index d758436..847b764 100755</span><br><span>--- a/doc/manuals/regen_doc.sh</span><br><span>+++ b/doc/manuals/regen_doc.sh</span><br><span>@@ -1,17 +1,77 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/bin/sh -x</span><br><span style="color: hsl(120, 100%, 40%);">+#!/bin/sh -e</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-if [ -z "$DOCKER_PLAYGROUND" ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-     echo "You need to set DOCKER_PLAYGROUND"</span><br><span style="color: hsl(120, 100%, 40%);">+require_osmo_interact_vty() {</span><br><span style="color: hsl(120, 100%, 40%);">+     if command -v osmo_interact_vty.py >/dev/null 2>&1; then</span><br><span style="color: hsl(120, 100%, 40%);">+            return</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span style="color: hsl(120, 100%, 40%);">+    echo "ERROR: osmo_interact_vty.py not found. Are osmo-python-tests in PATH?"</span><br><span>       exit 1</span><br><span style="color: hsl(0, 100%, 40%);">-fi</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-SCRIPT=$(realpath "$0")</span><br><span style="color: hsl(0, 100%, 40%);">-MANUAL_DIR=$(dirname "$SCRIPT")</span><br><span style="color: hsl(120, 100%, 40%);">+# $1: "update_vty_reference" or "update_counters"</span><br><span style="color: hsl(120, 100%, 40%);">+# $2: output file</span><br><span style="color: hsl(120, 100%, 40%);">+# $3: port</span><br><span style="color: hsl(120, 100%, 40%);">+# $4-$n: command</span><br><span style="color: hsl(120, 100%, 40%);">+interact_vty() {</span><br><span style="color: hsl(120, 100%, 40%);">+   action="$1"</span><br><span style="color: hsl(120, 100%, 40%);">+ output="$2"</span><br><span style="color: hsl(120, 100%, 40%);">+ port="$3"</span><br><span style="color: hsl(120, 100%, 40%);">+   log="/tmp/$4.log"</span><br><span style="color: hsl(120, 100%, 40%);">+   shift 3</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-COMMIT=${COMMIT:-$(git log -1 --format=format:%H)}</span><br><span style="color: hsl(120, 100%, 40%);">+ echo "Starting in background: $@"</span><br><span style="color: hsl(120, 100%, 40%);">+   "$@" > "$log" 2>&1 &</span><br><span style="color: hsl(120, 100%, 40%);">+        pid="$!"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-cd "$DOCKER_PLAYGROUND/scripts" || exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+     sleep 0.5</span><br><span style="color: hsl(120, 100%, 40%);">+     if ! kill -0 "$pid" 2>/dev/null; then</span><br><span style="color: hsl(120, 100%, 40%);">+            echo "ERROR: start failed!"</span><br><span style="color: hsl(120, 100%, 40%);">+         cat "$log"</span><br><span style="color: hsl(120, 100%, 40%);">+          exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+        fi</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-OSMO_SGSN_BRANCH=$COMMIT ./regen_doc.sh osmo-sgsn 4245 \</span><br><span style="color: hsl(0, 100%, 40%);">-  "$MANUAL_DIR/chapters/counters_generated.adoc" \</span><br><span style="color: hsl(0, 100%, 40%);">-      "$MANUAL_DIR/vty/sgsn_vty_reference.xml"</span><br><span style="color: hsl(120, 100%, 40%);">+    case "$action" in</span><br><span style="color: hsl(120, 100%, 40%);">+           "update_vty_reference")</span><br><span style="color: hsl(120, 100%, 40%);">+                     echo "Updating VTY reference: $output"</span><br><span style="color: hsl(120, 100%, 40%);">+                      osmo_interact_vty.py -X -p "$port" -H 127.0.0.1 -O "$output"</span><br><span style="color: hsl(120, 100%, 40%);">+                      ;;</span><br><span style="color: hsl(120, 100%, 40%);">+            "update_counters")</span><br><span style="color: hsl(120, 100%, 40%);">+                  echo "Updating asciidoc counters: $output"</span><br><span style="color: hsl(120, 100%, 40%);">+                  osmo_interact_vty.py -c "enable;show asciidoc counters" -p "$port" -H 127.0.0.1 -O "$output"</span><br><span style="color: hsl(120, 100%, 40%);">+                    ;;</span><br><span style="color: hsl(120, 100%, 40%);">+            *)</span><br><span style="color: hsl(120, 100%, 40%);">+                    echo "ERROR: invalid argument: $action"</span><br><span style="color: hsl(120, 100%, 40%);">+                     exit 1</span><br><span style="color: hsl(120, 100%, 40%);">+                        ;;</span><br><span style="color: hsl(120, 100%, 40%);">+    esac</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        kill "$pid"</span><br><span style="color: hsl(120, 100%, 40%);">+ echo "Done (killed $1)"</span><br><span style="color: hsl(120, 100%, 40%);">+     echo</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+DIR="$(cd "$(dirname "$0")"; pwd)"</span><br><span style="color: hsl(120, 100%, 40%);">+cd "$DIR"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+require_osmo_interact_vty</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+interact_vty \</span><br><span style="color: hsl(120, 100%, 40%);">+       "update_vty_reference" \</span><br><span style="color: hsl(120, 100%, 40%);">+    "vty/sgsn_vty_reference.xml" \</span><br><span style="color: hsl(120, 100%, 40%);">+      4245 \</span><br><span style="color: hsl(120, 100%, 40%);">+        osmo-sgsn -c "../examples/osmo-sgsn/osmo-sgsn.cfg"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+interact_vty \</span><br><span style="color: hsl(120, 100%, 40%);">+        "update_vty_reference" \</span><br><span style="color: hsl(120, 100%, 40%);">+    "vty-osmogbproxy/gbproxy_vty_reference.xml" \</span><br><span style="color: hsl(120, 100%, 40%);">+       4246 \</span><br><span style="color: hsl(120, 100%, 40%);">+        osmo-gbproxy -c "../examples/osmo-gbproxy/osmo-gbproxy.cfg"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+interact_vty \</span><br><span style="color: hsl(120, 100%, 40%);">+       "update_counters" \</span><br><span style="color: hsl(120, 100%, 40%);">+ "chapters/counters_generated.adoc" \</span><br><span style="color: hsl(120, 100%, 40%);">+        4245 \</span><br><span style="color: hsl(120, 100%, 40%);">+        osmo-sgsn -c "../examples/osmo-sgsn/osmo-sgsn.cfg"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+echo "Done with all"</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-sgsn/+/16407">change 16407</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-sgsn/+/16407"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-sgsn </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I8b5bd5347ea34266ad650383372630f2a84d5cce </div>
<div style="display:none"> Gerrit-Change-Number: 16407 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>