Я хотел запустить playbook, который будет точно сообщать, если один из удаленных серверов требует обновления безопасности. Ansible сервер = Centos 7, удаленные серверы Amazon Linux.
При запуске удаленный сервер выделит что-то вроде следующего:
https://aws.amazon.com/amazon-linux-2/ 8 пакетов ) необходим для безопасности, из 46 доступных Запустите «sudo yum update», чтобы применить все обновления.
Чтобы подтвердить это, я собрал сборник пьес, собранный из множества источников (ниже), который выполняет эту функцию для степень. Он действительно предлагает, требует ли удаленный сервер обновления безопасности, но не говорит, что это за обновления?
- name: check if security updates are needed
hosts: elk
tasks:
- name: check yum security updates
shell: "yum updateinfo list all security"
changed_when: false
register: security_update
- debug: msg="Security update required"
when: security_update.stdout != "0"
- name: list some packages
yum: list=available
Затем, когда я запускаю свои обновления, установите playbook:
- hosts: elk
remote_user: ansadm
become: yes
become_method: sudo
tasks:
- name: Move repos from backup to yum.repos.d
shell: mv -f /backup/* /etc/yum.repos.d/
register: shell_result
failed_when: '"No such file or directory" in shell_result.stderr_lines'
- name: Remove redhat.repo
shell: rm -f /etc/yum.repos.d/redhat.repo
register: shell_result
failed_when: '"No such file or directory" in shell_result.stderr_lines'
- name: add line to yum.conf
lineinfile:
dest: /etc/yum.conf
line: exclude=kernel* redhat-release*
state: present
create: yes
- name: yum clean
shell: yum make-cache
register: shell_result
failed_when: '"There are no enabled repos" in shell_result.stderr_lines'
- name: install all security patches
yum:
name: '*'
state: latest
security: yes
bugfix: yes
skip_broken: yes
После установки вы получите что-то похожее на приведенное ниже (кстати, это выходы с разных серверов)
https://aws.amazon.com/amazon-linux-2/ Пакеты безопасности не требуются ; 37 доступных пакетов Запустите «sudo yum update», чтобы применить все обновления.
Но если я снова запусту свой список воспроизведения обновлений безопасности списка - он выдаст ложное срабатывание, так как по-прежнему сообщает о необходимых обновлениях безопасности?
ИГРАТЬ [проверить, нужны ли обновления безопасности] *********************************** *
ЗАДАЧА [Сбор фактов] ************************************** ******************* ok: [10.10.10.192]
TASK [проверить обновления безопасности yum] *********** *********************************** ok: [10.10.10.192]
ЗАДАЧА [ отладка] ************************************************ ******************* ok: [10.10.10.192] => { "msg": "Требуется обновление безопасности" }
ЗАДАЧА [список некоторых пакетов] ******************************************* *********** ok: [10.10.10.192]
PLAY RECAP ************************ ********************************************* 10.10.10.192: нормально = 4 изменено = 0 недоступно = 0 не удалось = 0 пропущено = 0 спасено = 0 проигнорировано = 0
[ansadm@ansible playbooks] $
Что мне нужно пропустить / включить в playbook, чтобы отразить изменения после установки обновлений?
Заранее спасибо:)