PXE-E51 Error after fresh installs
-
What is the version you’re installing as represented on the GUI or installer?
There has not been a release of 1.3.0 yet, so saying “FOG Version: 1.3.0” means nothing to us. I need the RC number you’re trying to install to be able to help.
-
@msheikh said in PXE-E51 Error after fresh installs:
After the install I make the address and subnet changes in /etc/network/interfaces, remove internet access and reboot. In Ubuntu 14.04 with Fog 1.2.0, the system would be ready to go at this point.
No it wouldn’t, there’s additional things that would need to be changed or it would definitely not work.
You should read through this, as I think this is what you’re missing:
https://wiki.fogproject.org/wiki/index.php?title=Change_FOG_Server_IP_AddressIt is not finding an interface, so I have to point it to eno1. Installs with 1.2.0 on 14.04 have no issues finding the eth0 interface.
FOG 1.2.0 didn’t find any interface, the name eth0 was hard-coded into 1.2.0 which means that any interface of another name would not be setup for use correctly. FOG 1.3.0 dynamically finds the interface with Internet access. If FOG 1.3.0 says that’s eno1, then that’s probably the interface with Internet access. If you’re changing it to eth0, that makes me wonder if you have two network interfaces on this server?
-
@Wayne-Workman Just thinking out loud here, but this situation may happen often enough that either we should have a bash shell/php script that just updates everything or have it part of the installer to update the bits every place that it needs. It should be part of the base install (not necessarily part of the web gui since it will only be run once under very specific conditions). The fog installer needs to have internet access to install and download all of its bits, but is destined to live in an isolated world it will (probably) have its ip address changed. Its going to happen more often I feel.
-
@george1421 Sounds like a good script for the new fog-community-scripts repo. A lot of work from @sudburr and myself is already done in this area, it should be a snap to write up something generalized for 1.3.0. I’ve been meaning to do this for a long time, I have a moment so why not start I guess.
-
@george1421 Started a new script project called UpdateIP, you can see it here:
https://github.com/wayneworkman/fog-community-scriptsIt’s not ready for use just yet. In fact I’ve not even test-ran it because I know it’ll fail. But it’s almost done. Due to the nature of how it’ll be used, this script will need to correct ISC-DHCP appropriately if that’s marked for use inside of the .fogsettings file.
-
@Tom-Elliott said in PXE-E51 Error after fresh installs:
What is the version you’re installing as represented on the GUI or installer?
There has not been a release of 1.3.0 yet, so saying “FOG Version: 1.3.0” means nothing to us. I need the RC number you’re trying to install to be able to help.
Running Version 1.3.0-RC-30
SVN Revision: 6035@Wayne-Workman said in PXE-E51 Error after fresh installs:
@msheikh said in PXE-E51 Error after fresh installs:
After the install I make the address and subnet changes in /etc/network/interfaces, remove internet access and reboot. In Ubuntu 14.04 with Fog 1.2.0, the system would be ready to go at this point.
No it wouldn’t, there’s additional things that would need to be changed or it would definitely not work.
You should read through this, as I think this is what you’re missing:
https://wiki.fogproject.org/wiki/index.php?title=Change_FOG_Server_IP_AddressIt is not finding an interface, so I have to point it to eno1. Installs with 1.2.0 on 14.04 have no issues finding the eth0 interface.
FOG 1.2.0 didn’t find any interface, the name eth0 was hard-coded into 1.2.0 which means that any interface of another name would not be setup for use correctly. FOG 1.3.0 dynamically finds the interface with Internet access. If FOG 1.3.0 says that’s eno1, then that’s probably the interface with Internet access. If you’re changing it to eth0, that makes me wonder if you have two network interfaces on this server?
I configured the FOG Server IP Address to 192.168.1.1 during the install as mentioned in the guide on the wiki, verified in /opt/fog/.fogsettings that it is still set correctly. I am still able to access the interface, so I didn’t think that was the issue.
Thanks for the info on the latter portion, I was unaware. FOG 1.3.0 was finding no interface, though eno1 was the interface connected to the internet. I pointed to eno1 during the install and it moved forward OK. I am not changing it to eth0 and only have one NIC.
-
@msheikh said in PXE-E51 Error after fresh installs:
I pointed to eno1 during the install and it moved forward OK.
So, fog is now installed on the server and it’s using the IP you want it to use, but you still cannot network boot? Can you please check more than just the .fogsettings file, please go through the web interface and look at the IPs configured for the things listed in that “Change fog server IP address” article I posted.
Also, since it’s on an isolated network, what’s doing DHCP?
-
Thanks for following up, Wayne.
Correct, fog is installed on the server and it is using the IP I want it to use, but I still cannot network boot. I did verify the web server and tftp server are using the correct IP.
I currently have the fog server handling DHCP per the guidelines on the Fog Wiki for isolated networks. It worked OK for the previous installation.
I installed Ubuntu 14.04 and Fog 1.2.0 on another box earlier today to test. Everything works, including network boot, until I attempt to update to 1.3.0-RC30. The update goes through without errors, but I am no longer able to network boot.
Is there anything needing to be edited in the dhcp or tftp config files for Linux or does Fog automatically configure those if they are even required?
-
@msheikh said in PXE-E51 Error after fresh installs:
Is there anything needing to be edited in the dhcp or tftp config files for Linux or does Fog automatically configure those if they are even required?
FOG only touches these files when the installer runs - and you cannot run the installer while offline. Most likely your DHCP configuration and the tftp file needs updated.
Please post the output of these two below commands and I can give you a good dhcpd.conf file. For the default.ipxe file just manually edit it, the line to change is near the bottom.
ip addr show;cat /etc/dhcp/dhcpd.conf
-
Hi Wayne,
Apologies for the delay, here is the output for those commands:
root@NHS-FOG-01:~# ip addr show;cat /etc/dhcp/dhcpd.conf 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 2c:27:d7:42:cc:d5 brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global eno1 valid_lft forever preferred_lft forever inet6 fe80::2e27:d7ff:fe42:ccd5/64 scope link valid_lft forever preferred_lft forever # DHCP Server Configuration file\n#see /usr/share/doc/dhcp*/dhcpd.conf.sample # This file was created by FOG #Definition of PXE-specific options # Code 1: Multicast IP Address of bootfile # Code 2: UDP Port that client should monitor for MTFTP Responses # Code 3: UDP Port that MTFTP servers are using to listen for MTFTP requests # Code 4: Number of seconds a client must listen for activity before trying # to start a new MTFTP transfer # Code 5: Number of seconds a client must listen before trying to restart # a MTFTP transfer option space PXE; option PXE.mtftp-ip code 1 = ip-address; option PXE.mtftp-cport code 2 = unsigned integer 16; option PXE.mtftp-sport code 3 = unsigned integer 16; option PXE.mtftp-tmout code 4 = unsigned integer 8; option PXE.mtftp-delay code 5 = unsigned integer 8; option arch code 93 = unsigned integer 16; use-host-decl-names on; ddns-update-style interim; ignore client-updates; # Specify subnet of ether device you do NOT want service. # For systems with two or more ethernet devices. # subnet 136.165.0.0 netmask 255.255.0.0 {} subnet 172.31.41.0 netmask 255.255.255.192{ option subnet-mask 255.255.255.192; range dynamic-bootp 172.31.41.10 172.31.41.62; default-lease-time 21600; max-lease-time 43200; #option routers 0.0.0.0 #option routers 0.0.0.0 next-server 192.168.1.1; class "Legacy" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00000"; filename "undionly.kkpxe"; } class "UEFI-32-2" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00002"; filename "i386-efi/ipxe.efi"; } class "UEFI-32-1" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00006"; filename "i386-efi/ipxe.efi"; } class "UEFI-64-1" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007"; filename "ipxe.efi"; } class "UEFI-64-2" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00008"; filename "ipxe.efi"; } class "UEFI-64-3" { match if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00009"; filename "ipxe.efi"; } class "SURFACE-PRO-4" { match if substring(option vendor-class-identifier, 0, 32) = "PXEClient:Arch:00007:UNDI:003016"; filename "ipxe7156.efi"; } class "Apple-Intel-Netboot" { match if substring(option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386"; option dhcp-parameter-request-list 1,3,17,43,60; if (option dhcp-message-type = 8) { option vendor-class-identifier "AAPLBSDPC"; if (substring(option vendor-encapsulated-options, 0, 3) = 01:01:01) { # BSDP List option vendor-encapsulated-options 01:01:01:04:02:80:00:07:04:81:00:05:2a:09:0D:81:00:05:2a:08:69:50:58:45:2d:46:4f:47; filename "ipxe.efi"; } } } }
Let me know if there’s any more info I can provide. Thanks!
-
Inside of
/etc/dhcp/dhcpd.conf
change this line:subnet 172.31.41.0 netmask 255.255.255.192{
To this:
subnet 192.168.1.0 netmask 255.255.255.0{
Here’s a tutorial on Vi if you need it: https://wiki.fogproject.org/wiki/index.php?title=Vi
Then restart DHCP with this command:
service dhcpd restart
Then, as I said earlier, you will also have to edit
/tftpboot/default.ipxe
and towards the bottom of the file, change the old ip address to the new one192.168.1.1
Then modify each of these via the web interface:
- Update the IP address for the storage node on the FOG system where you changed the IP address
Web Interface -> Storage Management
- Update the FOG_WEB_HOST value
Web Interface -> FOG Configuration -> FOG Settings -> Web Server -> FOG_WEB_HOST
- Update the FOG_TFTP_HOST value
Web Interface -> FOG Configuration -> FOG Settings -> TFTP Server -> FOG_TFTP_HOST
Reference:
https://wiki.fogproject.org/wiki/index.php?title=Change_FOG_Server_IP_Address - Update the IP address for the storage node on the FOG system where you changed the IP address
-
Perfect, thanks so much Wayne.
I had to edit the field for ‘range dynamic-bootp’ to conform to the 192.168.1.xx subnet, but after that change I am back in action.
The default.ipxe was already configured for 192.168.1.1, so I think the only issue was that the DHCP was broken.
Thanks again, much appreciated.
-
@msheikh said in PXE-E51 Error after fresh installs:
I had to edit the field for ‘range dynamic-bootp’ to conform to the 192.168.1.xx subnet
Ah, forgot about that part. I glanced at next-server and saw it was right, idk what I was thinking.