summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorentin LABBE <clabbe@baylibre.com>2019-04-25 16:33:09 +0200
committerCorentin LABBE <clabbe@baylibre.com>2019-04-25 16:33:09 +0200
commit1a945b23055136e5e89cd24585884b568d86a625 (patch)
treedc3388403fe2a5ed7a82b75891a1153d627460c7
parent2fb6759a52e2e7ba267d0c0b93c1b32d4bd98dcb (diff)
Permit to do NFS jobs
This patch adds an helper for doing NFS jobs
-rw-r--r--README.md7
-rwxr-xr-xlavalab-gen.py11
2 files changed, 17 insertions, 1 deletions
diff --git a/README.md b/README.md
index 1008842..91a0d72 100644
--- a/README.md
+++ b/README.md
@@ -265,6 +265,7 @@ slaves:
remote_proto: http(default) or https
default_slave: Does this slave is the default slave where to add boards (default: lab-slave-0)
bind_dev: Bind /dev from host to slave. This is needed when using some HID PDU
+ use_nfs: Does the LAVA dispatcher will run NFS jobs
expose_ser2net: Do ser2net ports need to be available on host
expose_ports: Expose port p1 on the host to p2 on the worker slave.
- p1:p2
@@ -405,6 +406,12 @@ For building an arm64 lava-docker, some little trick are necesssary:
For building lava-xxx-base images
- replace "bitnami/minideb" by "arm64v8/debian" on lava-master-base/lava-slave-base dockerfiles.
+# How to ran NFS jobs
+You need to se use_nfs: True on slave that will ran NFS jobs.
+A working NFS server must be working on the host.
+Furthermore, you must create a /var/lib/lava/dispatcher/tmp directory on the host and export it like:
+/var/lib/lava/dispatcher/tmp 192.168.66.0/24(no_root_squash,rw,no_subtree_check)
+
## How to add custom LAVA patchs
You can add custom or backported LAVA patchs in lava-master/lava-patch
Doing the same for lava-slave will be done later.
diff --git a/lavalab-gen.py b/lavalab-gen.py
index d1a78e2..af01b2a 100755
--- a/lavalab-gen.py
+++ b/lavalab-gen.py
@@ -281,7 +281,7 @@ def main():
else:
slaves = workers["slaves"]
for slave in slaves:
- keywords_slaves = [ "name", "host", "dispatcher_ip", "remote_user", "remote_master", "remote_address", "remote_rpc_port", "remote_proto", "extra_actions", "zmq_auth_key", "zmq_auth_key_secret", "default_slave", "export_ser2net", "expose_ser2net", "remote_user_token", "zmq_auth_master_key", "expose_ports", "env", "bind_dev", "loglevel" ]
+ keywords_slaves = [ "name", "host", "dispatcher_ip", "remote_user", "remote_master", "remote_address", "remote_rpc_port", "remote_proto", "extra_actions", "zmq_auth_key", "zmq_auth_key_secret", "default_slave", "export_ser2net", "expose_ser2net", "remote_user_token", "zmq_auth_master_key", "expose_ports", "env", "bind_dev", "loglevel", "use_nfs" ]
for keyword in slave:
if not keyword in keywords_slaves:
print("WARNING: unknown keyword %s" % keyword)
@@ -413,6 +413,15 @@ def main():
fp.write("\n")
fp.close()
os.chmod("%s/scripts/extra_actions" % workerdir, 0o755)
+ use_nfs = False
+ if "use_nfs" in worker:
+ use_nfs = worker["use_nfs"]
+ if use_nfs:
+ dockcomp["services"][worker_name]["volumes"].append("/var/lib/lava/dispatcher/tmp:/var/lib/lava/dispatcher/tmp")
+ fp = open("%s/scripts/extra_actions" % workerdir, "a")
+ fp.write("apt-get -y install nfs-kernel-server\n")
+ fp.close()
+ os.chmod("%s/scripts/extra_actions" % workerdir, 0o755)
if "loglevel" in worker:
for component in worker["loglevel"]:
if component != "lava-slave":