Я пытаюсь создать домен на сервере 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 будет после того, как я выкину свой компьютер из окна
Проблема была решена по следующей логике:
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