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

    Fog upgrade to 1.5 broke PXE installation

    Scheduled Pinned Locked Moved Solved
    FOG Problems
    4
    25
    4.5k
    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.
    • C
      csa @Tom Elliott
      last edited by

      @tom-elliott Thank you for the quick response. Please check the 2 attached hooks for centos(RHEL variant) and xenial(Ubuntu variant).

      Thank you
      Chakri
      [1_1507737322049_boottaskxenialserver.hook.php](Uploading 100%) [0_1507737322042_boottaskcentos7.hook.php](Uploading 100%)

      Tom ElliottT 1 Reply Last reply Reply Quote 0
      • S
        Sebastian Roth Moderator
        last edited by

        Possibly the freeze on PXE boot is not due to an issue in the hooks but more because the iPXE binaries where updated as well. Have you tried different hardware clients?

        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

        C 2 Replies Last reply Reply Quote 0
        • C
          csa @Sebastian Roth
          last edited by

          @sebastian-roth I tried on 2 different type of physical hardware and a vmware vm.

          Thank you
          Chakri

          1 Reply Last reply Reply Quote 0
          • Tom ElliottT
            Tom Elliott @csa
            last edited by

            @csa You may likely need to reupload.

            Wait until the pictures show up in the Preview pane. Otherwise all we see is the “text” of it trying to upload.

            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

            C 1 Reply Last reply Reply Quote 0
            • C
              csa @Tom Elliott
              last edited by

              @tom-elliott Sorry having tough time uploading files. Pasting the file.

              file --> boottaskcentos7.hook.php

              <?php
              /**
               * Alters the boot task to make a custom entry.
               *
               * PHP version 5
               *
               * @category BootTask
               * @package  FOGProject
               * @author   Tom Elliott <tommygunsster@gmail.com>
               * @license  http://opensource.org/licenses/gpl-3.0 GPLv3
               * @link     https://fogproject.org
               */
              /**
               * Alters the boot task to make a custom entry.
               *
               * @category BootTask
               * @package  FOGProject
               * @author   Tom Elliott <tommygunsster@gmail.com>
               * @license  http://opensource.org/licenses/gpl-3.0 GPLv3
               * @link     https://fogproject.org
               */
              class BootTaskCentos7 extends Hook
              {
                  /**
                   * The name of this hook.
                   *
                   * @var string
                   */
                  public $name = 'BootTaskCentos7';
                  /**
                   * The description of this hook.
                   *
                   * @var string
                   */
                  public $description = 'This is for Xenial Server installation';
                  /**
                   * Is this hook active or not.
                   *
                   * @var bool
                   */
                  public $active = true;
                  /**
                   * Initializes object.
                   *
                   * @return void
                   */
                  public function __construct()
                  {
                      parent::__construct();
                      self::$HookManager
                          ->register(
                              'IPXE_EDIT',
                              array(
                                  $this,
                                  'changeTask'
                              )
                          );
                  }
                  /**
                   * Change the task.
                   *
                   * @param mixed $arguments The items to alter.
                   *
                   * @return void
                   */
                  public function changeTask($arguments)
                  {
                      if (!isset($arguments['ipxe']['task'])) {
                          return;
                      }
                      $TaskType = self::getClass('TaskType')
                          ->set('name', 'centos7-install')
                          ->load('name');
                      if (!$TaskType->isValid()) {
                          return;
                      }
                      $keys = array_keys($arguments['ipxe']['task']);
                      if (!in_array($TaskType->get('id'), $keys)) {
                          return;
                      }
                      $arguments['ipxe']['task'][$TaskType->get('id')] = array(
                          'set path /OS_IMAGES/CENTOS-7.0-1511-DVD',
                          'set nfs_path /images/OS_IMAGES/CENTOS-7.0-1511-DVD',
              	    'kernel ${boot-url}${path}/images/pxeboot/vmlinuz ks=${boot-url}/kickstarts/centos7.cfg ip=dhcp acpi=off || read void',
                          'initrd ${boot-url}${path}/images/pxeboot/initrd.img || read void', 
                          'boot || read void',
                      );
                      $arguments['Host']
                          ->get('task')
                          ->set(
                              'stateID',
                              self::getCompleteState()
                          )->save();
                  }
              }
              

              file --> boottaskxenialserver.hook.php

              <?php
              /**
               * Alters the boot task to make a custom entry.
               *
               * PHP version 5
               *
               * @category BootTaskxenialserver
               * @package  FOGProject
               * @author   Tom Elliott <tommygunsster@gmail.com>
               * @license  http://opensource.org/licenses/gpl-3.0 GPLv3
               * @link     https://fogproject.org
               */
              /**
               * Alters the boot task to make a custom entry.
               *
               * @category BootTaskxenialserver
               * @package  FOGProject
               * @author   Tom Elliott <tommygunsster@gmail.com>
               * @license  http://opensource.org/licenses/gpl-3.0 GPLv3
               * @link     https://fogproject.org
               */
              class BootTaskxenialserver extends Hook
              {
                  /**
                   * The name of this hook.
                   *
                   * @var string
                   */
                  public $name = 'BootTaskxenialserver';
                  /**
                   * The description of this hook.
                   *
                   * @var string
                   */
                  public $description = 'Alter the boot task to make a custom task hook';
                  /**
                   * Is this hook active or not.
                   *
                   * @var bool
                   */
                  public $active = true;
                  /**
                   * Initializes object.
                   *
                   * @return void
                   */
                  public function __construct()
                  {
                      parent::__construct();
                      self::$HookManager
                          ->register(
                              'IPXE_EDIT',
                              array(
                                  $this,
                                  'changeTask'
                              )
                          );
                  }
                  /**
                   * Change the task.
                   *
                   * @param mixed $arguments The items to alter.
                   *
                   * @return void
                   */
                  public function changeTask($arguments)
                  {
                      if (!isset($arguments['ipxe']['task'])) {
                          return;
                      }
                      $TaskType = self::getClass('TaskType')
                          ->set('name', 'xenial-server-install')
                          ->load('name');
                      if (!$TaskType->isValid()) {
                          return;
                      }
                      $keys = array_keys($arguments['ipxe']['task']);
                      if (!in_array($TaskType->get('id'), $keys)) {
                          return;
                      }
                      $arguments['ipxe']['task'][$TaskType->get('id')] = array(
                          'set path /OS_IMAGES/ubuntu-16.04-DVD',
                          'set nfs_path /images/OS_IMAGES/ubuntu-16.04-DVD',
                          'kernel ${boot-url}${path}/install/netboot/ubuntu'
                          . '-installer/amd64/linux || read void',
                          'initrd ${boot-url}${path}/install/netboot/ubuntu-installer'
                          . '/amd64/initrd.gz || read void',
                          'imgargs linux root=/dev/nfs boot=casper live-installer'
                          . '/net-image=${boot-url}${path}/install/filesystem.squashfs '
                          . 'ks=${boot-url}/OS_IMAGES/kickstarts/xenial_server_ks.cfg '
                          . 'ip=dhcp splash quiet - || read void',
                          'boot || read void',
                      );
                      $arguments['Host']
                          ->get('task')
                          ->set(
                              'stateID',
                              self::getCompleteState()
                          )->save();
                  }
              }
              
              
              george1421G 1 Reply Last reply Reply Quote 0
              • C
                csa @Sebastian Roth
                last edited by

                @sebastian-roth also I tried passing the string acpi=off to kernel options. To solve any generic TFTP issues.

                1 Reply Last reply Reply Quote 0
                • S
                  Sebastian Roth Moderator
                  last edited by

                  @csa I haven’t had the time to test the code you posted but it looks fine on first sight.

                  Not sure what could be wrong here.

                  Which iPXE binary do you use by the way?

                  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 0
                  • george1421G
                    george1421 Moderator @csa
                    last edited by

                    @Sebastian-Roth

                    'kernel ${boot-url}${path}/images/pxeboot/vmlinuz

                    Is this impacted by the http / https issue that also impacted the usb booting of FOS? I agree the code looks good and the boot-url variable was the only thing that jumped out at me.

                    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
                    • S
                      Sebastian Roth Moderator
                      last edited by

                      @george1421 Good you mention the http/https change we made as I have not had that in mind. AFAIK this should not be causing a “hang issue”.

                      @csa Maybe posting a picture or video of the hang is a good start. Sometimes there is something we see on the screen that just does not call out to you…

                      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

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        csa
                        last edited by

                        @george1421 The same entries were working fine in version 1.3 and 1.4. Version 1.5 introduced this issues.

                        1 Reply Last reply Reply Quote 0
                        • C
                          csa @Sebastian Roth
                          last edited by

                          @sebastian-roth please check the attached image. 0_1507759415876_6e646d8a-ddca-4171-8afc-66bc4ffeb75b.jpg

                          george1421G Tom ElliottT 2 Replies Last reply Reply Quote 0
                          • george1421G
                            george1421 Moderator @csa
                            last edited by george1421

                            @csa It would be interesting to see what FOG is telling iPXE when this freeze happens. With a browser what output does this command give you? http://10.10.34.98/fog/service/ipxe/boot.php?mac=00:1e:c9:7a:36:48

                            Post the results here, please. Quite frankly the image shows a normal boot, what we don’t see is the rest of the ipxe commands that are being executed.

                            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
                            • Tom ElliottT
                              Tom Elliott @csa
                              last edited by

                              @csa I’m of the bet this may be similar to the other problems but it’s the ipxe binary being newer than what was in 1.4.

                              Could you try using the ipxe files from 1.4 and see if the machine starts working again? I really don’t think it’s anything with bootmenu generation.

                              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

                              C 1 Reply Last reply Reply Quote 0
                              • C
                                csa @Tom Elliott
                                last edited by

                                Morning @tom-elliott I pull the git repo and run the install program every time I upgrade. How can I safely role back to " ipxe files from 1.4"?

                                Thank you
                                Chakri

                                Tom ElliottT 1 Reply Last reply Reply Quote 0
                                • Tom ElliottT
                                  Tom Elliott @csa
                                  last edited by

                                  @csa You could just checkout the 1.4.0 tag:

                                  git pull
                                  git fetch --all --tags --prune
                                  git checkout tags/1.4.0
                                  cp packages/tftp/*.*pxe /tftpboot/
                                  cp packages/tftp/*.efi /tftpboot/
                                  git checkout dev-branch
                                  git pull
                                  

                                  That should do it, though I will admit I haven’t tested this all out.

                                  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

                                  C 1 Reply Last reply Reply Quote 0
                                  • C
                                    csa @Tom Elliott
                                    last edited by

                                    @tom-elliott The binaries are same size. There is no difference. Looks like they weren’t changed on the new version.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Sebastian Roth Moderator
                                      last edited by

                                      @csa said in Fog upgrade to 1.5 broke PXE installation:

                                      The binaries are same size

                                      That’s a first sign but still does not mean that the binaries are the same. Please compare md5sums as well to make sure.

                                      The other thing that comes to my mind… On that picture we see you try booting Ubuntu install kernel. Do you see the very same hang on init when booting into a FOG task like deploy or capture???

                                      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 0
                                      • S
                                        Sebastian Roth Moderator
                                        last edited by

                                        @csa Any news on this?

                                        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

                                        C 1 Reply Last reply Reply Quote 0
                                        • C
                                          csa @Sebastian Roth
                                          last edited by

                                          @sebastian-roth There is no difference. It still pauses at the installation.

                                          Version 1.5 binaries

                                          # ls -la /opt/BKUP/tftpboot/*.*pxe
                                          -rw-r-xr-x 1 fog root    448 Sep 27 17:58 /opt/BKUP/tftpboot/default.ipxe
                                          -rw-r-xr-x 1 fog root  94044 Sep 27 17:58 /opt/BKUP/tftpboot/intel.kkpxe
                                          -rw-r-xr-x 1 fog root  94092 Sep 27 17:58 /opt/BKUP/tftpboot/intel.kpxe
                                          -rw-r-xr-x 1 fog root  94121 Sep 27 17:58 /opt/BKUP/tftpboot/intel.pxe
                                          -rw-r-xr-x 1 fog root 348364 Sep 27 17:58 /opt/BKUP/tftpboot/ipxe.kkpxe
                                          -rw-r-xr-x 1 fog root 348412 Sep 27 17:58 /opt/BKUP/tftpboot/ipxe.kpxe
                                          -rw-r-xr-x 1 fog root 348459 Sep 27 17:58 /opt/BKUP/tftpboot/ipxe.pxe
                                          -rw-r-xr-x 1 fog root  94880 Sep 27 17:58 /opt/BKUP/tftpboot/realtek.kkpxe
                                          -rw-r-xr-x 1 fog root  94928 Sep 27 17:58 /opt/BKUP/tftpboot/realtek.kpxe
                                          -rw-r-xr-x 1 fog root  94892 Sep 27 17:58 /opt/BKUP/tftpboot/realtek.pxe
                                          -rw-r-xr-x 1 fog root  93613 Sep 27 17:58 /opt/BKUP/tftpboot/undionly.kkpxe
                                          -rw-r-xr-x 1 fog root  93661 Sep 27 17:58 /opt/BKUP/tftpboot/undionly.kpxe
                                          -rw-r-xr-x 1 fog root  93645 Sep 27 17:58 /opt/BKUP/tftpboot/undionly.pxe
                                          

                                          Version 1.4 binaries

                                          ~# ls -la /tftpboot/*.*pxe
                                          -rw-r-xr-x 1 fog root    448 Sep 27 17:58 /tftpboot/default.ipxe
                                          -rw-r-xr-x 1 fog root  95716 Oct 18 16:11 /tftpboot/intel.kkpxe
                                          -rw-r-xr-x 1 fog root  95764 Oct 18 16:11 /tftpboot/intel.kpxe
                                          -rw-r-xr-x 1 fog root  95765 Oct 18 16:11 /tftpboot/intel.pxe
                                          -rw-r-xr-x 1 fog root 348865 Oct 18 16:11 /tftpboot/ipxe.kkpxe
                                          -rw-r-xr-x 1 fog root 348913 Oct 18 16:11 /tftpboot/ipxe.kpxe
                                          -rw-r-xr-x 1 fog root 348777 Oct 18 16:11 /tftpboot/ipxe.pxe
                                          -rw-r-xr-x 1 fog root  96536 Oct 18 16:11 /tftpboot/realtek.kkpxe
                                          -rw-r-xr-x 1 fog root  96584 Oct 18 16:11 /tftpboot/realtek.kpxe
                                          -rw-r-xr-x 1 fog root  96605 Oct 18 16:11 /tftpboot/realtek.pxe
                                          -rw-r-xr-x 1 fog root  95290 Oct 18 16:11 /tftpboot/undionly.kkpxe
                                          -rw-r-xr-x 1 fog root  95338 Oct 18 16:11 /tftpboot/undionly.kpxe
                                          -rw-r-xr-x 1 fog root  95380 Oct 18 16:11 /tftpboot/undionly.pxe
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            Sebastian Roth Moderator
                                            last edited by

                                            @csa What do you mean by “There is no difference”?? Most if not all files differ in size! Why do you think they’re all the same?

                                            As I already said days ago: On that picture we see you try booting Ubuntu install kernel. Do you see the very same hang on init when booting into a FOG task like deploy or capture???

                                            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

                                            C 1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post

                                            136

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project