-
Notifications
You must be signed in to change notification settings - Fork 163
Common problems and solutions
This results from using an older version of Ruby to run the razor-client. It is recommended to use 1.9.3 for the client, though later versions should work too. The ticket tracking the fix for this is here.
This can be caused by the server not starting up properly. Look at the server logs (/var/log/puppetlabs/razor-server/server.log) to see if any errors are mentioned there.
This occurs when trying to build the Windows 2008R2 winpe image with an older version of Powershell. To fix this issue, install the Windows Management Framework version 4.0.
On VMWare, the "starting wpeinit to detect and boot network hardware" message may appear in a frozen state for long periods of time. This can be resolved by going to "Add => New", then 'More options', 'Create a custom virtual machine', then select the image type under Microsoft Windows and continue through the rest of the steps. After that, reboot the machine.
In Windows, if the unattended.xml file does not include all properties that are required by the installer, the installer switches to a manual installation. This probably means a required property was omitted, or an invalid value was supplied. In order to determine the problem with the unattended.xml, look at the setupact.log file.
One possibility is a language mismatch. If the ISO file is not the en-US
version, Razor's stock Windows tasks will fail since the en-US
UILanguage property is invalid. This should be overridden to match the ISO's actual language.
This occurs for a number of reasons related to booting. Most often, either the URL for razor-server is incorrect or the server returned an invalid response. Check the URL displayed in the console just prior to this error message to see what is being returned by visiting it in a browser.
The URL returned in the /api
endpoints is actually generated at runtime based on the hostname you contact. This comes up from the Ruby Rack code, rather than anything we directly control. Generally speaking this tries to resolve your hostname correctly -- and the most common cause of trouble is an entry in /etc/hosts
that leads to resolving your server as "localhost" rather than the expected FQDN. Check there first.
By default, the Redhat task does not allow multiple network cards. If this capability is needed, run this command, which will modify the kickstart template to add the two devices:
sed -i '/network.*/i\network --bootproto=dhcp --device=eth0\nnetwork --bootproto=dhcp --device=eth1' /opt/puppet/share/razor-server/tasks/redhat.task/kickstart.erb
Other tasks may have similar workarounds available.
Using Mac Disk Utility to extract Windows ISO files will result in missing file, for example the SPWIZENG.DLL will not be created when extracting Windows 2012R2 ISO image file, the SPWIZENG.DLL file is needed for window setup.
There are many reasons to cause the failure 'Exec Format error' in iPXE boot with Razor, using Mac Disk Utility to extract Windows ISO image is one of them.
VirtualBox "Could not select: Exec format error ( http://ipxe.org/2e008001)" on version 4.3.26
This may be fixed by installing the VirtualBox Extension Pack for 4.3.26 from the official VirtualBox page.
If you are not installing Windows, ensure the "Enable APIC" setting is not checked (requiring a maximum of 1 processor) for nodes being installed. This will bypass requiring manual restarts between warm boots. If you are installing Windows, however, you'll need the "Enable APIC" setting checked for nodes to prevent an error with a "Status" of 0xc0000225. With "Enable APIC" checked, due to a bug in VirtualBox, you'll need to manually hard-reboot (power-cycle) the machine when Razor tells it to warm-reboot. This is because warm reboots don't respond properly to the DHCP info, specifically the Request stage of DORA (Discover/Offer/Request/Acknowledge) times out. The reported error code for this issue is 0x040ee119.
One method to get around this DHCP timeout is to boot from an ipxe floppy device, which will go through the installation without intervention at the various reboots.
Build the ipxe.dsk floppy image:
git clone git://git.ipxe.org/ipxe.git
cd ipxe/src
make bin/ipxe.dsk
On your VirtualBox, add the floppy by going to settings->storage->right click in the storage tree box->add floppy controller->add disk->choose disk->your ipxe.dsk. (You need a separate copy of the ipxe.dsk file for each machine if booting more than 1 at once).
Check that your PostgreSQL database was created with the UTF-8
encoding, which we depend on in order to manage text strings correctly. Newer versions default to this, but older versions may default to a locale-specific encoding that will cause failures.
After getting Postgresql and Razor Server installed, there may be an issue starting the razor-server service with systemd:
JBAS014775: New missing/unsatisfied dependencies:
service jboss.binding.http (missing) dependents: [service jboss.web.connector.http]
To address the issue, change the line <socket-binding name='http' port='${http.port:8080}'/>
to <socket-binding name='http' port='8080'/>
in /var/lib/razor-torquebox/configuration/standalone.xml
. This has not been encountered on any other systems.
If the URL for the Razor server does not contain a period (e.g. http://razor:8150/svc), the domain will be guessed from the preseed file's provided hostname. This is an unfortunate feature in how the preseed file is fetched from the kernel arguments. See the Debian documentation for more information.
Installing Razor Server with the rpm package provided by yum.puppetlabs.com will fail due to missing the dependency libarchive-devel
. This can be fixed by enabling the EPEL repo on el5, which provides the libarchive package. More information available at https://fedoraproject.org/wiki/EPEL
If you are using an older version of Postgresql, you will see an error similar to ERROR -- razor.sequel: Java::OrgPostgresqlUtil::PSQLException: ERROR: syntax error at or near "DEFERRABLE"
. More information available at https://groups.google.com/forum/#!topic/puppet-razor/Cxcz56GXUbk
If you are installing ESXi 5.5 using a kickstart script, like razor, and are installing to SD card, the install will fail with an error stating "Can't have a partition table outside the disk." The solution is to use ESXi 5.5 update 1 or earlier for the installation.