Ресурс Chef reboot вызывает тайм-аут работы Chef, прежде чем сервер Windows сможет запустить резервное копирование после обновления и возобновить рецепт

Я пытаюсь создать домен на сервере Windows 2012 R2, и для продолжения выполнения рецепта требуется перезагрузка:

reboot "reboot server" do
  reason "init::chef - continue provisioning after reboot"
  action :reboot_now
end

Я получаю следующую ошибку, которая указывает на тайм-аут + она возникает до того, как я увижу, что ОС оживает после обновления:

Failed to complete #converge action: [WinRM::WinRMAuthorizationError] on default-windows2012r2

Кто-нибудь знает, как заставить сервер шеф-повара продолжать работать после резервного копирования ОС? Я слышал, что :restart_now должен помочь ... ^^^, но, как видите, это не так :)

P.S. это также приводит к обновлению окон ... Цель: заставить шеф-повара возобновить работу после завершения обновления и резервного копирования сервера

Обновлять: Кажется, что сервер дважды перезагружается и выходит из программы Chef при второй перезагрузке. Если я удалю ОДИН блок ресурсов перезагрузки, который у меня есть, он вообще не перезагружается (для меня это не имеет смысла) ... вот результат выполнения повара:

Chef Client finished, 2/25 resources updated in 19 seconds
   [2018-10-29T08:04:11-07:00] WARN: Rebooting server at a recipe's request. Details: {:delay_mins=>0, :reason=>"init::chef - continue provisioning after reboot", :timestamp=>2018-10-29 08:04:11 -0700, :requested_by=>"reboot server"}
    Running handlers:
       [2018-10-29T08:04:11-07:00] ERROR: Running exception handlers
       Running handlers complete
       [2018-10-29T08:04:11-07:00] ERROR: Exception handlers complete
       Chef Client failed. 2 resources updated in 20 seconds
       [2018-10-29T08:04:11-07:00] FATAL: Stacktrace dumped to C:/Users/vagrant/AppData/Local/Temp/kitchen/cache/chef-stacktrace.out
       [2018-10-29T08:04:11-07:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
       [2018-10-29T08:04:11-07:00] FATAL: Chef::Exceptions::Reboot: Rebooting server at a recipe's request. Details: {:delay_mins=>0, :reason=>"init::chef - continue provisioning after reboot", :timestamp=>2018-10-29 08:04:11 -0700, :requested_by=>"reboot server"}

^^^, который повторяется дважды ^^^

Обновление # 2: Я даже закомментировал каждую строку, кроме блока перезагрузки, и испытываю ту же проблему ... это смешно, и я уверен, что проблема не в моем коде (учитывая, что все, что я использую сейчас, это команда перезагрузки).

Обновление # 3: Я создал совершенно новую поваренную книгу и назвал ее «перезагрузкой» ... она содержит следующий код:

reboot 'app_requires_reboot' do
    action :request_reboot
    reason 'Need to reboot when the run completes successfully.'
end

И, к сожалению, он тоже дважды перезагружает сервер Windows ... Вот логи:

Recipe: reboot::default
         * reboot[app_requires_reboot] action request_reboot[2018-10-29T10:21:41-07:00] WARN: Reboot requested:'app_requires_reboot'

           - request a system reboot to occur if the run succeeds

       Running handlers:
       Running handlers complete
       Chef Client finished, 1/1 resources updated in 03 seconds
       [2018-10-29T10:21:41-07:00] WARN: Rebooting server at a recipe's request. Details: {:delay_mins=>0, :reason=>"Need to reboot when the run completes successfully.", :timestamp=>2018-10-29 10:21:41 -0700, :requested_by=>"app_requires_reboot"}

       Running handlers:
       [2018-10-29T10:21:41-07:00] ERROR: Running exception handlers
       Running handlers complete
       [2018-10-29T10:21:41-07:00] ERROR: Exception handlers complete
       Chef Client failed. 1 resources updated in 03 seconds
       [2018-10-29T10:21:41-07:00] FATAL: Stacktrace dumped to C:/Users/vagrant/AppData/Local/Temp/kitchen/cache/chef-stacktrace.out
       [2018-10-29T10:21:41-07:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
       [2018-10-29T10:21:41-07:00] FATAL: Chef::Exceptions::Reboot: Rebooting server at a recipe's request. Details: {:delay_mins=>0, :reason=>"Need to reboot when the run completes successfully.", :timestamp=>2018-10-29 10:21:41 -0700, :requested_by=>"app_requires_reboot"}

похоже, проблема с шеф-поваром сейчас ... это плохо ... кто раньше успешно перезагружал окна с помощью Chef? а почему при однократной перезагрузке блокируется перезагрузка сервера дважды?

Обновление №4 будет после того, как я выкину свой компьютер из окна

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
576
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема была решена по следующей логике:

reboot "reboot server" do
  reason "init::chef - continue provisioning after reboot"
  action :nothing
  only_if {reboot_pending?}
end

Добавление оператора only if позволяет рецепту пропустить этот шаг, если ОС не обнаруживает, что существует ожидающее обновление Windows.

Я забыл, что Windows действительно отслеживает, требуется ли обновление / перезагрузка системы.

Как часть моего блока poweshell_script я включил следующее: notifies :reboot_now, 'reboot[reboot server]', :immediately

Другие вопросы по теме