12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- # Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
- #
- # 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: Install mailx and postfix
- package:
- name: "{{ mail_packages }}"
- state: present
- - name: Start postfix service
- systemd:
- name: postfix
- state: started
- enabled: yes
- - block:
- - name: Install python3
- package:
- name: python3
- state: present
- - name: Update pip version
- command: pip3 install --upgrade pip
- changed_when: true
- - name: Install ansible
- pip:
- name: ansible
- state: present
- executable: pip3
- when: os_leap in ansible_distribution | lower
- - block:
- - name: Install ansible
- package:
- name: ansible
- state: present
- when: os_leap not in ansible_distribution | lower
- - name: Install community.general collection
- command: ansible-galaxy collection install {{ community_general_collection }}
- changed_when: true
- - name: Copy auth_failure_check.yml to login_node
- copy:
- src: "{{ role_path }}/files/auth_failure_check.yml"
- dest: "{{ alerting_file_path }}"
- mode: "{{ hosts_file_mode }}"
- - name: Fetch ansible-playbook path
- command: whereis ansible-playbook
- changed_when: false
- register: ansible_playbook_path
- - name: Start cron service in leap
- systemd:
- name: cron
- state: started
- enabled: yes
- when: os_leap in ansible_distribution | lower
- - name: Start crond service in rocky
- systemd:
- name: crond
- state: started
- enabled: yes
- when: os_leap not in ansible_distribution | lower
- - name: Schedule cron job for alerting
- cron:
- name: Auth failure alerting
- special_time: hourly
- job: "{{ ansible_playbook_path.stdout.split(' ')[1] }} {{ alerting_file_path }} -e 'alert_email_address={{ hostvars['127.0.0.1']['alert_email_address'] }}'"
|