Skip to content
Snippets Groups Projects
  1. Jun 27, 2011
    • 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
  2. Jun 23, 2011
  3. Jun 22, 2011
  4. Jun 17, 2011
  5. May 31, 2011
    • 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
  6. May 30, 2011
    • 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
  7. May 26, 2011
  8. May 24, 2011
  9. May 17, 2011
  10. May 16, 2011
  11. May 12, 2011
  12. May 11, 2011
  13. May 10, 2011
  14. May 09, 2011
    • 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
    • Marco Casavecchia's avatar
      Add 2 new variables to the OS scripts environment · 519719fd
      Marco Casavecchia authored
      
      Add INSTANCE_PRIMARY_NODE and INSTANCE_SECONDARY_NODES. These new
      values are useful for OS scripts that needs to know the nodes where
      the instance lives.. or has lived.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      [iustin@google.com: fixed small issue with SECONDARY_NODES]
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      519719fd
    • Iustin Pop's avatar
      Add --no-wait-for-sync when converting to drbd · 456798ab
      Iustin Pop authored
      
      Currently, when converting an instance from plain to DRBD, the
      instance is blocked during the entire resync period. This patch adds
      the --no-wait-for-sync so that the operation finishes as soon as the
      DRBD sync has started, without waiting for the entire sync. This makes
      the instance available much faster.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      456798ab
    • Iustin Pop's avatar
      Recreate instance disks: allow changing nodes · c8a96ae7
      Iustin Pop authored
      
      This patch introduces the option of changing an instance's nodes when
      doing the disk recreation. The rationale is that currently if an
      instance lives on a node that has gone down and is marked offline,
      it's not possible to re-create the disks and reinstall the instance on
      a different node without hacking the config file.
      
      Additionally, the LU now locks the instance's nodes (which was not
      done before), as we most likely allocate new resources on them.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      c8a96ae7
Loading