• Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
  • Recent
  • Unsolved
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login

Post Download Scripts - Not Executing

Scheduled Pinned Locked Moved Unsolved
FOG Problems
4
30
7.6k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D
    dholtz-docbox @mrayzies
    last edited by Oct 4, 2016, 11:17 PM

    @mrayzies :

    Oh. My. Gosh. I have been using Single Disk - Resizable this whole time! I thought this was the correct configuration, one DRIVE, which is resizable for each partition. When did this change, out of curiosity? When I first downloaded the FOG Project, I swear the multiple partition selection did not exist. This has me wicked excited! I was just about to go home too. Time for one more test!

    -Dustin

    1 Reply Last reply Reply Quote 0
    • G
      george1421 Moderator @mrayzies
      last edited by Oct 4, 2016, 11:33 PM

      @mrayzies You came to the same conclusion I did (as I was finishing mowing the grass tonight, and still thinking about this issue). The fstab being empty is on the FOS Engine linux OS, that I can understand. Your mount command is needed to connect to the target’s local hard drive (which is not mounted automatically by FOS). We have to do this if we want to tweak the unattend.xml in the windows realm of the post install scripts.

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

      1 Reply Last reply Reply Quote 0
      • D
        dholtz-docbox
        last edited by Oct 5, 2016, 12:31 PM

        Testing this today - had to leave work last night. I am hoping this will solve it. It feels promising, heh.

        -Dustin

        1 Reply Last reply Reply Quote 0
        • T
          Tom Elliott @dholtz-docbox
          last edited by Tom Elliott Oct 5, 2016, 7:01 AM Oct 5, 2016, 12:42 PM

          @dholtz-docbox said in Post Download Scripts - Not Executing:

          Server
          • FOG Version: 1.3.0-rc11
          • OS: Ubuntu 14.04
          Description

          I am near the end of what I need from the FOG project, and everything seems to be functioning pretty solid so far. However, I am having issues kicking off post download scripts.

          I have followed the following two articles to no success…

          • https://forums.fogproject.org/topic/7740/the-magical-mystical-fog-post-download-script-under-construction/3
          • https://wiki.fogproject.org/wiki/index.php/Auto_driver_Install

          My /images/postdownloadscripts/fog.postdownload looks like…

          #!/bin/sh
          
          . ${postdownpath}update_swap_uuid.sh
          

          And update_swap_uuid.sh looks like…

          #!/bin/bash
          
          ORIGINAL=$(grep -v '#' /etc/fstab | grep swap | cut -d ' ' -f1 | cut -d '=' -f2)
          CURRENT=$(blkid | grep 'swap' | cut -d ' ' -f2 | cut -d '"' -f2)
          TIME=$(date +%Y%m%d%H%M%S)
          
          if [ "$ORIGINAL" = "$CURRENT" ];
          then
            exit
          fi
          
          # NOTE: Backup 'fstab'
          cp /etc/fstab "/etc/fstab.$TIME.backup"
          
          # NOTE: Overwrite ORIGINAL with CURRENT swap UUID
          sed -i -e "s/$ORIGINAL/$CURRENT/g" /etc/fstab
          

          I have had no issues using the update script itself, so I am not sure why FOG would have an issue with it.

          I have also given ‘755’ rights to the whole postdownloadscripts/ directory.

          Am I forgetting something or doing something incorrectly? I have tried little permutations of editing the fog.postdownload and update scripts, as well as hunting for settings and permissions to allow access to these contents.

          Also, where would I look for any indication that these are being run? I have looked very closely through the entire process and have seen no output text about running this particular region of scripts.

          Many thanks for your time!

          -Dustin

          You can change your update_swap_uuid.sh to something like:

          #!/bin/bash
          # First we need to get the partitions of this disk (typically $hd in resize or single disk nonresize)
          getPartitions "$hd"
          # Now to iterate the parts
          for part in $parts; do
               # Print a nice message
               dots "Mounting partition $part"
               # Attempt the mount
               mount $part /mnt >/dev/null 2>&1
               # It didn't mount, inform and start at top
               if [[ ! $? -eq 0 ]]; then
                   echo "Failed to mount the partition"
                   continue
               fi
               # Test to see if fstab exists on this part
               # If not un-mount the directory and print the message for the user and start from top of loop
               if [[ ! -f /mnt/etc/fstab ]]; then
                   umount /mnt
                   echo "Done, fstab not on this partition"
                   continue
               fi
               # File was found
               echo "Done"
               # Let the user know what is happening
               dots "Checking and updating swap UUID"
               # Get the fstab uuid currently setup
               ORIGINAL=$(grep -v '#' /mnt/etc/fstab | grep swap | cut -d ' ' -f1 | cut -d '=' -f2)
               # Get the current real partition swap
               CURRENT=$(blkid | grep 'swap' | cut -d ' ' -f2 | cut -d '"' -f2)
               # Get the current date/time
               TIME=$(date +%Y%m%d%H%M%S)
          
               # Check if the original is the same as the current if so
               # if so, unmount and inform start at top
               if [[ $ORIGINAL == $CURRENT ]]; then
                   umount /mnt
                   echo "Done, UUID unchanged"
                   continue
               fi
          
               # NOTE: Backup 'fstab'
               cp /mnt/etc/fstab "/mnt/etc/fstab.$TIME.backup"
          
               # NOTE: Overwrite ORIGINAL with CURRENT swap UUID
               sed -i -e "s/$ORIGINAL/$CURRENT/g" /mnt/etc/fstab >/dev/null 2>&1
               # If the sed fails inform, un-mount, start at top
               if [[ ! $? -eq 0 ]]; then
                   echo "Failed to update file"
                   umount /mnt
                   continue
              fi
              # All succeeded inform and unmount
              echo "Done, UUID updated"
              umount /mnt
          done
          

          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

          Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

          Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

          D 1 Reply Last reply Oct 5, 2016, 1:57 PM Reply Quote 0
          • D
            dholtz-docbox
            last edited by Oct 5, 2016, 1:31 PM

            Setting the image to “Multiple Partition Image - Single Disk (Not Resizable) - (2)” did not work either.

            I guess what stumps me is why I am having this issue, or what I need to do to avoid it. There isn’t even anything special about the drive I am imaging, it’s just a fresh installation of Ubuntu 14.04 Desktop. How do you guys generally configure your swap partition? Linux needs this swap partition, so it is awkward to me that I am not seeing more resources on this issue while having received it so easily.

            I am trying to avoid the post download scripts solution at the moment, and am looking into other ways of configuring the system before imaging. At the moment, I have tried just using the physical name in lieu of the UUID for the swap drive and am testing this as I write this.

            I will continue posting my progress.

            -Dustin

            1 Reply Last reply Reply Quote 0
            • D
              dholtz-docbox @Tom Elliott
              last edited by Oct 5, 2016, 1:57 PM

              @Tom-Elliott :

              Oh, that’s awesome! I am still learning how to do more with the system through shell scripts, so this is very cool to read through. I will update my current script to reflect this and give it a whirl. It might not be the best solution, but I can figure out another solution if this one works for this particular milestone.

              -Dustin

              T 1 Reply Last reply Oct 5, 2016, 1:59 PM Reply Quote 0
              • T
                Tom Elliott @dholtz-docbox
                last edited by Oct 5, 2016, 1:59 PM

                @dholtz-docbox I’m only looping the found partitions to make things a bit more dynamic. But if you know the FOS system recognizes the disk as /dev/sda and you also know the root etc/fstab will be on partition 1, you can forgo the loop and simply mount the /dev/sda1 and make your edits directly.

                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                D 1 Reply Last reply Oct 5, 2016, 2:17 PM Reply Quote 0
                • D
                  dholtz-docbox @Tom Elliott
                  last edited by Oct 5, 2016, 2:17 PM

                  @Tom-Elliott : What is the best way for me to learn what I can do in the FOS? I couldn’t locate a primary resource on the FOG wiki regarding it and its available functionality. I wouldn’t mind knowing more about how people use this side of FOG, it is starting to feel like it’s the strongest tool in the whole arsenal.

                  Also, I was able to capture + deploy the image fine if I used the physical partitions name in lieu of the UUID.

                  /dev/sda5, none, swap, sw, 0, 0
                  

                  My primary concern in this solution is the what-if scenario. Should I be concerned about whether this link will change on its own? That would be my primary concern, correct? Someone changing the sym-link between /dev/sda5 and its underlying UUID?

                  Thanks for going back-and-forth with me on this. I don’t have a lot of people to talk with about topics like this.

                  -Dustin

                  T 1 Reply Last reply Oct 5, 2016, 2:23 PM Reply Quote 0
                  • T
                    Tom Elliott @dholtz-docbox
                    last edited by Oct 5, 2016, 2:23 PM

                    @dholtz-docbox You’re absolutely right that postdownload scripts is a very powerful tool. It can also be very destructive, but “with great power comes great responsibility…” or something like that.

                    Essentially, postdownload scripts can be ANYTHING you want them to be. They have the power to iterate over the freshly imaged system to change whatever you may need, however you may need to do it.

                    Yes, links can change, but chances are you’ll know of those changes the first time you go to work with them. With post download scripts, you can modify EVERYTHING, even HOW the scripts run. For example, on the fog.postdownload you can add if statements to do different things based on whatever you deem necessary. You don’t, necessarily, even need to just source your own scripts, you could just script it directly in the fog.postdownload script. I prefer separating my scripts for modularity reasons.

                    I don’t mind giving input here and there as it helps EVERYBODY.

                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                    Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                    Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                    1 Reply Last reply Reply Quote 1
                    • D
                      dholtz-docbox
                      last edited by dholtz-docbox Oct 5, 2016, 2:45 PM Oct 5, 2016, 8:45 PM

                      I had to table these efforts, as I have been unable to successfully clone and deploy an extended linux image without having the swap drive hiccup during the cloning/imaging process. I will return to this as soon as time permits, but I have a few tentative workarounds for this milestone.

                      -Dustin

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 2 / 2
                      2 / 2
                      • First post
                        21/30
                        Last post

                      231

                      Online

                      12.0k

                      Users

                      17.3k

                      Topics

                      155.2k

                      Posts
                      Copyright © 2012-2024 FOG Project