SOLVED Adding custom task to Fog Server

  • @csa So this is going to take a bit more time as you’re trying to adjust the tasking elements themselves. But your tasking is intended NOT to load into the FOG system, correct? You want the tasking to load into a whole different environment?

  • @Tom-Elliott

    Here is what I am trying to do.

    1. As shown in the menu path. Loaded the trusty ISO contents and created kickstart files. Verified calling via http://fogsrv/OS_IMAGES/ubuntu-14.04.3-DVD/

    2. Created a new menu entry, like below

    0_1463585147434_Screen Shot 2016-05-17 at 1.43.56 PM.png

    1. Registered a client host and pxe booted. From the boot menu, I was able to see the new menu fog entry that I created. Manually selected “Trusty”

    2. My client host got successfully got kickstart trusty installed and rebooted as per my kickstart instructions.

    Now the issue that I have is.

    a. I don’t want to scroll down and select my custom menu on every client host. I want to make this a custom task and assign to any registered host when I want to install trusty.

    b. With the help of plugins, I came to know that I can create custom tasks.

    c. Now the question is how can I call my menu or direct code of my trusty install through this custom task.

    Please let me know if you have any more questions.

    Thank you

  • I need a full layout of what it is you’re trying to do.

    is the “trusty” supposed to load into the FOS System, or is trusty it’s own environment?

  • @Tom-Elliott

    Sorry I misread your response. So if I understand correct

    Q. Can you paste the code of your menu entry as text?

    Here is the text from parameters section in the menu entry. I removed “:fog.trusty” in the beginning like you suggested.

    set path /fog/OS_IMAGES/ubuntu-14.04.3-DVD
    set nfs_path /images/OS_IMAGES/ubuntu-14.04.3-DVD
    kernel http://fogsrv/fog/OS_IMAGES/ubuntu-14.04.3-DVD/install/netboot/ubuntu-installer/amd64/linux || read void
    initrd http://fogsrv/fog/OS_IMAGES/ubuntu-14.04.3-DVD/install/netboot/ubuntu-installer/amd64/initrd.gz || read void
    imgargs linux root=/dev/nfs boot=casper live-installer/net-image=http://fogsrv/fog/OS_IMAGES/ubuntu-14.04.3-DVD/install/filesystem.squashfs ks=http://fogsrv/fog/OS_IMAGES/kickstarts/precise_ks.cfg ip=dhcp splash quiet – || read void 
    boot || read void
    goto start

    Q. The parameters should not need the :fog.trusty as you have as it automatically creates the function caller for you.

    Removed “fog.trusty” from the menu entry

    Q. In the "New Task " how do I call this menu or should directly past the code in the Kernel or kernel parameters. If so can use the same from the “menu entry”

    Thank you

  • @csa I stated the :fog.trusty does NOT need to be apart of the arguments OR parameters.

  • @Tom-Elliott
    First of all thank you for your time. I added “:fog.trusty” just like you suggested both in Kernel or Kernel Arguments field one at a time. Snap shot as shown

    0_1463583252521_Screen Shot 2016-05-18 at 9.53.54 AM.png

    Neither of the settings worked. It says “Fatal Error Unknown request type : Null”

    0_1463583419767_Screen Shot 2016-05-18 at 9.56.48 AM.png

    Any ideas?

    Thank you

  • @csa Can you paste the code of your menu entry as text?

    The parameters should not need the :fog.trusty as you have as it automatically creates the function caller for you.

  • Wayne,

    Again thank you for leading us to the correct path.

    Thank you

  • @csa Ah, that makes sense. We just need to wait to hear back from Tom.

  • Wayne Workman
    I already had the new “boot menu entry”. Which works like a champ but I have to manually go to the console and select the option. Instead I want to add this to the task and get it assigned to host like other tasks.

    0_1463515545624_Screen Shot 2016-05-17 at 1.43.56 PM.png

    When booting a server/pc I have to manually go to the console and scroll down to my “trusty” menu. Which is not idle for a remote management environment.

    0_1463515770258_Screen Shot 2016-05-17 at 3.09.15 PM.png

    Thank you

  • @csa Looking at what you’re putting in the task type, I think what you need instead is a new boot menu entry… fog configuration -> iPXE new menu entry.

    Parameters is your iPXE code, boot options are kernel arguments.

    Maybe those two labels can be better labeled @Tom-Elliott ?

  • Wayne Workman,
    Sure thing will wait for Mr Tom’s response. Once again thank you for the help. Fog is a great product.

    Thank you

  • @csa For that, I’m going to need to ask @Tom-Elliott to assist and clarify, he designed these two plugins (among other things)

  • @wayne-workman ,

    So now that I am trying to create a custom task for my “trusty kick start installation” at

    Here is manual menu items entries that work
    0_1463510665232_Screen Shot 2016-05-17 at 1.43.56 PM.png

    How do I add them to this screen?
    0_1463510461807_Screen Shot 2016-05-17 at 1.40.27 PM.png

    • Do I need to lines to a script? if so what kind of script php or bash
    • where shall I put the script? and how can I call.

    Thank you

  • @Wayne-Workman
    Thank you so much, I didn’t even know fog has plugins. Now I installed 3 plugins

    0_1463509023234_Screen Shot 2016-05-17 at 1.15.20 PM.png

    Let me try creating a custom task.

    Thank you

  • @csa What you need is to install the plugin that allows you to edit and add task types.


    You need to enable fog’s plugin system. It’s in FOG Settings, in the Web GUI.