Fix memcache/redis packer 95/57095/4
authorJessica Wagantall <jwagantall@linuxfoundation.org>
Sat, 21 Jul 2018 03:30:09 +0000 (20:30 -0700)
committerJessica Wagantall <jwagantall@linuxfoundation.org>
Tue, 24 Jul 2018 16:05:02 +0000 (09:05 -0700)
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>
jjb/ci-management/ci-management-packer-jobs.yaml
packer/provision/memcached.yaml [new file with mode: 0644]
packer/provision/redis.yaml [new file with mode: 0644]
packer/templates/memcached.json
packer/templates/redis.json

index 055ae1b..6faebf7 100644 (file)
@@ -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 (file)
index 0000000..175de97
--- /dev/null
@@ -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 (file)
index 0000000..307aecb
--- /dev/null
@@ -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
index 722785e..ad4bc80 100644 (file)
@@ -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"
+      ]
     }
   ]
 }
index 7dee6fa..20422f6 100644 (file)
@@ -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"
+      ]
     }
   ]
 }
+