- hack
/usr/local/scripts/netfilter/local/chains/vms/kvm_0231_chain.sh
on host to allow gateway conns - first hd is /dev/vda
- default gentoo handbook install with lvm setup on vda3 and one large lv_root
- install lvm2 so you can build a lvm initramfs
- if you skip this you will have tons of fun loading lvm in the initramfs shell:
lvm vgscan --mknodes && lvm lvchange -a ly vg01/lv_root
- if you skip this you will have tons of fun loading lvm in the initramfs shell:
- kernel build with:
genkernel --install --lvm --menuconfig all
(do not use--virtio
, activate them in menuconfig instead, I had heaps of fun hunting down all the modules)- actually
genkernel --install --lvm --kernel-config=/root/kernel.config all
since lazy me hates using a ui - the --virtio switch seems screwed due to some oldconfig changes with the
VIRTIO_MMIO
system, but i haven't looked into that more
- actually
- remember to also set
GRUB_CMDLINE_LINUX="dolvm"
in/etc/default/grub
(as i said before, a ton of fun) - more things to install on new machines:
emerge dev-vcs/git vim
- now for puppet:
USE="augeas vim-syntax" emerge puppet
- before using puppet:
emerge eix && eix-update
- clone puppet tree:
git clone https://github.com/purplehazech/purplehazech-orcatamer.git /etc/puppet/environments/development
- install librarian:
gem19 install librarian-puppet
- load puppet modules:
cd /etc/puppet/environments/development && librarian-puppet install
- workaround some TODOs:
ln -s /etc/puppet/environments/development/ /vagrant && mkdir /usr/local/portage && touch /usr/local/portage/make.conf && ulimit -n 2048 && emerge sudo
- test if puppet is useable:
puppet apply --environment=development --modulepath=/etc/puppet/environments/development/modules/:/etc/puppet/environments/development/manifests/ -e 'notify{"test":}' --pluginsync
- run puppet like so to find the first batch of stuff to fix:
puppet apply --environment=development --modulepath=/etc/puppet/environments/development/modules/:/etc/puppet/environments/developmen
t/manifests/ -e 'include ::role::puppet::master' --pluginsync --noop
- let puppet rip:
puppet apply --environment=development --modulepath=/etc/puppet/environments/development/modules/:/etc/puppet/environments/developmen
t/manifests/ -e 'include ::role::puppet::master' --pluginsync
TODOs
- replace silly headers in orcatamer with block chars with something that most tools dont bork on (ie. some ascii art)
- I removed this on Puppetfile and Modulefile to get librarian to run
- use github https URLs through out, they are simply proxy friendlier everywhere
- refactor role and profile things into proper modules and use proper puppet:// data urls
- dont' depend on /usr/local/portage/make.conf
- figure out why the betagarden overlay needs
ulimit -n 2048
to clone - figure out why layman-add from betagarden needs sudo