--- # 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: Override systemd service file copy: src: "{{ memcached_systemd_service }}" dest: "/etc/systemd/system/memcached.service" owner: "root" group: "root" mode: "0644" when: memcached_systemd_service is defined 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: - ansible_service_mgr == 'systemd' # See comments above 'memcached_disable_privatedevices' in defaults/main.yml for # links to relevant bugs and discussion. - name: Remove PrivateDevices systemd options when in container template: src: without-privatedevices.conf.j2 dest: "/etc/systemd/system/memcached.service.d/without-privatedevices.conf" when: - ansible_pkg_mgr == 'yum' - ansible_service_mgr == 'systemd' notify: Restart memcached - name: Add automatic restart on failure template: src: systemd-restart-on-failure.conf.j2 dest: "/etc/systemd/system/memcached.service.d/systemd-restart-on-failure.conf" when: - ansible_service_mgr == 'systemd' 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: - ansible_service_mgr == 'systemd' - memcached_connections > 1024 notify: - 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"