Skip to content
Snippets Groups Projects
  1. Jul 19, 2010
    • Iustin Pop's avatar
      hbal: print short names in steps list · 14c972c7
      Iustin Pop authored
      This was a regression from the name handling changes, as we started
      using the original names for the solution list (which is not designed
      for parsing/feeding back into ganeti).
      14c972c7
  2. Jul 16, 2010
  3. Jun 21, 2010
  4. Jun 02, 2010
    • Iustin Pop's avatar
      Change the Luxi operations structure · 683b1ca7
      Iustin Pop authored
      Currently, we define the LuxiOp type as a simple enumeration, and leave
      the arguments structure to the users of the Ganeti.Luxi module. This is
      suboptimal for a couple of reasons: first, we decouple the operation
      type from operation arguments, and that means we don't use the type
      system for validation of the arguments; second, the clients themselves
      have to know about the JSON encoding of the protocol.
      
      For the above arguments, we change the operation type to contain the
      arguments too, and then the entire conversion/serialization is
      restricted to the Ganeti.Luxi module. Also, the removal of the JSON
      encoding from the clients results in an overall simplification of the
      code.
      683b1ca7
  5. May 20, 2010
    • Iustin Pop's avatar
      Accept both full and short names in CLI · c854092b
      Iustin Pop authored
      This patch introduces some new functionality in the base Element type
      and in Container which supports searching for all 'known' names of an
      element, such that both short and full names are accept for various
      options like '-O' and '--excluded-instances'.
      c854092b
    • 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
  6. Feb 25, 2010
  7. Feb 23, 2010
  8. Feb 22, 2010
  9. Jan 14, 2010
    • Iustin Pop's avatar
      Split the balancing function in two parts · 5ad86777
      Iustin Pop authored
      Currently in the balancing function we do two thing:
      
      - take the decision where to do a new balancing round or not
      - and actually computing the balancing round
      
      This is not nice, as the two parts are conceptually separate, so this
      patch splits the decision on whether to descend or not to a new
      function.
      5ad86777
  10. 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
  11. Dec 01, 2009
  12. Nov 27, 2009
  13. Nov 17, 2009
    • Iustin Pop's avatar
      Add a command-line option to filter exclusion tags · 0f15cc76
      Iustin Pop authored
      Since we don't want all instance tags to be used for exclusion, we add a
      command line option to filter on these. Since the iallocator protocol
      cannot accept command line options, currently it's not possible to
      specify these for hail, and thus it will never use any exclusion tags.
      0f15cc76
  14. 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
  15. Oct 16, 2009
    • Iustin Pop's avatar
      Add loading and processing of utilisation data · aa8d2e71
      Iustin Pop authored
      This patch adds loading and processing the utilisation data during
      instance moves. While the data is not yet used, it is correctly modified
      by instance changes between nodes.
      
      hbal has the new ‘-U’ command line argument for this. The format of the
      file is simply instance name and the four stats, space-separated.
      aa8d2e71
  16. Oct 15, 2009
  17. Oct 14, 2009
  18. Oct 02, 2009
    • Iustin Pop's avatar
      Store the instance move in the MoveJobs · a2e90275
      Iustin Pop authored
      This will automatically sort our Ganeti jobs into the independent job
      sets, and then we can submit them separately.
      a2e90275
    • Iustin Pop's avatar
      Move some more type definitions to Types.hs · 92e32d76
      Iustin Pop authored
      92e32d76
    • Iustin Pop's avatar
      hbal: Implement grouping of moves into jobsets · 0e8ae201
      Iustin Pop authored
      Since moving two instances between different node-quadruples (inst X: A,
      B → C, D and inst Y: E, F → G, H) can be parallelised by Ganeti, it
      makes sense to split the operation list into jobsets whose execution
      must be serialised, but whose individual jobs can be parallelised.
      
      Of course, this doesn't help, because today a single logical job is for
      some cases split in multiple gnt-instance invocations, which (if run
      using ‘--submit’) might be wrongly parallelised by Ganeti. So while for
      now this is mostly a cosmetic hint to the user, and it just a step for
      future improvements.
      0e8ae201
  19. 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
  20. Aug 30, 2009
    • Iustin Pop's avatar
      Split the balancing algorithm in two parts · f25e5aac
      Iustin Pop authored
      Currently the computation, recursing part and the IO part (progress
      updates) of the balancing main function (iterateDepth) are all in the
      same function, which makes it hard to test. This patch moves the
      decision/computation part (whether to proceed one more round, whether we
      got a good result, etc.) into Cluster.hs, and leaves only the iteration
      and screen update in hbal.hs.
      f25e5aac
  21. Aug 26, 2009
    • Iustin Pop's avatar
      Implement support for 'cheap' moves only · c0501c69
      Iustin Pop authored
      This patch adds support for cheap (failover/migrate) operations only in
      the balancing algorithm and in the hbal command line options.
      
      This allows a very quick balancing (compared to allowing replace-disks)
      which can be useful as a scheduled operation.
      c0501c69
  22. Jul 28, 2009
  23. 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
  24. Jul 14, 2009
    • Iustin Pop's avatar
      Add support for luxi backend in CLI/hspace/hbal · 8e445e6d
      Iustin Pop authored
      This patch changes the backend selection method in CLI to prefer, in order:
        - a RAPI specification
        - a Luxi specification
        - and finally the node/instance files
      
      It also modifies hspace and hbal to provide a ‘-L’ command line option
      for enabling Luxi.
      8e445e6d
  25. Jul 07, 2009
    • Iustin Pop's avatar
      Show errors on stderr instead of stdout · 2795466b
      Iustin Pop authored
      Currently many of the exit and warning conditions mistakenly display error
      messages on stdout, which makes parsing the output of programs harder. This
      patch attempts to fix such occurrences.
      2795466b
  26. 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
  27. Jul 02, 2009
    • Iustin Pop's avatar
      Add a new type for cluster statistics · 1a7eff0e
      Iustin Pop authored
      Currently totalResources returns a 5-tuple of integers. This is not easy
      to handle, as each change on the return type means that each caller must
      be updated.
      
      This patch adds a new type for cluster stats and uses that instead as
      its return type. This simplifies its callers while complicating only a
      little the computation of the stats.
      1a7eff0e
    • Iustin Pop's avatar
      Add display of more stats in hspace · e2af3156
      Iustin Pop authored
      This patch changes Cluster.totalResources to compute more details about
      the cluster status, and enhances hspace to display more of these.
      e2af3156
  28. Jun 12, 2009
  29. Jun 11, 2009
    • Iustin Pop's avatar
      Fix the various monomorphism warning · 78694255
      Iustin Pop authored
      In a few places (e.g. tryRead or any printf call) it's a little bit hard
      to add the correct type signatures, but in the it is possible to fix
      these warnings (which can bite one in subtle cases).
      78694255
  30. Jun 01, 2009
  31. May 26, 2009
    • Iustin Pop's avatar
      Change the module import hierarchy · 262a08a2
      Iustin Pop authored
      This patch makes the Types module a base module, and Node/Instance ones
      import it, from the previous (opposite) situation. This will allow in
      the future to use newtypes for the index and name types.
      262a08a2
Loading