--- # Copyright 2014, 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: Test for log directory or link shell: | if [ -h "{{ memcached_log | dirname }}" ]; then chown -h root:root "{{ memcached_log | dirname }}" chown -R root:root "$(readlink {{ memcached_log | dirname }})" else exit 1 fi register: log_dir failed_when: false changed_when: log_dir.rc != 0 - name: Create memcached log dir file: path: "{{ memcached_log | dirname }}" state: directory when: log_dir.rc != 0 - name: Apply memcached config template: src: "{{ memcached_conf_template }}" dest: "{{ memcached_conf_dest }}" owner: "root" group: "root" mode: "0644" notify: Restart memcached - name: Create memcached systemd service config dir file: path: "/etc/systemd/system/memcached.service.d" state: "directory" group: "root" owner: "root" mode: "0755" when: - pid1_name == "systemd" - name: Apply resource limits (upstart) template: src: "memcached.debian.j2" dest: "/etc/default/memcached" owner: "root" group: "root" mode: "0644" when: - ansible_pkg_mgr == 'apt' - pid1_name != "systemd" - memcached_connections > 1024 notify: Restart memcached - name: Apply resource limits (systemd) template: src: "limits.conf.j2" dest: "/etc/systemd/system/memcached.service.d/limits.conf" owner: "root" group: "root" mode: "0644" when: - pid1_name == "systemd" - memcached_connections > 1024 notify: - Reload the systemd daemon - Restart memcached - name: Configure soft file limits lineinfile: dest: "/etc/security/limits.conf" regexp: "^{{ memcached_user }}.*soft.*nofile.*" state: "present" line: "{{ memcached_user }}\tsoft\tnofile\t\t{{ memcached_file_limits }}" insertbefore: "^# End of file" - name: Configure hard file limits lineinfile: dest: "/etc/security/limits.conf" regexp: "^{{ memcached_user }}.*hard.*nofile.*" state: "present" line: "{{ memcached_user }}\thard\tnofile\t\t{{ memcached_file_limits }}" insertbefore: "^# End of file"