SOLVED Bugs in FOG 0.33

  • BryceZ:

    Thanks for explanation. My fix was just to get things working. I did another full, clean install this morning. Here is what the default install (851 trunk) does on an image upload:

    • An error has been detected! *

    Unable to create /images/d424be1d42d7

    • Computer will reboot in 1 minute! *

    where d424be1d42d7 is the ethernet address of the client I am attempting to pull an image from.

    Here is the exports file:

    more /etc/exports:
    /images *(ro,sync,no_wdelay,insecure_locks,no_root_squash,insecure)
    /images/dev *(rw,sync,no_wdelay,no_root_squash,insecure)

    Altering the exports file the way I described earlier allowed imaging to work. Perhaps there is just a mistake in their code and it is attempting to write to the wrong folder. I was hoping that by documenting my issues and fixes, it would help the developers, but also get some other folks to test out fog in their environment. I’m going to try to put some time aside later today to look at the init.gz file and see what the client is trying to do.

    Cheers, astrouga

  • Astrouga, unless they’ve decided to change the way the /images directory creates and stores images, the /etc/exports file is correct. /images is for storing files that have been uploaded. /images/dev is for writing the image during the upload process. Once an image has completed uploading it is moved from /images/dev to /images. It’s to prevent people from just connecting over NFS to the /images share and start messing with image files.

    Thanks for tracking down all these bugs. Knowing where things break makes it easier to find what’s wrong or hasn’t been converted yet.

  • 851 trunk issues - 1 major bug introduced:
    Just installed Ubuntu 12.04 today, and a clean install of the 851 trunk. Using firefox.

    • Item 1 from my initial post is fixed – I don’t get any errors there.
    • Item 2 is still broken…my /etc/exports file still has the images dir as ro. Easily fixed as described above.
    • Item 3 has been partially fixed. After uploading an image, the client was unable to delete the task, but when I clicked on the “Task Management” page and hit the red delete button, the file in /tftpboot/pxelinux.cfg/ was deleted and the task was deleted from the mysql db! Yeah.
    • Item 4: still broken.
    • Item 5: The “deploy” link next to the hostname now seems to work. I haven’t run a full test, but I don’t get an error now.
    • Item 6: Still broken, though I’m unable to click the link or use the pull down menu now.

    Big major issue:
    When I attempt to deploy and image that I created, I get this far:
    FOG Splash comes up (still says 0.32, BTW)

    Send Method…Done.
    Checking Queue…Done.

    • Failed to load class file: Class: NodeFailureManager, Error: Could not find file: File: NodeFailureManager.class.php, Paths: /var/www/fog/lib/fog, /var/www/fog/lib/db, /var/www/fog/lib/pages

    That last message repeats forever. When I look in those directories, that file is not there. However, there is a “NodeFailure.class.php” in /var/www/fog/lib/fog. I can no longer deploy an image.

    Thanks for working on the updates!

  • Developer

    Great feedback guys! This lets me know where to focus my energy.

  • #3 from my initial list. (summary of issue)

    After deploying an image, the job is not removed properly either from the tftpboot folder or the mysql db (or both). When an image deployment completes, the computer will not reboot. Instead it says:
    “Updating Computer Database Status
    *Unable to locate job in database, please ensure mac address is correct.
    *Error: Unable to remove TFTP file
    *Error: Unable to remove TFTP file
    *Error: Unable to remove TFTP file
    *Error: Unable to remove TFTP file
    The last message continues until you manually reboot.

    If I look at the server, there is no TFTP file in /tftpboot/pxelinux.cfg. So it seems the file is removed, but the client is not reporting it properly. The mysql db still shows the task too. And if you try to remove it from the web-interface by clicking on the delete button, you get an error like:
    [SIZE=3]“FOG FATAL ERROR: TaskManagementPage: FOGFTP: Failed to delete file. Path: /tftpboot/pxelinux.cfg/01-d2-bd-d9-9a-b2-43, Error: ftp_delete(): Delete operation failed.”[/SIZE]
    [SIZE=3]where “d2-bd-d9-9a-b2-43” is the mac address of my client.[/SIZE]
    I can delete the task from the mysql db and fix this though:
    sudo mysql -u root -p
    use fog;
    delete from tasks;

  • [SIZE=3]More details on #3 in my other bug post. The specific error I get when I click the delete task icon is:[/SIZE]
    [SIZE=3]“FOG FATAL ERROR: TaskManagementPage: FOGFTP: Failed to delete file. Path: /tftpboot/pxelinux.cfg/01-d2-bd-d9-9a-b2-43, Error: ftp_delete(): Delete operation failed.”[/SIZE]
    [SIZE=3]where “d2-bd-d9-9a-b2-43” is the mac address of my client.[/SIZE]

    [SIZE=3]Also, not a really a bug, but the installation.txt file needs updating. I think it is safe to to add Windows 7 to the Overview section, as I have been using it since Windows 7 came out. 🙂 Also, the Installation sections says that it has only been tested on ubuntu 7.10 and 8.04? That can’t be true. I used it on 9, 10.04, 10.10, 11.04, 11.10 and am testing it on the 12.04 beta now.[/SIZE]

    [SIZE=3]–astrouga [/SIZE]

  • I’ve installed the .33 on an Ubuntu desktop running 11.10. First of all, the motivation was so that I could try imaging some Advanced Format (4k) drives that came in our Dell Optiplex 990 systems. The good news is that I was able to upload and deploy a Windows 7 image on these.
    I tried the upgrade route (.32 to .33), but ultimately manually removed my fog install using (
    [url][/url] ) and downloaded the 850 trunk ( [url][/url] ).

    I’ll run through my list of bugs so far. Sorry that they are in no particular order. I’ve done my best to recall the details of each.

    1. When you go to the web interface for the first time, you have to update the schema before you can login. This always fails to successfully run two MySQL commands. There is a simple typo in the names of the tables. These to lines are correct:
      ALTER TABLE moduleStatusByHost ADD UNIQUE ( msHostID , msModuleID);
      ALTER TABLE snapinAssoc ADD UNIQUE ( saHostID , saSnapinID);
      I just added them manually:
      sudo mysql -u root -p
      use fog;
      then paste in the two commands

    2. For some reason the /images directory that fog created was exported read only. This meant that every time I’d fire off an image, I’d get an error that said something about not being able to write to the /image directory or not being able to create an image sub-directory. I had to edit the /etc/exports file to fix this. BTW, there was an entry for /images/dev, that does not seem to be needed. My exports file looks like:
      /images *(rw,no_subtree_check,sync,no_wdelay,insecure_loc
      Edit: make sure you run sudo exportfs -a to make the changes active.

    3. Tasks are not being deleted from the MySQL table when they are completed. Many times after an image is completed, if I go to the “Task Management” page, I’ll see an active imaging task that I can’t remove. Clicking the delete button spits back an error saying that config file (MAC address based file name ) cannot be deleted. Usually the file has already been deleted. So I have to go into MySQL and “delete from table Tasks;”.

    4. The “Main Menu” on the “Other Settings” page does not work. Clicking on any option produces a red debug bar. For example, if I click on “FOG Settings” the bar at the top that says “FOG DEBUG: FOGPageManager: Class: OtherInformationManagementPage, Method: settings, Error: Method not found in class, defaulting to index()”.

    5. It took forever to figure out how pull an image. You click on the “Host Management” link, then “List All Hosts”, then click the hosts name that you want to use for your image, then “Host Tasks”. I like this idea – moving the upload option to the host, but it was difficult to find. The Download and Upload links do seem to work. However the Download link that appears as a green down-arrow next to the IP of a host in the “All Hosts” screen always fails to work for me. It produces the following errors:
      "FOG DEBUG: TaskType: Create Class Failed: Class: TaskType, Error: No data array or ID passed!
      Failed to create deploy task
      Task Type is not valid

    6. On the Dashboard, under “Disk Information” I have a “Database error;” which is a link. Next to it is an empty pull-down menu. Clicking on the link gives me: “FOG DEBUG: FOGPageManager: Failed to Render Page: Node: hwinfo, Error: No FOGPage Class found for this node. You should try the old “includes” style management code found here”

    Hope that helps some.


  • Our company uses Altiris and pays a HUGE support cost each year for 650 workstations. We pay support and licensing but quite frankly there is no support. I am sure large companies like ours would switch to FOG if they knew it was supported and that updates came regularly. FOG does everything better than our existing Altiris setup except for two things. 1) There is no patch management and 2) You can’t edit or change the image after it is uploaded. In terms of speed fog leaves Altiris for dust. We run a multi site setup, I know it can be done with FOG but I haven’t worked it out yet. I think you guys have created a brilliant system. Keep up the good work!!!