blob: ef20aaae710fcb28a0af4548549e4777a1b99197 [file] [log] [blame]
azvyagintsev393dc8e2018-11-19 11:31:26 +02001{
2 "variables": {
3 "user": "root",
4 "password": "ho5uo7Uome5d",
5 "disk_size": "8000",
6 "images_cache": "{{ env `PACKER_IMAGES_CACHE` }}",
7 "ubuntu_baseurl": "{{ env `UBUNTU_BASEURL` }}",
8 "saltstack_gpg": "{{ env `SALTSTACK_GPG` }}",
9 "saltstack_repo": "{{ env `SALTSTACK_REPO` }}",
10 "do_api_token": "{{ env `DO_API_TOKEN` }}",
11 "image_name": "{{ env `IMAGE_NAME` }}",
12 "os_username": "{{ env `OS_USERNAME` }}",
13 "os_password": "{{ env `OS_PASSWORD` }}",
14 "os_image": "7451fac0-0ce5-4d30-ae36-cd9a90e7948e",
15 "os_endpoint": "https://cloud-cz.bud.mirantis.net:5000/v2.0",
16 "os_zone": "mcp-mk",
17 "os_floating_ip_pool": "public",
18 "os_tenant": "26e4dd19485249608ee3685f254f3909",
19 "os_network": "772f8ca6-1f4a-4535-99d0-880d6ead9a82"
20 },
21 "provisioners": [
22 {
23 "type": "shell",
24 "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
25 "expect_disconnect": "true",
26 "environment_vars": [
27 "UBUNTU_BASEURL={{ user `ubuntu_baseurl` }}",
28 "SALTSTACK_GPG={{ user `saltstack_gpg` }}",
29 "SALTSTACK_REPO={{ user `saltstack_repo` }}"
30 ],
31 "override": {
32 "virtualbox-iso": {
33 "scripts": [
34 "scripts/base.sh",
35 "scripts/motd.sh",
36 "scripts/salt.sh",
37 "scripts/network.sh",
38 "scripts/vagrant.sh",
39 "scripts/virtualbox.sh",
40 "scripts/security.sh",
41 "scripts/cleanup.sh",
42 "scripts/zerodisk.sh"
43 ]
44 },
45 "vmware-iso": {
46 "scripts": [
47 "scripts/base.sh",
48 "scripts/motd.sh",
49 "scripts/salt.sh",
50 "scripts/vmware.sh",
51 "scripts/security.sh",
52 "scripts/cleanup.sh",
53 "scripts/zerodisk.sh"
54 ]
55 },
56 "qemu": {
57 "scripts": [
58 "scripts/base.sh",
59 "scripts/motd.sh",
60 "scripts/salt.sh",
61 "scripts/network.sh",
62 "scripts/security.sh",
63 "scripts/cleanup.sh",
64 "scripts/info.sh",
65 "scripts/zerodisk.sh"
66 ]
67 },
68 "openstack": {
69 "scripts": [
70 "scripts/base.sh",
71 "scripts/motd.sh",
72 "scripts/salt.sh",
73 "scripts/network.sh",
74 "scripts/security.sh",
75 "scripts/cleanup.sh",
76 "scripts/info.sh",
77 "scripts/zerodisk.sh"
78 ]
79 },
80 "docker": {
81 "scripts": [
82 "scripts/docker.sh",
83 "scripts/base.sh",
84 "scripts/motd.sh",
85 "scripts/salt.sh",
86 "scripts/cleanup.sh"
87 ]
88 },
89 "digitalocean": {
90 "scripts": [
91 "scripts/base.sh",
92 "scripts/motd.sh",
93 "scripts/salt.sh",
94 "scripts/security.sh",
95 "scripts/cleanup.sh"
96 ]
97 }
98 }
99 },
100 {
101 "type": "file",
102 "source": "files/etc/",
103 "destination": "/etc"
104 }
105 ],
106 "post-processors": [
107 {
108 "type": "vagrant",
109 "keep_input_artifact": true,
110 "output": "images/{{ user `image_name` }}-{{.Provider}}-{{ isotime \"200601021504\" }}.box",
111 "except": [
112 "digitalocean",
113 "docker"
114 ]
115 },
116 {
117 "type": "docker-tag",
118 "repository": "tcpcloud/ubuntu",
119 "tag": "16.04",
120 "only": [
121 "docker"
122 ]
123 },
124 {
125 "type": "docker-save",
126 "path": "images/{{ user `image_name` }}-docker-{{ isotime \"200601021504\" }}.tar",
127 "only": [
128 "docker"
129 ]
130 }
131 ],
132 "builders": [
133 {
134 "type": "virtualbox-iso",
135 "boot_command": [
136 "<esc><wait>",
137 "<esc><wait>",
138 "<enter><wait>",
139 "/install/vmlinuz<wait>",
140 " auto<wait>",
141 " console-setup/ask_detect=false<wait>",
142 " console-setup/layoutcode=us<wait>",
143 " console-setup/modelcode=pc105<wait>",
144 " debconf/frontend=noninteractive<wait>",
145 " debian-installer=en_US<wait>",
146 " fb=false<wait>",
147 " initrd=/install/initrd.gz<wait>",
148 " kbd-chooser/method=us<wait>",
149 " keyboard-configuration/layout=USA<wait>",
150 " keyboard-configuration/variant=USA<wait>",
151 " passwd/root-password={{ user `password` }} ",
152 " passwd/root-password-again={{ user `password` }} ",
153 " locale=en_US<wait>",
154 " netcfg/get_hostname=ubuntu-1604<wait>",
155 " netcfg/get_domain=cloudlab.cz<wait>",
156 " noapic<wait>",
157 " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg<wait>",
158 " -- <wait>",
159 "<enter><wait>"
160 ],
161 "boot_wait": "5s",
162 "disk_size": "{{ user `disk_size`}}",
163 "output_directory": "images/{{ user `image_name`}}",
164 "guest_os_type": "Ubuntu_64",
165 "http_directory": "http",
166 "iso_checksum": "10fcd20619dce11fe094e960c85ba4a9",
167 "iso_checksum_type": "md5",
168 "iso_url": "http://releases.ubuntu.com/16.04/ubuntu-16.04.3-server-amd64.iso",
169 "ssh_username": "{{ user `user` }}",
170 "ssh_password": "{{ user `password` }}",
171 "ssh_port": 22,
172 "ssh_wait_timeout": "10000s",
173 "shutdown_command": "shutdown -P now",
174 "headless": true,
175 "vboxmanage": [
176 [
177 "modifyvm",
178 "{{.Name}}",
179 "--memory",
180 "1024"
181 ],
182 [
183 "modifyvm",
184 "{{.Name}}",
185 "--cpus",
186 "2"
187 ],
188 [
189 "modifyvm",
190 "{{.Name}}",
191 "--vrde",
192 "on"
193 ],
194 [
195 "modifyvm",
196 "{{.Name}}",
197 "--vrdeport",
198 "5000-5050"
199 ],
200 [
201 "modifyvm",
202 "{{.Name}}",
203 "--vrdeaddress",
204 "127.0.0.1"
205 ]
206 ]
207 },
208 {
209 "type": "vmware-iso",
210 "boot_command": [
211 "<esc><wait>",
212 "<esc><wait>",
213 "<enter><wait>",
214 "/install/vmlinuz<wait>",
215 " auto<wait>",
216 " console-setup/ask_detect=false<wait>",
217 " console-setup/layoutcode=us<wait>",
218 " console-setup/modelcode=pc105<wait>",
219 " debconf/frontend=noninteractive<wait>",
220 " debian-installer=en_US<wait>",
221 " fb=false<wait>",
222 " initrd=/install/initrd.gz<wait>",
223 " kbd-chooser/method=us<wait>",
224 " keyboard-configuration/layout=USA<wait>",
225 " keyboard-configuration/variant=USA<wait>",
226 " passwd/root-password={{user `password`}} ",
227 " passwd/root-password-again={{user `password`}} ",
228 " locale=en_US<wait>",
229 " netcfg/get_hostname=ubuntu-1604<wait>",
230 " netcfg/get_domain=changeme<wait>",
231 " noapic<wait>",
232 " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/preseed.cfg<wait>",
233 " -- <wait>",
234 "<enter><wait>"
235 ],
236 "boot_wait": "5s",
237 "disk_size": "{{ user `disk_size`}}",
238 "disk_type_id": 4,
239 "vmdk_name": "{{ user `image_name`}}",
240 "output_directory": "images/{{ user `image_name`}}",
241 "guest_os_type": "linux",
242 "http_directory": "http",
243 "iso_checksum": "10fcd20619dce11fe094e960c85ba4a9",
244 "iso_checksum_type": "md5",
245 "iso_url": "http://releases.ubuntu.com/16.04/ubuntu-16.04.3-server-amd64.iso",
246 "ssh_username": "{{user `user`}}",
247 "ssh_password": "{{user `password`}}",
248 "ssh_port": 22,
249 "ssh_wait_timeout": "10000s",
250 "shutdown_command": "shutdown -P now",
251 "vmx_data": {
252 "memsize": "1024",
253 "numvcpus": "1",
254 "cpuid.coresPerSocket": "1"
255 }
256 },
257 {
258 "type": "docker",
259 "image": "ubuntu:16.04",
260 "commit": true
261 },
262 {
263 "type": "digitalocean",
264 "api_token": "{{user `do_api_token`}}",
265 "image": "{{user `image_name`}}",
266 "snapshot_name": "{{ user `image_name` }}-{{ isotime \"200601021504\" }}",
267 "region": "ams2",
268 "size": "1gb"
269 },
270 {
271 "type": "qemu",
272 "qemuargs": [
273 [ "-m", "1024M" ],
274 [ "-cdrom", "config-drive/cloudata.iso" ],
275 ["-device", "virtio-net,netdev=user.0"],
276 ["-object","rng-random,id=objrng0,filename=/dev/urandom"],
277 ["-device", "virtio-rng-pci,rng=objrng0,id=rng0,bus=pci.0,addr=0x10" ]
278 ],
279 "vm_name": "{{ user `image_name` }}-{{ isotime \"200601021504\" }}",
280 "output_directory": "images/{{ user `image_name` }}-qemu-{{ isotime \"200601021504\" }}",
281 "format": "qcow2",
282 "iso_checksum": "566efef1d6f12e7d3a994c2405bdb642",
283 "iso_checksum_type": "md5",
284 "iso_url": "http://cloud-images.ubuntu.com/releases/xenial/release-20180306/ubuntu-16.04-server-cloudimg-amd64-disk1.img",
285 "iso_target_path": "{{ user `images_cache`}}/release-20180306_xenial-server-cloudimg-amd64-disk1.img",
286 "disk_image": true,
287 "disk_compression": true,
288 "accelerator": "kvm",
289 "disk_size": "{{ user `disk_size`}}",
290 "headless": true,
291 "ssh_username": "{{ user `user` }}",
292 "ssh_password": "{{ user `password` }}",
293 "ssh_host_port_min": 7000,
294 "ssh_host_port_max": 7050,
295 "shutdown_command": "shutdown -P now",
296 "boot_wait": "2s",
297 "ssh_wait_timeout": "360s"
298 },
299 {
300 "type": "openstack",
301 "ssh_username": "{{user `user`}}",
302 "ssh_password": "{{user `password`}}",
303 "image_name": "{{user `image_name`}}",
304 "floating_ip_pool": "{{user `os_floating_ip_pool`}}",
305 "reuse_ips": "true",
306 "source_image": "{{ user `os_image` }}",
307 "flavor": "{{ user `os_flavor` }}",
308 "user_data_file": "config-drive/user-data.yaml",
309 "tenant_id": "{{ user `os_tenant` }}",
310 "networks": ["{{ user `os_network` }}"],
311 "availability_zone": "{{user `os_zone`}}",
312 "identity_endpoint": "{{user `os_endpoint`}}",
313 "username": "{{user `os_username`}}",
314 "password": "{{user `os_password`}}"
315 }
316 ]
317}