Add enhanced iPXE boot menu capabilities - based on host associations

  • Moderator

    First let me preface this with; this request is based on several new and somewhat interesting ways FOG Admins are currently using FOG. Some of these uses are in ways the Developers of FOG could not imagine. These new and ingenious ways to use FOG for more than just system imaging speaks to the foresight, flexibility and openness that the FOG Developers have built into FOG over the years. I realize this request is not specifically in line with the FOG Project objective to “Build the best imaging system possible”, but I feel this functionality would extend the utility that is already built into FOG and to possibly push it into new areas.

    There has been several recent use cases where if we had the ability to dynamically create the iPXE boot menu based on both a specific pxe booting host or if the host is associated with a specific group the FOG iPXE menu could dynamically change by showing or hiding specific menu items.

    For example lets say a specific group of computers required a certain kernel boot parameters or a specific exit mode, the iPXE menu could be configured to provide that specific FOG iPXE menu for that single host, or collection of hosts.

    Another example would be to pxe boot a specific iso image based on the group association.

    I don’t see this as a total rewrite of the current iPXE menu system, but possibly an extension that would contain 2-3 option lists.

    The first option list would be for item matching that might contain

    1. No change
    2. Matches host
    3. Matches group
    4. Does not match host
    5. Does not match group

    The second multi-select option list (objects) might contain a dynamic list of groups or hosts based on the selection of the item value selected for the item matching field.

    Now there is a question about the list and what selecting multiple objects mean. Should a boolean AND or OR be applied to selected items in the objects list? I can see specific use cases for having group A -OR- group B -OR- group D where the menu would be displayed. I can also see a use case for wanting the menu to appear if only the host shows up in group A -AND- group C.

    I can still see the need to maintain the Menu Show with item because the menu should/ may only be needed to be shown under those specific conditions in addition to the host/group associations.

    A potential road block I see is if you have associations that are conflicting. i.e. hide the menu if host is in group A, and unhide the menu if the host is in group B. And the hosts exists in both groups. What rule wins? Should it be the hide rule?? SO the conflict resolution needs to be worked out.

    I realize this request will cause a rewrite of the base FOG code so this request will most likely have to wait until FOG 1.4.x or later if it is elected to be added.

    As long as I’m wishing for the starts here, there was also a recent thread where the FOG Admin wanted to allow the computer system owner a chance to image (Quick Image) their own machine at any time, but only the image the FOG Admin defined to that specific host. The iPXE Quick image menu would work, if we could hide the other image selection from the user.

  • Developer

    @george1421 i actually don’t think this is as massive of a rewrite/change as you imagine. Tom put a lot of flexibility in the code. I honestly think this could probably all be done with a plugin.

    i mean, it’s beyond MY skill level. but someone could do it.