User:Lucas/Gentoo Install Notes

Revision as of 22:31, 22 February 2014 by Lucas (Talk | contribs)

  • 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
  • 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
  • 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 && emerge dev-ruby/rgen --autounmask-write && dispatch-conf && emerge dev-ruby/rgen
  • 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/development/manifests/ -e 'include ::role::puppet::master' --pluginsync --noop
  • let puppet rip: puppet apply --environment=development --modulepath=/etc/puppet/environments/development/modules/:/etc/puppet/environments/development/manifests/ -e 'include ::role::puppet::master' --pluginsync
  • after running the last command until all the errors where fixed i can try to run in agent mode: puppet agent --test --server=`hostname -f`
    • i still need to figure out why the --server flag is needed at this stage, somehow the agent is consulting DNS rather than /etc/hosts

now for some hacking that i did to test some concepts:

  • setup openldap tooling: emerge openldap
  • search for machine: ldapsearch -D 'cn=Manager,dc=stoney-cloud,dc=org' -w admin '(&(objectClass=sstVirtualizationVirtualMachine)(sstNetworkHostname=kvm-0231))'

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
  • install rgen for puppet parser future at some sensible part of bootstrapping
  • figure out what going on here: Feb 22 22:30:01 vm-test-01 ulogd[30493]: p_kvm-0231_0_in Denied dst:: IN=vmbr0 OUT=vmbr0 MAC=01:00:5e:00:00:12:00:00:5e:00:01:03:08:00 SRC=192.168.140.2 DST=224.0.0.18 LEN=56 TOS=10 PREC=0x00 TTL=255 ID=33458 DF PROTO=112 MARK=0
Last modified on 22 February 2014, at 22:31