-
Notifications
You must be signed in to change notification settings - Fork 2
/
packer.json
124 lines (123 loc) · 4.21 KB
/
packer.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
{
"builders": [
{
"boot_command": [
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"<tab><tab><tab><tab><tab><tab><tab><tab><tab><tab><wait>",
"c<wait5>",
"set gfxpayload=keep<enter><wait5>",
"linux /casper/vmlinuz <wait5>",
"autoinstall quiet fsck.mode=skip noprompt <wait5>",
"net.ifnames=0 biosdevname=0 systemd.unified_cgroup_hierarchy=1 <wait5>",
"ds=\"nocloud-net;s=http://{{.HTTPIP}}:{{.HTTPPort}}/\" <wait5>",
"---<enter><wait5>",
"initrd /casper/initrd<enter><wait5>",
"boot<enter>"
],
"boot_wait": "1s",
"cpus": 2,
"disk_size": 131072,
"gfx_accelerate_3d": false,
"gfx_controller": "vboxsvga",
"guest_additions_mode": "upload",
"guest_os_type": "Ubuntu_64",
"headless": true,
"http_directory": "./",
"iso_checksum": "e240e4b801f7bb68c20d1356b60968ad0c33a41d00d828e74ceb3364a0317be9",
"iso_url": "http://releases.ubuntu.com/24.04.1/ubuntu-24.04.1-live-server-amd64.iso",
"memory": 16384,
"shutdown_command": "sudo shutdown -h now",
"ssh_password": "vagrant",
"ssh_port": 22,
"ssh_read_write_timeout": "600s",
"ssh_timeout": "120m",
"ssh_username": "vagrant",
"type": "virtualbox-iso",
"vboxmanage": [
[
"modifyvm",
"{{.Name}}",
"--cpu-profile",
"host"
],
[
"modifyvm",
"{{.Name}}",
"--nested-hw-virt",
"on"
],
[
"modifyvm",
"{{.Name}}",
"--nat-localhostreachable1",
"on"
]
],
"vrdp_bind_address": "0.0.0.0",
"vrdp_port_max": 6000,
"vrdp_port_min": 5900
}
],
"post-processors": [
{
"inline": [
"set -eu",
"export _IMAGE=\"$(ls -1d output-virtualbox-iso/packer-virtualbox-iso-*.vmdk)\"",
"sudo qemu-img convert -f vmdk -O qcow2 \"$_IMAGE\" \"$_IMAGE.convert\"",
"sudo rm -rf \"$_IMAGE\"",
"sudo chmod a+r /boot/vmlinuz*",
"sudo virt-customize --no-network -a \"$_IMAGE.convert\" --delete \"/var/lib/*/random-seed\" --delete \"/var/lib/wicked/*\" --firstboot-command \"/usr/local/bin/virt-sysprep-firstboot.sh\"",
"sudo virt-sysprep --operations defaults,-ssh-userdir,-customize -a \"$_IMAGE.convert\"",
"sudo virt-sparsify --in-place \"$_IMAGE.convert\"",
"sudo qemu-img convert -f qcow2 -O vmdk \"$_IMAGE.convert\" \"$_IMAGE\"",
"sudo rm -rf \"$_IMAGE.convert\""
],
"type": "shell-local"
},
{
"compression_level": 9,
"keep_input_artifact": true,
"output": "output-vagrant/package.box",
"provider_override": "virtualbox",
"type": "vagrant"
}
],
"provisioners": [
{
"inline": [
"set -eu",
"sudo apt update",
"sudo DEBIAN_FRONTEND=noninteractive apt-get dist-upgrade -y",
"sudo DEBIAN_FRONTEND=noninteractive apt-get install -y ca-certificates curl gcc hostname iproute2 language-pack-en locales python3 sudo",
"sudo DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential dkms",
"sudo mount -o loop VBoxGuestAdditions.iso /mnt",
"(echo 'y' | sudo sh /mnt/VBoxLinuxAdditions.run) || echo $?",
"sudo umount /mnt"
],
"type": "shell"
},
{
"galaxy_file": "./ansible-galaxy-requirements.yml",
"groups": [
"ansible",
"ceph_mon",
"ceph_mgr",
"ceph_osd",
"ceph_mds",
"ceph_rgw"
],
"inventory_directory": "./",
"playbook_file": "./packer.yml",
"type": "ansible",
"user": "vagrant"
}
]
}