summaryrefslogtreecommitdiffstats
path: root/lavalab-gen.py
AgeCommit message (Collapse)AuthorFilesLines
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.
2018-11-30lavalab-gen.py: Made ser2net the defaultCorentin LABBE1-7/+10
This patch makes ser2net the default uart handler.
2018-11-26lavalab-gen.py: Permits to bind host /dev to slaveCorentin LABBE1-2/+6
When using a PDU with crelay, we need to access the whole content /dev/hid/ and so need to bind the whole /dev/ This is also necessary when using the HSDK board which have a serial which appears only when board is powered.
2018-11-20lavalab-gen.py: support adding ser2net optionsCorentin LABBE1-6/+6
2018-11-19Merge pull request #67 from montjoie/interfacenumprkhilman1-12/+7
lavalab-gen.py: Remove udev template for support of interfacenum
2018-11-16lavalab-gen.py: Remove udev template for support of interfacenumCorentin LABBE1-12/+7
The current udev templating is bad since adding a new optional keyword lead to numerous ifelse and templates. This patch simply generate a udev line part by part. This made adding interfacenum easier. This will also permit to mix devpath/serial/etc.. without any problem
2018-11-15lavalab-gen.py: Add missing newline after overridesCorentin LABBE1-2/+2
This patch adds missing newline after overrides. Without them, the generated file is not a valid yaml file
2018-11-02lavalab-gen.py: permit to set env settings on slave via the master nodeCorentin LABBE1-1/+11
Since some setup use distinct boards.yaml for master and slave, a way to set env settings for a slave via the master node is needed.
2018-11-02lavalab-gen.py: permit to set env settings on slaveCorentin LABBE1-1/+14
This patch permits to add some env settings on slave. The primary goal of this is to permits to add a proxy for a specific slave.
2018-11-02lavalab-gen.py: Add slave_keys for copying public slave keysCorentin LABBE1-1/+6
When creating a split boards.yaml with only one master which uses ZMQ, no way to adds slave key exists. This patch fix that by adding a way to copy all slave keys.
2018-10-18lavalab-gen: permit to choose alternate boards.yamlCorentin LABBE1-0/+8
This patch adds an easy way to choose an alternate file than boards.yaml.
2018-10-17Permit to set a group on boardsCorentin LABBE1-0/+7
This patch permit to add a group on boards
2018-10-17Permit to create groupsCorentin LABBE1-2/+23
This patch adds support for creating groups
2018-10-15Permit to give board to userCorentin LABBE1-0/+4
By default LAVA give owning of boards to admin, this patch permit to give board to a specific user.
2018-10-15Rename export_ser2net to expose_ser2netCorentin LABBE1-4/+7
This patch rename export_ser2net to expose_ser2net. The old export_ser2net is still handled but we now print a deprecating message.
2018-10-15lavalab-gen.py: Permit to customize exposed ports to a slaveCorentin LABBE1-1/+4
This patch adds a way to choose a number of ports to be exposed from host to slave.
2018-09-13Permit to add tags to devicesCorentin LABBE1-0/+6
This patch permits to add tags to device Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
2018-09-13lavalab-gen.py: permit to have no master in boards.yamlCorentin LABBE1-11/+21
This patch permits to have a boards.yaml without the master node. In the same time, it permit to have also only a master node without slave. Signed-off-by: Corentin Labbe <clabbe@baylibre.com>
2018-09-13lavalab-gen: fiz zmq key filename assumptionsKevin Hilman1-6/+6
The ZMQ key file names are expected to have specific names in the containers (e.g. $LAVA_MASTER.key). However, when using existing key files, they are simply copied into the containers, and if they don't match the exact requirements, encryption will silently fail. Fix this by allowing arbitrary filenames for existing keys, but ensure they are copied into the container with the expected filenames. Related, when using auto-generated keys, the generated master key is simply "master.key" in the slave. Fix this by ensuring that "master.key" is copied to $LAVA_MASTER.key when the slave container starts. Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-09-07lavalab-gen.py: add default max-connections for ser2netCorentin LABBE1-5/+34
This patch add a ser2net max-connections for all boards
2018-09-03lavalab-gen.py: change default start port for ser2netCorentin LABBE1-1/+2
ser2net port range started from 60000 which is between the Linux dynamic port range: 32768-60999 This patch changes it outside of this range to 63001.
2018-09-03lavalab-gen.py: default_slave is a valid keywordCorentin LABBE1-1/+1
default_slave was not in valid keyword and thus generate a warning. This patch set it as valid and document it in the mean time.
2018-09-03lavalab-gen.py: replace slave_name by worker_nameCorentin LABBE1-7/+7
In the board loop, the slave name is stored in slave_name, but some code after use worker_name. This works when only one slave exists, but fail when it exists multiple slave. This patch replace slave_name by worker_name for being consistent with the naming used in the rest of code.
2018-07-30Fix login failure on httpsCorentin LABBE1-1/+2
When login on LAVA via https, a CSRF failure is done. This is due to missing CSRF_TRUSTED_ORIGINS.
2018-07-26Permit to configure email for LAVA usersCorentin LABBE1-1/+4
2018-07-26lavalab-gen.py: use zmq_auth valueCorentin LABBE1-1/+3
The current script just check for zmq_auth presence and does not check if it is set to false. this patch fix that!
2018-07-26Permit to choose the FQDN printed in emailCorentin LABBE1-1/+8
2018-07-25Remove build-lavaCorentin LABBE1-2/+0
We no longer build LAVA from source, so all build-lava stuff must go.
2018-07-24lavalab-gen.py: token is optional for usersCorentin LABBE1-2/+3
2018-07-23Merge pull request #33 from montjoie/zmq_authkhilman1-3/+30
Zmq auth
2018-07-23Handle ZMQ authCorentin LABBE1-3/+30
This patch add support for using ZMQ auth. Basicly adding "zmq_auth: True" to a master is sufficient to enable it. Since "ZMQ certificates" are using a custom format (vs X509 classic), we need to use the custom generator. For helping with that a temporary docker is generated which handle generating thoses files.
2018-07-20Merge pull request #32 from montjoie/persistantdb_prkhilman1-1/+11
Persistantdb pr
2018-07-19Made the database persistentCorentin LABBE1-1/+11
Until now, each docker-compose down will loose all data (jobs, devices, etc...). By creating a docker volume, the database will now be persistent other restart. Due to a risk of the lava package reseting the password, it is always reseted at start. This patch add also another volume for job output which are stored in the filesystem and not in database.
2018-07-16Merge pull request #30 from montjoie/fix072018khilman1-5/+55
Fix072018
2018-07-12Detect unknown keywordsCorentin LABBE1-0/+16
This patch warnings the user when using lavalab-gen.py with unknow keywords in boards.yaml.
2018-07-12Support screen for uartCorentin LABBE1-1/+16
This patch add support for using screen instead of conmux-console. screen can be used by adding "use_screen: True" to uart. screen is necessary for some board with internal uart which have a micro cut when switching power (like DRA7-EVM and M3ULCB)
2018-07-04Implement ser2netCorentin LABBE1-5/+24
This patch add support for ser2net. ser2net can be used by adding "use_ser2net: True" to uart.
2018-06-05lavalab-gen: add \n between custom optionsKevin Hilman1-1/+1
If a board has mutliple custom options, they need to be separated by a newline. Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2018-06-05Permit to access LAVA webadmin via httpsCorentin LABBE1-0/+31
This patch permits to access LAVA webadmin via HTTPS. Resolve SPEC-1493
2018-06-05Implement MultipleslaveCorentin LABBE1-123/+256
This patch implement multiple slave support. Instead of having a maximum of one master and one slave in one docker image, it is now possible to have multiple slave accross several docker host. For helping this change, a new boards.yaml format is introduced (See README.md for details) Note that tokens.yaml is also squashed in boards.yaml
2018-04-13Permit to add custom option in board filesCorentin LABBE1-0/+3
Some board need some jinja options (ex: nanopik2 need use_vendor_uboot) but adding all possible options is not worth the cost. So this patch adds a custom way to add option to board file.
2018-04-13Rename macaddr to uboot_macaddrCorentin LABBE1-2/+2
For clarify the use of macaddr, rename it to uboot_macaddr.
2018-04-13Add uboot_ipaddrCorentin LABBE1-0/+2
Some boards have broken uboot dhcp, so we need to set a static ip in uboot. This patch add a way to specify such IP via uboot_ipaddr.
2018-03-08Rename lab to workerCorentin LABBE1-20/+20
This patch fix the misleading name lab to the more proper worker since a lab could be a group of workers.
2018-02-15Clean argument parsingCorentin LABBE1-6/+2
lavalab-gen.py does not handle arguments, lets remove all arg parsing stuff.
2018-02-14Force the use of hexadecimal values for product/vendor IDsCorentin LABBE1-2/+8
Using "idproduct: 6001" let python convert 6001 to 24577 and so corrupt the UDEV line.
2018-02-14Made lavalab-gen.py python3 compatibleCorentin LABBE1-14/+14
lavalab-gen.py cannot be used with python3. This patch made it compatible with both python2 and python3.
2018-02-14Reintroduce qemu KVM supportCorentin LABBE1-1/+11
Since lava-docker must run on all arch, and that KVM is x86 specific, KVM support was disabled for qemu. Reintroduce it now as an option for each lab via the host_has_cpuflag_kvm flag.
2018-02-14Remove hardcoded devices for lava-slaveCorentin LABBE1-4/+5
The node devices was hardcoded for lava-slave. For example, lava-master could never have devices. Remove that hard-coding and made devices dynamic for any labname.