1. 09 Sep, 2008 9 commits
  2. 08 Sep, 2008 6 commits
  3. 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
  4. 04 Sep, 2008 7 commits
  5. 02 Sep, 2008 3 commits
  6. 01 Sep, 2008 4 commits
    • Alexander Schreiber's avatar
      merge r1539 from branches/ganeti/ganeti-1.2 · 34b6ab97
      Alexander Schreiber authored
      Display VNC console port in gnt-instance info.
      Reviewed-by: iustinp
    • Alexander Schreiber's avatar
      merge r1538 from branches/ganeti/ganeti-1.2 · 5bc84f33
      Alexander Schreiber authored
      Check HVM device type on instance modify as well.
      Reviewed-by: imsnah
    • Guido Trotter's avatar
      Check memory size before setting it · cfefe007
      Guido Trotter authored
      With this change when a user asks for a new memory size for an instance,
      the number is checked instead of just applied. The operation fails only
      if the instance would not be able to restart on its primary node, but
      generates warnings should it be impossible to failover the instance or
      should the computation be impossible due to nodes being unreachable.
      This is a forward-port from branches/ganeti-1.2
      Original-Reviewed-by: iustinp
      Reviewed-by: iustinp
    • Guido Trotter's avatar
      Pass the force param to SetInstanceParms · 4300c4b6
      Guido Trotter authored
      It was already allowed in gnt-instance modify, but ignored.
      It will be used to force skipping parameter checks.
      This is a forward-port from branches/ganeti-1.2
      Original-Reviewed-by: imsnah
      Reviewed-by: iustinp
  7. 29 Aug, 2008 2 commits
  8. 28 Aug, 2008 1 commit
    • Guido Trotter's avatar
      Fix issue when acquiring empty lock sets · 6683bba2
      Guido Trotter authored
      By design if an empty list of locks is acquired from a set, no locks are
      acquired, and thus release() cannot be called on the set. On the other
      hand if None is passed instead of the list, the whole set is acquired,
      and must later be released. When acquiring whole empty sets, a release
      must happen too, because the set-lock is acquired.
      Since we used to overwrite the required locks (needed_locks) with the
      acquired ones, we weren't able to distinguish the two cases (empty list
      of locks required, and all locks required, but an empty list returned
      because the set is empty). Valid solutions include:
        (1) forbidding the acquire of empty lists of locks
        (2) skipping the acquire/release on empty lists of locks
        (3) separating the to-acquire and the acquired list
      This patch implements the third approach, and thus LUs will find
      acquired locks in the acquired_locks dict, rather than in needed_locks.
      The LUs which used this feature before have been updated. This makes it
      easier because it doesn't force LUs to do more checks on corner cases,
      which are easily forgettable (1) and allows more flexibility if we want
      LUs to release (part-of) the locks (which is still a possibly scary
      operation, but anyway). This easily combines with (2) should we choose
      to implement it.
      Reviewed-by: imsnah
  9. 18 Aug, 2008 4 commits
    • Guido Trotter's avatar
      Parallelize LUQueryNodes · 35705d8f
      Guido Trotter authored
      As for LUQueryInstances the first version just acquires a shared lock on all
      nodes. In the future further optimizations are possible, as outlined by
      comments in the code.
      Reviewed-by: imsnah
    • Guido Trotter's avatar
      Parallelize LUQueryInstances · 7eb9d8f7
      Guido Trotter authored
      This first version acquires a shared lock on all requested instances and
      their nodes. In the future it can be improved by acquiring less locks if
      no dynamic fields have been asked, and/or by locking just primary nodes.
      Reviewed-by: imsnah
    • Guido Trotter's avatar
      LURebootInstance: move arg check in ExpandNames · 0fcc5db3
      Guido Trotter authored
      The check for the reboot type can be done without any locks held, so
      we'll move it to ExpandNames. Plus, we note in a FIXME that if the
      reboot type is not full, we can probably just lock the primary node, and
      leave the secondary unlocked.
      Reviewed-by: imsnah
    • Michael Hanselmann's avatar
      LUVerifyCluster: Return boolean indication success · 34290825
      Michael Hanselmann authored
      Reviewed-by: schreiberal
  10. 06 Aug, 2008 1 commit
    • Michael Hanselmann's avatar
      Implement {Add,Readd,Remove}Node in GanetiContext · d8470559
      Michael Hanselmann authored
      By doing this we've a central place which coordinates what needs to be
      done when adding or removing nodes. Another patch will add calls into
      the job queue.
      Two log messages move to config.py.
      When removing a node, node_leave_cluster is now called after it has
      been removed from the configuration and job manager. That way we're
      sure not to access the node again after files have been removed.
      Reviewed-by: iustinp
  11. 30 Jul, 2008 2 commits
    • Iustin Pop's avatar
      Fix cluster destroy · 140aa4a8
      Iustin Pop authored
      With the recent startup/shutdown changes (and with the master daemon in
      place), the cluster destroy needs some fixing.
      This patch moves the finalization of the destroy out from cmdlib into
      bootstrap, so we can nicely shutdown the rapi and master daemons.
      Reviewed-by: ultrotter
    • Guido Trotter's avatar
      Parallelize LUFailoverInstance · c9e5c064
      Guido Trotter authored
      Reviewed-by: iustinp