Skip to content
Snippets Groups Projects
  1. Jul 21, 2010
    • Iustin Pop's avatar
      Allow balancing moves to introduce N+1 errors · 2cae47e9
      Iustin Pop authored
      This patch switches the applyMove function to the extended versions of
      Node.addPri and addSec, and passes the override flag based on the state
      of the node that we're moving away from.
      2cae47e9
  2. Jul 19, 2010
  3. Jul 18, 2010
    • Iustin Pop's avatar
      Allow '+' in node list fields · 6dfa04fd
      Iustin Pop authored
      When the field list is prefixed with a plus sign, this will extend the
      default field list, instead of replacing it entirely.
      6dfa04fd
  4. May 20, 2010
    • Iustin Pop's avatar
      Add more unit tests for allocation/balance · 3fea6959
      Iustin Pop authored
      The patch adds some simple unit-tests for both the allocation function
      (we can allocate small instances on an empty cluster, we can allocate in
      tiered more starting from any size) and the balancing functions (one
      single instance is placed optimally, a full cluster plus an empty node
      can be rebalanced). The coverage has increased greatly, since this is
      the bulk of the algorithm/code.
      
      Also, the cluster tests are now being run with different options, since
      they are much slower.
      3fea6959
    • 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
      Make CStats instance of show · 8423f76b
      Iustin Pop authored
      This helps debugging via ghci.
      8423f76b
    • 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
  5. May 18, 2010
    • Iustin Pop's avatar
      Remove the noLimit values and always use limits · f4c0b8c5
      Iustin Pop authored
      This patch moves from allowing no-limits for disk/cpu ratios, and always
      use a real limit. For disk, it's simple since we use 0, which means no
      reservations for disks. For CPU, we set an (arbitrary) limit of 64 v/p,
      which should be reasonable as a default limit (it can be changed via the
      command line).
      f4c0b8c5
  6. May 04, 2010
    • Iustin Pop's avatar
      Fix hspace's KM metrics · e2436511
      Iustin Pop authored
      We returned the KM_POOL_* metrics as the final state, not as the delta
      between the final and the initial state.
      e2436511
  7. Apr 15, 2010
    • Iustin Pop's avatar
      Add a new function to compute allocation deltas · 9b8fac3d
      Iustin Pop authored
      Given two cluster states, the new function can answer the following
      questions:
      
      - how much resources currently allocated
      - how much resources finally allocated (delta from above is how much we
        can actually allocate on the cluster)
      - unallocable resources (whatever is left free after the previous step)
      9b8fac3d
    • Iustin Pop's avatar
      Introduce total vcpu tracking in CStats · 86ecce4a
      Iustin Pop authored
      We add a new field that tracks the available virtual cpus (expressed as
      node cpus times the vcpu ratio).
      86ecce4a
  8. Feb 25, 2010
  9. Feb 23, 2010
  10. Feb 22, 2010
  11. Jan 14, 2010
    • Iustin Pop's avatar
      Move instance relocation test upper in the chain · a804261a
      Iustin Pop authored
      Currently we test each instance for relocation in checkMove; however, it
      is a little more clear if we pass only the relocatable instances to
      checkMove. The patch also slightly rewrites (indendation/style) the
      second half of the checkMove function.
      a804261a
    • 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
  12. Dec 11, 2009
  13. Nov 17, 2009
    • Iustin Pop's avatar
      Use conflicting primaries count in cluster score · d844fe88
      Iustin Pop authored
      This small patch adds the number of conflicting primaries in the cluster
      score. This is different from the other non-CV metrics where we usually
      compute the percentage of failing instances (for that metric); but for a
      somewhat big cluster, 1-2% failing instances will be a too small value
      to cause the relocation of conflicting instances (future patches will
      also switch other non-CV metrics to this method).
      d844fe88
  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. Nov 09, 2009
  16. Oct 21, 2009
  17. Oct 18, 2009
    • Iustin Pop's avatar
      Simplify the cstats initializer · 8c9af2f0
      Iustin Pop authored
      Since all values are initialized to zero, the exact ordering is not
      important and thus we can use the positional mode for simpler code.
      
      The patch also adds docstrings to the cstats functions.
      8c9af2f0
    • Iustin Pop's avatar
      Simplify Cluster.computeMoves · 668c03b3
      Iustin Pop authored
      Since we now have an actual type for describing the instance moves
      (IMove), it's simpler to convert this into the move description/move
      commands, rather than re-computing the move based on initial and final
      nodes. This makes the shell commands computation and over-Luxi command
      execution use the same method of computation.
      668c03b3
    • Iustin Pop's avatar
      Remove obsolete export · eb2598ab
      Iustin Pop authored
      The ‘Placement’ type has been moved to Types.hs but we kept exporting it
      from Cluster, which is not needed.
      eb2598ab
    • Iustin Pop's avatar
      Generalise the node/instance listing · c5f7412e
      Iustin Pop authored
      This patch introduces a generic formatTable function (based on, and
      similar to the Ganeti one, but different and more FP in style) and
      changes the node and instance listing to it.
      
      The node list (due to the many variables) is still a little bit hackish
      unfortunately…
      c5f7412e
    • Iustin Pop's avatar
      Fix instance listing for non-redundant case · ad6cffe4
      Iustin Pop authored
      ad6cffe4
  18. Oct 16, 2009
    • Iustin Pop's avatar
      Start using the utilisation scores in balancing · ee9724b9
      Iustin Pop authored
      This enables the per-node load/total available capacity scores to be
      used in balancing. Note that the total available capacity is currently
      fixed at zero and cannot be changed by the user.
      ee9724b9
    • Iustin Pop's avatar
      Show the load on nodes in node lists · 183a9c3d
      Iustin Pop authored
      The strange printf usage is due to some limitation (it seems) in ghc for
      very long argument lists. The whole printout should be rewritten later.
      183a9c3d
  19. Oct 15, 2009
  20. Oct 14, 2009
Loading