Hi Lee, For reproduction, I just completed installation of Windows Server 2016 using an evaluation ISO. I did not see the "Windows Needs to Restart To Continue" message, but I did see "After you restart the computer, setup will complete automatically." followed by a progress bar, followed by exiting to the previous shell script where it continues. I did also notice that when the installer gets called, the /noreboot argument is passed in. That is so Razor's script can maintain control and notify Razor server that the install completed. In other words, it is essential that setup.exe does not reboot the machine. Here is where this happens:
https://github.com/puppetlabs/razor-server/blob/master/tasks/windows.task/second-stage.ps1.erb#L36-L39 I suspect that our ISOs may be different: perhaps your version is not respecting the /noreboot flag. If you are interested, I see two different approaches for debugging to find what may be different in your environment: 1) We can try installing 2016 in your environment via the evaluation ISO <https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2016>. This ISO includes a product key by default, so you will need to override the unattended.xml.erb file to remove its <ProductKey> entry entirely. If this finishes the install and reboots normally, we have a difference in ISOs. If it does not, it could be caused by some hardware difference (I used VirtualBox), a code difference (e.g. differing task code), or something else. 2) To debug deeper into your ISO, we can update your local copy of the second-stage.ps1.erb file to pass more arguments into the installer. Here is a resource which lists some potential arguments: https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line-options . Hope this gets us started finding what's going on here. Let me know if you'd like to explore these options. Scott On Wed, Feb 20, 2019 at 4:51 PM Lee Turchin <[email protected]> wrote: > Hi Scott, > > Last message after copying files is "Windows Needs to Restart to > Continue", seen from the console to view my blade progress in a Windows > setup screen. > If there is an error message, it's not readily available. I should have > some Windows logs to sift through, but this does seem like a razor issue > where the instruction to boot locally is absent. Why? Because I can force > a local boot by interrupting the repeat razor boot.wim loop, and Windows > will then load. > Does razor leave a trai/log for this type of activity? > The reboot in Windows is normal, AFIK. > I am using a noop.broker, btw and have not added anything to that > directory. Someone in my group suggested that a hook may be needed to > promote the installation. > > I am expecting razor to boot locally to SAN and it does not. It appears > that Windows does complete a normal installation. > > Can you shed some light on this? > > Thank you, > > Lee > > On Wed, Feb 20, 2019 at 2:01 PM Scott McClellan < > [email protected]> wrote: > >> Hi Lee, >> >> First a clarification about the `stage_done_url` and how that relates to >> Windows tasks. The second stage of the Windows tasks is not an actual >> reboot, but a second stage of the same boot. The client will fetch the >> second-stage.ps1 file and run it without rebooting. Here are a few lines as >> reference: >> >> - >> https://github.com/puppetlabs/razor-server/blob/master/build-winpe/razor-client.ps1#L61-L66 >> - The code that fetches the rendered second-stage.ps1.erb file. >> - >> https://github.com/puppetlabs/razor-server/blob/master/tasks/windows/2016.task/metadata.yaml#L7-L8 >> - The boot sequence for the windows/2016 task, which has one install step >> and an indefinite local boot step. >> >> With that said, could there be an error that's causing it not to advance? >> What's the last thing that happens before the reboot? >> >> I'm happy to answer the rest of your questions here, but this is where >> I'd start. >> >> Scott >> >> On Wed, Feb 20, 2019 at 3:53 PM Lee Turchin <[email protected]> wrote: >> >>> Hi, >>> >>> I have installed Razor Server on a CentOS 7 platform and have followed >>> the GitHub instructions to run the installation for Windows Server. In my >>> case, I am testing the installation of Windows 2016 Server on a SAN. I have >>> gotten to the point where my installation successfully loads the >>> microkernel, reboots my blade, and then unpacks the ps1 created boot.wim >>> file, attaches to a share, runs the Windows 2016 setup and copies the files >>> to the appropriate SAN disk. >>> >>> However, after the reboot, stage 2 never happens. There is the >>> continual loop that unpacks the boot.wim on the next go around. I am using >>> the Windows 2016 task and have the correct path selected for tasks. >>> >>> In the razor documentation, >>> https://github.com/puppetlabs/razor-server/wiki/Writing-Tasks, there is >>> a statement that says: >>> >>> Each boot (except for the default boot) must culminate in something akin >>> to curl <%= stage_done_url %> before the node reboots. Omitting this will >>> cause the node to reboot into the same boot template over and over again. >>> >>> My questions are: >>> >>> 1. where should the line 'curl <%= stage_done_url %' go? I need to let >>> razor know that stage 1 is completed. >>> 2. what edits do I make to the unattended.xml ? >>> 3. why does Windows 2016.task show that it is related to the Windows >>> 2008 pro engine, when it should be related to the Windows 2010 engine? as >>> in the following output from the command 'razor tasks windows/2016 base' >>> >>> [root@Lee-Centos7 etc]# razor tasks windows/2016 base >>> From http://localhost:8150/api/collections/tasks/windows: >>> >>> name: windows >>> description: Microsoft Windows Generic Installer >>> os: >>> version: 8-pro >>> boot_seq: >>> 1: boot_wim >>> default: boot_local >>> >>> 4. is there an edit that I can apply to the boot order, for example, in >>> 'second-stage.ps1.erb', a file housed in >>> the >>> /opt/puppetlabs/server/apps/razor-server/share/razor-server/tasks/windows/8pro.task >>> directory, that can move the process forward? >>> 5. would an upgrade of 'wimboot' be of any help and does this file need >>> to be in the Windows/2016 task folder? >>> 6. are there any Windows 2016 Server example tasks that I might model my >>> own after? for now, it appears that the jump to stage 2 in the windows >>> server setup is vital to the success of our project. >>> >>> >>> Thank you, >>> >>> Lee >>> >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "puppet-razor" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at https://groups.google.com/group/puppet-razor. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "puppet-razor" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at https://groups.google.com/group/puppet-razor. >> For more options, visit https://groups.google.com/d/optout. >> > -- > You received this message because you are subscribed to the Google Groups > "puppet-razor" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/puppet-razor. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "puppet-razor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/puppet-razor. For more options, visit https://groups.google.com/d/optout.
