From 593854791774531ec4fa7513be6d194a1ed067f4 Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Mon, 8 Oct 2018 11:40:10 +0200 Subject: lavalab-gen.py: Permit to customize exposed ports to a slave This patch adds a way to choose a number of ports to be exposed from host to slave. --- lavalab-gen.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'lavalab-gen.py') diff --git a/lavalab-gen.py b/lavalab-gen.py index 80c10e7..0e6ab5a 100755 --- a/lavalab-gen.py +++ b/lavalab-gen.py @@ -221,7 +221,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", "remote_user_token", "zmq_auth_master_key" ] + 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", "remote_user_token", "zmq_auth_master_key", "expose_ports" ] for keyword in slave: if not keyword in keywords_slaves: print("WARNING: unknown keyword %s" % keyword) @@ -325,6 +325,9 @@ def main(): if "dispatcher_ip" in worker: dockcomp["services"][worker_name]["environment"]["LAVA_DISPATCHER_IP"] = worker["dispatcher_ip"] + if "expose_ports" in worker: + for eports in worker["expose_ports"]: + dockcomp["services"][name]["ports"].append("%s" % eports) with open(dockcomposeymlpath, 'w') as f: yaml.dump(dockcomp, f) if "extra_actions" in worker: -- cgit 1.2.3-korg From 1f8c902768af3dd9738bdd0188c9be8231dd327a Mon Sep 17 00:00:00 2001 From: Corentin LABBE Date: Mon, 15 Oct 2018 11:56:15 +0200 Subject: Rename export_ser2net to expose_ser2net This patch rename export_ser2net to expose_ser2net. The old export_ser2net is still handled but we now print a deprecating message. --- README.md | 2 +- lavalab-gen.py | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'lavalab-gen.py') diff --git a/README.md b/README.md index c5001e8..902b517 100644 --- a/README.md +++ b/README.md @@ -246,7 +246,7 @@ slaves: remote_user_token: The remote_user's token. This option is necessary only if no master node exists in boards.yaml. Otherwise lavalab-gen.py will get from it. remote_proto: http(default) or https default_slave: Does this slave is the default slave where to add boards (default: lab-slave-0) - export_ser2net: Do ser2net ports need to be available on host + 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 extra_actions: An optional list of action to do at end of the docker build diff --git a/lavalab-gen.py b/lavalab-gen.py index 0e6ab5a..ce24e2d 100755 --- a/lavalab-gen.py +++ b/lavalab-gen.py @@ -221,7 +221,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", "remote_user_token", "zmq_auth_master_key", "expose_ports" ] + 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" ] for keyword in slave: if not keyword in keywords_slaves: print("WARNING: unknown keyword %s" % keyword) @@ -481,16 +481,19 @@ def main(): #end for board for slave_name in ser2net_ports: - export_ser2net = False + expose_ser2net = False for fs in workers["slaves"]: if fs["name"] == slave_name: if not "host" in fs: host = "local" else: host = fs["host"] + if "expose_ser2net" in fs: + expose_ser2net = fs["expose_ser2net"] if "export_ser2net" in fs: - export_ser2net = fs["export_ser2net"] - if not export_ser2net: + print("export_ser2net is deprecated, please use expose_ser2net") + expose_ser2net = fs["export_ser2net"] + if not expose_ser2net: continue print("Add ser2net ports for %s (%s) %s-%s" % (slave_name, host, ser2net_port_start, ser2net_ports[slave_name])) dockcomposeymlpath = "output/%s/docker-compose.yml" % host -- cgit 1.2.3-korg