1. 01 Jul, 2011 1 commit
  2. 28 Jun, 2011 2 commits
    • Iustin Pop's avatar
      Fix bug in recreate-disks for DRBD instances · b768099e
      Iustin Pop authored
      
      
      The new functionality in 2.4.2 for recreate-disks to change nodes is
      broken for DRBD instances: it simply changes the nodes without caring
      for the DRBD minors mapping, which will lead to conflicts in non-empty
      clusters.
      
      This patch changes Exec() method of this LU significantly, to both fix
      the DRBD minor usage and make sure that we don't have partial
      modification to the instance objects:
      
      - the first half of the method makes all the checks and computes the
        needed configuration changes
      - the second half then performs the configuration changes and
        recreates the disks
      
      This way, instances will either be fully modified or not at all;
      whether the disks are successfully recreate is another point, but at
      least we'll have the configuration sane.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      b768099e
    • Iustin Pop's avatar
      Fix a lint warning · 78ff9e8f
      Iustin Pop authored
      Patch db8e5f1c
      
       removed the use of feedback_fn, hence pylint warn
      now.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      78ff9e8f
  3. 27 Jun, 2011 3 commits
    • Apollon Oikonomopoulos's avatar
      KVM: configure bridged NICs at migration start · cc8a8ed7
      Apollon Oikonomopoulos authored
      Commit 5d9bfd87
      
       moved tap interface handling from KVM to Ganeti, partly
      to also solve the problem of routed interfaces getting configured too
      early during live migrations, causing network anomalies. In that
      direction, configuration of NICs of incoming instances was deferred to
      FinalizeMigration time.
      
      However, this causes minor issues with bridged interfaces; KVM sends out
      an ARP-like packet upon migration finish, which is lost because the tap
      interface is not yet configured. As a consequence, intermediate network
      equipment (i.e. switches) does not get notified about the topology
      change, until the instance transmits another packet after the bridge has
      been configured, or the switch's ARP cache expires.
      
      The proper solution to that is to support different phases in network
      configuration (pre/post migration), which also requires separate ifup
      scripts. Until then we fall back to configuring bridged interfaces on
      incoming instances at migration start, instead of finish.
      Signed-off-by: default avatarApollon Oikonomopoulos <apollon@noc.grnet.gr>
      Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      cc8a8ed7
    • Iustin Pop's avatar
      96747bda
    • Iustin Pop's avatar
      Fix bug in drbd8 replace disks on current nodes · db8e5f1c
      Iustin Pop authored
      
      
      Currently the drbd8 replace-disks on the same node (i.e. -p or -s) has
      a bug in that it does modify the instance disk temporarily before
      changing it back to the same value. However, we don't need to, and
      shouldn't do that: what this operation do is simply change the LVM
      configuration on the node, but otherwise the instance disks keep the
      same configuration as before.
      
      In the current code, this change back-and-forth is fine *unless* we
      fail during attaching the new LVs to DRBD; in which case, we're left
      with a half-modified disk, which is entirely wrong.
      
      So we change the code in two ways:
      
      - use temporary copies of the disk children in the old_lvs var
      - stop updating disk.children
      
      Which means that the instance should not be modified anymore (except
      maybe for SetDiskID, which is a legacy and unfortunate decision that
      will have to cleaned up sometime).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      db8e5f1c
  4. 23 Jun, 2011 2 commits
  5. 22 Jun, 2011 1 commit
  6. 17 Jun, 2011 4 commits
  7. 31 May, 2011 1 commit
    • Michael Hanselmann's avatar
      jqueue: Fix potential race condition when cancelling queued jobs · 66bd7445
      Michael Hanselmann authored
      
      
      When a job was cancelled, its status would be changed and the file
      written again. Since this was a final status, the job file could be
      moved anytime for archival. If the job was still in the queue, however,
      it would be processed (not fully, just updating the “end_timestamp”
      attribute) and written again. This was bad as it could leave the same
      job in two different files.
      
      With this patch the processor is changed to return early for finished
      jobs. Cancelling a queued job will finalize it right away. Unittests are
      updated.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      66bd7445
  8. 30 May, 2011 1 commit
    • Apollon Oikonomopoulos's avatar
      Fix argument order in ReserveLV and ReserveMAC · 8785b71b
      Apollon Oikonomopoulos authored
      
      
      ConfigWriter.ReserveLV() and Configwriter.ReserveMAC() called
      TemporaryReservationManager.Reserve() with the ec_id and resource arguments
      swapped. As a result, two reservation attempts for the same resource type
      within the same LU would fail, even if the resources requested were different,
      e.g.:
      
        $ gnt-instance add -t sharedfile -o debootstrap+default \
             --net 0:mac=00:01:02:03:04:00 \
             --net 1:mac=00:01:02:03:04:ff \
             --disk 0:size=2g  test_instance
        Failure: prerequisites not met for this operation:
        error type: resource_not_unique, error details:
        MAC address 00:01:02:03:04:ff already in use in cluster
      
      This patch fixes the argument order in the call to Reserve().
      Signed-off-by: default avatarApollon Oikonomopoulos <apollon@noc.grnet.gr>
      Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      8785b71b
  9. 26 May, 2011 1 commit
    • Michael Hanselmann's avatar
      TLReplaceDisks: Move assertion checking locks · a9b42993
      Michael Hanselmann authored
      Commit 1bee66f3
      
       added assertions for ensuring only the necessary locks
      are kept while replacing disks. One of them makes sure locks have been
      released during the operation. Unfortunately the commit added the check
      as part of a “finally” branch, which is also run when an exception is
      thrown (in which case the locks may not have been released yet). Errors
      could be masked by the assertion error. Moving the check out of the
      “finally” branch fixes the issue.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      a9b42993
  10. 24 May, 2011 6 commits
  11. 17 May, 2011 1 commit
  12. 16 May, 2011 6 commits
  13. 12 May, 2011 4 commits
  14. 11 May, 2011 3 commits
  15. 10 May, 2011 3 commits
  16. 09 May, 2011 1 commit
    • Iustin Pop's avatar
      Some man page updates · 0a68e0ff
      Iustin Pop authored
      
      
      This adds documentation for both the short and long form of many
      options (which was inconsistent before: in some cases only the short
      form was used, in others only the long form).
      
      Note that the standard this patch adopts is to document both forms as
      such:
      
        {-O|--os-parameters} …
      
      This makes it a bit uglier in complex situations, but the alternatives
      considered were not perfect either. Other suggestions (with patches)
      welcome.
      
      Additionally, it fixes two doc bugs:
      
      - in gnt-cluster.rst, the --prealloc-wipe-disks section was in the
        middle of a paragraph
      - in gnt-instance.rst, a list was not typed correctly, thus it was
        mangled as a single paragraph
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      0a68e0ff