summaryrefslogtreecommitdiffstats
path: root/lavalab-gen.py
AgeCommit message (Collapse)AuthorFilesLines
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.
2018-02-02Handle optional macaddrCorentin LABBE1-0/+3
Some boards need to have a macaddr set in uboot (like meson-gxl-s905x-libretech-cc) This patch add support for it.
2018-02-02Implement connection_commandCorentin LABBE1-0/+6
connection_command is a generic way to get console from devices. It could ran telnet for accessin ser2net for example.
2018-02-02lavalab-gen.py: Handle non-FTDI UART via devpathCorentin LABBE1-4/+14
This patch add support for non-FTDI UART by adding a devpath member. Since both FTDI and non-FTDI need also idevendor/idproduct, this patch introduce them.
2018-02-02Generate udev rules in udev directoryCorentin LABBE1-1/+3
2018-02-02produce non-duplicate udev filesCorentin LABBE1-1/+1
When more than one "lab" is referenced (like lava-master + lab-slave-0), udev content is duplicated. This patch reset the udev_line variable for producing non-duplicate udev files.
2018-02-02Remove lavapdu support and replace with pdu_genericCorentin LABBE1-15/+10
Recent lavapdu is unpackaged and buggy. Remove it and replace with a generic PDU command line wrapper
2018-02-02A pdu is optionnalCorentin LABBE1-2/+2
2018-02-02Handle boards without uartCorentin LABBE1-10/+14
Some boards could not have uart like qemu. This patch made having an uart optionnal.
2018-02-02Move conmux and slaves directory creationCorentin LABBE1-4/+10
Thoses two directory are necessary even with setup without conmux and slaves. (Due to Dockerfile COPY). This patch move the creation of thoses two directory at start of lavalav-gen.py
2018-02-02Permit to customize dispatcher_ipCorentin LABBE1-5/+6
dispatcher_ip is the IP used by boards for contacting/downloading images/dtb/etc... For the moment it was harcoded to 192.168.66.1. This patch permit to easily change it.
2018-02-02Place board under boardlistCorentin LABBE1-2/+2
We need to add some information to lab node, so we need to move all boards under a list("boardlist")
2018-02-02stick to LAVA 2017.11Corentin LABBE1-0/+3
Since LAVA packages are ephemeral, this patch permit to build a know release of LAVA. Introducing scripts/build-lava which builds from source any LAVA compoments from any version tag. In the same time, stick to 2017.11 as its a know working release for lava-docker.
2018-01-09Permit to create staff/superuser usersCorentin LABBE1-1/+10
This patch add two user options staff and superuser. This will permit to create users with thoses flag in LAVA. In the process remove the hardcoded admin user from Dockerfile and move it in tokens.yaml
2018-01-08qemu: Some arch does not have kvmCorentin LABBE1-0/+3
Since some arch does not have kvm, remove kvm usage for qemu. We will reintroduce it later via a flag/autodetect.
2017-10-25Introduce docker-composeCorentin LABBE1-0/+141
This commit introduce two compoments: lavalab-en.py which generate: - device files - conmux config files - users files - tokens files - udev rules for host - final docker-compose.yml file Except of docker-compose.yml, all other files are ignored for the moment and will be handled by a following commit. docker-compose: The docker compose permits to building and running easily lava-docker images. It permit also to remove some contraints like knowing the LAVA_SERVER_IP/LAVA_MASTER.