SVN 4876 kernel and init.xz missing

  • Moderator

    After running the update from 4866 to 4876 both the boot kernels (bzImage) and init.xz have been removed. Is this an expected behavior of the upgrade process?

    Running through the built in kernel upgrade process returned these two errors in the apache error log:
    [Wed Oct 07 07:40:46 2015] [error] [client] PHP Warning: http_build_query(): Parameter 1 expected to be Array or Object. Incorrect value given in /var/www/html/fog/lib/fog/FOGURLRequests.class.php on line 60, referer:
    [Wed Oct 07 07:41:07 2015] [error] [client] PHP Warning: http_build_query(): Parameter 1 expected to be Array or Object. Incorrect value given in /var/www/html/fog/lib/fog/FOGURLRequests.class.php on line 60, referer:

    After the kernel upgrade the init.xz file was still missing. Upon the next reboot of the client this error was thrown in the apache error log:

    [Wed Oct 07 07:43:07 2015] [error] [client] File does not exist: /var/www/html/fog/service/ipxe/init.xz

    I can fix the missing bzImage and init.xz but is this expected behavior or should the upgrade . Neither bzImage or init.xz appear in the svn trunk.

  • Moderator

    The OS is Centos 6.7. But I think what was changed works across the linux distros. The wgetrc thing is specific to wget and I know I’ve made that change on FreeBSD as well as various flavors of linux. The environment settings should also be universal.

  • @george1421 What OS distro and version are you using? I’d like to document what you’ve done in the WiKi.

  • Moderator

    Here is an update on this issue for those that may find the same issue.

    I added the following lines to the /etc/bashrc profile script at the very bottom.

    export http_proxy=http://<proxy_ip>:<proxy_port>
    export https_proxy=http://<proxy_ip>:<proxy_port>

    saved the file then logged out and back in. After I did that the installer script downloaded the FOGService.msi file without error and the kernel and init.xz files existed when the installer was done.

    Just to restate the issue, if you have your FOG server behind a proxy server you must update the bashrc file with your proxy server settings AND wgetrc with the proxy server settings, because both commands are used to download files in FOG.

  • Moderator

    Should work with environment variable or command line option. Check out this discussion on stackoverflow:

  • Moderator

    Ok looking a bit deeper into this, the link you referred to the diff file uses wget to get the kernel images and init.xz from sourceforge. Looking into the actual file commom/ it uses curl to get the files. In my install my fog server sits behind a proxy server. I’ve got the command in place in /etc/wgetrc to support proxy downloads. I’m going to have to look into what can be done for curl behind a proxy. But as a side note, I’m suspecting that’s also the reason for FOGService.msi failing to download every time during the install process.

  • Moderator

    Sorry just so I’m clear (my apologies I had several different comments in my post):

    When I run the install from the local svn location that will remove the bzImage and init.xz files. But then redownload them during the update process?

    If that is true, then something is broken. I can manually install the bzImages from inside the fog management console, but I have to get the init.xz images from sourceforge via wget. If this is SOP then I’m OK with it, but one would think the update/installer would put all of the bits in place for me.

  • Moderator

    I’d say so. See this commit for the details:

    Kernel images and inits should be downloaded by the installer script…