From 5dfa77861d3d5d561dfa19edcc71363a2b91e96b Mon Sep 17 00:00:00 2001
From: QiLiang <liangqi1@huawei.com>
Date: Mon, 27 Mar 2017 10:32:20 +0800
Subject: Fix memcached doesn't start issue

JIRA: -

Sometimes memcached does not start after installation finished,
which will cause issues like openstack dashboard open instance
console failure.

This patch add memcached restart notify during package installation
and add memcached to cron service-status-check task's config file:
/opt/service

Change-Id: I625899348fb447875fcca7beedb619b5490ce567
Signed-off-by: QiLiang <liangqi1@huawei.com>
---
 deploy/adapters/ansible/openstack/templates/nova.conf  |  5 ++++-
 deploy/adapters/ansible/roles/memcached/tasks/main.yml | 15 +++++++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/deploy/adapters/ansible/openstack/templates/nova.conf b/deploy/adapters/ansible/openstack/templates/nova.conf
index eb7ec053..114453ee 100644
--- a/deploy/adapters/ansible/openstack/templates/nova.conf
+++ b/deploy/adapters/ansible/openstack/templates/nova.conf
@@ -37,7 +37,6 @@ instance_usage_audit_period = hour
 notify_on_state_change = vm_and_task_state
 notification_driver = nova.openstack.common.notifier.rpc_notifier
 notification_driver = ceilometer.compute.nova_notifier
-memcached_servers = {{ memcached_servers }}
 osapi_compute_workers = {{ api_workers }}
 metadata_workers = {{ api_workers }}
 
@@ -119,3 +118,7 @@ rabbit_password = {{ RABBIT_PASS }}
 rabbit_port = 5672
 rabbit_userid = {{ RABBIT_USER }}
 
+[cache]
+backend = dogpile.cache.memcached
+enabled = True
+memcache_servers = {{ memcached_servers }}
diff --git a/deploy/adapters/ansible/roles/memcached/tasks/main.yml b/deploy/adapters/ansible/roles/memcached/tasks/main.yml
index a4457f36..2b4b7ec7 100644
--- a/deploy/adapters/ansible/roles/memcached/tasks/main.yml
+++ b/deploy/adapters/ansible/roles/memcached/tasks/main.yml
@@ -19,6 +19,8 @@
 - name: install packages
   action: "{{ ansible_pkg_mgr }} name={{ item }} state=latest update_cache=yes"
   with_items: "{{ packages | union(packages_noarch) }}"
+  notify:
+    - restart memcahed services
 
 - name: enable auto start
   file:
@@ -32,4 +34,17 @@
   notify:
     - restart memcahed services
 
+- name: change memcache listen ip
+  lineinfile:
+    dest=/etc/sysconfig/memcached
+    regexp="^OPTIONS=.*"
+    line="OPTIONS=\"-l 0.0.0.0\""
+  when: ansible_os_family == "RedHat"
+  notify:
+    - restart memcahed services
+
+- name: generate memcached service list
+  lineinfile: dest=/opt/service create=yes line='{{ item }}'
+  with_items: "{{ services | union(services_noarch) }}"
+
 - meta: flush_handlers
-- 
cgit