summaryrefslogtreecommitdiffstats
path: root/lavalab-gen.py
AgeCommit message (Collapse)AuthorFilesLines
2020-11-23Add dockcomp_add_cap helperCorentin LABBE1-2/+6
Add an helper to add caps
2020-11-23Handle 2020.09+ workersCorentin LABBE1-0/+2
Since 2020.09, workers does not use ZMQ anymore but use a token. This patch permit our setup to detecte when we use LAVA 2020.09+ and retrieve it from master.
2020-11-23check if envdir exists before creating itCorentin LABBE1-1/+2
If envdir already exists, lavalab-gen.py fail
2020-11-23Remove screen supportCorentin LABBE1-14/+2
When I have added screen support, it was a hack for made M3ulcb serial console works. But for a long time ser2net works on m3ulcb. So lava-docker discouraged usage of screen and now it is time to remove it.
2020-11-04lavalab-gen.py: Name workers images with version tagCorentin LABBE1-0/+2
If version is specified, we can generate docker images with tags set to it.
2020-07-14[Fix] Ensure proper filename of public master keyFabian Scheler1-1/+1
Currently, the public master key is references as $LAVA_MASTER.key in e.g. scripts/setup.sh. If the key is named master.key it is copied to $LAVA_MASTER.key by scripts/setup.sh. However, no nameing convention for the public master key provided to lavalab-gen.py is documented, so the worker simply will not start if the key is stored as e.g. master-public.key. Running into such error scenarios could simply be prevented by copying the public master key to an appropriatly named file in lavalab-gen.py. This is done here.
2020-07-13Merge pull request #122 from montjoie/postgres-fixKevin Hilman1-2/+41
Postgres fix
2020-07-13Persistent DB need /etc/lava-server to be kept.Corentin LABBE1-0/+3
Since the LAVA DB password is set in /etc/lava-server/, we need to keep it accross restart. So put /etc/lava-server on a volume. This will also permit to keep some live configuration like dispatcher IP.
2020-07-13Permit to set the postgres lavaserver passwordCorentin LABBE1-1/+8
By setting pg_lava_password, the final lavaserver password will be set to this value.
2020-07-13Sort master/workers keywordsCorentin LABBE1-2/+31
The keyword list is too long, so split it in multiline, one letter per line.
2020-07-13Fix upper case on boards.yamlAlice Ferrazzi1-4/+4
Fixes #29 Signed-off-by: Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
2020-07-09Merge pull request #119 from aliceinwire/add_build_argsKevin Hilman1-2/+6
Add option to add docker build args
2020-07-09Merge pull request #117 from Rahix/hws/tftp-bindingKevin Hilman1-1/+4
Make docker bind the TFTP server to the correct interface
2020-07-01Add option to add docker build argumentsAlice Ferrazzi1-2/+6
Signed-off-by: Alice Ferrazzi <alice.ferrazzi@miraclelinux.com>
2020-06-01Support dockerCorentin LABBE1-1/+3
docker need some more bind mounts.
2020-05-20Make docker bind the TFTP server to the correct interfaceHarald Seiler1-1/+4
With UDP, docker sometimes can't route UDP packets to the correct address because the source address gets mangled [1]. This happens indeterministically because by default the kernel uses some heuristics to decide which interface to use. But in some rare circumstances, those can fail and a wrong source address is used. This can be worked around by explicitly binding to a concrete interface instead of 0.0.0.0. [1]: https://github.com/moby/libnetwork/issues/1729 Signed-off-by: Harald Seiler <hws@denx.de>
2020-04-27lavalab-gen.py: use python3Corentin LABBE1-1/+1
2020-02-26Permit to specify LAVA version in boards.yamlCorentin LABBE1-2/+15
This patch permit to override the LAVA version in boards.yaml For example with 'version: 2020.01' the Dockerfile FROM lavasoftware/lava-server:2019.09 become FROM lavasoftware/lava-server:2020.01
2020-01-16Add custom volumesCorentin LABBE1-1/+8
For some case, we need to add custom volumes (like for /var/lib/lxc/cache)
2020-01-16Add raw_custom_optionCorentin LABBE1-0/+3
For some options we need to not have the space around them, like ones needing "-%}" or coments. Introduce raw_custom_option for such cases.
2019-11-22Merge pull request #109 from montjoie/use_dockerKevin Hilman1-1/+6
Permit to use docker commands in slave
2019-11-22Permit to use docker commands in slaveCorentin LABBE1-1/+6
When docker devices are needed, docker socket must be availlable in the slave. This is now possible via the new use_docker
2019-11-21Install xnbd-serverCorentin LABBE1-0/+4
The recent LAVA packages does not pull xnbd-server. So we need to install it when use_nbd is set.
2019-10-16Enhance documentationCorentin LABBE1-0/+2
This patch enhance a bit the documentation - On the reason of the install of nfs-kernel-server - On how to upgrade
2019-10-04lavalab-gen: Permit to have tags per slaveCorentin LABBE1-1/+7
This patchs permits to have tags per slave. All tags set on a slave will be added to each of its devices.
2019-09-19Permit to custom SMTP serverCorentin LABBE1-3/+63
This patch permits to specify a SMTP server which LAVA will use for report.
2019-09-19Permit to not export overlay server portCorentin LABBE1-2/+7
When doing a qemu-only slave, there are no need to export the overlay server. This patch adds a use_overlay_server option.
2019-09-19Permit to not export NBD portCorentin LABBE1-2/+8
When doing a qemu-only slave, there are no need of NBD. This patch adds a use_nbd option.
2019-09-19Permit to not export TFTP portCorentin LABBE1-2/+7
When doing a qemu-only slave, there are no need of TFTP. This patch adds a use_tftp option.
2019-09-03Use yaml safe_load insteald of loadCorentin LABBE1-4/+4
On my gentoo, using yaml.load now give: Traceback (most recent call last): raise RuntimeError("Unsafe load() call disabled by Gentoo. See bug #659348") RuntimeError: Unsafe load() call disabled by Gentoo. See bug #659348 Note that on recent ubuntu, a warning appears also. YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. This is due to a security risk of using yaml.load() Since we didnt rely on any behavour provided by load(), let's convert the call to safe_load().
2019-08-26Add support for device-type aliasCorentin LABBE1-0/+6
This patch adds support for the device-type aliases.
2019-08-26Upgrade to 2019.07Corentin LABBE1-4/+12
This patch upgrade LAVA to 2019.07 via their official docker images. Along with the change of the baseimage from our lava-xx-base to official 2019.07, some minor changes are needed: - Activate the en_US.UTF-8 locale needed for postgresql - chown to lavaserver all copied device-types - Fix the start scripts for using the official entrypoints
2019-06-25lavalab-gen.py: Do not use ser2net when connection_command is setCorentin LABBE1-2/+2
When a custom way of getting serial is set, we should not defaulting to ser2net. This is the case for hsdk which use a spetial console handler via connection_command.
2019-06-10lavalab-gen.py: add localhost to allowed_hostsTobias Olausson1-1/+1
The README mentions using localhost in the quickstart guide, but it doesn't work if only 127.0.0.1 is in that list.
2019-06-04Permit to host healtchecksCorentin LABBE1-2/+12
This patch adds an optional container which host healthchecks images.
2019-05-17lavalab-gen.py: fix read of bind_devCorentin LABBE1-3/+3
Since bind_dev could be set to false, just testing its presence is wrong. This patch made lavalab-gen.py check its value.
2019-05-17lavalab-gen.py: fix NFSCorentin LABBE1-2/+2
The NFS code produce a working docker-compose.yml but this file is dumped before this modification. This patch moves the docker-compose.yml dump after last modifications of the dockcomp variable.
2019-05-17lavalab-gen.py: Modify how to enable TAP devicesCorentin LABBE1-6/+5
Enabling TAP devices is global to a whole worker. So having the flag on devices is wrong. This patchs move the flag "tap" at worker level.
2019-05-13lava-slave: generate lavacli default identitiesCorentin LABBE1-0/+3
2019-05-13lava-slave: support lava-coordinatorCorentin LABBE1-2/+17
This patchs adds a new flag "lava-coordinator" for slave which enables the generation of a lava-coordinator.conf file.
2019-05-03Permit to add extra devices in the slaveCorentin LABBE1-1/+17
This patch permit to adds extra devices (like a USB relay) in the slave
2019-04-25Permit to set arch for arm64 slavesCorentin LABBE1-1/+8
Currently arm64 workers need to modify at hand the from in the dockerfile for using arm64 images. This patch automate this;
2019-04-25Permit to do NFS jobsCorentin LABBE1-1/+10
This patch adds an helper for doing NFS jobs
2019-04-01lavalab-gen.py: add ALLOWED_HOSTSCorentin LABBE1-3/+11
Since 2019.03 , ALLOWED_HOSTS is mandatory in settings.conf. Without it all requests are denied with code 500.
2019-01-15Merge pull request #83 from montjoie/misckhilman1-14/+44
Misc
2019-01-14Permit to choose loglevelCorentin LABBE1-2/+26
By default, all process use the DEBUG loglevel, this could be too much for a production server. This patch permits to tune the loglevel.
2019-01-08lavalab-gen.py: Permit qemu to use TAP devicesCorentin LABBE1-0/+5
For full networking capacity, qemu need to access TAP devices. This patch adds the choice of use it via the tap keyword.
2019-01-07lavalab-gen.py: prevent duplication of device mapCorentin LABBE1-12/+13
If two qemu with KVM enabled are on the same node, the device map "/dev/kvm:/dev/kvm" will be present twice. This patch adds an helper for preventing this. This will also clean the code later which adds serial device.
2018-12-19lavalab-gen: more flexible custom_optionsKevin Hilman1-2/+6
Adding custom options for LAVA often requires specific formatting for the LAVA jinja2 files, including single or double quotes. Rather than also using quotes in the boards.yaml file, use YAML "plain style"[1] avoids the need to add extra quotes or escapes. When using the "|-" for plain style, the custom_options will appear to lavalab-gen as a one long string, rather than a list of options, so here we modify lavalab-gen to handle strings slightly differently than a list. [1] https://yaml.org/spec/1.2/spec.html#id2788859 Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-12-07lavalab-gen.py: ease to use alternate uart than ser2netCorentin LABBE1-1/+3
When someone want to use screen/conmux for a board, the current situation imply to adds use_ser2net = False. This patchs remove this need.