From 9b18d2d28bb58ba7a957b788c905f3f077cabede Mon Sep 17 00:00:00 2001
From: Sam Yaple <sam@yaple.net>
Date: Fri, 25 Sep 2015 10:16:59 +0000
Subject: [PATCH] Replace config-external - memcached

Change-Id: I83094d1fc98c79c74d6c9fdc68aa224ae4a6d672
Partially-Implements: blueprint replace-config-external
---
 ansible/roles/memcached/tasks/config.yml       |  6 +++---
 ansible/roles/memcached/tasks/start.yml        |  2 +-
 .../memcached/templates/memcached.conf.j2      |  1 -
 .../memcached/templates/memcached.json.j2      |  5 +++++
 docker/memcached/start.sh                      | 18 ++++--------------
 5 files changed, 13 insertions(+), 19 deletions(-)
 delete mode 100644 ansible/roles/memcached/templates/memcached.conf.j2
 create mode 100644 ansible/roles/memcached/templates/memcached.json.j2

diff --git a/ansible/roles/memcached/tasks/config.yml b/ansible/roles/memcached/tasks/config.yml
index 27e2c9766..4f97e364d 100644
--- a/ansible/roles/memcached/tasks/config.yml
+++ b/ansible/roles/memcached/tasks/config.yml
@@ -5,7 +5,7 @@
     state: "directory"
     recurse: "yes"
 
-- name: Copying over config(s)
+- name: Copying over memcached JSON configuration file
   template:
-    src: "memcached.conf.j2"
-    dest: "{{ node_config_directory }}/memcached/memcached.conf"
+    src: "memcached.json.j2"
+    dest: "{{ node_config_directory }}/memcached/config.json"
diff --git a/ansible/roles/memcached/tasks/start.yml b/ansible/roles/memcached/tasks/start.yml
index 1c9c68ddc..21d72f8a1 100644
--- a/ansible/roles/memcached/tasks/start.yml
+++ b/ansible/roles/memcached/tasks/start.yml
@@ -13,7 +13,7 @@
     insecure_registry: "{{ docker_insecure_registry }}"
     name: memcached
     image: "{{ memcached_image_full }}"
-    volumes: "{{ node_config_directory }}/memcached/:/opt/kolla/memcached/:ro"
+    volumes: "{{ node_config_directory }}/memcached/:/opt/kolla/config_files/:ro"
     env:
       KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
   when: inventory_hostname in groups['memcached']
diff --git a/ansible/roles/memcached/templates/memcached.conf.j2 b/ansible/roles/memcached/templates/memcached.conf.j2
deleted file mode 100644
index e08061f6d..000000000
--- a/ansible/roles/memcached/templates/memcached.conf.j2
+++ /dev/null
@@ -1 +0,0 @@
-OPTIONS="-l {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }} -p {{ memcached_port }}"
diff --git a/ansible/roles/memcached/templates/memcached.json.j2 b/ansible/roles/memcached/templates/memcached.json.j2
new file mode 100644
index 000000000..a32e899e2
--- /dev/null
+++ b/ansible/roles/memcached/templates/memcached.json.j2
@@ -0,0 +1,5 @@
+{% set memcache_user = 'memcache' if kolla_base_distro in ['ubuntu', 'debian'] else 'memcached' %}
+{
+    "command": "/usr/bin/memcached -u {{ memcache_user }} -vv -l {{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }} -p {{ memcached_port }}",
+    "config_files": []
+}
diff --git a/docker/memcached/start.sh b/docker/memcached/start.sh
index b8628b914..bfa6c7878 100755
--- a/docker/memcached/start.sh
+++ b/docker/memcached/start.sh
@@ -2,21 +2,11 @@
 
 set -o errexit
 
-if [[ "${KOLLA_BASE_DISTRO}" == "ubuntu" || \
-        "${KOLLA_BASE_DISTRO}" == "debian" ]]; then
-    CMD="/usr/bin/memcached"
-    ARGS="-u memcache -vv"
-else
-    CMD="/usr/bin/memcached"
-    ARGS="-u memcached -vv"
-fi
-
 # Loading common functions.
 source /opt/kolla/kolla-common.sh
 
-# Execute config strategy
-set_configs
-
-source /etc/memcached.conf
+# Generate run command
+python /opt/kolla/set_configs.py
+CMD=$(cat /run_command)
 
-exec $CMD $ARGS $OPTIONS
+exec $CMD
-- 
GitLab