<p>laforge <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-ci/+/17131">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  pespin: Verified
  laforge: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gsm-tester: Install helper scripts and sudoers.d files from git repo<br><br>Let's avoid duplicating and having to add manually the files here every<br>time a new helper is required by osmo-gsm-tester.<br><br>Change-Id: Ibbdd291f4c3f7aecdd5118cc2b3b35edaddf7c09<br>---<br>D ansible/roles/gsm-tester/files/osmo-gsm-tester_netns_exec.sh<br>D ansible/roles/gsm-tester/files/osmo-gsm-tester_netns_setup.sh<br>D ansible/roles/gsm-tester/files/osmo-gsm-tester_setcap_net_admin.sh<br>D ansible/roles/gsm-tester/files/osmo-gsm-tester_setcap_net_raw.sh<br>M ansible/roles/gsm-tester/tasks/main.yml<br>5 files changed, 25 insertions(+), 81 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/ansible/roles/gsm-tester/files/osmo-gsm-tester_netns_exec.sh b/ansible/roles/gsm-tester/files/osmo-gsm-tester_netns_exec.sh</span><br><span>deleted file mode 100755</span><br><span>index 336b746..0000000</span><br><span>--- a/ansible/roles/gsm-tester/files/osmo-gsm-tester_netns_exec.sh</span><br><span>+++ /dev/null</span><br><span>@@ -1,5 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/bin/bash</span><br><span style="color: hsl(0, 100%, 40%);">-netns="$1"</span><br><span style="color: hsl(0, 100%, 40%);">-shift</span><br><span style="color: hsl(0, 100%, 40%);">-#TODO: Later on I may want to call myself with specific ENV and calling sudo in order to run inside the netns but with dropped privileges</span><br><span style="color: hsl(0, 100%, 40%);">-ip netns exec $netns "$@"</span><br><span>diff --git a/ansible/roles/gsm-tester/files/osmo-gsm-tester_netns_setup.sh b/ansible/roles/gsm-tester/files/osmo-gsm-tester_netns_setup.sh</span><br><span>deleted file mode 100755</span><br><span>index 1600c44..0000000</span><br><span>--- a/ansible/roles/gsm-tester/files/osmo-gsm-tester_netns_setup.sh</span><br><span>+++ /dev/null</span><br><span>@@ -1,22 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/bin/bash -e</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-ifname="$1"</span><br><span style="color: hsl(0, 100%, 40%);">-netns="$2"</span><br><span style="color: hsl(0, 100%, 40%);">-shift</span><br><span style="color: hsl(0, 100%, 40%);">-shift</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-if [ -f "/var/run/netns/${netns}" ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-    echo "netns $netns already exists"</span><br><span style="color: hsl(0, 100%, 40%);">-else</span><br><span style="color: hsl(0, 100%, 40%);">-    echo "Creating netns $netns"</span><br><span style="color: hsl(0, 100%, 40%);">-    ip netns add "$netns"</span><br><span style="color: hsl(0, 100%, 40%);">-fi</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-if [ -d "/sys/class/net/${ifname}" ]; then</span><br><span style="color: hsl(0, 100%, 40%);">-    echo "Moving iface $ifname to netns $netns"</span><br><span style="color: hsl(0, 100%, 40%);">-    ip link set $ifname netns $netns</span><br><span style="color: hsl(0, 100%, 40%);">-else</span><br><span style="color: hsl(0, 100%, 40%);">-    ip netns exec $netns ls "/sys/class/net/${ifname}" >/dev/null && echo "iface $ifname already in netns $netns"</span><br><span style="color: hsl(0, 100%, 40%);">-fi</span><br><span>diff --git a/ansible/roles/gsm-tester/files/osmo-gsm-tester_setcap_net_admin.sh b/ansible/roles/gsm-tester/files/osmo-gsm-tester_setcap_net_admin.sh</span><br><span>deleted file mode 100644</span><br><span>index 60e527a..0000000</span><br><span>--- a/ansible/roles/gsm-tester/files/osmo-gsm-tester_setcap_net_admin.sh</span><br><span>+++ /dev/null</span><br><span>@@ -1,2 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/bin/sh</span><br><span style="color: hsl(0, 100%, 40%);">-/sbin/setcap cap_net_admin+ep "$1"</span><br><span>diff --git a/ansible/roles/gsm-tester/files/osmo-gsm-tester_setcap_net_raw.sh b/ansible/roles/gsm-tester/files/osmo-gsm-tester_setcap_net_raw.sh</span><br><span>deleted file mode 100755</span><br><span>index 1f3a727..0000000</span><br><span>--- a/ansible/roles/gsm-tester/files/osmo-gsm-tester_setcap_net_raw.sh</span><br><span>+++ /dev/null</span><br><span>@@ -1,3 +0,0 @@</span><br><span style="color: hsl(0, 100%, 40%);">-#!/bin/sh</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-/sbin/setcap cap_net_raw+ep "$1"</span><br><span>diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml</span><br><span>index 0a5a838..309c187 100644</span><br><span>--- a/ansible/roles/gsm-tester/tasks/main.yml</span><br><span>+++ b/ansible/roles/gsm-tester/tasks/main.yml</span><br><span>@@ -262,57 +262,33 @@</span><br><span>     content: "@osmo-gsm-tester - rtprio 99"</span><br><span>     dest: /etc/security/limits.d/osmo-gsm-tester_rtprio.conf</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-- name: create a wrapper script to add CAP_NET_RAW</span><br><span style="color: hsl(0, 100%, 40%);">-  copy:</span><br><span style="color: hsl(0, 100%, 40%);">-    src: osmo-gsm-tester_setcap_net_raw.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    dest: /usr/local/bin/osmo-gsm-tester_setcap_net_raw.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    mode: 0755</span><br><span style="color: hsl(120, 100%, 40%);">+- name: setup osmo-gsm-tester repository</span><br><span style="color: hsl(120, 100%, 40%);">+  git:</span><br><span style="color: hsl(120, 100%, 40%);">+    repo: 'git://git.osmocom.org/osmo-gsm-tester'</span><br><span style="color: hsl(120, 100%, 40%);">+    dest: /root/osmo-gsm-tester</span><br><span style="color: hsl(120, 100%, 40%);">+    version: master</span><br><span style="color: hsl(120, 100%, 40%);">+    clone: yes</span><br><span style="color: hsl(120, 100%, 40%);">+    update: no</span><br><span style="color: hsl(120, 100%, 40%);">+  tags:</span><br><span style="color: hsl(120, 100%, 40%);">+    - osmo-gsm-tester</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-- name: allow osmo-gsm-tester sudo osmo-gsm-tester_setcap_net_raw.sh</span><br><span style="color: hsl(0, 100%, 40%);">-  copy:</span><br><span style="color: hsl(0, 100%, 40%);">-    content: |</span><br><span style="color: hsl(0, 100%, 40%);">-      %osmo-gsm-tester ALL=(root) NOPASSWD: /usr/local/bin/osmo-gsm-tester_setcap_net_raw.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    dest: /etc/sudoers.d/osmo-gsm-tester_setcap_net_raw</span><br><span style="color: hsl(0, 100%, 40%);">-    mode: 0440</span><br><span style="color: hsl(120, 100%, 40%);">+- name: Install osmo-gsm-tester script helpers to /usr/local/bin (PATH)</span><br><span style="color: hsl(120, 100%, 40%);">+  shell: |</span><br><span style="color: hsl(120, 100%, 40%);">+      mkdir -p /usr/local/bin/ && \</span><br><span style="color: hsl(120, 100%, 40%);">+      cp utils/bin/*.sh /usr/local/bin/</span><br><span style="color: hsl(120, 100%, 40%);">+  args:</span><br><span style="color: hsl(120, 100%, 40%);">+    chdir: /root/osmo-gsm-tester</span><br><span style="color: hsl(120, 100%, 40%);">+  tags:</span><br><span style="color: hsl(120, 100%, 40%);">+    - osmo-gsm-tester</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-- name: create a wrapper script to add CAP_NET_ADMIN</span><br><span style="color: hsl(0, 100%, 40%);">-  copy:</span><br><span style="color: hsl(0, 100%, 40%);">-    src: osmo-gsm-tester_setcap_net_admin.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    dest: /usr/local/bin/osmo-gsm-tester_setcap_net_admin.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    mode: 0755</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-- name: allow osmo-gsm-tester sudo osmo-gsm-tester_setcap_net_admin.sh</span><br><span style="color: hsl(0, 100%, 40%);">-  copy:</span><br><span style="color: hsl(0, 100%, 40%);">-    content: |</span><br><span style="color: hsl(0, 100%, 40%);">-      %osmo-gsm-tester ALL=(root) NOPASSWD: /usr/local/bin/osmo-gsm-tester_setcap_net_admin.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    dest: /etc/sudoers.d/osmo-gsm-tester_setcap_net_admin</span><br><span style="color: hsl(0, 100%, 40%);">-    mode: 0440</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-- name: create a wrapper script to run processes on modem netns</span><br><span style="color: hsl(0, 100%, 40%);">-  copy:</span><br><span style="color: hsl(0, 100%, 40%);">-    src: osmo-gsm-tester_netns_exec.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    dest: /usr/local/bin/osmo-gsm-tester_netns_exec.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    mode: 0755</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-- name: allow osmo-gsm-tester sudo osmo-gsm-tester_netns_exec.sh</span><br><span style="color: hsl(0, 100%, 40%);">-  copy:</span><br><span style="color: hsl(0, 100%, 40%);">-    content: |</span><br><span style="color: hsl(0, 100%, 40%);">-      %osmo-gsm-tester ALL=(root) NOPASSWD: /usr/local/bin/osmo-gsm-tester_netns_exec.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    dest: /etc/sudoers.d/osmo-gsm-tester_netns_exec</span><br><span style="color: hsl(0, 100%, 40%);">-    mode: 0440</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-- name: create a wrapper script to move modem net iface into its own netns</span><br><span style="color: hsl(0, 100%, 40%);">-  copy:</span><br><span style="color: hsl(0, 100%, 40%);">-    src: osmo-gsm-tester_netns_setup.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    dest: /usr/local/bin/osmo-gsm-tester_netns_setup.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    mode: 0755</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-- name: allow osmo-gsm-tester sudo osmo-gsm-tester_netns_setup.sh</span><br><span style="color: hsl(0, 100%, 40%);">-  copy:</span><br><span style="color: hsl(0, 100%, 40%);">-    content: |</span><br><span style="color: hsl(0, 100%, 40%);">-      %osmo-gsm-tester ALL=(root) NOPASSWD: /usr/local/bin/osmo-gsm-tester_netns_setup.sh</span><br><span style="color: hsl(0, 100%, 40%);">-    dest: /etc/sudoers.d/osmo-gsm-tester_netns_setup</span><br><span style="color: hsl(0, 100%, 40%);">-    mode: 0440</span><br><span style="color: hsl(120, 100%, 40%);">+- name: Install osmo-gsm-tester sudoers.d files to /etc/sudoers.d/ (PATH)</span><br><span style="color: hsl(120, 100%, 40%);">+  shell: |</span><br><span style="color: hsl(120, 100%, 40%);">+      mkdir -p /etc/sudoers.d/ && \</span><br><span style="color: hsl(120, 100%, 40%);">+      cp utils/sudoers.d/* /etc/sudoers.d/</span><br><span style="color: hsl(120, 100%, 40%);">+  args:</span><br><span style="color: hsl(120, 100%, 40%);">+    chdir: /root/osmo-gsm-tester</span><br><span style="color: hsl(120, 100%, 40%);">+  tags:</span><br><span style="color: hsl(120, 100%, 40%);">+    - osmo-gsm-tester</span><br><span> </span><br><span> - name: logrotate limit filesizes to 10M</span><br><span>   copy:</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-ci/+/17131">change 17131</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-ci/+/17131"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ci </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ibbdd291f4c3f7aecdd5118cc2b3b35edaddf7c09 </div>
<div style="display:none"> Gerrit-Change-Number: 17131 </div>
<div style="display:none"> Gerrit-PatchSet: 2 </div>
<div style="display:none"> Gerrit-Owner: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: laforge <laforge@osmocom.org> </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>