blob: f606787a3f3d699aaa422a2bdb53a5102f96d3e5 [file] [log] [blame]
Richard Felkld59c5652018-02-08 13:14:05 +01001{
2 "variables": {
3 "user": "root",
azvyagintsev6d453852018-02-26 16:56:37 +02004 "password": "r00tme",
Richard Felkld59c5652018-02-08 13:14:05 +01005 "do_api_token": "{{ env `DO_API_TOKEN` }}",
azvyagintsev6d453852018-02-26 16:56:37 +02006 "image_name": "{{ env `IMAGE_NAME` }}",
Richard Felkld59c5652018-02-08 13:14:05 +01007 "disk_size": "150000",
8 "cluster_model": "{{ env `CLUSTER_MODEL` }}",
9 "cluster_model_ref": "{{ env `CLUSTER_MODEL_REF` }}",
10 "cluster_name": "{{ env `CLUSTER_NAME` }}",
11 "formula_version": "{{ env `FORMULA_VERSION` }}",
azvyagintsev6d453852018-02-26 16:56:37 +020012 "mcp_version": "{{ env `MCP_VERSION` }}",
13 "ubuntu_baseurl": "{{ env `UBUNTU_BASEURL` }}",
14 "saltstack_gpg": "{{ env `SALTSTACK_GPG` }}",
15 "saltstack_repo": "{{ env `SALTSTACK_REPO` }}",
16 "apt_mirantis_gpg": "{{ env `APT_MIRANTIS_GPG` }}",
17 "apt_mirantis_salt_repo": "{{ env `APT_MIRANTIS_SALT_REPO` }}",
18 "git_salt_formulas_scripts": "{{ env `GIT_SALT_FORMULAS_SCRIPTS` }}",
19 "apt_repository": "{{ env `APT_REPOSITORY` }}",
Richard Felkl47757902018-03-02 22:44:43 +010020 "apt_repository_gpg": "{{ env `APT_REPOSITORY_GPG` }}",
21 "os_endpoint": "https://cloud-cz.bud.mirantis.net:5000/v2.0",
22 "os_flavor": "56c551be-41c0-49a4-b367-9b31691c32c3",
23 "os_username": "{{ env `OS_USERNAME` }}",
24 "os_password": "{{ env `OS_PASSWORD` }}",
25 "os_image": "60878bd4-cb4a-4d71-ae02-2a8ee4476d10",
26 "os_zone": "mcp-mk",
27 "os_floating_ip_pool": "public",
28 "os_tenant": "26e4dd19485249608ee3685f254f3909",
29 "os_network": "772f8ca6-1f4a-4535-99d0-880d6ead9a82"
30
Richard Felkld59c5652018-02-08 13:14:05 +010031 },
32 "provisioners": [
33 {
azvyagintsev6d453852018-02-26 16:56:37 +020034 "type": "file",
35 "source": "files/root/interfaces",
36 "destination": "/root/interfaces"
37 },
38 {
39 "type": "file",
40 "source": "files/root/minion.conf",
41 "destination": "/root/minion.conf"
42 },
43 {
azvyagintsevc86fbaf2018-03-02 18:57:03 +020044 "type": "file",
45 "source": "files/tmp/bootstrap.saltstack.com.sh",
46 "destination": "/tmp/bootstrap.saltstack.com.sh"
47 },
48 {
Richard Felkld59c5652018-02-08 13:14:05 +010049 "environment_vars": [
50 "CLUSTER_MODEL={{ user `cluster_model` }}",
51 "CLUSTER_MODEL_REF={{ user `cluster_model_ref` }}",
52 "CLUSTER_NAME={{ user `cluster_name` }}",
azvyagintsev6d453852018-02-26 16:56:37 +020053 "FORMULA_VERSION={{ user `formula_version` }}",
54 "UBUNTU_BASEURL={{ user `ubuntu_baseurl` }}",
55 "SALTSTACK_GPG={{ user `saltstack_gpg` }}",
56 "SALTSTACK_REPO={{ user `saltstack_repo` }}",
57 "APT_MIRANTIS_GPG={{ user `apt_mirantis_gpg` }}",
58 "APT_MIRANTIS_SALT_REPO={{ user `apt_mirantis_salt_repo` }}",
59 "GIT_SALT_FORMULAS_SCRIPTS={{ user `git_salt_formulas_scripts` }}",
60 "APT_REPOSITORY={{ user `apt_repository` }}",
61 "APT_REPOSITORY_GPG={{ user `apt_repository_gpg` }}",
62 "PACKER_OFFLINE_BUILD=true"
Richard Felkld59c5652018-02-08 13:14:05 +010063 ],
64 "type": "shell",
Richard Felkl47757902018-03-02 22:44:43 +010065 "execute_command": "chmod +x {{ .Path }}; {{ .Vars }} {{ .Path }}",
Richard Felkld59c5652018-02-08 13:14:05 +010066 "expect_disconnect": "true",
azvyagintsevc86fbaf2018-03-02 18:57:03 +020067 "scripts": [
68 "scripts/base.sh",
69 "scripts/network.sh",
Richard Felkl47757902018-03-02 22:44:43 +010070 "scripts/salt_bootstrap.sh",
71 "scripts/reboot.sh"
azvyagintsevc86fbaf2018-03-02 18:57:03 +020072 ]
Richard Felkld59c5652018-02-08 13:14:05 +010073 },
74 {
azvyagintsev6d453852018-02-26 16:56:37 +020075 "environment_vars": [
76 "APT_MIRANTIS_SALT_REPO={{ user `apt_mirantis_salt_repo` }}"
77 ],
Richard Felkl47757902018-03-02 22:44:43 +010078 "pause_before": "120s",
Richard Felkld59c5652018-02-08 13:14:05 +010079 "type": "shell",
80 "expect_disconnect": "true",
azvyagintsevc86fbaf2018-03-02 18:57:03 +020081 "scripts": [
82 "scripts/salt.sh"
83 ]
Richard Felkld59c5652018-02-08 13:14:05 +010084 },
85 {
86 "environment_vars": [
87 "HOME=/root",
88 "MCP_VERSION={{ user `mcp_version` }}"
89 ],
90 "type": "shell",
azvyagintsevc86fbaf2018-03-02 18:57:03 +020091 "pause_before": "120s",
92 "scripts": [
93 "scripts/mirrors.sh",
94 "scripts/security.sh",
95 "scripts/cleanup.sh"
96 ]
Richard Felkld59c5652018-02-08 13:14:05 +010097 },
98 {
99 "type": "file",
azvyagintsev6d453852018-02-26 16:56:37 +0200100 "source": "files/etc/cloud/cloud.cfg.d/99_tcp.cfg",
Richard Felkld59c5652018-02-08 13:14:05 +0100101 "destination": "/etc/cloud/cloud.cfg.d/99_tcp.cfg"
102 },
103 {
104 "type": "file",
azvyagintsev6d453852018-02-26 16:56:37 +0200105 "source": "files/etc/cloud/cloud.cfg",
Richard Felkld59c5652018-02-08 13:14:05 +0100106 "destination": "/etc/cloud/cloud.cfg"
107 }
108 ],
109 "builders": [
110 {
azvyagintsev6d453852018-02-26 16:56:37 +0200111 "type": "openstack",
112 "ssh_username": "{{user `user`}}",
113 "ssh_password": "{{user `password`}}",
114 "image_name": "{{user `image_name`}}",
Richard Felkl47757902018-03-02 22:44:43 +0100115 "floating_ip_pool": "{{user `os_floating_ip_pool`}}",
azvyagintsevc86fbaf2018-03-02 18:57:03 +0200116 "reuse_ips": "true",
Richard Felkl47757902018-03-02 22:44:43 +0100117 "source_image": "{{ user `os_image` }}",
118 "flavor": "{{ user `os_flavor` }}",
119 "user_data_file": "config-drive/user-data.yaml",
120 "tenant_id": "{{ user `os_tenant` }}",
121 "networks": ["{{ user `os_network` }}"],
122 "availability_zone": "{{user `os_zone`}}",
123 "identity_endpoint": "{{user `os_endpoint`}}",
124 "username": "{{user `os_username`}}",
125 "password": "{{user `os_password`}}"
azvyagintsev6d453852018-02-26 16:56:37 +0200126 },
127 {
Richard Felkld59c5652018-02-08 13:14:05 +0100128 "type": "qemu",
129 "qemuargs": [
130 [
131 "-m",
azvyagintsev6d453852018-02-26 16:56:37 +0200132 "8096M"
133 ],
134 [
135 "-fda",
136 "config-drive/cloudata.iso"
Richard Felkld59c5652018-02-08 13:14:05 +0100137 ],
138 [
139 "-smp",
140 "4"
141 ]
142 ],
azvyagintsev6d453852018-02-26 16:56:37 +0200143 "vm_name": "{{ user `image_name` }}-{{ isotime \"200601021504\" }}",
144 "output_directory": "images/{{ user `image_name`}}",
Richard Felkld59c5652018-02-08 13:14:05 +0100145 "format": "qcow2",
146 "accelerator": "kvm",
147 "disk_size": "{{ user `disk_size`}}",
azvyagintsev6d453852018-02-26 16:56:37 +0200148 "iso_url": "http://cloud-images.ubuntu.com/xenial/20180224/xenial-server-cloudimg-amd64-disk1.img",
149 "iso_target_path": "/root/isos/xenial-server-cloudimg-amd64-disk1.img",
Richard Felkld59c5652018-02-08 13:14:05 +0100150 "iso_checksum_type": "md5",
azvyagintsev6d453852018-02-26 16:56:37 +0200151 "disk_image": true,
152 "iso_checksum": "697d8f9058ad118cea699d14ae414f8b",
Richard Felkld59c5652018-02-08 13:14:05 +0100153 "http_directory": "http",
154 "headless": true,
155 "ssh_username": "{{user `user`}}",
156 "ssh_password": "{{user `password`}}",
azvyagintsev6d453852018-02-26 16:56:37 +0200157 "shutdown_command": "sync; shutdown -P now",
158 "vnc_bind_address": "0.0.0.0",
159 "vnc_port_max": "5956",
160 "vnc_port_min": "5956",
161 "ssh_host_port_min": 2223,
162 "ssh_host_port_max": 2223,
Richard Felkld59c5652018-02-08 13:14:05 +0100163 "boot_wait": "2s",
azvyagintsev6d453852018-02-26 16:56:37 +0200164 "ssh_wait_timeout": "360s"
Richard Felkld59c5652018-02-08 13:14:05 +0100165 }
166 ]
azvyagintsev6d453852018-02-26 16:56:37 +0200167}