1. 14 Dec, 2012 2 commits
  2. 13 Dec, 2012 2 commits
  3. 12 Dec, 2012 2 commits
  4. 22 Nov, 2012 1 commit
  5. 19 Nov, 2012 1 commit
    • Iustin Pop's avatar
      Fix opcode validation for OpOobCommand.command · 70296981
      Iustin Pop authored
      The 'command' attribute of the OpOobCommand command is defined with a
      default value of None, but its validation requires a member of
      constants.OOB_COMMANDS, which doesn't accept None. This result in the
      following error when submitting an opcode without the command:
      
        error type: wrong_input, error details:
        Parameter 'OP_OOB_COMMAND.command' fails validation
      
      I suspect this was simply a mistake, since the commit that introduced
      it (65e183af
      
      , “opcodes: Add opcode parameter definitions”) did lots of
      bulk updates.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      70296981
  6. 15 Nov, 2012 1 commit
  7. 14 Nov, 2012 1 commit
  8. 12 Nov, 2012 3 commits
    • Iustin Pop's avatar
      Improve error message when migration status fail · 4041a4e3
      Iustin Pop authored
      Commit 6a1434d7
      
       (“Make migration RPC non-blocking”) changed the API
      for reporting migration status, but has a small cosmetic bug: if the
      migration status if failure, but the RPC itself to get the status
      didn't fail, it shows the following error message:
      
        Could not migrate instance instance2: None
      
      since it always uses result.fail_msg, irrespective of which part of
      the if condition failed.
      
      This patch simply updates the msg if not already set, leading to:
      
        Could not migrate instance instance2: hypervisor returned failure
      
      Proper error display can be done once the migration status objects can
      return failure information as well, beside status.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarHelga Velroyen <helgav@google.com>
      4041a4e3
    • Iustin Pop's avatar
      Fix type error in kvm/GetMigrationStatus · 62457f51
      Iustin Pop authored
      Commit 6a1434d7
      
       (“Make migration RPC non-blocking”) changed from
      raising HypervisorErrors to returning MigrationStatus
      objects. However, these objects don't have an "info" attribute, so
      they can't pass a reason back (which is in itself a bug); but the KVM
      hypervisor code attempts to do so, and fails at runtime with:
      
        Failed to get migration status: 'MigrationStatus' object has no attribute 'info'
      
      instead of the intended:
      
        Migration failed, aborting: too many broken 'info migrate' answers
      
      For now (on stable-2.6), let's just remove the "info" reason, and
      later we can add it back properly once we have a way to correctly
      represent migration status failures in the LU.
      
      This fixes issue 297.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      62457f51
    • Iustin Pop's avatar
      Fix PID file writing in Haskell daemons · a4c0fe1e
      Iustin Pop authored
      
      
      Currently, the code uses createFile, which has the effect of always
      truncating the file. This is bad, as the content of the PID file is
      wiped even when we wouldn't be able to lock it!
      
      We switch to openFd (createFile is just a wrapper over that), and we
      use an explicit set of flags; defaultFileFlags is already safe
      (trunc=False), but I prefer to set it explicitly with our desired
      flags.
      
      Note that this bug doesn't manifest in normal usage, as daemon-util
      won't try to start the daemon if already running. But if anyone or
      anything does call ganeti-confd explicitly, the pid file will be
      emptied and the daemon will keep trying to be restarted forever…
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      a4c0fe1e
  9. 08 Nov, 2012 4 commits
  10. 07 Nov, 2012 2 commits
    • Michael Hanselmann's avatar
      Add missing tests for commit f0d22861 · 7a70541e
      Michael Hanselmann authored
      Commit f0d22861
      
       changed the logic of
      gnt_instance._ConvertNicDiskModifications to also allow a parameter
      named “modify”. Unfortunately the corresponding unittest was not
      updated. An “if”/“else” condition is also merged.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      7a70541e
    • Iustin Pop's avatar
      Fix compatibility with newer Haskell libraries · 1251817b
      Iustin Pop authored
      
      
      This small patch fixes compatibility with a few newer Haskell libraries:
      
      - base 4.6, included with ghc 7.6, removed the deprecated 'catch'
        function from Prelude, so our "import Prelude hiding (catch)" is now
        an error; we workaround by using fully-qualified
        Control.Exception.catch name
      
      - containers 0.5 changed the signature of 'deleteFindMax'; we
        workaround by using separate 'findMax' and 'deleteMax'
      
      - QuickCheck 2.5 removed the 'maxDiscards' test parameter, replacing
        it with a much better 'maxDiscardsRatio'; however, until we can
        depend on that, we workaround by just removing it (we don't control
        anymore the maxDiscards, instead leaving it default; for our default
        test size, this is no change, as the default value is already 500,
        which is our default as well) and not printing it anymore
      
      Tested on Squeeze (+extra libs), Wheezy and experimental, which covers
      all supported GHC versions.
      
      Also, merging this in master will be a pain, but unless we want to
      stop supporting 2.6…
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      1251817b
  11. 06 Nov, 2012 4 commits
  12. 01 Nov, 2012 6 commits
  13. 30 Oct, 2012 5 commits
  14. 29 Oct, 2012 2 commits
  15. 26 Oct, 2012 1 commit
  16. 25 Oct, 2012 1 commit
  17. 19 Oct, 2012 1 commit
    • Iustin Pop's avatar
      Fix disk adoption interaction with ipolicy checks · ba147ff8
      Iustin Pop authored
      
      
      In Ganeti 2.6, disk adoption is broken due to the ipolicy checks being
      done before we read volume size from remote nodes. We fix this by
      simply moving these checks to after the disk adoption code which
      updates the disk size; it's not that nice that we fail a (almost)
      config-level check after we've reserved the LVs, etc., but we need to
      do so in order to validate the ipolicy correctly.
      
      Tested:
      
      - normal instance creation
      - creation via adoption with good size (pass)
      - creation via adoption with wrong LV size (fail as expected)
      - QA in progress
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      ba147ff8
  18. 17 Oct, 2012 1 commit