---
# Copyright 2016, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

- name: Memcached cache flush
  hosts: memcached_all
  gather_facts: true
  user: root
  vars:
    memcached_conf_dest:
      debian: "/etc/memcached.conf"
      redhat: "/etc/sysconfig/memcached"
  tasks:
    - name: Ensuring nc is installed
      package:
        name: nc
        state: present
    - name: Flush all of the cache in memcached
      shell: |
        echo 'flush_all' | nc $(awk '/^\-l/ {print $2}' {{ memcached_conf_dest.get(ansible_os_family | lower) }} | awk -F, '{ print $1 }') $(awk '/^\-p/ {print $2}' {{ memcached_conf_dest.get(ansible_family | lower) }} )

---
# Copyright 2016, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

- name: Memcached cache flush
  hosts: memcached_all
  gather_facts: true
  user: root
  vars:
    memcached_conf_dest:
      debian: "/etc/memcached.conf"
      redhat: "/etc/sysconfig/memcached"
    netcat_package:
      debian: "netcat-openbsd"
      redhat: "nmap-ncat"
  tasks:
    - name: Ensuring netcat is installed
      package:
        name: "{{ netcat_package.get(ansible_os_family | lower) }}"
        state: present
    - name: Flush all of the cache in memcached
      shell: |
        echo 'flush_all' | nc $(awk '/^\-l/ {print $2}' {{ memcached_conf_dest.get(ansible_os_family | lower) }} | awk -F, '{ print $1 }') $(awk '/^\-p/ {print $2}' {{ memcached_conf_dest.get(ansible_os_family | lower) }} )

Use distro specific netcat package names
Use distro specific netcat package names

Update the memcached-flush upgrade playbook with the correct distro
specific name of the netcat package and fix a typo in the
'ansible_os_family' variable name.

Change-Id: I140bcf45ca4c7b338b2fec69188a80d4226fb2cb
