From 79059b019d23cf56c993fc1fe4ead5617a38813d Mon Sep 17 00:00:00 2001 From: Jessica Wagantall Date: Fri, 20 Jul 2018 20:30:09 -0700 Subject: 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 --- jjb/ci-management/ci-management-packer-jobs.yaml | 2 - packer/provision/memcached.yaml | 12 ++++ packer/provision/redis.yaml | 17 ++++++ packer/templates/memcached.json | 70 +++++++++++++---------- packer/templates/redis.json | 71 ++++++++++++++---------- 5 files changed, 110 insertions(+), 62 deletions(-) create mode 100644 packer/provision/memcached.yaml create mode 100644 packer/provision/redis.yaml diff --git a/jjb/ci-management/ci-management-packer-jobs.yaml b/jjb/ci-management/ci-management-packer-jobs.yaml index 055ae1b67..6faebf77c 100644 --- a/jjb/ci-management/ci-management-packer-jobs.yaml +++ b/jjb/ci-management/ci-management-packer-jobs.yaml @@ -49,7 +49,6 @@ build-timeout: 90 platforms: - - centos-7 - ubuntu-16.04 templates: memcached @@ -67,7 +66,6 @@ platforms: - centos-7 - - ubuntu-16.04 templates: redis - project: 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" + ] } ] } + -- cgit 1.2.3-korg