Defining Computer-Image compatibility

  1. 4 months ago

    We wish to have a way to declare which images are compatible with a given computer, e.g. OSX images are compatible with Mac hosts, EFI-PC images are compatible with PC hosts that are configured to boot from UEFI, etc.

    For this there need to be a classification that can be applied to both Computers and Images, and when applying an image to a computer to allow only the images that are compliant with the computer's classification.

    This will become important when an external API will be available, and indeed in our environment we hacked together such an API accessing the underlying database and file-system to allow us adding imaging tasks in a programmatic way. In this case we want to be able to expose via our API, given an image, what computers are we allowed to deploy this image on.

    Right now we can find a hack for this:

    1. Create several computer groups e.g. `OSX`, `PC-BIOS`, `PC-EFI`, and assign the computers to those groups appropriately.
    2. Hijack the image description field and put in it some JSON data with `{ 'compatible-with': ['OSX', 'PC-UFI'] }`
    3. Write the constraints into our API.

    Beside the feature request of defining an Images x Computers compatibility matrix, and enforcing it when assigning an image to a computer, I wish to know if you can recommend a better way of going about this, than the hack described above.

  2. clonedeploy

    May 23 Administrator

    I can get something into 1.3.0. Right now what comes to mind are image groups or collections that can be assigned to computers or computer groups, limiting the images to only those in that collection.

 

or Sign Up to reply!