1. 25 Sep, 2008 1 commit
    • René Nussbaumer's avatar
      Fix a broken format string · 207a6c74
      René Nussbaumer authored
      This patch fixes a broken format string. It's expecting 3 parameters, but only
      gets 2. This change will add the missing parameter. This is a forward-port
      of the fix in Ganeti 1.2
      Reviewed-by: imsnah
  2. 23 Sep, 2008 2 commits
    • Iustin Pop's avatar
      Switch to static minors for DRBD · a1578d63
      Iustin Pop authored
      With some todos remaining, this patch switches the DRBD devices to use
      the passed minors, and the cmdlib code (add instance and replace disks)
      to request and assign minors to the DRBD disks.
        - look at the disk RPC calls to see which can be optimized away, since
          we now know the minor beforehand
        - remove the _FindUnusedMinor usage from the few places it's still
          used (not for actual disks, but for temporary use in meta devs) and
          eventually replace with _CheckMinorUnused or such
      Of course, this and/or the previous two patches break existing clusters.
      Reviewed-by: imsnah
    • Iustin Pop's avatar
      Fix disk replace secondary with static minors · 468b46f9
      Iustin Pop authored
      The code in 'updating instance configuration' section of the replace
      disks with change secondary node was setting a wrong new logical_id for
      the drbd devices (only set the new node, not the new minor). The patch
      fixes this by remembering the new logical_id that we use for activating
      the drbd and reusing it (instead of recomputing).
      Since the minors are not needed to be allocated before the LVs are
      created, we also move the minor allocation step (currently as None)
      after this step.
      Reviewed-by: imsnah
  3. 22 Sep, 2008 1 commit
    • Iustin Pop's avatar
      Extend DRBD disks with minors attribute · ffa1c0dc
      Iustin Pop authored
      This patch converts the DRBD disks to contain also a minor (per each
      node) attribute. This minor is not yet used and is always initialized
      with None, so the patch does not have any real-world impact - except for
      automatically upgrading config files (it adds the minors as None, None).
      Reviewed-by: imsnah
  4. 18 Sep, 2008 2 commits
    • Guido Trotter's avatar
      Apply filter properly in LUQuery{Nodes, Instances} · 3fa93523
      Guido Trotter authored
      Currently when not locking all nodes/instances are returned, regardless
      if the user asked only for some of them. With this patch we return to
      the previous behaviour:
        - if no names are specified return info on all current ones
        - if some names are specified and are not found give an error
        - otherwise return only info on the specified names
      Reviewed-by: iustinp
    • Guido Trotter's avatar
      Remove auto_balance from burnin/cmdlib · c2c2a903
      Guido Trotter authored
      There is no such feature in trunk yet.
      Reviewed-by: iustinp
  5. 11 Sep, 2008 6 commits
    • Guido Trotter's avatar
      Parallelize Tag operations · 8646adce
      Guido Trotter authored
      For now we lock the instance/node for adding/deleting tags from it, but
      we could probably in the future do without, with more support from the
      config for atomic operations.
      Reviewed-by: iustinp
    • Guido Trotter's avatar
      Parallelize LUSetClusterParams (and add a FIXME) · c53279cf
      Guido Trotter authored
      Reviewed-by: imsnah
    • Guido Trotter's avatar
      Parallelize LURemoveExport · 3656b3af
      Guido Trotter authored
      Reviewed-by: imsnah
    • Guido Trotter's avatar
      Parallelize LURemoveInstance · cf472233
      Guido Trotter authored
      Using the new add/remove infrastructure this becomes pretty easy! :)
      Reviewed-by: imsnah
    • Guido Trotter's avatar
      Parallelize LUCreateInstance · 7baf741d
      Guido Trotter authored
      Finally, instance create on different node, without iallocator, can run
      in parallel. Iallocator usage still needs all nodes to be locked,
      unfortunately. As a bonus most checks which could have been moved to
      ExpandNames, before any locking is done.
      Reviewed-by: imsnah
    • Guido Trotter's avatar
      Implement adding/removal of locks by declaration · ca2a79e1
      Guido Trotter authored
      With this patch LUs can declare locks to be added when they start and/or
      removed after they finish. For now locks can only be added in the
      acquired state, and removed if owned, and added locks default to be
      removed again, unless some action is taken.
      Reviewed-by: imsnah
  6. 10 Sep, 2008 2 commits
    • Iustin Pop's avatar
      Remove locking of instances in certain queries · 57a2fb91
      Iustin Pop authored
      This patch is similar to the node patch (rev 1650). We disable locking
      of instance (and nodes) if we only query static information.
      Reviewed-by: ultrotter
    • Iustin Pop's avatar
      Optimize the OpQueryNodes for names only · c8d8b4c8
      Iustin Pop authored
      Currently, OpQueryNodes is locking all nodes (in shared mode), which
      will also block the special case of querying only for the node names
      (this is needed for gnt-cluster command, for example). There is no
      logical requirement to not give the administrator enough power if she/he
      knows what to do, so it would be logical that querying the node names
      works without a lock.
      The patch changes the LUQuerytNodes.ExpandNodes to only request locking
      when the selected fields contain dynamic attributes, and a small change
      in the Exec() method to use the new, atomic query method from
      Reviewed-by: ultrotter
  7. 09 Sep, 2008 10 commits
  8. 08 Sep, 2008 6 commits
  9. 05 Sep, 2008 1 commit
    • Guido Trotter's avatar
      Add locking.ALL_SET constant and use it · e310b019
      Guido Trotter authored
      Rather than specifying None in needed_locks every time, with a nice
      comment saying to read what we mean rather than what we write, and that
      None actually means All, in our magic world, we'll hide this secret
      under the ALL_SET constant in the locking module, which has value, you
      guessed it, None. After that we'll substitute all usage in cmdlib.
      Some comments and examples have been fixed as well.
      Reviewed-by: iustinp
  10. 04 Sep, 2008 7 commits
  11. 02 Sep, 2008 2 commits