Helm charts for supporting clustering in ODL
[integration/packaging.git] / packer / templates / virtualbox.json
1 {
2     "variables": {
3         "odl_version": null,
4         "os_name": null,
5         "os_version": null,
6         "guest_os_type": null,
7         "rpm_repo_url": null,
8         "iso_urls": null,
9         "iso_checksum": null
10     },
11     "builders": [
12         {
13             "type": "virtualbox-iso",
14             "guest_os_type": "{{ user `guest_os_type` }}",
15             "iso_urls": "{{ user `iso_urls` }}",
16             "iso_checksum": "{{ user `iso_checksum` }}",
17             "iso_checksum_type": "sha256",
18             "headless": "true",
19             "ssh_username": "vagrant",
20             "ssh_password": "vagrant",
21             "ssh_wait_timeout": "30m",
22             "shutdown_command": "sudo shutdown -P now",
23             "http_directory": ".",
24             "boot_command": [
25                 "<tab>text ks=http://{{ .HTTPIP }}:{{ .HTTPPort }}/provision/{{ user `os_name` }}_kickstart.cfg<enter>"
26             ],
27             "vboxmanage": [
28                 [
29                     "modifyvm",
30                     "{{ .Name }}",
31                     "--memory",
32                     "1024"
33                 ],
34                 [
35                     "modifyvm",
36                     "{{ .Name }}",
37                     "--cpus",
38                     "2"
39                 ]
40             ]
41         }
42     ],
43     "provisioners": [
44         {
45             "type": "shell",
46             "scripts": [
47                 "provision/config_virtualbox_{{ user `os_name`}}.sh",
48                 "provision/config_vagrant.sh",
49                 "provision/config_ansible_{{ user `os_name`}}.sh",
50                 "provision/update_{{ user `os_name`}}.sh",
51                 "provision/cleanup_{{ user `os_name`}}.sh",
52                 "provision/minimize.sh"
53             ]
54         },
55         {
56             "type": "ansible-local",
57             "playbook_file": "provision/install_odl.yml",
58             "extra_arguments": [
59                 "--extra-vars",
60                 "\"rpm_repo_url={{ user `rpm_repo_url` }}\""
61             ]
62         }
63     ],
64     "post-processors": [
65         {
66             "type": "vagrant",
67             "compression_level": "9",
68             "output": "opendaylight-{{ user `odl_version` }}-{{ user `os_name` }}-{{ user `os_version` }}-virtualbox.box"
69         }
70     ]
71 }