new post: DebConf Videoteam sprint @ FOSDEM report

parent f1f48d1e
Title: DebConf Videoteam sprint @ FOSDEM report
Tags: debconf, debian, sprint, videoteam
For the past week, the DebConf Videoteam has been hard at work, sprinting in
Diegem, Belgium. We've had a lot of fun, but were also able to improve a lot of
things.
## Raspberry Pi Hacking
<img src="/media/blog/2019-02-01/tally_cards.jpg" title="Cards generated with Toetally" alt="Cards generated with Toetally" height="30%" width="30%" style="float:left">
Jonathan and Andy eventually want to set up Raspberry Pi 3B+ with screens on the
top of our cameras to act as tally lights and enable the video directors to send
messages to the camera operators that way. No more sleeping on the switch! To
make this possible, Jonathan has been working on adding a custom drop-down menu
near the camera preview in [voctogui][voctogui].
Since we don't want to have to jump through hoops to image those boards,
Jonathan worked on booting a pure Debian image on the Pi 3B+. He's been able to
load an Initramfs and a full mainline kernel on it, but ran into trouble getting
the network up because of USB driver problems.
The program Jonathan has been writing to display messages on the Raspberry Pi
screens is called [toetally][]. It's still in pre-alpha, but check it out
nonetheless!
[voctogui]: https://github.com/voc/voctomix/tree/master/voctogui
[toetally]: https://salsa.debian.org/debconf-video-team/toetally
## Opsis
Tzafrir worked on getting his Opsis board up to date with the latest version of
[HDMI2USB][], the firmware we are using on those boards to capture HDMI inputs.
He's been mostly successful in getting it to work, but has been having hardware
problems with his [Minnowboard Turbot][turbot], the SBC we are using to control
the Opsis.
[HDMI2USB]: https://hdmi2usb.tv/home/
[turbot]: https://minnowboard.org/minnowboard-turbot/
## Documenting our streaming setup
Nicolas completely rebuilt our streaming setup for DebConf17, migrating from
`icecast2` to something based on `libnginx-mod-rtmp`, as `icecast2` kept
crashing.
It has been working very well since then, but sadly Nicolas hadn't had time to
document how it works properly.
This is not the case anymore! You can now check out
[our streaming documentation][streaming].
Nicolas also [included our ansible role documentation][ansible-role-doc] to the
main ansible documentation generated in `sphinx`.
[streaming]: https://debconf-video-team.pages.debian.net/docs/streaming.html
[ansible-role-doc]: https://debconf-video-team.pages.debian.net/ansible/ansible_roles.html
## Hardware Hacking
<img src="/media/blog/2019-02-01/audio.jpg" title="A Numato Osis, a Minnowboard Turbot and an networking switch in the same 1U case" alt="A Numato Osis, a Minnowboard Turbot and an networking switch in the same 1U case" height="80%" width="80%" style="margin-left: 10%;">
We recently bought a new audio kit to replace the one we had. It was getting
pretty old and was basically crumbling away. At the last mini-DebConf we did in
Hamburg, we even had to borrow a kit from the CCC VOC.
Before the sprint, Andy and Kyle worked on listing what hardware we needed to
buy and Nicolas had the gear shipped to Paris. Sadly, we only got one of the
four wireless receivers we bought, as the other ones were backorder.
During the sprint, Nicolas and Andy worked hard on racking the gear in our new
front of stage rack and Andy did a soldering job in our Opsis case to be able to
power the Opsis, the turbot and the network switch all at once.
You can find more in depths details about our new audio system and the racking
process on [Andy's blog][andy].
Thanks to [HSBXL][] for lending us tools to hack sheet metal!
[andy]: http://blog.koipond.org.uk/archives/54
[HSBXL]: https://hsbxl.be/
## Git LFS
With the phasing out of Alioth, our old git-annex repository was not accessible
anymore (Salsa doesn't support git-annex). Judit, Tzafir & Stefano thus worked
on migrating it to git LFS.
The plan is to use this new [DebConf share][share] repository to host pictures
taken by attendees.
As we are trying to migrate away from DebConf hardware, Stefano also wrote a
scraper for [DebConf Gallery][gallery] and plans to move the pictures hosted
there to [DebConf share][share].
He still plans to modify [Wafer][wafer] to make it easy for speakers to publish
their slides on the DebConf website, but if it comes to it, we'll also be able
to use that git LFS repository to host slides too.
<video src="https://veronneau.org/media/blog/2019-02-01/fomu.webm" title="A blinking Fomu" alt="A blinking Fomu" preload autoplay loop style="float:right"></video>
[share]: https://salsa.debian.org/debconf-team/public/share
[wafer]: https://github.com/CTPUG/wafer
[gallery]: https://gallery.debconf.org
## Playing with the Fomu
Giovanni Mascellani came-by during the week to learn more about the way our
setup works. He helped with a bunch of small fixes left and right and we had a
very good time!
By pure chance, Stefano came back from LCA with a bunch of [Fomu boards][fomu]
(tiny open hardware, open toolchain FPGA boards that fits in your USB port) to
give out for FOSDEM and Giovanni managed to flash one of them with a Raspberry
Pi. Very neat!
[fomu]: https://www.crowdsupply.com/sutajio-kosagi/fomu
## USB installer for our ansible playbooks
Although we mainly install new machines using PXE boot from our network gateway,
we sometime need to bootstrap other machines without it. We normally did that
by installing Debian manually on a machine and then running ansible on it.
We now have an easy to use [USB installer][usbinst]! You can run a simple script
that builds a preseeded Debian image and flashes it on a USB key. Once Debian is
installed, the machine reboots and runs ansible automatically.
We previously had something similar, but Carl Karsten rebuilt the whole thing
and made it easier to use. Louis-Philippe updated the documentation.
[usbinst]: https://debconf-video-team.pages.debian.net/docs/usb.html
## Soldering USB ports
<img src="/media/blog/2019-02-01/soldering.jpg" title="Nicolas solering a USB port" alt="Nicolas soldering a USB port"height="30%" width="30%" style="float:right">
When we packed one of our Opsis boards after DebConf18 in Taiwan, one of the USB
ports got mangled. Nicolas spent a whole day trying to resolder it back, but
finally ended up cutting it from the board and replaced it by a cable attached
to a USB header.
## systemd in Docker in Gitlab CI
Louis-Philippe worked a large part of the week trying to get `systemd` to run in
Docker in Gitlab CI. We need that to test our ansible modules properly.
[Having worked on this previously][previous], this week he tried to build a
docker container that ran both `systemd` as PID 1 and an OpenSSH Server and
tried to run this image as a service.
The idea behind this is that since there is no way to run `systemd` as PID 1 in
Gitlab CI, maybe it could be achieved in a service. Ansible roles could then
be tested by connecting via ssh.
Sadly, this also proved impossible. Even when using a privileged runner, docker
containers need to have volumes like `/sys/fs/cgroup` explicitly mounted for
systemd to run and there is no way to achieve this with a service.
To better test our ansible roles, he added more unit tests that skip the
systemd handlers.
[previous]: https://veronneau.org/running-systemd-in-the-gitlab-docker-runner-ci.html
## DebConf19 preparations
Paulo and Adriana flew in from Brazil to attend the video sprint. With the help
of other DebConf people present, they ironed out a few problems and worked some
more on planning for DebConf19.
## Fixing our example inventory in ansible
Stefano fixed the default ansible inventory that ships with
[our playbooks][ansible]. We don't use that inventory very often, as we have a
more complete one for our production setup.
It is used by people that want to test our setup though, so that means others
will be able to replicate our work more easily.
[ansible]: https://salsa.debian.org/debconf-video-team/ansible
## Thank you!
This sprint would not have been possible without the support of the amazing
Jasper Nuyens of [Linux Belgium][linuxbe], who very graciously lent us a place
to hack and sleep for the week. Jasper also bought us delicious pizza on
Thursday night, a gesture everyone highly appreciated.
We also extend our thanks to the Debian Project for giving us a budget for the
sprint.
Thank you!
[linuxbe]: http://linuxbe.com/
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment