1. 20 Jan, 2008 3 commits
    • Iustin Pop's avatar
      Abstract node memory checking into a separate function · d4f16fd9
      Iustin Pop authored
      The checking of a node's free memory (via rpc.call_node_info) is done in
      both start instance an failover. This patch abstracts this call,
      together with the appropriate error handling, into a separate function
      called _CheckNodeFreeMemory.
      
      The patch also has some related changes:
        - the check is done in prereq and not in exec for start instance
        - the redundant check in exec for failover has been removed
      
      Reviewed-by: ultrotter
      d4f16fd9
    • Iustin Pop's avatar
      Change a hardcoded path into its proper constant · 97628462
      Iustin Pop authored
      The function backend.UploadFile still uses "/etc/hosts" directly instead
      of the existing constant; this patch fixes this.
      
      Reviewed-by: ultrotter
      97628462
    • Iustin Pop's avatar
      Fix run directory for the fake hypervisor · 1ed70996
      Iustin Pop authored
      Currently the fake hypervisor has hardcoded ‘/var/run’ as a base
      directory for its store. This patch adds a constant RUN_DIR that is used
      for both the fake hypervisor and for BDEV_CACHE_DIR.
      
      Reviewed-by: ultrotter
      1ed70996
  2. 16 Jan, 2008 2 commits
  3. 14 Jan, 2008 2 commits
    • Iustin Pop's avatar
      Fix some misspellings · ba4b62cf
      Iustin Pop authored
      This patch fixes two name typos and a style issue (which makes pylint
      complain).
      
      Reviewed-by: ultrotter
      ba4b62cf
    • Guido Trotter's avatar
      Fix CreateInstance new optional parameters · 40ed12dd
      Guido Trotter authored
      Some new paramenters of the CreateInstance opcode are optional (namely
      kernel_path, initrd_path and hvm_boot_order) but their absence makes the code
      crash. Fix this by initializing them to a default value if they're not present.
      
      Reviewed-by: iustinp
      40ed12dd
  4. 11 Jan, 2008 1 commit
  5. 09 Jan, 2008 1 commit
  6. 08 Jan, 2008 6 commits
  7. 07 Jan, 2008 4 commits
    • Iustin Pop's avatar
      Improve verify-disks: broken/missing LV detection · b63ed789
      Iustin Pop authored
      This patch improves the ‘gnt-cluster verify-disks’ command by adding
      support for detecting broken volume groups and missing logical volume
      names.
      
      As such, we don't try anymore to activate disks for instances that are
      not likely to succeed anyway, and instead report them.
      
      Reviewed-by: schreiberal
      b63ed789
    • Iustin Pop's avatar
      Activate logical volumes at Assemble() time · 5574047a
      Iustin Pop authored
      This patch changes the Assemble() method for logical volumes from a noop
      to do a `lvchange -ay` on the logical volume; this ensures that if the
      logical volume is not active, we are able to activate and use it.
      
      Reviewed-by: imsnah
      5574047a
    • Iustin Pop's avatar
      Improve speed of activating block devs · be1ba2bd
      Iustin Pop authored
      This patch fixes the double attach operation in bdev.AttachOrAssemble,
      which was an indentation mistake in the first place.
      
      Reviewed-by: imsnah
      be1ba2bd
    • Iustin Pop's avatar
      Add unittest for DRBD8 drdbsetup show parser · 3840729d
      Iustin Pop authored
      This patch changes the bdev.DRBD8._GetDevInfo to take a string instead
      of a minor, separates the `drbdsetup show` invocation into a new
      separate method (bdev.DRBD8._GetShowData) and modifies the rest of the
      DRBD8 class to make the appropriate calls.
      
      It also adds a unittest script and data files for testing various cases
      of device output.
      
      Reviewed-by: imsnah
      3840729d
  8. 27 Dec, 2007 1 commit
  9. 20 Dec, 2007 3 commits
  10. 19 Dec, 2007 1 commit
    • Iustin Pop's avatar
      Make utils.RunCmd() deal with interleaved stdout/stderr · 9c233417
      Iustin Pop authored
      Currently, RunCmd is written with the assumption that programs will have
      a small stderr output, therefore we read the child's stdout (which can
      be big, so we don't want to block the child) and then the stderr (which
      is small, so it shouldn't block).
      
      However, with the ‘gnt-cluster verify-disks’ command, we ourselves
      generate heavy stderr, therefore we break the ganeti-watcher which runs
      the verify-disks via utils.RunCmd.
      
      This patch turns the RunCmd command into an poll-based one, which means
      any kind of interleaved output by a child on stdout/stderr will be
      handled correctly. Of course, since the output is buffered in memory,
      there are other ways to break RunCmd(). But at least this should fix the
      common case.
      
      Reviewed-by: hansmi
      9c233417
  11. 18 Dec, 2007 3 commits
    • Alexander Schreiber's avatar
      Internal API change for instance console access. · 30989e69
      Alexander Schreiber authored
      Change the internal hypervisor API for GetShellCommandForConsole, we
      now call it with the instance instead of just the instance name.
      
      This is a prep patch for HVM, since HVM needs more than just the instance
      name to determine a way of console access.
      
      (this is a resend due to mail adress tyop)
      
      Reviewed-by: iustinp
      
      30989e69
    • Alexander Schreiber's avatar
      cleanup for hypervisor constants · 2584d4a4
      Alexander Schreiber authored
      Move constant definitions for hypervisor into constants.py
      
      Reviewed-by: ultrotter
      
      2584d4a4
    • Guido Trotter's avatar
      Specify hint as a named argument · 79caa9ed
      Guido Trotter authored
      hint is declared as a named argument for the LogWarning function. Make its
      caller pass it naming it.
      
      Reviewed-by: iustinp
      79caa9ed
  12. 17 Dec, 2007 1 commit
  13. 12 Dec, 2007 4 commits
    • Iustin Pop's avatar
      Handle ^C while trying to acquire the lock · 36c68ff1
      Iustin Pop authored
      When waiting for the lock and pressing ^C, the user will get a backtrace
      as the KeyboardInterrupt exception is not handled. The patch adds a
      simple method of handling it.
      
      Note that this is not about ^C in any other place.
      
      Reviewed-by: schreiberal,imsnah
      36c68ff1
    • Iustin Pop's avatar
      Add the ‘gnt-cluster verify-disks’ command · f4d4e184
      Iustin Pop authored
      This patch adds the OpVerifyDisks handling in mcpu.py and the
      verify-disks command in the gnt-cluster script, which for every instance
      computed by LUVerifyDisks submits a new OpActivateInstanceDisks request.
      
      Reviewed-by: imsnah
      f4d4e184
    • Iustin Pop's avatar
      Add LUVerifyDisks · 2c95a8d4
      Iustin Pop authored
      This patch adds a new LUVerifyDisks that implements the OpVerifyDisks.
      The algorithm is that by determining not-used logical volumes for
      instances that are supposed to be running, we presume from there that
      the DRBD devices are not online and therefore one should
      ‘activate-disks’ for those instances.
      
      Reviewed-by: imsnah
      2c95a8d4
    • Iustin Pop's avatar
      Add a new OpVerifyDisks opcode · 150e978f
      Iustin Pop authored
      This patch adds the definition of a new opcode that will be used to
      compute the list of instances with not-online disks.
      
      Reviewed-by: imsnah
      150e978f
  14. 11 Dec, 2007 1 commit
    • Iustin Pop's avatar
      Return more data in rpc.call_volume_list · cb2037a2
      Iustin Pop authored
      Currently, the volume_list call returns only the volume size. However,
      it is useful to also have two other things: the 'inactive' state of the
      volume (which might trigger a ‘vgchange -a y’ on the volume group) and
      the online state (which shows if the volume is in use or not).
      
      Since this modifies an RPC call, we also bump the protocol version,
      although the single user of the call didn't care about the dictionary
      values, only about the keys.
      
      Reviewed-by: imsnah
      cb2037a2
  15. 04 Dec, 2007 4 commits
  16. 03 Dec, 2007 1 commit
  17. 30 Nov, 2007 1 commit
    • Iustin Pop's avatar
      Fix parsing of drbdsetup show output · c522ea02
      Iustin Pop authored
      This fixes the parsing of integers in the drbdsetup show output with
      newer pyparsing versions.
      
      Basically, the convert-to-int action that we use was taken from the
      example documentation of an older pyparsing version that automatically
      uses only the second element if the result is returned as a tuple, but
      this was deprecated for a while and removed in 1.4.3.
      
      Based on a nice report by Jorge Cabello <jorge@aspl.es>, and
      confirmation about pyparsing behaviour from its author. Thanks!
      
      Reviewed-by: imsnah
      c522ea02
  18. 29 Nov, 2007 1 commit
    • Iustin Pop's avatar
      Replace hardcoded lock dir · 3aecd2c7
      Iustin Pop authored
      This patch replaces the hardcoded ‘/var/lock/’ directory with one based on
      LOCALSTATEDIR.
      
      Reviewed-by: imsnah
      3aecd2c7