]> gitweb.fluxo.info Git - hydra.git/commitdiff
Fixes provision-img
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 9 Mar 2017 15:55:59 +0000 (12:55 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 9 Mar 2017 15:55:59 +0000 (12:55 -0300)
share/hydractl/provision-img

index 9b9cdb280acb79302d6dc5a5797e6106b87d6aa1..85224663b13b4f9e342e87450f72f2ea62e5460f 100755 (executable)
@@ -22,12 +22,13 @@ hydra_config_load
 
 # Make sure there is provision config.
 function hydra_provision_config {
-  hydra_user_config   image             /var/cache/qemu/debian.img       "Destination image"
+  hydra_user_config   image             /var/cache/qemu/debian/box.img   "Destination image"
   hydra_user_config   size              3G                               "Image size"
+  hydra_user_config   format            qcow2                            "Image format: raw or qcow2"
   hydra_user_config   hostname          machine                          "Hostname"
   hydra_user_config   domain            example.org                      "Domain"
   hydra_user_config   arch              amd64                            "System arch"
-  hydra_user_config   version           jessie                           "Distro version"
+  hydra_user_config   version           stretch                          "Distro version"
   hydra_user_config   mirror            http://http.debian.net/debian/   "Debian mirror"
 }
 
@@ -37,11 +38,38 @@ hydra_provision_config_load $1
 # Get config parameters
 hydra_provision_config
 
+# Check
+if [ -e "$image" ]; then
+  echo "error: $image already exists."
+  exit 1
+fi
+
+# Ensure base folder exists
+hydra_sudo_run mkdir -p `dirname $image`
+
+#
+# vmdebootstrap version
+#
 # Check for requirements
 for req in vmdebootstrap mbr; do
   hydra_install_package $req
 done
 
+# Image format
+if [ "$format" == "qcow2" ]; then
+  format="--convert-qcow2"
+else
+  formt=""
+fi
+
 # Run
 hydra_sudo_run vmdebootstrap --verbose --image=$image --size=$size --distribution=$version \
-                             --mirror=$mirror --arch=$arch --hostname=$hostname.$domain
+                             --mirror=$mirror --arch=$arch --hostname=$hostname.$domain    \
+                             --grub $format
+
+# Fix permissions
+hydra_sudo_run chown -R `whoami`. `dirname $image`
+
+# Cleanup
+hydra_sudo_run rm debootstrap.log
+hydra_sudo_run rm ${image}.raw