Skip to content
Snippets Groups Projects
  1. Jul 16, 2010
  2. May 20, 2010
    • Iustin Pop's avatar
      Move two functions from hspace to Cluster.hs · 3ce8009a
      Iustin Pop authored
      This is done so we can test a longer pipeline.
      3ce8009a
    • Iustin Pop's avatar
      Stop modifying names for internal computations · 3e4480e0
      Iustin Pop authored
      Currently the name used internally is modified and holds the shortened
      name of the nodes/instances. This has caused issues before, since we
      always have to strip the suffix from input data and reapply it if we
      need to send data back to Ganeti.
      
      This patch changes the code such that the names are never modified, only
      the alias, and all the internal computations can forget about the common
      suffix addition/removal.
      3e4480e0
  3. May 19, 2010
  4. May 17, 2010
    • Iustin Pop's avatar
      hspace: change handling of N+1 bad clusters · 317b1040
      Iustin Pop authored
      Currently we just print a fake result and exit early. This is bad, since
      it doesn't use the same codepaths for all the result printing, and has
      already led to a bug where hspace looks like completely ignoring the
      tiered specs request.
      
      This patch changes the code to override the computation, instead of the
      printout, thus allowing tiered specs results for such cases.
      317b1040
  5. Apr 15, 2010
  6. Feb 25, 2010
  7. Feb 22, 2010
  8. Jan 07, 2010
    • Iustin Pop's avatar
      Switch the text file format to single-file · 16c2369c
      Iustin Pop authored
      This patch changes from the two separate files to a single file, with
      sections separated by a blank line. Currently only the node and instance
      data is accepted, later the cluster tags will be read too via this
      format.
      
      This makes all the programs accept the new format, but hscan doesn't yet
      generate it.
      16c2369c
  9. Nov 27, 2009
  10. Nov 24, 2009
    • Iustin Pop's avatar
      hspace: quote non-alphanum values in shell output · 9739b6b8
      Iustin Pop authored
      The tiered allocation output which contains spaces makes the output of
      hspace non-sourceable. This patch adds a new function to ensure
      non-alphanumeric values are quoted such that the output can be parsed
      easily via the shell.
      
      The patch also fixes a bug in the DSK_AVAIL key (found after adding the
      quoting) which added an extra space at the end of these keys.
      9739b6b8
  11. Nov 11, 2009
    • Iustin Pop's avatar
      Add a tags attribute to instances · 17e7af2b
      Iustin Pop authored
      … and read it in all the loaders. hscan is modified to save it to the
      files it generates.
      
      The attribute is not yet used in any place.
      17e7af2b
  12. Nov 10, 2009
    • Iustin Pop's avatar
      Allow overriding the field list in -p · e98fb766
      Iustin Pop authored
      The print nodes option can now accept an optional field list to
      customise the output. This is ugly, since the field names do not match
      the header names, but it is at least barely customisable (at runtime).
      e98fb766
  13. Nov 06, 2009
  14. Oct 30, 2009
    • Iustin Pop's avatar
      hspace: Abstract the instance listing · 366a7c89
      Iustin Pop authored
      This also converts it to formatTable from hardcoded listing.
      366a7c89
    • Iustin Pop's avatar
      Rework the instance spec CLI options · 1f9066c0
      Iustin Pop authored
      This patch reworks the internal handling of the instance spec CLI
      option, and adds a tiered spec option that will be used in hspace to
      enable the (auxiliary) tiered-spec allocation mode.
      
      It also introduces a new data type for holding the instance
      specification.
      1f9066c0
  15. Oct 14, 2009
  16. Sep 28, 2009
    • Iustin Pop's avatar
      Split the exernal data loader out of CLI.hs · e8f89bb6
      Iustin Pop authored
      Currently the external data loader is in CLI.hs, which makes all
      programs that need cli functionality (options, etc.) link against the
      network modules (most importantly curl). This patch splits this
      functionality into a new module such that (for example) hail which only
      deals with file I/O doesn't link against these libraries.
      e8f89bb6
  17. Aug 18, 2009
  18. Jul 15, 2009
    • Iustin Pop's avatar
      Unify the command line options and structures · 0427285d
      Iustin Pop authored
      This patch moves all the command line options and their internal
      representation into CLI.hs. This means that duplicated options between
      any two binaries are no longer declared twice, and that we no longer
      need the two *Option classes.
      0427285d
  19. Jul 14, 2009
  20. Jul 09, 2009
    • Iustin Pop's avatar
      hspace: fix failure handling of tryAlloc results · 31e7ac17
      Iustin Pop authored
      Currently hspace doesn't handle failures from tryAlloc correctly; this
      patch changes the iterateDepth function in hspace to return a Result (…)
      so that errors can be propagated correctly.
      
      The patch also changes one output key to be more clear and a typo in
      Cluster.hs
      31e7ac17
    • Iustin Pop's avatar
      Change the tryAlloc/tryReloc workflow · 478df686
      Iustin Pop authored
      Currently, the tryAlloc and tryReloc function return a list with all the
      results, both failures and successes. This is fine for hail, which does
      one round of allocations, but is not so good for hspace, which does
      iterative rounds; since at each (successful) step we only take the best
      solution, it means that we're using lots of heap space to compute and
      store node lists which are thrown away at the end of the step.
      
      This patch changes these two functions and their callers in hail/hspace
      to only return the best solution, and error/success counters. This
      allows hspace to run in a much smaller space, and reduces GC cost
      greatly.
      
      Overall, it is a cleanup, as hail/hspace did a lot of work to chose this
      best solution, whereas now it's automatically promoted within
      Cluster.concatAllocs.
      478df686
  21. Jul 08, 2009
    • Iustin Pop's avatar
      Slight change to the internal allocation results · 8880d889
      Iustin Pop authored
      Currently the Cluster.AllocSolution type is defined as a list of
      ‘(OpResult Node.list, …)’ and the results for applyMove are defined as
      ‘(OpResult Node.List, …)’. Both these means that the failure/success
      indication is hidden in the first elements of this tuple, which makes is
      harder to add other elements depending on the success/failure (like the
      score for the new node list).
      
      This patch moves the OpResult to outside of the tuple, in effect making
      all these ‘OpResult (…)’ which makes the internal tuple elements
      consistent. The patch is affecting the applyMove, tryAlloc and
      tryRealloc functions, and only briefly the hail and hspace programs.
      8880d889
    • Iustin Pop's avatar
      hspace: switch output to shell-script format · 2bbf77cc
      Iustin Pop authored
      This (big) patch changes the output of hspace from text-format
      (separated by ‘: ’) to a shell-snippet, in ‘key=value’ format.
      
      This will allow sourcing the output or parsing it via awk/sed/etc.
      2bbf77cc
    • Iustin Pop's avatar
      hspace: move instance count and score into CStats · de4ac2c2
      Iustin Pop authored
      Currently the instance count and cluster score are separated from the
      other initial/final phase stats, even though they are very similar. This
      patch moves computation of these two into totalResources/CStats and
      removes special printing in hspace.
      de4ac2c2
  22. Jul 07, 2009
  23. Jul 06, 2009
    • Iustin Pop's avatar
      Fix hlint-generated warnings · 9f6dcdea
      Iustin Pop authored
      This big patch cleans up the code per hlint indications. Many removals
      of extra parentheses, replacements of concat . map with concabtMap,
      extra dollar signs, eta reductions, etc. were performed.
      
      The code still compiles and passes a couple of manual tests on sample
      files. The individual changes are also small enough as to be visually
      easy to confirm.
      9f6dcdea
  24. Jul 05, 2009
Loading