Update of Packer builder for Vagrant and various clouds
[osm/devops.git] / packer / packer_templates / osm / osm-7.0.1-amd64-volume.json
1 {
2   "builders": [
3     {
4       "boot_command": [
5         "<esc><wait>",
6         "<esc><wait>",
7         "<enter><wait>",
8         "/install/vmlinuz<wait>",
9         " auto<wait>",
10         " console-setup/ask_detect=false<wait>",
11         " console-setup/layoutcode=us<wait>",
12         " console-setup/modelcode=pc105<wait>",
13         " debconf/frontend=noninteractive<wait>",
14         " debian-installer=en_US.UTF-8<wait>",
15         " fb=false<wait>",
16         " initrd=/install/initrd.gz<wait>",
17         " kbd-chooser/method=us<wait>",
18         " keyboard-configuration/layout=USA<wait>",
19         " keyboard-configuration/variant=USA<wait>",
20         " locale=en_US.UTF-8<wait>",
21         " netcfg/get_domain=vm<wait>",
22         " netcfg/get_hostname=vagrant<wait>",
23         " grub-installer/bootdev=/dev/sda<wait>",
24         " noapic<wait>",
25         " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `preseed_path`}}<wait>",
26         " -- <wait>",
27         "<enter><wait>"
28       ],
29       "boot_wait": "10s",
30       "disk_size": "{{user `disk_size`}}",
31       "guest_additions_url": "{{ user `guest_additions_url` }}",
32       "guest_additions_path": "VBoxGuestAdditions_{{.Version}}.iso",
33       "guest_os_type": "Ubuntu_64",
34       "hard_drive_interface": "sata",
35       "headless": "{{ user `headless` }}",
36       "http_directory": "{{user `http_directory`}}",
37       "iso_checksum": "{{user `iso_checksum`}}",
38       "iso_checksum_type": "{{user `iso_checksum_type`}}",
39       "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
40       "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-virtualbox",
41       "shutdown_command": "echo 'vagrant' | sudo -S shutdown -P now",
42       "ssh_password": "vagrant",
43       "ssh_port": 22,
44       "ssh_username": "vagrant",
45       "ssh_timeout": "10000s",
46       "type": "virtualbox-iso",
47       "memory": "{{ user `memory` }}",
48       "cpus": "{{ user `cpus` }}",
49       "virtualbox_version_file": ".vbox_version",
50       "vm_name": "{{ user `template` }}"
51     },
52     {
53       "boot_command": [
54         "<esc><wait>",
55         "<esc><wait>",
56         "<enter><wait>",
57         "/install/vmlinuz<wait>",
58         " auto<wait>",
59         " console-setup/ask_detect=false<wait>",
60         " console-setup/layoutcode=us<wait>",
61         " console-setup/modelcode=pc105<wait>",
62         " debconf/frontend=noninteractive<wait>",
63         " debian-installer=en_US.UTF-8<wait>",
64         " fb=false<wait>",
65         " initrd=/install/initrd.gz<wait>",
66         " kbd-chooser/method=us<wait>",
67         " keyboard-configuration/layout=USA<wait>",
68         " keyboard-configuration/variant=USA<wait>",
69         " locale=en_US.UTF-8<wait>",
70         " netcfg/get_domain=vm<wait>",
71         " netcfg/get_hostname=vagrant<wait>",
72         " grub-installer/bootdev=/dev/sda<wait>",
73         " noapic<wait>",
74         " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `preseed_path`}}<wait>",
75         " -- <wait>",
76         "<enter><wait>"
77       ],
78       "boot_wait": "10s",
79       "disk_size": "{{user `disk_size`}}",
80       "guest_os_type": "ubuntu-64",
81       "headless": "{{ user `headless` }}",
82       "http_directory": "{{user `http_directory`}}",
83       "iso_checksum": "{{user `iso_checksum`}}",
84       "iso_checksum_type": "{{user `iso_checksum_type`}}",
85       "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
86       "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-vmware",
87       "shutdown_command": "echo 'vagrant' | sudo -S shutdown -P now",
88       "ssh_password": "vagrant",
89       "ssh_port": 22,
90       "ssh_username": "vagrant",
91       "ssh_timeout": "10000s",
92       "tools_upload_flavor": "linux",
93       "type": "vmware-iso",
94       "vm_name": "{{ user `template` }}",
95       "memory": "{{ user `memory` }}",
96       "cpus": "{{ user `cpus` }}",
97       "vmx_data": {
98         "cpuid.coresPerSocket": "1",
99         "ethernet0.pciSlotNumber": "32"
100       },
101       "vmx_remove_ethernet_interfaces": true
102     },
103     {
104       "boot_command": [
105         "<esc><wait>",
106         "<esc><wait>",
107         "<enter><wait>",
108         "/install/vmlinuz<wait>",
109         " auto<wait>",
110         " console-setup/ask_detect=false<wait>",
111         " console-setup/layoutcode=us<wait>",
112         " console-setup/modelcode=pc105<wait>",
113         " debconf/frontend=noninteractive<wait>",
114         " debian-installer=en_US.UTF-8<wait>",
115         " fb=false<wait>",
116         " initrd=/install/initrd.gz<wait>",
117         " kbd-chooser/method=us<wait>",
118         " keyboard-configuration/layout=USA<wait>",
119         " keyboard-configuration/variant=USA<wait>",
120         " locale=en_US.UTF-8<wait>",
121         " netcfg/get_domain=vm<wait>",
122         " netcfg/get_hostname=vagrant<wait>",
123         " grub-installer/bootdev=/dev/sda<wait>",
124         " noapic<wait>",
125         " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `preseed_path`}}<wait>",
126         " -- <wait>",
127         "<enter><wait>"
128       ],
129       "boot_wait": "10s",
130       "disk_size": "{{user `disk_size`}}",
131       "guest_os_type": "ubuntu",
132       "http_directory": "{{user `http_directory`}}",
133       "iso_checksum": "{{user `iso_checksum`}}",
134       "iso_checksum_type": "{{user `iso_checksum_type`}}",
135       "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
136       "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-parallels",
137       "parallels_tools_flavor": "lin",
138       "memory": "{{ user `memory` }}",
139       "cpus": "{{ user `cpus` }}",
140       "prlctl_version_file": ".prlctl_version",
141       "shutdown_command": "echo 'vagrant' | sudo -S shutdown -P now",
142       "ssh_password": "vagrant",
143       "ssh_port": 22,
144       "ssh_username": "vagrant",
145       "ssh_timeout": "10000s",
146       "type": "parallels-iso",
147       "vm_name": "{{ user `template` }}"
148     },
149     {
150       "boot_command": [
151         "<esc><wait>",
152         "<esc><wait>",
153         "<enter><wait>",
154         "/install/vmlinuz<wait>",
155         " auto<wait>",
156         " console-setup/ask_detect=false<wait>",
157         " console-setup/layoutcode=us<wait>",
158         " console-setup/modelcode=pc105<wait>",
159         " debconf/frontend=noninteractive<wait>",
160         " debian-installer=en_US.UTF-8<wait>",
161         " fb=false<wait>",
162         " initrd=/install/initrd.gz<wait>",
163         " kbd-chooser/method=us<wait>",
164         " keyboard-configuration/layout=USA<wait>",
165         " keyboard-configuration/variant=USA<wait>",
166         " locale=en_US.UTF-8<wait>",
167         " netcfg/get_domain=vm<wait>",
168         " netcfg/get_hostname=vagrant<wait>",
169         " grub-installer/bootdev=/dev/vda<wait>",
170         " noapic<wait>",
171         " preseed/url=http://{{ .HTTPIP }}:{{ .HTTPPort }}/{{user `preseed_path`}}<wait>",
172         " -- <wait>",
173         "<enter><wait>"
174       ],
175       "boot_wait": "10s",
176       "disk_size": "{{user `disk_size`}}",
177       "headless": "{{ user `headless` }}",
178       "http_directory": "{{user `http_directory`}}",
179       "iso_checksum": "{{user `iso_checksum`}}",
180       "iso_checksum_type": "{{user `iso_checksum_type`}}",
181       "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
182       "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-qemu",
183       "memory": "{{ user `memory` }}",
184       "cpus": "{{ user `cpus` }}",
185       "shutdown_command": "echo 'vagrant' | sudo -S shutdown -P now",
186       "ssh_password": "vagrant",
187       "ssh_port": 22,
188       "ssh_username": "vagrant",
189       "ssh_timeout": "10000s",
190       "type": "qemu",
191       "vm_name": "{{ user `template` }}"
192     },
193     {
194       "type": "openstack",
195       "source_image_name": "{{ user `openstack_image` }}",
196       "ssh_username": "ubuntu",
197       "ssh_port": 22,
198       "ssh_timeout": "10000s",
199       "flavor": "{{ user `openstack_flavor` }}",
200       "image_name": "{{ user `template` }}",
201       "networks": [ "{{ user `openstack_internal_net` }}" ],
202       "floating_ip_network": "{{ user `openstack_floating_net` }}",
203       "image_disk_format": "qcow2",
204       "use_blockstorage_volume": true,
205       "volume_size": "80"
206     },
207     {
208       "boot_command": [
209         "<esc><wait10><esc><esc><enter><wait>",
210         "set gfxpayload=1024x768<enter>",
211         "linux /install/vmlinuz ",
212         "preseed/url=http://{{.HTTPIP}}:{{.HTTPPort}}/preseed-hyperv.cfg ",
213         "debian-installer=en_US.UTF-8 auto locale=en_US.UTF-8 kbd-chooser/method=us ",
214         "hostname={{.Name}} ",
215         "fb=false debconf/frontend=noninteractive ",
216         "keyboard-configuration/modelcode=SKIP keyboard-configuration/layout=USA ",
217         "keyboard-configuration/variant=USA console-setup/ask_detect=false <enter>",
218         "initrd /install/initrd.gz<enter>",
219         "boot<enter>"
220       ],
221       "boot_wait": "10s",
222       "communicator": "ssh",
223       "cpus": "{{ user `cpus` }}",
224       "disk_size": "{{user `disk_size`}}",
225       "enable_secure_boot": false,
226       "generation": "{{user `hyperv_generation`}}",
227       "http_directory": "{{user `http_directory`}}",
228       "iso_checksum": "{{user `iso_checksum`}}",
229       "iso_checksum_type": "{{user `iso_checksum_type`}}",
230       "iso_url": "{{user `mirror`}}/{{user `mirror_directory`}}/{{user `iso_name`}}",
231       "memory": "{{user `memory`}}",
232       "output_directory": "{{ user `build_directory` }}/packer-{{user `template`}}-hyperv",
233       "shutdown_command": "echo 'vagrant' | sudo -S shutdown -P now",
234       "ssh_password": "vagrant",
235       "ssh_port": 22,
236       "ssh_timeout": "10000s",
237       "ssh_username": "vagrant",
238       "switch_name": "{{user `hyperv_switch`}}",
239       "type": "hyperv-iso",
240       "vm_name": "{{ user `template` }}"
241     }
242   ],
243   "post-processors": [
244     {
245       "output": "{{ user `build_directory` }}/{{user `box_basename`}}.{{.Provider}}.box",
246       "type": "vagrant"
247     }
248   ],
249   "provisioners": [
250     {
251       "environment_vars": [
252         "HOME_DIR=/home/vagrant",
253         "http_proxy={{user `http_proxy`}}",
254         "https_proxy={{user `https_proxy`}}",
255         "no_proxy={{user `no_proxy`}}"
256       ],
257       "execute_command": "echo 'vagrant' | {{.Vars}} sudo -S -E sh -eux '{{.Path}}'",
258       "expect_disconnect": true,
259       "scripts": [
260         "{{template_dir}}/../_common/check_vagrant_user.sh",
261         "{{template_dir}}/scripts/update.sh",
262         "{{template_dir}}/../_common/motd.sh",
263         "{{template_dir}}/../_common/sshd.sh",
264         "{{template_dir}}/scripts/networking.sh",
265         "{{template_dir}}/scripts/sudoers.sh",
266         "{{template_dir}}/scripts/vagrant.sh",
267         "{{template_dir}}/../_common/virtualbox.sh",
268         "{{template_dir}}/scripts/vmware.sh",
269         "{{template_dir}}/../_common/parallels.sh",
270         "{{template_dir}}/scripts/hyperv.sh"
271       ],
272       "type": "shell"
273     },
274     {
275       "environment_vars": [
276         "HOME_DIR=/home/vagrant",
277         "http_proxy={{user `http_proxy`}}",
278         "https_proxy={{user `https_proxy`}}",
279         "no_proxy={{user `no_proxy`}}",
280         "STATE_FOLDER={{user `state_folder`}}"
281       ],
282       "execute_command": "echo 'vagrant' | {{.Vars}} sudo -S su - vagrant -c '{{.Vars}} {{.Path}}'",
283       "expect_disconnect": "true",
284       "scripts": [
285         "{{template_dir}}/scripts/install_osm.sh"
286       ],
287       "type": "shell"
288     },
289     {
290       "type": "file",
291       "source": "{{template_dir}}/scripts/update_osm_info_docker.sh",
292       "destination": "/tmp/update_osm_info_docker.sh"
293     },
294     {
295       "environment_vars": [
296         "HOME_DIR=/home/vagrant",
297         "http_proxy={{user `http_proxy`}}",
298         "https_proxy={{user `https_proxy`}}",
299         "no_proxy={{user `no_proxy`}}",
300         "STATE_FOLDER={{user `state_folder`}}"
301       ],
302       "execute_command": "echo 'vagrant' | {{.Vars}} sudo -S su - vagrant -c '{{.Vars}} {{.Path}}'",
303       "expect_disconnect": "true",
304       "inline": [
305         "sudo mv /tmp/update_osm_info_docker.sh ${STATE_FOLDER}/",
306         "sudo chmod a+rx ${STATE_FOLDER}/update_osm_info_docker.sh"
307       ],
308       "type": "shell"
309     },
310     {
311       "environment_vars": [
312         "HOME_DIR=/home/vagrant",
313         "http_proxy={{user `http_proxy`}}",
314         "https_proxy={{user `https_proxy`}}",
315         "no_proxy={{user `no_proxy`}}"
316       ],
317       "execute_command": "echo 'vagrant' | {{.Vars}} sudo -S -E sh -eux '{{.Path}}'",
318       "expect_disconnect": true,
319       "scripts": [
320         "{{template_dir}}/scripts/cleanup.sh",
321         "{{template_dir}}/../_common/minimize.sh"
322       ],
323       "type": "shell"
324     }
325   ],
326   "variables": {
327     "box_basename": "osm-7.0.1",
328     "build_directory": "../../builds",
329     "http_directory": "{{template_dir}}/http",
330     "build_timestamp": "{{isotime \"20060102150405\"}}",
331     "cpus": "1",
332     "disk_size": "65536",
333     "git_revision": "__unknown_git_revision__",
334     "headless": "",
335     "http_proxy": "{{env `http_proxy`}}",
336     "https_proxy": "{{env `https_proxy`}}",
337     "hyperv_generation": "2",
338     "openstack_internal_net": "{{env `NETWORK_ID`}}",
339     "openstack_floating_net": "{{env `VIM_EXT_NET`}}",
340     "openstack_flavor": "{{env `FLAVOR_NAME`}}",
341     "openstack_image": "{{env `SOURCE_IMAGE_NAME`}}",
342     "guest_additions_url": "",
343     "iso_checksum": "e2ecdace33c939527cbc9e8d23576381c493b071107207d2040af72595f8990b",
344     "iso_checksum_type": "sha256",
345     "iso_name": "ubuntu-18.04.4-server-amd64.iso",
346     "memory": "6144",
347     "mirror": "http://cdimage.ubuntu.com",
348     "mirror_directory": "ubuntu/releases/18.04.4/release",
349     "name": "osm-7.0.1",
350     "no_proxy": "{{env `no_proxy`}}",
351     "preseed_path": "preseed.cfg",
352     "template": "osm-7.0.1-amd64",
353     "state_folder": "/etc/osm",
354     "version": "TIMESTAMP"
355   }
356 }