Add content.
authorMichael Adam <obnox@samba.org>
Mon, 18 May 2015 07:37:55 +0000 (09:37 +0200)
committerMichael Adam <obnox@samba.org>
Mon, 18 May 2015 07:37:55 +0000 (09:37 +0200)
Signed-off-by: Michael Adam <obnox@samba.org>
content.wiki

index 4d4f34c4f1dec8de1b8172a4bde799d90e135089..defd4a3b9fde6f63ab651e6e9c20f2e69269b217 100644 (file)
 %  _red_text text_
 %
 
+==== ====
+
+<[block]{}
+<[quote]
+\textnormal{We need a lot of VMs and containers for
+testing and building Samba. The setup and maintenance
+of these machines requires a lot of work.}
+[quote]>
+[block]>
+
+<[block]{}
+<[quote]
+\textnormal{%
+How can we reduce this work while making the result
+more reproducible and disposable?
+}
+[quote]>
+[block]>
+
+
+==== Enter Vagrant... ====
+
+* Create and configure virtual test/dev environments:
+*# reproducible
+*# disposable
+*# lightweight
+*# portable
+* very easy management
+%* Create and run machines with a single command: @vagrant up@
+
+* @https://www.vagrantup.com/@
+* Mitchell Hashimoto, hashicorp
+
+==== Building Blocks ====
+
+# images of base installs (''base boxes'')
+# @Vagrantfile@ to configure and further setup
+# command @vagrant@ to manage all apects
+
+* ==> simple but very powerful setup
+* ==> similar to docker concepts
+
+==== Providers - Included ====
+
+* virtualbox
+* docker ("Er, docker?..." - "Yes!" \smiley)
+* Hyper-V
+
+
+==== Providers - via Plugins ====
 
+<[block]{local}
+* '''lxc'''
+* '''libvirt''' (qemu/kvm)
+* native kvm
+* parallels
+* ...
+[block]>
 
-==== We can use LXC ... ====
+<[block]{remote}
+* aws
+* azure
+* cloudstack
+* openstack
+* rackspace
+* ...
+[block]>
+
+
+==== $\Rightarrow$ Hey, we can use LXC! \smiley ====
 
 <[center]
 <<<screenshot-twitter-lxc-docker-cut1.png,height=.9\textheight>>>
 [center]>
 
 
+==== Providers - via Plugins - not free! ====
+
+* vmware
+* vmware fusion
+* vmware workstation
+
+
+==== Other Useful Plugins ====
+
+* @vagrant-cachier@ - cache packages on the host
+* @vatrant-mutate@ - convert boxes between providers
+* ...
+
+
+==== @Vagrantfile@ ====
+
+* it is a genuine ruby program
+
+<[block]{minimal example}
+<[quote]
+<[code]
+Vagrant.configure("2") do |config|
+  config.vm.box = "hashicorp/precise32"
+end
+[code]>
+[quote]>
+[block]>
+
+==== Config Management ====
+
+* called ''provisioners''
+* supported:
+*# shell (inline/external)
+*# ansible
+*# puppet
+*# chef
+*# ...
+
+
+==== Notes about Installation ====
+
+* ''Upstream'': current packages at vagrantup.com
+** installed, under @/opt@
+** ships ruby and many gems
+** sometimes problems with system-ruby
+* ''Ubuntu'' has older vagrant package
+** version 1.6.5
+** no additional plugins shipped
+* ''Fedora'' ($\ge 21$) has recent vagrant package now
+** version 1.7.2
+** plus vagrant-lxc
+** plus vagrant-libvirt
+
+
+
+%== Demo Time ==[plain]
+
+==== ====[plain]
+
+<[center]
+\Large
+Demo Time
+[center]>
+
+==== Enter VaSaBi ====
+
+<[block]{}
+A tool to build and selftest Samba on various platforms with a single command.
+[block]>
+
+
+==== ====[plain]
+
+<[center]
+\Large
+Demo Time
+[center]>
+
+
+==== TODOs ====
+
+* let vasabi create and manage the Vagrantfile (under @\~{ }/.vasabi@)
+* dynamically let the vasabi script manage machines based on
+*# base box
+*# source directory (hash thereof)
+*# possibly additional build ID
+* save test results (@st/@)  like @bin/@
+* add support for more boxes
+* possibly add support for autobuild-like jobs instead of plain @make test@
+
 
 ==== Thanks for your attention! ====[plain]