Add upgrade tests job
[releng/builder.git] / packer / templates / robot.json
1 {
2   "variables": {
3     "ansible_roles_path": ".galaxy",
4     "base_image": null,
5     "distro": null,
6     "cloud_auth_url": null,
7     "cloud_user": null,
8     "cloud_pass": null,
9     "cloud_network": null,
10     "cloud_tenant": null,
11     "cloud_user_data": null,
12     "ssh_user": null,
13     "ssh_proxy_host": ""
14   },
15   "builders": [
16     {
17       "name": "vexxhost",
18       "image_name": "ZZCI - {{user `distro`}} - robot - {{isotime \"20060102-150405.000\"}}",
19       "instance_name": "{{user `distro`}}-robot-{{uuid}}",
20       "source_image_name": "{{user `base_image`}}",
21       "type": "openstack",
22       "identity_endpoint": "{{user `cloud_auth_url`}}",
23       "username": "{{user `cloud_user`}}",
24       "password": "{{user `cloud_pass`}}",
25       "tenant_name": "{{user `cloud_tenant`}}",
26       "domain_name": "Default",
27       "region": "ca-ymq-1",
28       "availability_zone": "ca-ymq-2",
29       "networks": [
30         "{{user `cloud_network`}}"
31       ],
32       "user_data_file": "{{user `cloud_user_data`}}",
33       "ssh_username": "{{user `ssh_user`}}",
34       "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
35       "flavor": "v1-standard-1",
36       "metadata": {
37         "ci_managed": "yes"
38       }
39     }
40   ],
41   "provisioners": [
42     {
43       "type": "shell",
44       "scripts": [
45         "common-packer/provision/install-python.sh"
46       ],
47       "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi"
48     },
49     {
50       "type": "shell-local",
51       "command": "./common-packer/ansible-galaxy.sh {{user `ansible_roles_path`}}"
52     },
53     {
54       "type": "ansible",
55       "playbook_file": "provision/robot.yaml",
56       "ansible_env_vars": [
57         "ANSIBLE_NOCOWS=1",
58         "ANSIBLE_PIPELINING=True",
59         "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}",
60         "ANSIBLE_CALLBACK_WHITELIST=profile_tasks",
61         "ANSIBLE_STDOUT_CALLBACK=debug"
62       ]
63     }
64   ]
65 }