packer-qemu/packer/assets/gentoo_save.json

129 lines
4.2 KiB
JSON

{
"builders":
[
{
"type": "qemu",
"accelerator": "kvm",
"headless": true,
"qemuargs": [
["-serial", "file:serial.out" ],
[ "-netdev", "user,hostfwd=tcp::{{ .SSHHostPort }}-:22,,hostfwd=tcp::5959-:{{ . }},id=forward"]
],
"memory": "1g",
"cpus": "2",
"disk_interface": "virtio",
"disk_size": "5000M",
"disk_image": "true",
"use_backing_file": "true",
"format": "qcow2",
"net_device": "virtio-net",
"iso_url": "http://ftp.uni-stuttgart.de/centos/6.5/isos/x86_64/CentOS-6.5-x86_64-minimal.iso",
"iso_checksum": "9bea61ff620257c3343eb3c588c555800488ace01602b7a0e4f89d09a3f976851a81b6501d79cb3696696675b4724c9da82913e4a036f7874a55bfe2b91ee994",
"iso_checksum_type": "sha512",
"vm_name": "gentoo_packer",
"output_directory": "output_gentoo_qcow2",
"http_directory": "/packer/httpdir",
"http_port_min": 10082,
"http_port_max": 10089,
"ssh_host_port_min": 2222,
"ssh_host_port_max": 2229,
"ssh_username": "root",
"ssh_password": "MySecretPassword",
"ssh_port": 22,
"ssh_wait_timeout": "900m",
"boot_wait": "5s",
"boot_command":
[
"<up><wait><tab><wait>",
"text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/provision_gentoo.sh<enter><wait>",
"chmod +x provision_gentoo.sh && ./provision_gentoo.sh<enter>"
],
"shutdown_command": "shutdown -P now"
},
{
"type": "hyperv-iso",
"boot_command": [
"<enter><wait5><enter><wait5><enter><wait5><enter><wait5><enter><wait5><enter><wait5>",
"<enter><wait5><enter><wait5><enter><wait5><enter><wait5><enter><wait5><enter><wait5>",
"<enter><wait5><enter><wait5><enter><wait5><enter><wait5><enter><wait5><enter><wait5>",
"<enter><wait5><enter><wait5><enter><wait5><enter><wait5><enter><wait5><enter><wait5>",
"<enter><wait5><enter><wait5><enter><wait5><enter><wait5><enter><wait5><enter><wait5>",
"wget http://{{ .HTTPIP }}:{{ .HTTPPort }}/provision_gentoo.sh<enter><wait>",
"echo http://{{ .HTTPIP }}:{{ .HTTPPort }} > /root/config_server_uri<enter>",
"chmod +x provision_gentoo.sh && ./provision_gentoo.sh<enter>",
"",
" append console=ttyS0,115200n8 ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/centos6-ks.cfg",
"",
"<up><wait><tab><wait>",
"text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/c7-kvm-ks.cfg<enter><wait>"
],
"boot_wait": "10s",
"disk_size": 32768,
"http_directory": ".",
"iso_url": "http://vagrant.widgit.com/gentoo.php",
"iso_checksum_type": "none",
"communicator": "ssh",
"ssh_username": "vagrant",
"ssh_password": "vagrant",
"ssh_port": 22,
"ssh_timeout": "4h",
"shutdown_command": "sudo systemctl poweroff",
"vm_name": "gentoo-minimal",
"generation": 1,
"ram_size": "4096",
"enable_dynamic_memory": false,
"cpu": 4
}
],
"provisioners":
[
{
"type": "shell",
"inline": [
"sleep 3",
"rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm",
"yum -y update",
"yum -y install cloud-init cloud-utils-growpart dracut-modules-growroot",
"echo \"NOZEROCONF=yes\" >> /etc/sysconfig/network",
"adduser build-user",
"echo 'build-user:MySecretPassword' |chpasswd",
"mkdir /home/build-user/.ssh",
"chown build-user:build-user /home/build-user/.ssh",
"chmod 700 /home/build-user/.ssh",
"echo \"build-user ALL=(ALL) ALL\" >> /etc/sudoers",
"yum clean cache",
"yum clean all"
]
},
{
"type": "file",
"source": "centos.json",
"destination": "/root/centos.json",
"source": "httpdir/centos6-ks.cfg",
"destination": "/root/centos6-ks.cfg"
},
{
"type": "file",
"source": "id_rsa_cloud-user.pub",
"destination": "/home/build-user/.ssh/authorized_keys"
},
{
"type": "shell",
"inline": [
"chmod 600 /home/build-user/.ssh/authorized_keys",
"chown build-user:build-user /home/build-user/.ssh/authorized_keys",
"sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config",
"echo package_upgrade: true >>/etc/cloud/cloud.cfg"
]
}
]
}