diff options
author | Corentin LABBE <clabbe@baylibre.com> | 2019-04-25 16:49:06 +0200 |
---|---|---|
committer | Corentin LABBE <clabbe@baylibre.com> | 2019-04-25 16:49:06 +0200 |
commit | ad91a66ca580976a929f1e07045fa52bf1633c2b (patch) | |
tree | 5237de25757fdb16034f247d11222d2de6d33283 | |
parent | 1a945b23055136e5e89cd24585884b568d86a625 (diff) |
Permit to set arch for arm64 slaves
Currently arm64 workers need to modify at hand the from in the
dockerfile for using arm64 images.
This patch automate this;
-rw-r--r-- | README.md | 1 | ||||
-rwxr-xr-x | lavalab-gen.py | 9 |
2 files changed, 9 insertions, 1 deletions
@@ -266,6 +266,7 @@ slaves: 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 + arch: The arch of the worker (if not x86_64), only accept arm64 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 diff --git a/lavalab-gen.py b/lavalab-gen.py index af01b2a..65e2560 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", "use_nfs" ] + 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", "arch" ] for keyword in slave: if not keyword in keywords_slaves: print("WARNING: unknown keyword %s" % keyword) @@ -329,6 +329,13 @@ def main(): worker = slave worker_name = name slave_master = None + if "arch" in worker: + if worker["arch"] == 'arm64': + dockerfile = open("%s/Dockerfile" % workerdir, "r+") + dockerfilec = dockerfile.read().replace("lava-slave-base", "lava-slave-base-arm64") + dockerfile.seek(0) + dockerfile.write(dockerfilec) + dockerfile.close() #NOTE remote_master is on slave if not "remote_master" in worker: remote_master = "lava-master" |