--- # Copyright 2018, SUSE Linux GmbH. # # 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: Check for apparmor profile stat: path: "/etc/apparmor.d/usr.sbin.haproxy" register: sbin_haproxy # NOTE(hwoarang) aa-disable will disable the profile and unload it immediately # See https://bugzilla.opensuse.org/show_bug.cgi?id=1108688. For aa-disable to # work we need apparmor app and running - name: Relax apparmor profile block: - name: Ensure apparmor service is running systemd: name: "apparmor" enabled: yes state: "started" - name: Relax haproxy apparmor profile shell: | # empty line to workaround bug in EnvVarsInCommandRule.py lint test # https://github.com/willthames/ansible-lint/issues/275 exit_code=0 if aa-status | grep -q haproxy; then aa-disable usr.sbin.haproxy exit_code=$? if [[ ${exit_code} == 0 ]]; then exit_code=2 fi fi exit ${exit_code} register: _apparmor_profile_disabled changed_when: _apparmor_profile_disabled.rc == 2 failed_when: _apparmor_profile_disabled.rc not in [0, 2] args: warn: no executable: /bin/bash when: - sbin_haproxy.stat.exists | bool