From 055e5ebb64ac14a9f548e009446ec8c3c40f3003 Mon Sep 17 00:00:00 2001
From: Lancelot Doan <lancelot@LanceD.loria.fr>
Date: Mon, 10 Jun 2024 11:05:46 +0200
Subject: [PATCH] [vagrant] Kadeploy Changed from Buster to Bookworm

---
 vagrant-env/Vagrantfile                       |  6 +++---
 vagrant-env/kadeploy_conf/sample-cluster.conf |  8 ++++----
 vagrant-env/kadeploy_provision.sh             | 17 ++++++++++-------
 vagrant-env/scripts/install-grub2-dev.sh      |  6 ++++++
 vagrant-env/vbhelper.sh                       |  4 +++-
 5 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/vagrant-env/Vagrantfile b/vagrant-env/Vagrantfile
index eb822756..03f4843e 100644
--- a/vagrant-env/Vagrantfile
+++ b/vagrant-env/Vagrantfile
@@ -4,7 +4,7 @@ require 'yaml'
 Vagrant.configure("2") do |config|
   config.vm.define :kadeploy do |server|
     server.vm.provider "virtualbox"
-    server.vm.box = 'debian/contrib-buster64'
+    server.vm.box = 'debian/bookworm64'
     server.vm.hostname = 'kadeploy'
     server.vm.synced_folder '.', '/vagrant'
     server.vm.synced_folder '..', '/kadeploy'
@@ -27,10 +27,10 @@ Vagrant.configure("2") do |config|
   nodes.each_pair do |name,node|
     config.vm.define name do |agent|
     # Vagrant want a box even if we don't use it
-      agent.vm.box = "debian/contrib-buster64"
+      agent.vm.box = "debian/bookworm64"
 
       agent.vm.provider :virtualbox do |vb|
-        vb.memory = '1024'
+        vb.memory = '4096'
         vb.cpus = '1'
         vb.gui = 'true'
 
diff --git a/vagrant-env/kadeploy_conf/sample-cluster.conf b/vagrant-env/kadeploy_conf/sample-cluster.conf
index 70af3691..06963411 100644
--- a/vagrant-env/kadeploy_conf/sample-cluster.conf
+++ b/vagrant-env/kadeploy_conf/sample-cluster.conf
@@ -28,9 +28,9 @@ boot:
   startup_script: /vagrant/scripts/startup.sh
   kernels:
     deploy:
-      initrd: kernels/kadeploy3-deploy-kernel-buster.initrd.img
-      vmlinuz: kernels/kadeploy3-deploy-kernel-buster.vmlinuz
-      params: ETH_DEV=eth0 console=tty0 ramdisk_size=260000 rw root=/root.tmp net.ifnames=0 biosdevname=0 break=premount
+      initrd: kernels/kadeploy3-deploy-kernel-bookworm.initrd.img
+      vmlinuz: kernels/kadeploy3-deploy-kernel-bookworm.vmlinuz
+      params: ETH_DEV=eth0 console=tty0 console=ttyS0,115200 ramdisk_size=260000 rw root=/root.tmp net.ifnames=0 biosdevname=0
       supported_fs: ext2, ext3, ext4
     user:
       params: console=ttyS0,115200
@@ -71,7 +71,7 @@ automata:
   macrosteps:
     BootNewEnv:
     - timeout: 150
-      type: Classical
+      type: Kexec 
       retries: 3
     BroadcastEnv:
     - timeout: 300
diff --git a/vagrant-env/kadeploy_provision.sh b/vagrant-env/kadeploy_provision.sh
index 03265bf0..7ca0222c 100644
--- a/vagrant-env/kadeploy_provision.sh
+++ b/vagrant-env/kadeploy_provision.sh
@@ -3,20 +3,23 @@ set -xe
 
 install_package() {
 # The following requires to be inside the Grid'5000 network, for instance by using the Grid'5000 VPN
+DEBIAN_FRONTEND=noninteractive apt-get update
+DEBIAN_FRONTEND=noninteractive apt-get install -y gnupg 
 wget http://packages.grid5000.fr/grid5000-archive-key.asc -q -O- | apt-key add -
 echo deb http://packages.grid5000.fr/deb/g5k-postinstall/ ./ > /etc/apt/sources.list.d/postinstall.list
 echo deb http://packages.grid5000.fr/deb/kadeploy-kernels/ ./ > /etc/apt/sources.list.d/kadeploykernel.list
 
-sed -i '/backports/s|deb.debian.org|archive.debian.org|g' /etc/apt/sources.list
+#sed -i '/backports/s|deb.debian.org|archive.debian.org|g' /etc/apt/sources.list
 DEBIAN_FRONTEND=noninteractive apt-get update
-DEBIAN_FRONTEND=noninteractive apt-get install -y ruby rubygems lsb-release git taktuk rake help2man mariadb-server libmariadbclient-dev ruby-dev ident2 syslinux ncat dnsmasq isc-dhcp-server tftpd-hpa pxelinux apache2
-DEBIAN_FRONTEND=noninteractive apt-get install -y g5k-postinstall kadeploy3-deploy-kernel-{buster,bullseye}{,-arm64,-ppc64}
+DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential ruby rubygems lsb-release git taktuk rake help2man mariadb-server libmariadb-dev ruby-dev ident2 syslinux ncat dnsmasq isc-dhcp-server tftpd-hpa pxelinux apache2 
+#DEBIAN_FRONTEND=noninteractive apt-get install -y g5k-postinstall kadeploy3-deploy-kernel-{buster,bullseye}{,-arm64,-ppc64}
+DEBIAN_FRONTEND=noninteractive apt-get install -y g5k-postinstall=1.2022042109 kadeploy3-deploy-kernel-{buster,bullseye,bookworm}{,-arm64}
 # Optional:
 DEBIAN_FRONTEND=noninteractive apt-get install -y vim tcpdump
-gem install --conservative --no-ri --no-rdoc mysql2
-gem install --conservative --no-ri --no-rdoc net-ssh -v 4.2.0
-gem install --conservative --no-ri --no-rdoc byebug -v 9.0.6
-gem install --conservative --no-ri --no-rdoc rspec
+gem install --conservative --no-document mysql2   
+gem install --conservative --no-document net-ssh -v 4.2.0
+gem install --conservative --no-document byebug -v 9.0.6
+gem install --conservative --no-document rspec
 }
 
 setup_tftp() {
diff --git a/vagrant-env/scripts/install-grub2-dev.sh b/vagrant-env/scripts/install-grub2-dev.sh
index f8d4219b..7b3f0a29 100644
--- a/vagrant-env/scripts/install-grub2-dev.sh
+++ b/vagrant-env/scripts/install-grub2-dev.sh
@@ -390,6 +390,12 @@ else
   info "No grub installation done, as requested."
 fi
 
+
+
+if  chroot ${KADEPLOY_ENV_EXTRACTION_DIR} /bin/ssh-keygen -A; then
+   echo "it just works"
+fi
+
 ###
 ## End
 ##
diff --git a/vagrant-env/vbhelper.sh b/vagrant-env/vbhelper.sh
index 9f93f4da..7f577cf4 100755
--- a/vagrant-env/vbhelper.sh
+++ b/vagrant-env/vbhelper.sh
@@ -15,7 +15,9 @@ case "$action" in
     VBoxManage startvm $vm 1>&2
     ;;
   restart)
-    VBoxManage controlvm $vm reset 1>&2
+    VBoxManage controlvm $vm poweroff 1>&2
+    sleep 3
+    VBoxManage startvm $vm 1>&2
     ;;
   *)
     echo "Operation not known"
-- 
GitLab