kinvolk / racker

rack provisioning utility for Kinvolk projects
Apache License 2.0
14 stars 3 forks source link

Support using prepare.sh for older Lokomotive versions #94

Closed pothos closed 3 years ago

pothos commented 3 years ago

The features required by Racker are not present in pre 0.9 Lokomotive versions. To test older versions like 0.8 in the QEMU setup (not the racker-sim setup) a few additional flags and manual commands are needed. Since there are no installer CLC snippets, a singe NIC setup is used and since there is no inbuilt support to run the PXE commands, the libvirt installation has to be run for each node manually. E.g., to set up a 0.8 Lokomotive cluster after compiling it, do this:

  mkdir temp-lokomotive-0.8
  cd temp-lokomotive-0.8
  echo 0c:42:a1:11:11:11 > controller_macs
  echo 0c:42:a1:11:11:22 > worker_macs
  PATH="$PATH:/home/$USER/kinvolk/lokomotive" OLD_LOKOMOTIVE=1 QEMU_SINGLE_NIC=1 /home/$USER/kinvolk/racker/bootstrap/prepare.sh create
And in another terminal while "OS installation via PXE" is shown:
  domain=lokomotive-controller-0.k8s.localdomain
  mac="0c:42:a1:11:11:11"
  sudo virsh destroy $domain || true; sudo virsh undefine $domain || true; sudo virsh pool-refresh default || true; sudo virsh vol-delete --pool default $domain.qcow2 || true; sudo virt-install --name $domain --network=bridge:pxe0,mac=$mac  --network=bridge:ext0 --memory=2500 --vcpus=1 --disk pool=default,size=10 --os-type=linux --os-variant=generic --noautoconsole --events on_poweroff=preserve --boot=hd,network
  domain=lokomotive-worker-0.k8s.localdomain
  mac="0c:42:a1:11:11:22"
  sudo virsh destroy $domain || true; sudo virsh undefine $domain || true; sudo virsh pool-refresh default || true; sudo virsh vol-delete --pool default $domain.qcow2 || true; sudo virt-install --name $domain --network=bridge:pxe0,mac=$mac  --network=bridge:ext0 --memory=2500 --vcpus=1 --disk pool=default,size=10 --os-type=linux --os-variant=generic --noautoconsole --events on_poweroff=preserve --boot=hd,network
  echo lokomotive-controller-0.k8s.localdomain > lokoctl-assets/cluster-assets/0c:42:a1:11:11:11
  echo lokomotive-worker-0.k8s.localdomain > lokoctl-assets/cluster-assets/0c:42:a1:11:11:22