aboutsummaryrefslogtreecommitdiffstats
path: root/ansible
diff options
context:
space:
mode:
Diffstat (limited to 'ansible')
-rw-r--r--ansible/hosts12
-rw-r--r--ansible/roles/gsm-tester-bts/files/Release.key16
-rw-r--r--ansible/roles/osmocom-jenkins-slave/README.md1
-rw-r--r--ansible/roles/osmocom-jenkins-slave/defaults/main.yml3
-rw-r--r--ansible/roles/osmocom-jenkins-slave/tasks/main.yml20
-rw-r--r--ansible/roles/podman/files/mknod-fuse.service9
-rw-r--r--ansible/roles/podman/files/storage.conf5
-rw-r--r--ansible/roles/podman/tasks/main.yml21
-rw-r--r--ansible/setup-jenkins-slave.yml15
-rw-r--r--ansible/util/known_hosts8
10 files changed, 87 insertions, 23 deletions
diff --git a/ansible/hosts b/ansible/hosts
index 51e26b9..f68ea52 100644
--- a/ansible/hosts
+++ b/ansible/hosts
@@ -4,29 +4,25 @@ osmo-gsm-tester-prod ansible_host=10.9.25.107
[coverity_slaves]
build2-deb11build-ansible ansible_host=2a01:4f8:10b:2ad9::1:13
-build3-deb11build-ansible ansible_host=2a01:4f8:212:3762::1:3
build4-deb12build-ansible ansible_host=2a01:4f8:121:200a::1:3
[jenkins_slaves]
build2-deb10build-ansible ansible_host=2a01:4f8:10b:2ad9::1:10 osmocom_jenkins_slave_fstrim=True docker_max_image_space="80 GB"
build2-deb11build-ansible ansible_host=2a01:4f8:10b:2ad9::1:13 osmocom_jenkins_slave_fstrim=True docker_max_image_space="80 GB"
-build3-deb11build-ansible ansible_host=2a01:4f8:212:3762::1:3 osmocom_jenkins_slave_fstrim=True docker_max_image_space="80 GB"
build4-deb12build-ansible ansible_host=2a01:4f8:121:200a::1:3 osmocom_jenkins_slave_fstrim=True docker_max_image_space="80 GB"
host2-deb11build-ansible ansible_host=2a01:4f8:120:8470::1:4 osmocom_jenkins_slave_fstrim=True docker_max_image_space="80 GB"
-rpi4-raspbian11build-ansible-1 ansible_host=10.9.25.50 docker_max_image_space="20 GB"
-rpi4-raspbian11build-ansible-2 ansible_host=10.9.25.60 docker_max_image_space="20 GB"
-rpi4-raspbian11build-ansible-3 ansible_host=10.9.25.70 docker_max_image_space="20 GB"
-lx2-raspbian11build-ansible ansible_host=10.34.2.153 docker_max_image_space="20 GB"
+rpi4-raspbian12build-ansible-1 ansible_host=10.9.25.50 docker_max_image_space="20 GB"
+rpi4-raspbian12build-ansible-2 ansible_host=10.9.25.60 docker_max_image_space="20 GB"
+rpi4-raspbian12build-ansible-3 ansible_host=10.9.25.70 docker_max_image_space="20 GB"
+lx2-raspbian11build-ansible ansible_host=10.9.25.28 docker_max_image_space="20 GB" jenkins_tmpfs=True
[simtester]
simtest ansible_host=10.9.25.80
[obs_workers]
-build3-obsworker1 ansible_host=2a01:4f8:212:3762::1:2 obs_worker_instances=8 obs_worker_jobs=8
build4-obsworker1 ansible_host=2a01:4f8:121:200a::1:2 obs_worker_instances=8 obs_worker_jobs=8
lx2-1-obs-aarch64-1 ansible_host=2a02:8106:13:1e34:4e9:e7ff:fe97:fe92 obs_worker_instances=1 obs_worker_jobs=4
# Need to have kvm inside lxc, see OS#5365
[qemu]
-build3-deb11build-ansible ansible_host=2a01:4f8:212:3762::1:3
build4-deb12build-ansible ansible_host=2a01:4f8:121:200a::1:3
diff --git a/ansible/roles/gsm-tester-bts/files/Release.key b/ansible/roles/gsm-tester-bts/files/Release.key
index ecca084..b4c019a 100644
--- a/ansible/roles/gsm-tester-bts/files/Release.key
+++ b/ansible/roles/gsm-tester-bts/files/Release.key
@@ -8,13 +8,13 @@ e93fLa2Cu8vhFBcVn6CuHeEhsmuMf6NLbQRNfNNCEEUYaZn7beMYtpZ7t1djsKx5
1xGm50OzI22FLu8lELQ9d7qMVGRG3WHYawX9BDteRybiyqxfwUHm1haWazRJtlGt
UWyzvwAb80BK1J2Nu5fbAa3w5CoEPAbUuCyrABEBAAG0JW9zbW9jb20gT0JTIFBy
b2plY3QgPG9zbW9jb21Ab3Ntb2NvbT6JAVQEEwEIAD4WIQRrKp83ktFetw1Oao+G
-pzC2U3JZcwUCYrMV4wIbAwUJBB6yjwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAK
-CRCGpzC2U3JZc4FRCACQQkKIrnvQ7n2u7GSmyVZa3I+oLoFXSGqaGyey5TW/nrMm
-vFDKU3qliHiuNSmUY35SnAhXUsvqOYppxVRoO1MLrqUvzMOnIWqkJpf8mtjGUnsW
-jyVeto7Rsjs75y2i1Hk+e7ljb/V65J3NlfrfEYWbqR9AKd53ReNXTdrQ0J05A38N
-GdI4Ld/2lNISAwaBmGhqdeKsLHpQw/JERU1TApVJR1whFiIwDF1rOCg9GPnNKIk7
-yRZdK267XzztrainX/cbPILyzUZEDhYs6wQuyACyQ1YUxZIxrwVfk7PMNay8CrLH
-z42B73Ne5IAj8+op/3iJafFONLm7YXiDUFN+QDYAiQEzBBMBCAAdFiEExoiYhHND
+pzC2U3JZcwUCZrNL8wIbAwUJCB7onwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAK
+CRCGpzC2U3JZc11RB/9oogcqTF30pPEwjjGvXF+WMiRFHl8aVvQIk9m+2KUcjlVk
+0q8+/guOg7KcVejPxyn2AQbTByWWgpH1o3BoDKWnvypURAV2uGOtCo6mUQop5yK0
+d50j9hwIXSwJWoD2r5OY+Gbs4dBzMGkKbnCED1n8324b8EN6m96eoL570Uq9vy4G
+gIp+QCpePu8AMdoCLR2w3J+TA4gLdDeH2cr7TgmwlDCp8e6R8FVmRt3SvunPmFz3
+FHDicv2f9ZoHXVLQ20DgWUyI1xOPlzBNJowgK9YnLPdIidE9i+EbvC1YA+6O/WMa
+kSUEyJLZS5mv2+T6ptgnCIgxrIoTu63O4Rsf5zV+iQEzBBMBCAAdFiEExoiYhHND
S7aVYlnqa51NyAUyjdsFAmKzE1UACgkQa51NyAUyjdvuZgf+OXmr//i7u7Gg7eWB
7e0qUsyCId9lXS8J437x3K6ciJfD7/6RSy8TFW5Nglm/uSkbyq582I8t+SoOirMD
E6cg9U/5+h5s46bAf+Kd2XS/6tLGeNLM18i4el8CP06NpFzDrsKu76uYFpyRiiHD
@@ -22,5 +22,5 @@ otBdtgxeLJ83LugGfZslF+/5cigJkAJMhAdVvGO8h85R6fba8ZSOKtMKkaQRfi76
nhyOrJPlLuS+DLEnHwdkOFgtKnxHdjM97K+Tx0gisb6uwaWroXfSLnhP8RTLLZZy
Z+noU1Hw3c+mn4c/NYbcC/uwHYHKRzuf9gHnQ3dGgv0Z5sbeLRVo92hjGj7Ftlyd
4hmKBg==
-=HxK4
+=5Cwc
-----END PGP PUBLIC KEY BLOCK-----
diff --git a/ansible/roles/osmocom-jenkins-slave/README.md b/ansible/roles/osmocom-jenkins-slave/README.md
index 81f68b3..fc62472 100644
--- a/ansible/roles/osmocom-jenkins-slave/README.md
+++ b/ansible/roles/osmocom-jenkins-slave/README.md
@@ -6,3 +6,4 @@ Support the following variables:
* `generic_slave`: (true) contains tasks used by the most osmocom jenkins slaves
* `osmocom_jenkins_slave_fstrim`: (false) calls fstrim periodical
* `ttcn3_slave`: (true) install titan ttcn3 compiler and prepares the docker-playground
+* `jenkins_tmpfs`: (false) put jenkins workspaces and ccache dirs into tmpfs
diff --git a/ansible/roles/osmocom-jenkins-slave/defaults/main.yml b/ansible/roles/osmocom-jenkins-slave/defaults/main.yml
index a4ce8ac..fc6f9fa 100644
--- a/ansible/roles/osmocom-jenkins-slave/defaults/main.yml
+++ b/ansible/roles/osmocom-jenkins-slave/defaults/main.yml
@@ -15,3 +15,6 @@ ttcn3_slave: true
# call fstrim peridically
osmocom_jenkins_slave_fstrim: false
+
+# put jenkins workspaces and ccache dirs into tmpfs
+jenkins_tmpfs: false
diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/main.yml b/ansible/roles/osmocom-jenkins-slave/tasks/main.yml
index 1868d97..46da076 100644
--- a/ansible/roles/osmocom-jenkins-slave/tasks/main.yml
+++ b/ansible/roles/osmocom-jenkins-slave/tasks/main.yml
@@ -58,3 +58,23 @@
minute: 0
job: "fstrim / >/dev/null 2>/dev/null || true"
when: osmocom_jenkins_slave_fstrim
+
+- name: add tmpfs for /home/osmocom-build/jenkins
+ when: jenkins_tmpfs
+ ansible.posix.mount:
+ boot: true
+ path: /home/osmocom-build/jenkins
+ src: tmpfs
+ fstype: tmpfs
+ state: mounted
+ opts: "uid=1000,gid=1000"
+
+- name: add tmpfs for /home/osmocom-build/ccache
+ when: jenkins_tmpfs
+ ansible.posix.mount:
+ boot: true
+ path: /home/osmocom-build/ccache
+ src: tmpfs
+ fstype: tmpfs
+ state: mounted
+ opts: "uid=1000,gid=1000"
diff --git a/ansible/roles/podman/files/mknod-fuse.service b/ansible/roles/podman/files/mknod-fuse.service
new file mode 100644
index 0000000..b796f4f
--- /dev/null
+++ b/ansible/roles/podman/files/mknod-fuse.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Create /dev/fuse (OS#6524)
+
+[Service]
+ExecStart=sh -c 'test -e /dev/fuse || mknod -m 666 /dev/fuse c 10 229'
+RemainAfterExit=true
+
+[Install]
+WantedBy=multi-user.target
diff --git a/ansible/roles/podman/files/storage.conf b/ansible/roles/podman/files/storage.conf
new file mode 100644
index 0000000..f212591
--- /dev/null
+++ b/ansible/roles/podman/files/storage.conf
@@ -0,0 +1,5 @@
+[storage]
+driver = "overlay"
+
+[storage.options]
+mount_program = "/usr/bin/fuse-overlayfs"
diff --git a/ansible/roles/podman/tasks/main.yml b/ansible/roles/podman/tasks/main.yml
index 45a712d..102b37e 100644
--- a/ansible/roles/podman/tasks/main.yml
+++ b/ansible/roles/podman/tasks/main.yml
@@ -5,5 +5,26 @@
pkg:
- podman
- buildah
+ - fuse-overlayfs
# Has reasonable recommends needed for dns resolving etc.
install_recommends: yes
+
+- name: install mknod-fuse.service
+ copy:
+ src: mknod-fuse.service
+ dest: /etc/systemd/system/
+ mode: 0644
+
+- name: enable mknod-fuse.service
+ systemd_service:
+ daemon_reload: true
+ name: mknod-fuse
+ enabled: true
+ state: started
+
+- name: install storage.conf
+ copy:
+ src: storage.conf
+ dest: "/home/{{ jenkins_user }}/.config/containers/"
+ mode: 0644
+ owner: "{{ jenkins_user }}"
diff --git a/ansible/setup-jenkins-slave.yml b/ansible/setup-jenkins-slave.yml
index 03afe65..2ed3bc7 100644
--- a/ansible/setup-jenkins-slave.yml
+++ b/ansible/setup-jenkins-slave.yml
@@ -8,11 +8,14 @@
- name: install common utilities
apt:
name:
- - vim
- - tmux
- - screen
- ca-certificates
+ - etckeeper
+ - ncdu
- rsync
+ - screen
+ - tmux
+ - tree
+ - vim
cache_valid_time: 3600
update_cache: yes
roles:
@@ -23,6 +26,12 @@
tags:
- docker
+ - name: podman
+ when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 11
+ jenkins_user: osmocom-build
+ tags:
+ - podman
+
- name: install-poky-sdk
when: ansible_architecture == "x86_64"
jenkins_user: osmocom-build
diff --git a/ansible/util/known_hosts b/ansible/util/known_hosts
index 76e2a64..6067e86 100644
--- a/ansible/util/known_hosts
+++ b/ansible/util/known_hosts
@@ -2,9 +2,9 @@
2a01:4f8:10b:2ad9::1:13 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEfg7NNBKjVJGoL3oUDrJCccI2D8podsSPKnRn1aTUge
2a01:4f8:212:3762::1:3 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICl7tuOgN64+iYuYCtfCKaUbN9IWzKycpKVRgzsjVCPY
2a01:4f8:120:8470::1:4 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIPKRz2Eg+h6RTREn52n/ip3pzUjRu9pw1XdjWUrvvi/
-10.9.25.50 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPowg8lZeIGJ6LCLA8U4eSHnnPX90FaVgInDuRi5U9Zq
-10.9.25.60 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOAK6SQXmifMamE1VHL/1GmPkk6KhplzT20jSOwb8PyZ
-10.9.25.70 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILioWTUt6CyZTceSKqy09mtlNUif+ETKTF6whnWuIROx
+10.9.25.50 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKn5hZBA8i3kcCuTORaQtLXf/NqpXxhkoldj9i60GOLo
+10.9.25.60 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMB+zhsSo20QYPGPNNgqknnbx3g8V+MBksHIF3GuPihu
+10.9.25.70 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ4KE0enH9e76eWTy8HLFO/2pzrZaP8G93mtWvfD8//W
2a01:4f8:121:200a::1:3 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGafw2VdeZo4YNvbu8VEBjDrsCFL+ZSbHtvhspNIQ9PR
2a01:4f8:121:200a::1:2 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFyp0daWkfsRHErCVCcP/FZmtiRvFNAsK2A5TlQ6Ja+P
-10.34.2.153 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG0rQGxSxWJHwNNT5XdeuMPSYCAXpcDnFDzvyw5+sH3l
+10.9.25.28 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG0rQGxSxWJHwNNT5XdeuMPSYCAXpcDnFDzvyw5+sH3l