CSIT-111: Add Packer based framework to auto-generate disk images
[csit.git] / resources / tools / disk-image-builder / ubuntu / ubuntu-14.04.4.json
diff --git a/resources/tools/disk-image-builder/ubuntu/ubuntu-14.04.4.json b/resources/tools/disk-image-builder/ubuntu/ubuntu-14.04.4.json
new file mode 100644 (file)
index 0000000..28f26f3
--- /dev/null
@@ -0,0 +1,120 @@
+{
+  "_c": "Ubuntu 14.04.4 ISO URL at the time of creation of this file (05/2016)",
+  "_c": "was http://releases.ubuntu.com/14.04/ubuntu-14.04.4-server-amd64.iso .",
+  "_c": "",
+  "_c": "If and when 14.04.4 becomes superseded, this URL will likely change",
+  "_c": "to:",
+  "_c": "http://old-releases.ubuntu.com/releases/14.04.4/ubuntu-14.04.4-server-amd64.iso",
+  "variables": {
+    "release": null,
+    "output_dir": null,
+    "temp_dir": null,
+    "atlas_token": "{{env `ATLAS_TOKEN`}}",
+    "virl_user": "{{env `VIRL_USER`}}",
+    "virl_password": "{{env `VIRL_PASSWORD`}}"
+  },
+  "builders": [
+    {
+      "name": "{{user `release`}}-virtualbox",
+      "type": "virtualbox-iso",
+      "guest_os_type": "Ubuntu_64",
+      "iso_url": "http://releases.ubuntu.com/14.04/ubuntu-14.04.4-server-amd64.iso",
+      "iso_checksum": "2ac1f3e0de626e54d05065d6f549fa3a",
+      "iso_checksum_type": "md5",
+      "output_directory": "{{user `output_dir`}}",
+      "ssh_username": "root",
+      "ssh_password": "csit",
+      "disk_size": "4096",
+      "http_directory": "html",
+      "iso_target_path" : "build/ubuntu-14.04.4-server-amd64.iso",
+      "boot_command":
+        [
+          "<esc><esc><enter><wait>",
+          "/install/vmlinuz noapic ",
+          "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
+          "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
+          "hostname=csit ",
+          "fb=false debconf/frontend=noninteractive ",
+          "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
+          "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
+          "initrd=/install/initrd.gz -- <enter>"
+        ]
+    },
+    {
+      "name": "{{user `release`}}-qemu",
+      "type": "qemu",
+      "iso_url": "http://releases.ubuntu.com/14.04/ubuntu-14.04.4-server-amd64.iso",
+      "iso_checksum": "2ac1f3e0de626e54d05065d6f549fa3a",
+      "iso_checksum_type": "md5",
+      "output_directory": "{{user `output_dir`}}",
+      "ssh_username": "root",
+      "ssh_password": "csit",
+      "disk_size": "4096",
+      "http_directory": "html",
+      "iso_target_path" : "build/ubuntu-14.04.4-server-amd64.iso",
+      "headless": "true",
+      "boot_command":
+        [
+          "<esc><esc><enter><wait>",
+          "/install/vmlinuz noapic ",
+          "preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg ",
+          "debian-installer=en_US auto locale=en_US kbd-chooser/method=us ",
+          "hostname=csit ",
+          "fb=false debconf/frontend=noninteractive ",
+          "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
+          "keyboard-configuration/variant=USA console-setup/ask_detect=false ",
+          "initrd=/install/initrd.gz -- <enter>"
+        ]
+    }
+  ],
+  "provisioners": [
+    {
+      "type": "file",
+      "source": "{{ user `temp_dir`}}",
+      "destination": "/root"
+    },
+    {
+      "type": "shell",
+      "script": "scripts-remote/post-install.sh"
+    },
+    {
+      "type": "shell",
+      "only": ["{{user `release`}}-qemu"],
+      "script": "scripts-remote/serial-console.sh"
+    },
+    {
+      "type": "shell",
+      "only": ["{{user `release`}}-virtualbox"],
+      "script": "scripts-remote/vagrant-user.sh"
+    },
+    {
+      "type": "shell",
+      "only": ["{{user `release`}}-virtualbox"],
+      "script": "scripts-remote/vagrant-guestadditions.sh"
+    },
+    {
+      "type": "shell",
+      "script": "scripts-remote/cleanup.sh"
+    }
+  ],
+  "post-processors": [
+    {
+      "type": "vagrant",
+      "only": ["{{user `release`}}-virtualbox"],
+      "keep_input_artifact": true
+    },
+    {
+      "type": "shell-local",
+      "only": ["{{user `release`}}-qemu"],
+      "script": "scripts-local/upload-image-to-virl.sh",
+      "keep_input_artifact": true,
+      "environment_vars":
+        [
+          "VIRL_USER={{user `virl_user`}}",
+          "VIRL_PASSWORD={{user `virl_password`}}",
+          "VIRL_IMAGE_SUBTYPE=server",
+          "VIRL_IMAGE_NAME={{user `release`}}"
+        ]
+     }
+  ]
+}