summaryrefslogtreecommitdiffstats
path: root/lavalab-gen.py
AgeCommit message (Collapse)AuthorFilesLines
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-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-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.