Set builder name and type to "openstack"
[releng/builder.git] / packer / templates / devstack.json
1 {
2   "variables": {
3     "ansible_roles_path": ".galaxy",
4     "arch": "x86_64",
5     "base_image": null,
6     "cloud_network": null,
7     "cloud_user_data": null,
8     "cloud_region": "ca-ymq-1",
9     "vm_use_block_storage": "true",
10     "vm_volume_size": "20",
11     "vm_image_disk_format": "",
12     "distro": null,
13     "flavor": "v2-highcpu-1",
14     "ssh_user": null,
15     "ssh_proxy_host": ""
16   },
17   "builders": [
18     {
19       "name": "openstack",
20       "image_name": "ZZCI - {{user `distro`}} - devstack - {{user `arch`}} - {{isotime \"20060102-150405.000\"}}",
21       "instance_name": "{{user `distro`}}-devstack-{{uuid}}",
22       "source_image_name": "{{user `base_image`}}",
23       "type": "openstack",
24       "region": "{{user `cloud_region`}}",
25       "networks": ["{{user `cloud_network`}}"],
26       "user_data_file": "{{user `cloud_user_data`}}",
27       "ssh_username": "{{user `ssh_user`}}",
28       "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
29       "flavor": "{{user `flavor`}}",
30       "metadata": {
31         "ci_managed": "yes"
32       },
33       "use_blockstorage_volume": "{{user `vm_use_block_storage`}}",
34       "volume_size": "{{user `vm_volume_size`}}",
35       "image_disk_format": "{{user `vm_image_disk_format`}}"
36     }
37   ],
38   "provisioners": [
39     {
40       "type": "shell",
41       "scripts": ["common-packer/provision/install-python.sh"],
42       "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi"
43     },
44     {
45       "type": "shell-local",
46       "command": "./common-packer/ansible-galaxy.sh {{user `ansible_roles_path`}}"
47     },
48     {
49       "type": "ansible",
50       "playbook_file": "provision/devstack.yaml",
51       "ansible_env_vars": [
52         "ANSIBLE_NOCOWS=1",
53         "ANSIBLE_PIPELINING=True",
54         "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}",
55         "ANSIBLE_CALLBACK_WHITELIST=profile_tasks",
56         "ANSIBLE_STDOUT_CALLBACK=debug"
57       ]
58     }
59   ]
60 }