--- # Copyright 2015, 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. # NOTE(cloudnull): # While the haproxy distro packages provide for an haproxy # group this group is being created upfront to support # log aggregation links as well as ensure common user # functionality across various distros that we support. - name: Create the haproxy system group group: name: "haproxy" state: "present" system: "yes" tags: - haproxy-group # NOTE(cloudnull): # While the haproxy distro packages provide for an haproxy # user this user is being created upfront to support # log aggregation links as well as ensure common user # functionality across various distros that we support. - name: Create the haproxy system user user: name: "haproxy" group: "haproxy" comment: "haproxy user" shell: "/bin/false" system: "yes" createhome: "yes" home: "/var/lib/haproxy" tags: - haproxy-user - name: Stat haproxy log dir stat: path: "/var/log/haproxy" register: log_dir tags: - haproxy-dirs - haproxy-logs - name: Create haproxy log dir file: path: "/var/log/haproxy" state: "{{ (log_dir.stat.islnk is defined and log_dir.stat.islnk) | ternary('link', 'directory') }}" src: "{{ (log_dir.stat.islnk is defined and log_dir.stat.islnk) | ternary(log_dir.stat.lnk_source, omit) }}" owner: haproxy group: adm mode: "0755" tags: - haproxy-dirs - haproxy-logs - name: Change ownership of haproxy log dir link source file: path: "{{ log_dir.stat.lnk_source }}" state: directory owner: haproxy group: adm recurse: yes when: - log_dir.stat.islnk is defined - log_dir.stat.islnk tags: - haproxy-dirs - haproxy-logs - name: Remove conflicting distro packages package: name: "{{ item }}" state: absent with_items: - "{{ haproxy_distro_packages_remove }}"