summaryrefslogtreecommitdiffstats
path: root/packer
diff options
context:
space:
mode:
authorJessica Wagantall <jwagantall@linuxfoundation.org>2018-07-20 20:30:09 -0700
committerJessica Wagantall <jwagantall@linuxfoundation.org>2018-07-24 09:05:02 -0700
commit79059b019d23cf56c993fc1fe4ead5617a38813d (patch)
treec71f4f0be6cb54a44f1b4b788daa9f1d71e33251 /packer
parent918a429ad02b0ca6d390d36363407701f9550e3a (diff)
Fix memcache/redis packer
Update common packer - Remove centos unused distros - Add memcache and redis yaml file - Update json templates Change-Id: I1092d4a7ce957c8c31780045639b0819933af588 Issue-ID: CIMAN-33 Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Diffstat (limited to 'packer')
-rw-r--r--packer/provision/memcached.yaml12
-rw-r--r--packer/provision/redis.yaml17
-rw-r--r--packer/templates/memcached.json70
-rw-r--r--packer/templates/redis.json71
4 files changed, 110 insertions, 60 deletions
diff --git a/packer/provision/memcached.yaml b/packer/provision/memcached.yaml
new file mode 100644
index 000000000..175de9719
--- /dev/null
+++ b/packer/provision/memcached.yaml
@@ -0,0 +1,12 @@
+---
+- import_playbook: ../common-packer/provision/baseline.yaml
+
+- hosts: all
+ become_user: root
+ become_method: sudo
+
+ tasks:
+ - name: 'Install Memcached'
+ package:
+ name: memcached
+ state: present
diff --git a/packer/provision/redis.yaml b/packer/provision/redis.yaml
new file mode 100644
index 000000000..307aecbc2
--- /dev/null
+++ b/packer/provision/redis.yaml
@@ -0,0 +1,17 @@
+---
+- import_playbook: ../common-packer/provision/baseline.yaml
+
+- hosts: all
+ become_user: root
+ become_method: sudo
+
+ tasks:
+ - name: 'Install Redis'
+ package:
+ name: redis
+ state: present
+
+ - name: 'Enable service redis'
+ service:
+ name: redis
+ state: enable
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"
+ ]
}
]
}
+