From 0d5ac83491633913e8c78744880b0baaaa78026f Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Mon, 23 Jan 2023 08:39:42 +0000 Subject: [PATCH 1/6] Add uart keywords definition Signed-off-by: Corentin LABBE --- lavalab-gen.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lavalab-gen.py b/lavalab-gen.py index 6f0a86f..859c6c8 100755 --- a/lavalab-gen.py +++ b/lavalab-gen.py @@ -683,6 +683,10 @@ def main(): if devicetype == "qemu" and not use_kvm: device_line += "{% set no_kvm = True %}\n" if "uart" in board: + keywords_uart = [ "baud", "devpath", "idproduct", "idvendor", "interfacenum", "serial", "use_ser2net", "worker" ] + for keyword in board["uart"]: + if not keyword in keywords_uart: + print("WARNING: unknown keyword %s" % keyword) uart = board["uart"] baud = board["uart"].get("baud", baud_default) idvendor = board["uart"]["idvendor"] From 8e922fdb6d8fae8b13695de3471e9ae95c1cf368 Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Wed, 26 Oct 2022 07:37:02 +0000 Subject: [PATCH 2/6] lava-worker: fix worker detection The sed command is incomplete, so the worker detection never work. Signed-off-by: Corentin LABBE --- lava-slave/scripts/setup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lava-slave/scripts/setup.sh b/lava-slave/scripts/setup.sh index cc2de30..9415260 100755 --- a/lava-slave/scripts/setup.sh +++ b/lava-slave/scripts/setup.sh @@ -148,7 +148,7 @@ do if [ $? -ne 0 ]; then CURR_WORKER="" else - CURR_WORKER=$(cat /tmp/current-worker | sed '^.* ,,') + CURR_WORKER=$(cat /tmp/current-worker | sed 's,^.* ,,') fi if [ ! -z "$CURR_WORKER" -a "$CURR_WORKER" != "$worker" ];then echo "ERROR: $devicename already present on another worker $CURR_WORKER" From 94018bc164e8f4a3277a790c5460bdfc2bf7fd9a Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Tue, 24 Jan 2023 08:11:24 +0000 Subject: [PATCH 3/6] lava-slave: prevent nbd-server to ran as nbd For the moment LAVA does not handle nbd-server running as nbd Signed-off-by: Corentin LABBE --- lava-slave/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lava-slave/Dockerfile b/lava-slave/Dockerfile index 8bb892e..a342048 100644 --- a/lava-slave/Dockerfile +++ b/lava-slave/Dockerfile @@ -15,6 +15,9 @@ COPY scripts/ /usr/local/bin/ RUN chmod a+x /usr/local/bin/* COPY conmux/ /etc/conmux/ +# LAVA issue 585 +RUN rm /etc/nbd-server/config + # Caution to not use any port between the Linux dynamic port range: 32768-60999 RUN find /usr/lib/python3/dist-packages/ -iname constants.py | xargs sed -i 's,XNBD_PORT_RANGE_MIN.*,XNBD_PORT_RANGE_MIN=61950,' RUN find /usr/lib/python3/dist-packages/ -iname constants.py | xargs sed -i 's,XNBD_PORT_RANGE_MAX.*,XNBD_PORT_RANGE_MAX=62000,' From 89e07ce54e97b823bf01d3c3f8f06f4a293fecd0 Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Tue, 24 Jan 2023 08:12:09 +0000 Subject: [PATCH 4/6] lava-master: Generate migrations files We should generate migrations files before applying them Signed-off-by: Corentin LABBE --- lava-master/entrypoint.d/01_setup.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lava-master/entrypoint.d/01_setup.sh b/lava-master/entrypoint.d/01_setup.sh index 459e0e0..b0b9383 100755 --- a/lava-master/entrypoint.d/01_setup.sh +++ b/lava-master/entrypoint.d/01_setup.sh @@ -16,6 +16,9 @@ else sed -i "s,PASSWORD:.*,PASSWORD: '$(cat /root/pg_lava_password)'," /etc/lava-server/settings.d/00-database.yaml || exit $? fi +cd /root/ +lava-server manage makemigrations || exit $? + # verify that the backup was not already applied in case of persistent_db if [ ! -e "/var/lib/postgresql/lava-docker.backup_done" ];then if [ -e /root/backup/db_lavaserver.gz ];then From f8b9760ed6bf41e8008650c66f4bc7ef61ad5304 Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Mon, 23 Jan 2023 08:46:15 +0000 Subject: [PATCH 5/6] Update default LAVA to 2023.01 Due to lot of security issue, LAVA need to be upgraded to 2023.01 Signed-off-by: Corentin LABBE --- lava-master/Dockerfile | 2 +- lava-slave/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lava-master/Dockerfile b/lava-master/Dockerfile index d309432..db81b69 100644 --- a/lava-master/Dockerfile +++ b/lava-master/Dockerfile @@ -1,4 +1,4 @@ -FROM lavasoftware/lava-server:2022.11.1 +FROM lavasoftware/lava-server:2023.01 RUN apt-get update && apt-get -y install sudo git diff --git a/lava-slave/Dockerfile b/lava-slave/Dockerfile index a342048..a3f25e6 100644 --- a/lava-slave/Dockerfile +++ b/lava-slave/Dockerfile @@ -1,4 +1,4 @@ -FROM lavasoftware/lava-dispatcher:2022.11.1 +FROM lavasoftware/lava-dispatcher:2023.01 RUN apt-get update From 1471ec26e74953e88b1a420295bac2dbbf37aaa6 Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Tue, 24 Jan 2023 08:37:44 +0000 Subject: [PATCH 6/6] NBD remove config file at right place NBD is not yet installed in Dockerfile but via extra actions, so we need to remove config file elsewhere. Signed-off-by: Corentin LABBE --- lava-slave/Dockerfile | 3 --- lavalab-gen.py | 3 ++- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lava-slave/Dockerfile b/lava-slave/Dockerfile index a3f25e6..3dce887 100644 --- a/lava-slave/Dockerfile +++ b/lava-slave/Dockerfile @@ -15,9 +15,6 @@ COPY scripts/ /usr/local/bin/ RUN chmod a+x /usr/local/bin/* COPY conmux/ /etc/conmux/ -# LAVA issue 585 -RUN rm /etc/nbd-server/config - # Caution to not use any port between the Linux dynamic port range: 32768-60999 RUN find /usr/lib/python3/dist-packages/ -iname constants.py | xargs sed -i 's,XNBD_PORT_RANGE_MIN.*,XNBD_PORT_RANGE_MIN=61950,' RUN find /usr/lib/python3/dist-packages/ -iname constants.py | xargs sed -i 's,XNBD_PORT_RANGE_MAX.*,XNBD_PORT_RANGE_MAX=62000,' diff --git a/lavalab-gen.py b/lavalab-gen.py index 859c6c8..a0a082e 100755 --- a/lavalab-gen.py +++ b/lavalab-gen.py @@ -602,7 +602,8 @@ def main(): if use_nbd: dockcomp["services"][name]["ports"].append("61950-62000:61950-62000") fp = open("%s/scripts/extra_actions" % workerdir, "a") - fp.write("apt-get -y install nbd-server\n") + # LAVA issue 585 need to remove /etc/nbd-server/config + fp.write("apt-get -y install nbd-server && rm -f /etc/nbd-server/config\n") fp.close() os.chmod("%s/scripts/extra_actions" % workerdir, 0o755) use_overlay_server = True