Uploaded image for project: 'jclouds'
  1. jclouds
  2. JCLOUDS-331

Allow Image preference logic to be supplied to TemplateBuilder

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • 1.6.3, 1.7.0
    • jclouds-core
    • None

    Description

      I'd like to tie in to jclouds's TemplateBuilder so that I can use its filtering/matching capabilities but then use custom logic to determine which of the matching images is "best" (for my custom value of best, i.e. preferred). 

      The driving use case is that I want a portable way to say "any recent ubuntu or centos". Normally this is the default of course but it doesn't always do the right thing when other options are specified – broken ubuntu "alpha" images in AWS being the worst offender (asking for 16gb RAM in us-west-1 gives back an awful ubuntu 8.04 alpha, for instance!). It would also handle use cases where someone wants to say "Ubuntu 11 or 12, or CentOS 6.x, is best. failing that, Ubuntu 10 or CentOS 5.x. (and never any alpha images!)".

      I'm thinking allowing to set an `imageSorter(Ordering)`. This fits with how
      the TemplateBuilderImpl currently works (it already uses an Ordering, you just can't change it; and it stays in line with the naming convention of `Sorter` as in `Ordering hardwareSorter()`.)

      Attachments

        1. JCLOUDS-331-4.patch
          6 kB
          Andrew Phillips
        2. JCLOUDS-331-3.patch
          13 kB
          Andrew Phillips
        3. JCLOUDS-331-1.6.x.patch
          24 kB
          Andrew Phillips
        4. JCLOUDS-331-2.patch
          1 kB
          Andrew Phillips
        5. JCLOUDS-331.patch
          22 kB
          Andrew Phillips

        Activity

          People

            andrewp Andrew Phillips
            alex.heneveld Alex Heneveld
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: