1. 10 May, 2011 1 commit
  2. 06 May, 2011 1 commit
  3. 05 May, 2011 3 commits
    • Apollon Oikonomopoulos's avatar
      Fix DTS_EXT_MIRROR migration · 1c6e5787
      Apollon Oikonomopoulos authored
      Commit faaabe3c
      
       fixed failover behaviour for DTS_INT_MIRROR instances, however
      it broke migration for DTS_EXT_MIRROR instances, by moving iallocator and node
      checks from LUInstanceMigrate to TLMigrateInstance. This has the side-effect
      that the LU called the TL with None for both, node and iallocator when the
      default iallocator was being used.
      
      This patch maintains the iallocator checks in TLMigrateInstance and fixes the
      LU-TL integration.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      [iustin@google.com: rebased patch on current HEAD]
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      1c6e5787
    • Michael Hanselmann's avatar
      Use node group locking for replacing disks · 8b0273a5
      Michael Hanselmann authored
      
      
      This is one of the first opcodes to make use of node group locking. To
      get an instance's node groups, the instance's nodes need to be looked
      at. Due to a previous design decision nodes are locked after the group,
      hence there's no clean locking order. This patch works around that by
      first getting the instance's groups without locks, and then verifying
      them after actually getting all locks. Rough overview:
      
      - Lock instance
      - Get groups of instance's nodes
      - Lock groups
      - Lock all nodes in groups
      - Verify node groups
      - Run iallocator
      - Release group and unused nodes
      - Replace disks, etc.
      
      There are probably too many assertions in the code, but it's locking and
      we've been bitten in the past.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      8b0273a5
    • Apollon Oikonomopoulos's avatar
      TLMigrateInstance: Fix live migration breakage · 54bd7d76
      Apollon Oikonomopoulos authored
      Commit 77fcff4a
      
       unintentionally incorporated code from
      TLMigrateInstance.CheckPrereq into TLMigrateInstance._RunAllocator, presumably
      during a rebase from earlier versions of the patch to the 2.5 codebase. As a
      result all migrations running without an iallocator were performed non-live :-(
      
      This patch moves the affected code back to CheckPrereq.
      Signed-off-by: default avatarApollon Oikonomopoulos <apollon@noc.grnet.gr>
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      54bd7d76
  4. 04 May, 2011 1 commit
  5. 29 Apr, 2011 4 commits
  6. 28 Apr, 2011 6 commits
  7. 27 Apr, 2011 5 commits
    • Iustin Pop's avatar
      Replace disks: keep the meta device in the same VG · fd09d178
      Iustin Pop authored
      
      
      This patch enhances the multi-VG support in replace disks, by keeping
      the meta device in the same VG, as opposed to moving it to the data
      device VG (note that we don't have a way to create the meta in a
      different VG in the first place, but at least we correctly handle a
      custom config).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      fd09d178
    • Doug Dumitru's avatar
      Fix for multiple VGs - PlainToDrbd and replace-disks · 88aa7f66
      Doug Dumitru authored
      
      
      Converting an instance from 'plain' to 'drbd'.  The old code would
      create the drbd volumes in the default VG and then the renames would
      fail.  This fix pulls the plain VG names from the existing volumes and
      places it into the new disk template.
      
      Running 'replace-disks' has a similar issue with the new disks going
      into the wrong VG and then the rename failing.
      
      Their might be a similar issue with 'recreate-disks', but I actually
      have no idea what recreate-disks does, so did not look into it.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      88aa7f66
    • Iustin Pop's avatar
      Improve error messages in cluster verify/OS · 2db04578
      Iustin Pop authored
      
      
      A few issues in the clarity of the error messages are fixed:
      
      - "ERROR: node node3: OS API version lenny-image": no preposition
        between the parameter type and the OS name, changed to "for
        lenny-image"
      
      - "API version lenny-image differs from reference node node1: 10, 5
        vs. 10, 20, 5, 15": parameters not sorted in display
      
      - "OS variants list lenny-image differs from reference node node1:
        vs. default, i386": empty sets are not clearly delimited, changed to
        add [] around the sets: "node node1: [] vs. [default, i386]"
      
      - "OS parameters lenny-image differs from reference node node1:
        vs. (u'dhcp', u'Whether to enable (yes) or disable (dhcp)')": ugly
        formatting in the OS parameters list, as we used to just "%s" the
        tuple; now it is "reference node node1: [] vs. [dhcp: Whether to
        enable (yes) or disable (dhcp)]"
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      2db04578
    • Iustin Pop's avatar
      Prevent readding of the master node · d833acc6
      Iustin Pop authored
      
      
      This breaks Ganeti in multiple ways. If we don't make the check in
      gnt-node itself, then bootstrap.SetupNodeDaemon will restart the
      master daemon, making the operation fail:
      
        node1# gnt-node add --readd node1
        Cannot communicate with the master daemon.
        Is it running and listening for connections?
      
      The check in cmdlib is more of a safety check, as we shouldn't reach
      it. If we do (via a bad client), then it will prevent breakage in the
      job queue/config handling.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      d833acc6
    • Iustin Pop's avatar
      Fix punctuation in an error message · cce6f357
      Iustin Pop authored
      
      
      IIRC we don't use punctuation at the end of error messages.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      cce6f357
  8. 21 Apr, 2011 1 commit
  9. 20 Apr, 2011 2 commits
  10. 19 Apr, 2011 1 commit
    • Iustin Pop's avatar
      disk wiping: fix bug in chunk size computation · 6e7f0cd9
      Iustin Pop authored
      
      
      The current wipe_chunk_size computation is doing min(int_value,
      float_value). For small disks (below 10GiB), the actual formula will
      result into the float value being chosen. This results into very
      interesting behaviour:
      
      Wiping disk 0, offset 102.4, chunk 102.4
      Wiping disk 0, offset 204.8, chunk 102.4
      …
      Wiping disk 0, offset 921.6, chunk 102.4
      Wiping disk 0, offset 1024.0, chunk 1.13686837722e-13
      
      Since these are passed to dd via %d, this will result into the call to
      dd specifying offset 1024 and count 0, which will fail.
      
      We just need to enforce conversion to int, in order to not get bitten
      by floating point rounding errors.
      
      The patch also reorders some logging messages in order to log the
      chunk size.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      6e7f0cd9
  11. 14 Apr, 2011 1 commit
  12. 13 Apr, 2011 1 commit
  13. 06 Apr, 2011 4 commits
  14. 04 Apr, 2011 3 commits
  15. 28 Mar, 2011 1 commit
  16. 25 Mar, 2011 1 commit
  17. 18 Mar, 2011 1 commit
    • Michael Hanselmann's avatar
      Split BuildHooksEnv of LUs · 07e0896f
      Michael Hanselmann authored
      Commit dd7f6776 added another call to BuildHooksEnv to provide
      post-phase status variables. Since BuildHooksEnv also built the node
      lists, that meant they have to be built twice. First a rather strict
      check was used, but it turned out to be more tricky. Commit b423c513
      
      
      had to remove the strict check again.
      
      With this patch the function is split in two parts, one generating the
      actual environment variables, and another part returning the node lists.
      The former is called twice.
      
      Unittests are updated.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      07e0896f
  18. 17 Mar, 2011 1 commit
  19. 16 Mar, 2011 1 commit
  20. 15 Mar, 2011 1 commit