Wikimedia Release Engineering Team/Train development environment/2020-06-04

= 2020-06-04 =

As Always

 * Meeting archive: https://www.mediawiki.org/wiki/Wikimedia_Release_Engineering_Team/Train_development_environment
 * Last Time: https://www.mediawiki.org/wiki/Wikimedia_Release_Engineering_Team/Train_development_environment/2020-05-14

TODOS

 * ✅ TODO: Lars to create image for other to try
 * ✅ TODO: Jeena to demo packer
 * ✅ TODO: thcipriani to set next meeting
 * ✅ TODO: Mukunda investigate cloud-init
 * TODO: Mukunda + Lars to sync up on building a deployment server (puppet, etc.)
 * TODO: Mukunda cloudinit to run puppet on vmdb2 image
 * TODO: Mukunda + Lars
 * TODO: Brennen to test Windows if possible

Image from lars

 * https://files.liw.fi/temp/simple.qcow2.xz
 * thcipriani + jeena able to run on Debian sid + MacOS
 * Brennen + Mukunda to test
 * Brennen to (attempt to) test on a Windows install
 * Should we convert to a VDI image?
 * Collective shrug


 * Nested VM
 * Deploy server + Git server
 * Deploy server could run scap prep successfully
 * Deployment server setup questions

Packer Demo

 * Used packer to create a virtualbox Debian image
 * Use a boot command and preseed file to run installer
 * Also tried creating image with QEMU, which didn't work, but is basically the same process
 * Command: packer build demo.json
 * builds both QEMU and VBox image in parallel
 * J: Lars uncomfortable with the typing command in terminal
 * M: preseed is the default, right? It's fraught isn't it?
 * Lars: preseed can only answer questions asked by packages; i.e., postfix package only used to work on HP servers
 * J: packer also supports puppet provisioner/ansible/cloudinit provisioner
 * L: we only need 1 image per debian release since we can use puppet
 * J: I think packer is useful for making a bunch of identical VMs for a bunch of different platforms. I'm not sure how useful this is for 1 VM. It should be deterministic at least
 * T: Any support for debootstrap in packer?
 * Unknown/Seemingly no.


 * Discussion of packer vs. vmdb2
 * packer works cross-platform
 * cloud-init is available on basically all Linuxen
 * VMDB2 closer to the metal; packer has features we don't need
 * Decision: Likely proceed with VMDB2, can revisit if needed, using cloud-init / Puppet for most configuration should make the image building step easy enough to swap out.

cloud-init
https://cloudinit.readthedocs.io/en/latest/topics/modules.html#puppet


 * M: Pretty convinced this is the way to go for configuring VMs
 * B: Digital Ocean provided a text area to provide cloudinit commands