PXE-E51 Error after fresh installs



  • Server
    • FOG Version: 1.3.0
    • OS: Ubuntu 14.04 and 16.04
    Client
    • Service Version:
    • OS:
    Description

    I’ve been having an issue when attempting to install 1.3.0 on either Ubuntu 14.04 or 16.04. I am attempting to configure FOG for an isolated network. I previously had 1.2.0 installed on Ubuntu 14.04 and had no issues. I am wanting to upgrade to 1.3.0 as I have some devices whose network boot is not compatible with the current version.

    I originally tried updating to 1.3.0 on my current server. Update went through OK, but after I was unable to PXE boot any device, receiving the error message code PXE-E51.

    At that point I decided I also wanted to get it on Ubuntu 16.04, so I went ahead and installed it on a new box and did a fresh Fog 1.3.0 installation.

    Everything in the install goes OK. I keep it connected to the Internet during install, while assigning IP 192.168.1.1 to the Fog server. 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 matter what combination of installs I do, 16.04 with 1.3.0 or 14.04 with 1.3.0, I am ending up with the same result. Not sure if I’m missing something simple here or even where to start digging… the only difference I’m noticing during the install is that I have to change the network interface when prompted. It 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.

    Thanks in advance for any help! Please let me know if there’s any more info I can provide to help troubleshoot this.


  • Moderator

    @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.



  • @Wayne-Workman

    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.


  • Moderator

    @msheikh

    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 one 192.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



  • @Wayne-Workman

    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!


  • Moderator

    @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



  • @Wayne-Workman

    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?


  • Moderator

    @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?



  • @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_Address

    It 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.


  • Moderator

    @george1421 Started a new script project called UpdateIP, you can see it here:
    https://github.com/wayneworkman/fog-community-scripts

    It’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.


  • Moderator

    @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.


  • Moderator

    @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.


  • Moderator

    @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_Address

    It 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?


  • Senior Developer

    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.


Log in to reply
 

351
Online

39.3k
Users

11.0k
Topics

104.4k
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.