diff options
Diffstat (limited to 'packer/templates')
-rw-r--r-- | packer/templates/memcached.json | 70 | ||||
-rw-r--r-- | packer/templates/redis.json | 71 |
2 files changed, 81 insertions, 60 deletions
diff --git a/packer/templates/memcached.json b/packer/templates/memcached.json index 722785e62..ad4bc805a 100644 --- a/packer/templates/memcached.json +++ b/packer/templates/memcached.json @@ -1,54 +1,64 @@ { "variables": { - "stack_tenant": null, - "stack_user": null, - "stack_pass": null, - "stack_network": null, + "ansible_roles_path": ".galaxy", "base_image": null, - "cloud_user": null, "distro": null, - "cloud_user_data": null + "cloud_auth_url": null, + "cloud_user": null, + "cloud_pass": null, + "cloud_network": null, + "cloud_tenant": null, + "cloud_user_data": null, + "ssh_user": null, + "ssh_proxy_host": "" }, "builders": [ { + "name": "vexxhost", + "image_name": "{{user `distro`}} - memcached - {{isotime \"20171102-0135\"}}", + "source_image_name": "{{user `base_image`}}", "type": "openstack", - "identity_endpoint": "https://auth.vexxhost.net/v2.0/", - "tenant_name": "{{user `stack_tenant`}}", - "username": "{{user `stack_user`}}", - "password": "{{user `stack_pass`}}", + "identity_endpoint": "{{user `cloud_auth_url`}}", + "username": "{{user `cloud_user`}}", + "password": "{{user `cloud_pass`}}", + "tenant_name": "{{user `cloud_tenant`}}", + "domain_name": "Default", "region": "ca-ymq-1", - "ssh_username": "{{user `cloud_user`}}", - "image_name": "{{user `distro`}} - memcached - {{isotime \"20060102-1504\"}}", - "source_image_name": "{{user `base_image`}}", - "flavor": "v1-standard-1", "availability_zone": "ca-ymq-2", "networks": [ - "{{user `stack_network`}}" + "{{user `cloud_network`}}" ], - "user_data_file": "{{user `cloud_user_data`}}" + "user_data_file": "{{user `cloud_user_data`}}", + "ssh_username": "{{user `ssh_user`}}", + "ssh_proxy_host": "{{user `ssh_proxy_host`}}", + "flavor": "v1-standard-1", + "metadata": { + "ci_managed": "yes" + } } ], "provisioners": [ { "type": "shell", - "inline": [ - "mkdir -p /tmp/packer" - ] + "scripts": [ + "common-packer/provision/install-python.sh" + ], + "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi" }, { - "type": "file", - "source": "provision/basebuild/", - "destination": "/tmp/packer" + "type": "shell-local", + "command": "./common-packer/ansible-galaxy.sh {{user `ansible_roles_path`}}" }, { - "type": "shell", - "scripts": [ - "provision/baseline.sh", - "provision/basebuild.sh", - "provision/memcached.sh", - "provision/system_reseal.sh" - ], - "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi" + "type": "ansible", + "playbook_file": "provision/memcached.yaml", + "ansible_env_vars": [ + "ANSIBLE_NOCOWS=1", + "ANSIBLE_PIPELINING=True", + "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}", + "ANSIBLE_CALLBACK_WHITELIST=profile_tasks", + "ANSIBLE_STDOUT_CALLBACK=debug" + ] } ] } diff --git a/packer/templates/redis.json b/packer/templates/redis.json index 7dee6fa3e..20422f677 100644 --- a/packer/templates/redis.json +++ b/packer/templates/redis.json @@ -1,54 +1,65 @@ { "variables": { - "stack_tenant": null, - "stack_user": null, - "stack_pass": null, - "stack_network": null, + "ansible_roles_path": ".galaxy", "base_image": null, - "cloud_user": null, "distro": null, - "cloud_user_data": null + "cloud_auth_url": null, + "cloud_user": null, + "cloud_pass": null, + "cloud_network": null, + "cloud_tenant": null, + "cloud_user_data": null, + "ssh_user": null, + "ssh_proxy_host": "" }, "builders": [ { - "type": "openstack", - "identity_endpoint": "https://auth.vexxhost.net/v2.0/", - "tenant_name": "{{user `stack_tenant`}}", - "username": "{{user `stack_user`}}", - "password": "{{user `stack_pass`}}", - "region": "ca-ymq-1", - "ssh_username": "{{user `cloud_user`}}", + "name": "vexxhost", "image_name": "{{user `distro`}} - redis - {{isotime \"20060102-1504\"}}", "source_image_name": "{{user `base_image`}}", - "flavor": "v1-standard-1", + "type": "openstack", + "identity_endpoint": "{{user `cloud_auth_url`}}", + "username": "{{user `cloud_user`}}", + "password": "{{user `cloud_pass`}}", + "tenant_name": "{{user `cloud_tenant`}}", + "domain_name": "Default", + "region": "ca-ymq-1", "availability_zone": "ca-ymq-2", "networks": [ - "{{user `stack_network`}}" + "{{user `cloud_network`}}" ], - "user_data_file": "{{user `cloud_user_data`}}" + "user_data_file": "{{user `cloud_user_data`}}", + "ssh_username": "{{user `ssh_user`}}", + "ssh_proxy_host": "{{user `ssh_proxy_host`}}", + "flavor": "v1-standard-1", + "metadata": { + "ci_managed": "yes" + } } ], "provisioners": [ { "type": "shell", - "inline": [ - "mkdir -p /tmp/packer" - ] + "scripts": [ + "common-packer/provision/install-python.sh" + ], + "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi" }, { - "type": "file", - "source": "provision/basebuild/", - "destination": "/tmp/packer" + "type": "shell-local", + "command": "./common-packer/ansible-galaxy.sh {{user `ansible_roles_path`}}" }, { - "type": "shell", - "scripts": [ - "provision/baseline.sh", - "provision/basebuild.sh", - "provision/redis.sh", - "provision/system_reseal.sh" - ], - "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi" + "type": "ansible", + "playbook_file": "provision/redis.yaml", + "ansible_env_vars": [ + "ANSIBLE_NOCOWS=1", + "ANSIBLE_PIPELINING=True", + "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}", + "ANSIBLE_CALLBACK_WHITELIST=profile_tasks", + "ANSIBLE_STDOUT_CALLBACK=debug" + ] } ] } + |