Ansible win_updates не удается / нет ответа (Центр обновления Windows) - PullRequest
0 голосов
/ 25 июня 2019

Я написал книгу с некоторыми задачами, запустил обновление Windows на нескольких серверах.Для обновления этих хостов я использую модуль ansible, который работает с Windows Update API.
Playbook и задачи выглядят следующим образом:

Code / Playbook

- hosts: 
    - '{{ target }}'
  strategy: free
  gather_facts: no

  vars:
    playbook_name: A.windows-update

  roles:
  - { role: "A.windows-update" }

И задача:

- (Some other tasks like create a directory...)
- name: Reboot before updates
  win_reboot:
    reboot_timeout: 7200

- name: install windows updates (1)
      win_updates:
        category_names:
          - Application
          - Connectors
          - CriticalUpdates
          - DefinitionUpdates
          - DeveloperKits
          - FeaturePacks
          - Guidance
          - SecurityUpdates
          - ServicePacks
          - Tools
          - UpdateRollups
          - Updates
        reboot: yes
        reboot_timeout: 7200
        log_path: C:\temp\windows_updates1.txt
      register: update_status1

Проблема и журналы:

Я протестировал playbook на 2 хостах (Windows Server 2008 R2 и 2016), и он работал нормально.Когда я использовал это для обновления около 30 Windows Server (большинство из них 2016 года), он вышел из строя на 50% хостов.Некоторые из них сталкиваются с тайм-аутом, а другие не имеют ответа в течение 4 или 5 часов.Затем мне пришлось остановить playbook из-за того, что это продуктивная среда ... Когда я проверил журнал log_path: C:\temp\windows_updates1.txt, я обнаружил некоторые странные результаты:

2019-06-22 02:00:34Z Adding update 8324-a692149402a8 - SQL Server 2014 Service Pack 3
2019-06-22 02:00:34Z FATAL: A reboot is required before more updates can be installed

Произошла ошибка перезагрузки, даже несмотря на то, что я перезагрузил систему до начала процесса обновления и во время обновления был установлен reboot: yes.

В другой системе (также 2016) я увидел следующий вывод в windows_updates1.txt:

2019-06-21 22:53:36Z Found 3 updates
2019-06-21 22:53:36Z Installing updates…
2019-06-21 22:53:36Z Adding update 39c97e25-662a-45b7-aa3e-ce3f6c1d7978 --> SQL
(файл заканчивается, журналов больше нет)

Иногда эта ошибкасообщение отображается в ansible:

[WARNING]: FATAL ERROR DURING FILE TRANSFER: The pipe is being closed. (extended fault data: {u'fault_subcode': 'w:InternalError', u 'fault_code': 's:Receiver', u'wsmanfault_code': '232', 'transport_message': u'Bad HTTP response returned from server. Code 500', 'http_status_code': 500})

Вопрос

Поэтому я не могу понять, почему ansible ..
1) ... не удалось обновить, когдатребуется перезагрузка, даже если перезагрузки разрешены
2) ... машина остановилась после «добавления обновления», и в течение 4 часов не было никакого прогресса.Это обновление SQL заняло около 30 минут (вручную).
3) Когда я использую strategy: free, не должен ли ansible запускать обновление на всех хостах одновременно?Потому что в журналах обновлений Windows есть несколько разных периодов «запуска» в диапазоне 2 ч.

Спасибо за любую подсказку и любую идею о том, как обновить все мои серверы с помощью ansible.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...