ipxe/boot.php hanging on capture
-
@ftgjason I added a dumb switch which is connected to the fog client machine that I wish to upload/capture. Nothing is different with the addition of the dumb switch.
-
Can you get a screen shot or video of the issue?
-
-
@ftgjason what’s in the Apache error logs?
-
This post is deleted! -
@Tom-Elliott here is the latest couple of entries…
[Mon Sep 19 15:46:48.827081 2016] [:error] [pid 2156] [client 192.168.0.66:8904] PHP Fatal error: Uncaught exception 'Exception' with message 'Type: 8, File: / var/www/html/fog/lib/fog/fogbase.class.php, Line: 791, Message: Undefined index: value, Host: 192.168.20.49, Username: fog' in /var/www/html/fog/lib/fog/fogftp. class.php:74\nStack trace:\n#0 /var/www/html/fog/lib/fog/storagenode.class.php(1 13): FOGFTP->connect()\n#1 /var/www/html/fog/lib/fog/fogcontroller.class.php(831 ): StorageNode->loadImages()\n#2 /var/www/html/fog/lib/fog/fogcontroller.class.p hp(212): FOGController->loadItem('images')\n#3 /var/www/html/fog/lib/fog/storage node.class.php(45): FOGController->get('images')\n#4 /var/www/html/fog/lib/fog/s toragegroup.class.php(73): StorageNode->get('images')\n#5 [internal function]: S torageGroup->{closure}(Object(StorageNode), 1)\n#6 /var/www/html/fog/lib/fog/sto ragegroup.class.php(87): array_walk(Array, Object(Closure))\n#7 /var/www/html/fo g/lib/fog/bootmenu.class.php(1381): StorageGroup->getOptimalStorageNode('8')\n#8 /var/www/html/fog/lib/fog/bootmenu.class.php(424): BootMenu->getTasking()\n#9 [ internal funct in /var/www/html/fog/lib/fog/fogftp.class.php on line 74 [Tue Sep 20 09:06:32.035780 2016] [:error] [pid 2113] [client 192.168.0.64:3636] PHP Fatal error: Uncaught exception 'Exception' with message 'Type: 8, File: / var/www/html/fog/lib/fog/fogbase.class.php, Line: 791, Message: Undefined index: value, Host: 192.168.20.49, Username: fog' in /var/www/html/fog/lib/fog/fogftp. class.php:74\nStack trace:\n#0 /var/www/html/fog/lib/fog/storagenode.class.php(1 13): FOGFTP->connect()\n#1 /var/www/html/fog/lib/fog/fogcontroller.class.php(831 ): StorageNode->loadImages()\n#2 /var/www/html/fog/lib/fog/fogcontroller.class.p hp(212): FOGController->loadItem('images')\n#3 /var/www/html/fog/lib/fog/storage node.class.php(45): FOGController->get('images')\n#4 /var/www/html/fog/lib/fog/s toragegroup.class.php(73): StorageNode->get('images')\n#5 [internal function]: S torageGroup->{closure}(Object(StorageNode), 1)\n#6 /var/www/html/fog/lib/fog/sto ragegroup.class.php(87): array_walk(Array, Object(Closure))\n#7 /var/www/html/fo g/lib/fog/bootmenu.class.php(1381): StorageGroup->getOptimalStorageNode('8')\n#8 /var/www/html/fog/lib/fog/bootmenu.class.php(424): BootMenu->getTasking()\n#9 [ internal funct in /var/www/html/fog/lib/fog/fogftp.class.php on line 74 [Tue Sep 20 09:26:50.788079 2016] [:error] [pid 2152] [client 192.168.0.64:43304 ] PHP Fatal error: Uncaught exception 'Exception' with message 'Type: 8, File: /var/www/html/fog/lib/fog/fogbase.class.php, Line: 791, Message: Undefined index : value, Host: 192.168.20.49, Username: fog' in /var/www/html/fog/lib/fog/fogftp .class.php:74\nStack trace:\n#0 /var/www/html/fog/lib/fog/storagenode.class.php( 113): FOGFTP->connect()\n#1 /var/www/html/fog/lib/fog/fogcontroller.class.php(83 1): StorageNode->loadImages()\n#2 /var/www/html/fog/lib/fog/fogcontroller.class. php(212): FOGController->loadItem('images')\n#3 /var/www/html/fog/lib/fog/storag enode.class.php(45): FOGController->get('images')\n#4 /var/www/html/fog/lib/fog/ storagegroup.class.php(73): StorageNode->get('images')\n#5 [internal function]: StorageGroup->{closure}(Object(StorageNode), 1)\n#6 /var/www/html/fog/lib/fog/st oragegroup.class.php(87): array_walk(Array, Object(Closure))\n#7 /var/www/html/f og/lib/fog/bootmenu.class.php(1381): StorageGroup->getOptimalStorageNode('8')\n# 8 /var/www/html/fog/lib/fog/bootmenu.class.php(424): BootMenu->getTasking()\n#9 [internal funct in /var/www/html/fog/lib/fog/fogftp.class.php on line 74 [root@localhost ~]#
Mod edited to use code box.
-
@ftgjason on the fog server at CLI, what is the output of these two commands?
ip addr show
and
cat /tftpboot/default.ipxe
-
[root@localhost ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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 fq_codel state UP group default qlen 1000 link/ether 18:03:73:df:0d:93 brd ff:ff:ff:ff:ff:ff inet 192.168.0.49/23 brd 192.168.1.255 scope global eno1 valid_lft forever preferred_lft forever inet6 fe80::1a03:73ff:fedf:d93/64 scope link valid_lft forever preferred_lft forever [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# cat /tftpboot/default.ipxe #!ipxe cpuid --ext 29 && set arch x86_64 || set arch i386 params param mac0 ${net0/mac} param arch ${arch} param platform ${platform} param product ${product} param manufacturer ${product} param ipxever ${version} param filename ${filename} isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme isset ${net2/mac} && param mac2 ${net2/mac} || goto bootme :bootme chain http://192.168.0.49/fog/service/ipxe/boot.php##params [root@localhost ~]#
-
This could be another issue with IPv6 and Apache. Try disabling IPv6 completely. If you can tell me what OS & version your fog server is running, I can get you some specific instructions to try.
-
@Wayne-Workman Fedora 22 with FOG Running Version 1.3.0-RC-10
SVN Revision: 5955that is the latest SVN correct?
-
@ftgjason I don’t know if that’s the latest version, I’ve been a little under the weather lately.
I found this reference, looks professional and is detailed:
https://www.g-loaded.eu/2008/05/12/how-to-disable-ipv6-in-fedora-and-centos/Copy/pasting it so that it’s here still in case the link/site disappears in the future:
They say that by disabling IPv6 things get a bit smoother and faster regarding networking. I don’t really know if this is true, but I guess, if you’ve decided to disable this feature, you probably care to do it the Right Way. As far as I know, trying to disable IPv6 through anaconda during the installation of Fedora or CentOS does not turn off the IPv6 functionality completely, but it just disables it for the configured network interface. This is not actually a problem, but, why should this network layer be enabled system-wide, if you do not use it at all? This small article assists you in disabling IPv6 in the latest Fedora and CentOS releases in an aggressive and unforgiving way.
Check if the module is loadedIPv6 functionality is being made available to the system by the ipv6 kernel module. To check if this module is currently loaded in your system, issue the following command as root:
lsmod | grep ipv6
If you see ipv6 in its output, then the module is loaded.
Performing this check is absolutely not necessary. It is included in this article for completeness.
Disable IPv6You can prevent a module from being inserted into the kernel by either blacklisting it or by completely disabling it.
In this case, since you will most probably turn off the IPv6 firewall (ip6tables) as well, it is highly recommended to completely disable the ipv6 module, to avoid any accidental loading of the IPv6 stack without any firewall protection at the same time.
How the module blacklist worksThis information about blacklisting a kernel module exists here for educational purposes. It has been mentioned above that for ipv6 it is important to completely disable it.
From the modprobe.conf man page:
Modules can contain their own aliases: usually these are aliases describing the devices they support, such as “pci:123…”. These “internal” aliases can be overridden by normal “alias” keywords, but there are cases where two or more modules both support the same devices, or a module invalidly claims to support a device: the blacklist keyword indicates that all of that particular module’s internal aliases are to be ignored.
So, blacklist indicates that a module’s aliases should be ignored. But, what happens if an application requires to load that specific module or if root uses modprobe to load it on demand? Let’s test it…
To blacklist the module, simply save the following line in a file inside /etc/modprobe.d:
blacklist ipv6
Next, disable any services that use IPv6, eg ip6tables or any IPv6-enabled network interfaces and reboot (mandatory).
After you’ve logged-in again, try, for example, to load the ipv6 module with the modprobe command (as root):
[root@centos]# modprobe -v ipv6 insmod /lib/modules/2.6.18-53.1.14.el5/kernel/net/ipv6/ipv6.ko [root@centos]# lsmod | grep v6 ipv6 251393 8
The blacklisted module has been loaded. This is what happens if it is needed by a system service, regardless of the fact that it has been blacklisted. In the case of ipv6 this could be a security risk, provided that the ipv6 firewall has been turned off but some network interfaces still use IPv6. So, frankly, it is suggested to read on how to disable the module more aggressively…
Completely disable the ipv6 moduleTo completely disable IPv6 in your system, all you have to do is save the following line in a file inside /etc/modprobe.d/.
install ipv6 /bin/true
The above line means: whenever the system needs to load the ipv6 kernel module, it is forced to execute the command true instead of actually loading the module. Since /bin/true, does absolutely nothing, the module never gets loaded.
Again, it is required to reboot for the changes to take effect.
It is obvious that this is an aggressive method to disable kernel modules, but it guarantees that the module never gets loaded.
This is the recommended way to disable IPv6.
Other Configuration TasksSince the IPv6 functionality has been disabled, you can disable the ip6tables service (IPv6 Firewall). Issue the following command as root:
chkconfig ip6tables off
It is also a good idea, since the ip6tables service has been turned off, to disable any IPv6-related functionality in the network interface configuration. Even if you do not do this, the IPv6 stack will not be initialized because the ipv6 module cannot be loaded. But, generally, you could set the following options to “no” inside your network interface scripts, for example: /etc/sysconfig/network-scripts/ifcfg-eth0
IPV6INIT=no IPV6_AUTOCONF=no
Finally, In fedora 8 or newer you can safely remove the following option from the /etc/sysconfig/network file, if it exists:
NETWORKING_IPV6=no
Final Thoughts
Using the instructions above, you can completely disable IPv6 in your system. On the other hand, you should understand that IPv6 is not an evil thing… It exists in order to address certain issues. If you ever think about actually trying to configure and use it instead of just disabling it every time you install your Linux operating system, here is a good place to start…
How to Disable IPv6 in Fedora and CentOS by George Notaras is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Permissions beyond the scope of this license may be available at Licensing Information.
Copyright 2008 - Some Rights Reserved -
@Wayne-Workman I’m sure those are great instructions for a ‘non-rookie’ on Fedora, but I struggle. For some reason I think that ipv6 is disabled because you had me disable that when I installed Fedora 22 about a 14 months ago.
But as is, I followed another site that gave me an in-depth how-to (http://linoxide.com/linux-how-to/disable-ipv6-centos-fedora-rhel/) and restarted my server…same issue with uploading client to server still exists. -
@Wayne-Workman Here is the latest errors I see in apache log from
[root@localhost ~]# tail -n 100 /var/log/httpd/error_log
[Tue Sep 20 11:08:23.892875 2016] [suexec:notice] [pid 776] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using localhost.localdomain. Set the ‘ServerName’ directive globally to suppress this message
[Tue Sep 20 11:08:23.959982 2016] [auth_digest:notice] [pid 776] AH01757: generating secret for digest authentication …
[Tue Sep 20 11:08:23.961781 2016] [lbmethod_heartbeat:notice] [pid 776] AH02282: No slotmem from mod_heartmonitor
[Tue Sep 20 11:08:24.545092 2016] [mpm_prefork:notice] [pid 776] AH00163: Apache/2.4.18 (Fedora) OpenSSL/1.0.1k-fips PHP/5.6.23 configured – resuming normal operations
[Tue Sep 20 11:08:24.545149 2016] [core:notice] [pid 776] AH00094: Command line: ‘/usr/sbin/httpd -D FOREGROUND’
[Tue Sep 20 11:11:36.051028 2016] [:error] [pid 1080] [client 192.168.0.64:18394] PHP Fatal error: Uncaught exception ‘Exception’ with message ‘Type: 8, File: /var/www/html/fog/lib/fog/fogbase.class.php, Line: 791, Message: Undefined index: value, Host: 192.168.20.49, Username: fog’ in /var/www/html/fog/lib/fog/fogftp.class.php:74\nStack trace:\n#0 /var/www/html/fog/lib/fog/storagenode.class.php(113): FOGFTP->connect()\n#1 /var/www/html/fog/lib/fog/fogcontroller.class.php(831): StorageNode->loadImages()\n#2 /var/www/html/fog/lib/fog/fogcontroller.class.php(212): FOGController->loadItem(‘images’)\n#3 /var/www/html/fog/lib/fog/storagenode.class.php(45): FOGController->get(‘images’)\n#4 /var/www/html/fog/lib/fog/storagegroup.class.php(73): StorageNode->get(‘images’)\n#5 [internal function]: StorageGroup->{closure}(Object(StorageNode), 1)\n#6 /var/www/html/fog/lib/fog/storagegroup.class.php(87): array_walk(Array, Object(Closure))\n#7 /var/www/html/fog/lib/fog/bootmenu.class.php(1381): StorageGroup->getOptimalStorageNode(‘8’)\n#8 /var/www/html/fog/lib/fog/bootmenu.class.php(424): BootMenu->getTasking()\n#9 [internal funct in /var/www/html/fog/lib/fog/fogftp.class.php on line 74
[root@localhost ~]# -
@ftgjason run
ip addr show
again and post the output please. -
@Wayne-Workman
looks like it is still there…huh?[root@localhost ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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 fq_codel state UP group default qlen 1000 link/ether 18:03:73:df:0d:93 brd ff:ff:ff:ff:ff:ff inet 192.168.0.49/23 brd 192.168.1.255 scope global eno1 valid_lft forever preferred_lft forever inet6 fe80::1a03:73ff:fedf:d93/64 scope link valid_lft forever preferred_lft forever [root@localhost ~]#
Mod edited to use code box.
-
@ftgjason Yep, which is why I asked you to check. that IPv6 address won’t be there anymore when you’ve successfully disabled IPv6.
-
@ftgjason said in ipxe/boot.php hanging on capture:
@Tom-Elliott here is the latest couple of entries…
[Mon Sep 19 15:46:48.827081 2016] [:error] [pid 2156] [client 192.168.0.66:8904] PHP Fatal error: Uncaught exception 'Exception' with message 'Type: 8, File: / var/www/html/fog/lib/fog/fogbase.class.php, Line: 791, Message: Undefined index: value, Host: 192.168.20.49, Username: fog' in /var/www/html/fog/lib/fog/fogftp. class.php:74\nStack trace:\n#0 /var/www/html/fog/lib/fog/storagenode.class.php(1 13): FOGFTP->connect()\n#1 /var/www/html/fog/lib/fog/fogcontroller.class.php(831 ): StorageNode->loadImages()\n#2 /var/www/html/fog/lib/fog/fogcontroller.class.p hp(212): FOGController->loadItem('images')\n#3 /var/www/html/fog/lib/fog/storage node.class.php(45): FOGController->get('images')\n#4 /var/www/html/fog/lib/fog/s toragegroup.class.php(73): StorageNode->get('images')\n#5 [internal function]: S torageGroup->{closure}(Object(StorageNode), 1)\n#6 /var/www/html/fog/lib/fog/sto ragegroup.class.php(87): array_walk(Array, Object(Closure))\n#7 /var/www/html/fo g/lib/fog/bootmenu.class.php(1381): StorageGroup->getOptimalStorageNode('8')\n#8 /var/www/html/fog/lib/fog/bootmenu.class.php(424): BootMenu->getTasking()\n#9 [ internal funct in /var/www/html/fog/lib/fog/fogftp.class.php on line 74 [Tue Sep 20 09:06:32.035780 2016] [:error] [pid 2113] [client 192.168.0.64:3636] PHP Fatal error: Uncaught exception 'Exception' with message 'Type: 8, File: / var/www/html/fog/lib/fog/fogbase.class.php, Line: 791, Message: Undefined index: value, Host: 192.168.20.49, Username: fog' in /var/www/html/fog/lib/fog/fogftp. class.php:74\nStack trace:\n#0 /var/www/html/fog/lib/fog/storagenode.class.php(1 13): FOGFTP->connect()\n#1 /var/www/html/fog/lib/fog/fogcontroller.class.php(831 ): StorageNode->loadImages()\n#2 /var/www/html/fog/lib/fog/fogcontroller.class.p hp(212): FOGController->loadItem('images')\n#3 /var/www/html/fog/lib/fog/storage node.class.php(45): FOGController->get('images')\n#4 /var/www/html/fog/lib/fog/s toragegroup.class.php(73): StorageNode->get('images')\n#5 [internal function]: S torageGroup->{closure}(Object(StorageNode), 1)\n#6 /var/www/html/fog/lib/fog/sto ragegroup.class.php(87): array_walk(Array, Object(Closure))\n#7 /var/www/html/fo g/lib/fog/bootmenu.class.php(1381): StorageGroup->getOptimalStorageNode('8')\n#8 /var/www/html/fog/lib/fog/bootmenu.class.php(424): BootMenu->getTasking()\n#9 [ internal funct in /var/www/html/fog/lib/fog/fogftp.class.php on line 74 [Tue Sep 20 09:26:50.788079 2016] [:error] [pid 2152] [client 192.168.0.64:43304 ] PHP Fatal error: Uncaught exception 'Exception' with message 'Type: 8, File: /var/www/html/fog/lib/fog/fogbase.class.php, Line: 791, Message: Undefined index : value, Host: 192.168.20.49, Username: fog' in /var/www/html/fog/lib/fog/fogftp .class.php:74\nStack trace:\n#0 /var/www/html/fog/lib/fog/storagenode.class.php( 113): FOGFTP->connect()\n#1 /var/www/html/fog/lib/fog/fogcontroller.class.php(83 1): StorageNode->loadImages()\n#2 /var/www/html/fog/lib/fog/fogcontroller.class. php(212): FOGController->loadItem('images')\n#3 /var/www/html/fog/lib/fog/storag enode.class.php(45): FOGController->get('images')\n#4 /var/www/html/fog/lib/fog/ storagegroup.class.php(73): StorageNode->get('images')\n#5 [internal function]: StorageGroup->{closure}(Object(StorageNode), 1)\n#6 /var/www/html/fog/lib/fog/st oragegroup.class.php(87): array_walk(Array, Object(Closure))\n#7 /var/www/html/f og/lib/fog/bootmenu.class.php(1381): StorageGroup->getOptimalStorageNode('8')\n# 8 /var/www/html/fog/lib/fog/bootmenu.class.php(424): BootMenu->getTasking()\n#9 [internal funct in /var/www/html/fog/lib/fog/fogftp.class.php on line 74 [root@localhost ~]#
Mod edited to use code box.
I’m thinking more about these errors and the screenshot you posted - what in the world does FTP have to do with getting boot parameters from boot.php @Developers ? Makes no sense to me.
The screenshot says input/output error. I guess we can check what it’s talking about. If you give me your FOG server’s IP address, and the MAC address of the computer you’re working with, I can give you a URL to look at.
-
@Wayne-Workman It will look at ftp if a requested node is unable to find localized images. It will try finding images by way of ftp if it cannot set them internally first. This process usually works fine but if ftp is bad then this might happen.
-
@Wayne-Workman
FOG - 192.168.0.49
Mac of Client
78:45:c4:24:82:d8 -
http://192.168.0.49/fog/service/ipxe/boot.php?mac=78:45:c4:24:82:d8
Let us know what it shows, too. Just copy/paste, use the forum’s code snippit tool.