@dat In the mysql command line client try the same things as you see from the schema updater:
mysql> CREATE DATABASE fog;
...
...
@dat In the mysql command line client try the same things as you see from the schema updater:
mysql> CREATE DATABASE fog;
...
...
@LPetelik said:
Also, having it set as a debug session does not alway give a prompt. Sometimes, it’s just a blank screen with a flashing cursor.
Thanks for pointing that out as well. To me this sounds a bit like a “random error”. Maybe a hardware issue? As you see this on two different laptops it might be a kernel panic?!? Just an idea. Can you please get us the full output of dmesg
- plug in a VFAT/FAT32 formated USB key and then:
# dmesg | tail
...
[1571962.482081] sd 24:0:0:0: Attached scsi generic sg1 type 0
[1571962.482902] sd 24:0:0:0: [sdb] 1992704 512-byte logical blocks: (1.02 GB/973 MiB)
...
[1571962.488602] sdb: sdb1
[1571962.491966] sd 24:0:0:0: [sdb] Attached SCSI removable disk
...
# mkdir -p /media
# mount /dev/sdb1 /media
# dmesg > /media/dmesg.txt
# umount /dev/sdb1
Please upload to the forum!
@LPetelik Maybe try adding -v
(verbose) option for wget??
@Wayne-Workman Still an issue or has Tom looked into this already? I wonder if you have the same line (78) of code as we have in the source:
serverSize = $servSize($Image->get('path'),$StorageNode);
@Wayne-Workman Please let your colleges run bash -x /bin/fog
instead of just fog
and see what you get…
@thomasdec said:
“bzImage… ok”
“Could not select: Exec format error (http://ipxe.org/2e008081)”
To me this sounds like your bzImage and/or init.xz file is corrupt. This should not happen with the new installer! Maybe it’s a network problem? iPXE NIC driver issue? The boot from hard disk problem could be related to this as well.
When you see the “Chainloading failed, hit ‘s’ … reboot in 10 seconds” message, please do so (hit s
on your keyboard) and type exit
. Does this boot to windows? If yes, then exit style EXIT should work as well!
Go to the ipxe shell again and try loading the kernel/init by hand:
ifstat
kernel bzImage loglevel=7 initrd=init.xz root=/dev/ram0 rw ramdisk_size=127000
imgfetch init.xz
boot
Please take a picture so we can see where exactly the errors happen.
@andyroo54 FOG 0.32 used pxelinux where FOG 1.2.0 and trunk use iPXE. Very different. Not sure if you can have picture only with iPXE but why would you want this???
@andyroo54 I am sorry to say this but your partition layout is not very easy to handle for FOG. Not sure how FOG 0.32 handled this but the recovery partition in between boot and system partition might confuse FOG trunk. That said I wonder if you ever tries “Single Disk - Multiple Partitions” (non resizable)???
@dat Usually when it’s a credentials issue you will see “access denied” or something like this. But I cannot see this on the sceenshot. Something wrong with the DB? Try on the command line? mysql --user=root -p
…
Thanks Tom! The other option would be to dismiss the WHERE clause altogether and have it set all the modules for all hosts:
INSERT INTO moduleStatusByHost (msHostID, msModuleID, msState) SELECT hosts.hostID,modules.id,'1' from hosts,modules ORDER BY hosts.hostID,modules.id;
As well I totally agree with what Wayne said about FOG 1.2.0 being dated and looking into FOG trunk or the near release would be a good idea. BUT you still want to have all your hosts and settings in the new system and therefore we better get your DB up and ready for FOG 1.2.0 first and then move on (after taking a full backup!).
@Wayne-Workman said:
@Sebastian-Roth Is that for proxy mode or non-proxy mode?
Quazz is right! Just for the records, definitely not in proxy mode as far as I know. Too bad.
@Andrew134 said:
Update: went to old server and the modules table does not exist in the database.
Ok, so now at least we know why… I don’t know the older FOG versions at all. I guess I could look into the code but it’s of no use because as a matter of fact you don’t seam to have the table(s) on the old database.
I guess you better go for populating the missing DB tables yourself:
mysql> INSERT INTO `modules` VALUES
(1,'Directory Cleaner','dircleanup','This setting will enable or disable the directory cleaner service module on this specific host. If the module is globally disabled, this setting is ignored.',1),
(2,'User Cleanup','usercleanup','This setting will enable or disable the user cleaner service module on this specific host. If the module is globally disabled, this setting is ignored. The user clean up service will remove all stale users on the local machine, accept for user accounts that are whitelisted. This is typically used when dynamic local users is implemented on the workstation.',1),
(3,'Display Manager','displaymanager','This setting will enable or disable the display manager service module on this specific host. If the module is globally disabled, this setting is ignored.',1),
(4,'Auto Log Out','autologout','This setting will enable or disable the auto log out service module on this specific host. If the module is globally disabled, this setting is ignored.',1),
(5,'Green FOG','greenfog','This setting will enable or disable the green fog service module on this specific host. If the module is globally disabled, this setting is ignored.',1),
(6,'Snapins','snapinclient','This setting will enable or disable the snapin service module on this specific host. If the module is globally disabled, this setting is ignored.',1),
(7,'Client Updater','clientupdater','This setting will enable or disable the client updater service module on this specific host. If the module is globally disabled, this setting is ignored.',1),
(8,'Host Registration','hostregister','This setting will enable or disable the host register service module on this specific host. If the module is globally disabled, this setting is ignored.',1),
(9,'Hostname Changer','hostnamechanger','This setting will enable or disable the hostname changer module on this specific host. If the module is globally disabled, this setting is ignored.',1),
(10,'Printer Manager','printermanager','This setting will enable or disable the printer manager service module on this specific host. If the module is globally disabled, this setting is ignored.',1),
(11,'Task Reboot','taskreboot','This setting will enable or disable the task reboot service module on this specific host. If the module is globally disabled, this setting is ignored.',1),
(12,'User Tracker','usertracker','This setting will enable or disable the user tracker service module on this specific host. If the module is globally disabled, this setting is ignored.',1);
and
mysql> DELETE FROM moduleStatusByHost;
mysql> INSERT INTO moduleStatusByHost (msHostID, msModuleID, msState) SELECT hosts.hostID,modules.id,'1' from hosts,modules WHERE modules.default = 1 ORDER BY hosts.hostID,modules.id;
This will enable all the (default) modules for all your hosts in one go!
From what we found out it seams like someone tried to go back from systemd to sysvinit on this debian 8.3 system but didn’t fully uninstall systemd (utils)! So the installer found systemctl
and tried to do things systemd style which failed… circumvented the systemd check and the installer went trough without an error.
@robza And maybe show us a screenshot of the snapin configuration that fails (if it’s just one particular!).
@hariskar Thanks a lot for the PCAP file!!! I knew that dnsmasq is not very flexible but unfortunately this is another example. The matches and options do work but still dnsmasq is sending 192.168.1.1 in the DHCP header next-server field (so option 67 is pointing to 192.168.1.5 but next-server field is pointing to 192.168.1.1). Turns out that I only tested the dnsmasq config when running it on the same host where the TFTP server is running as well… So I didn’t notice.
But it seams to work with ‘dhcp-boot’ option as well - at least when I just tested here on my debian machine (only tested BIOS and 64 bit UEFI so far). Maybe this depends on dnsmasq version and does not work for others. So please give it a try:
dhcp-match=set:bios,60,PXEClient:Arch:00000
dhcp-boot=tag:bios,undionly.kpxe,192.168.1.5,192.168.1.5
dhcp-match=set:efi32,60,PXEClient:Arch:00006
dhcp-boot=tag:efi32,i386-efi/ipxe.efi,192.168.1.5,192.168.1.5
dhcp-match=set:efibc,60,PXEClient:Arch:00007
dhcp-boot=tag:efibc,ipxe.efi,192.168.1.5,192.168.1.5
dhcp-match=set:efi64,60,PXEClient:Arch:00009
dhcp-boot=tag:efi64,ipxe.efi,192.168.1.5,192.168.1.5
I am pretty sure I tested the ‘dhcp-boot’ option back when I added it to the wiki article. Either it didn’t work or I didn’t like it for some reason. Can’t remember. Please let us know if this is working for you and I will add this to the wiki!
@robza Please try ftp via command line client again and get a directory listing:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /opt/fog/snapins
250 Directory successfully changed.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rwxrwxr-x 1 1001 33 431 Mar 22 11:03 lbe.bat
drwxrwxr-x 3 1001 33 4096 Feb 25 13:00 ssl
226 Directory send OK.
ftp>
@Jbob Lately we have seen those kind of weird MAC addresses in client logs (00:00:00:00:00:00:00:E0
). Those seam to be toredo tunnel interfaces/MACs which don’t play any role for FOG imaging clients I suppose. Should we ignore those when enumerating interfaces/MACs on the client to maybe cause less confusion for users? What do you think?
@Omanimous George has definitely brought up some good questions. Some answers I might be able to give by reading between the lines of what you posted.
Version of FOG seams to be 1.2.0 by what I see from the output posted (FOG trunk is talking a lot more!). As well I am pretty sure the image type is set to ‘Multiple partitions - single disk’.
My guess if that the tool used by FOG 1.2.0 to enumerate partition information is somehow not happy to get the information from the SSD. This is probably why you don’t see the partclone screen at all. To see if this is the case please boot up that client you tried to put the image on SSD in debug (Host -> Basic Tasks -> Debug) and run the following command fogpartinfo --list-parts /dev/sda
If if shows you a proper partition listing (which I doubt!) then we need to have a closer look at your captured image. As George said: Please post what you get from ls -al /images/DLE6410TU
. Otherwise let us know if you see an error (exact message) and maybe try to get a listing with lsblk
(not exactly sure if this tool was part of FOG 1.2.0).
PS: undionly.(k)kpxe should not play any role in this! Changing ‘/dev/sda’ to something different will only work if your SSD is not recognized as ‘/dev/sda’
@Andrew134 said:
It may be important to note that when I re-added the host and let it boot up it changed the name and added the machine to AD without the need to reimage it again.
Thanks for mentioning! I think this should lead us where to look for the reason. I have to admit that I don’t know FOG 0.32 much at all. That was long before I joined in. FOG 1.2.0 (as well as current FOG trunk) have a mysql table storing which services are enabled for each host. It’s called ‘moduleStatusByHost’. Maybe FOG 0.32 didn’t have that table or it was not ex/imported properly?! Check the host’s services settings either via web gui (Host Management -> select a host -> Service Settings (menu on the left)):
mysql> SELECT modules.name,moduleStatusByHost.msState FROM modules,moduleStatusByHost
WHERE moduleStatusByHost.msModuleID = modules.id AND moduleStatusByHost.msHostID = 1738;
+-------------------+---------+
| name | msState |
+-------------------+---------+
| Directory Cleaner | 1 |
| Printer Manager | 1 |
| Task Reboot | 1 |
| User Tracker | 1 |
| Auto Log Out | 1 |
| Green FOG | 1 |
| Snapins | 1 |
| Client Updater | 1 |
| Host Registration | 1 |
| Hostname Changer | 1 |
+-------------------+---------+
10 rows in set (0.01 sec)
You definitely want to see “Hostname Changer” enabled… Otherwise renaming (and AD join) won’t work.
@sgtrice Did you see any kind of FTP error at the end of capturing the image from the client? Please follow this troubleshoting guide to make sure all your credentials at set correctly. Especially make sure the (T)FTP credentials in /opt/fog/.fogsettings are correct before re-running the installer.
Warning: array_walk() expects parameter 2 to be a valid callback, no array or string given in /var/www/html/fog/lib/fog/fogcontroller.class.php on line 264
Tom has changed the code lately. Can you please upgrade to the very latest version and see if you still see the error.