Skip to content
Snippets Groups Projects
  1. Nov 12, 2007
    • Iustin Pop's avatar
      Update documentation for drbd8 and beta2 release · 6c4811dc
      Iustin Pop authored
      This patch does:
        - add drbd8 information to the docs (the new disk template, examples,
          etc.)
        - fixes a section header to make it more clear
        - update the NEWS file by changing format (format taken by looking at
          /usr/sharea/doc/*/NEWS.gz) and adding more information on changes
          since beta1
      
      Reviewed-by: ultrotter
      6c4811dc
  2. Nov 10, 2007
  3. Nov 09, 2007
  4. Nov 08, 2007
    • Iustin Pop's avatar
      Simplify burnin output · 21546b1c
      Iustin Pop authored
      Currently, the burnin output is very verbose (we log the entire output
      from LU feedback) and duplicate in some cases (as we enable debugging).
      
      This patch disables debugging and only logs the burnin output when an
      error occurs.
      
      Reviewed-by: imsnah
      21546b1c
    • Iustin Pop's avatar
      Changes related to logging · 5bfac263
      Iustin Pop authored
      This patch modifes:
        - mcpu.Processor.LogWarning to have its 'hint' parameter as optional
          and only log it if not None
        - cmdlib._WaitForSync to not log directly to stdout/stderr but via the
          proc.Log(Info|Warning) methods
        - the LU attribute 'processor' is renamed to 'proc' to shorten the
          name
      
      Reviewed-by: imsnah
      5bfac263
    • Iustin Pop's avatar
      Refactor burnin to improve disk replacement · 175f44c2
      Iustin Pop authored
      This patch changes the burnin:
        - split the code into functions
        - add replace2 (replace the secondary) for remote_raid1
        - add replace1/2 for drbd8
      
      Reviewed-by: imsnah
      175f44c2
    • Michael Hanselmann's avatar
      Insert hook calls. · e42b5307
      Michael Hanselmann authored
      Reviewed-by: schreiberal
      e42b5307
    • Michael Hanselmann's avatar
      Implement sample hook. · 663ed0ce
      Michael Hanselmann authored
      Reviewed-by: schreiberal
      663ed0ce
    • Michael Hanselmann's avatar
      Implement hooks infrastructure. · 1672a0d1
      Michael Hanselmann authored
      Reviewed-by: schreiberal
      1672a0d1
  5. Nov 07, 2007
    • Iustin Pop's avatar
      Enhance secondary node replace for drbd8 · 0834c866
      Iustin Pop authored
      This (big) patch does two things:
        - add "local disk status" to the block device checks
          (BlockDevice.GetSyncStatus and the rpc calls that call this
          function, and therefore cmdlib._CheckDiskConsistency)
        - improve the drbd8 secondary replace operation using the above
          functionality
      
      The "local disk status" adds a new variable to the result of
      GetSyncStatus that shows the degradation of the local storage of the
      device. Of course, not all device support this - for now, we only modify
      LogicalVolumes and DRBD8 to return degraded in some cases, other devices
      always return non-degraded. This variable should be a subset of
      is_degraded - whenever this variable is true, the is_degraded should
      also be true.
      
      The drbd8 secondary replace uses this variable as we don't care if the
      primary drbd device is network-degraded, only if it has good local disk
      data (ldisk is False).
      
      The patch also increases the protocol version (due to rpc changes).
      
      Reviewed-by: imsnah
      0834c866
    • Michael Hanselmann's avatar
      Indentation fixes for docs. · e3c826ec
      Michael Hanselmann authored
      Reviewed-by: schreiberal
      e3c826ec
    • Michael Hanselmann's avatar
      Update docs for the removed --secondary-node option. · 4677a909
      Michael Hanselmann authored
      Reviewed-by: ultrotter
      4677a909
    • Michael Hanselmann's avatar
      Check whether init.d script is executable. · 7dd30006
      Michael Hanselmann authored
      Reviewed-by: schreiberal
      7dd30006
  6. Nov 06, 2007
    • Michael Hanselmann's avatar
    • Michael Hanselmann's avatar
      Remove --secondary-node option. · 60d49723
      Michael Hanselmann authored
      Replace --secondary-node option with an optional parameter for --node.
      60d49723
    • Iustin Pop's avatar
      Enhance DBRD8 disk replacement (same nodes) · cff90b79
      Iustin Pop authored
      This patch adds enhanced reporting and much more checks to the disk
      replacement (when not switching the secondary).
      
      Reviewed-by: imsnah
      cff90b79
    • Iustin Pop's avatar
      Implement degraded status for logical volumes · 9db6dbce
      Iustin Pop authored
      Logical volumes can be 'degraded' in a similar way to mirrored devices,
      when their underlying storage has gone away (i.e. after a physical disk
      failure and 'vgreduce --removemissing'). If we can detect this, we can
      prevent mistaken replaces of disks that would use this LV (or its
      parent) as source data.
      
      This patch adds support for computing the degraded attribute and
      modifies gnt-instance to warn if the LV is virtual.
      
      Reviewed-by: imsnah
      9db6dbce
    • Iustin Pop's avatar
      Add better error logging functions for LUs · 0fbbf897
      Iustin Pop authored
      Currently, some LUs use logger.Error, others just feedback_fn, etc. This
      patch adds three functions to mcpu.Processor than can be used to log
      messages to both the log and to the user.
      
      These function will be used to enhance the output of replace-disks for
      drbd8 (at least).
      
      Reviewed-by: imsnah
      0fbbf897
    • Iustin Pop's avatar
      Enhance mirror operations for DRBD8 · 03ece5f3
      Iustin Pop authored
      Currently, the mirror operations (add and remove children) test against
      the instance's attributes. This patch changes the check tests to work
      against the actual status of the device (i.e. live data) which is more
      realistic.
      
      The changes are:
        - allow add children if the device doesn't have local storage (even if
          we believe it has)
        - early return from remove children if the device is already without
          local storage
      
      Reviewed-by: imsnah
      03ece5f3
    • Iustin Pop's avatar
      Allow DRBD8 operation without backing storage · fc1dc9d7
      Iustin Pop authored
      This patch adds the following functionality:
        - DRBD8 devices can assemble without local storage (done by allowing
          None in the list of children, and making DRBD8 to ignore all
          children if any is None)
        - DRBD8 devices can attach (i.e. identify a device) which is not
          connected to backing storage but to the correct network ports; this
          is a rare case in normal operation (it's what would happen if one
          manually detaches the local disk, and the backing LV still exists)
      
      Reviewed-by: imsnah
      fc1dc9d7
    • Iustin Pop's avatar
      Make DRBD8 disks show 'degraded' status if diskless · 583e3f6f
      Iustin Pop authored
      This patch enables the bdev.DRBD8 class report a degraded status if the
      local disk is missing. This allows `gnt-instance info` to report the
      actual situation in this case.
      
      Note that DRBD7 should also behave like this, however the diskless case
      is less often met there and we also don't want to change behaviour.
      
      The patch also fixes some docstrings for the GetSyncStatus methods.
      
      Reviewed-by: imsnah
      583e3f6f
    • Iustin Pop's avatar
      Change the way remove children is called in bdev · e739bd57
      Iustin Pop authored
      For some cases, we don't have to have access to the children of a device
      in order to remove them (e.g. md over lvs, or drbd over lvs). In order
      to ease the removal process, skip over finding the child if it provides
      a static dev path.
      
      This is needed in order to support removal of children when the
      underlying storage has gone away.
      
      Reviewed-by: imsnah
      e739bd57
    • Iustin Pop's avatar
      Add a support function to objects.Disk · 222f2dd5
      Iustin Pop authored
      This patch adds a function returning the device path if it is computable
      from the disk object (and we don't need to instantiate a bdev object on
      the target node in order to compute this). Only LVs support this.
      
      Reviewed-by: imsnah
      222f2dd5
  7. Nov 05, 2007
    • Iustin Pop's avatar
      Small cleanup for error formatting · e2e521d0
      Iustin Pop authored
      Reviewed-by: ultrotter
      e2e521d0
    • Iustin Pop's avatar
      Handle missing init script at cluster init · c7b46d59
      Iustin Pop authored
      This patch adds a check in the prereq of LUInitCluster for the existence
      of the init script.  This allows a clean abort instead of a stack dump.
      
      Based on a report by admin@steibei.net
      
      Reviewed-by: ultrotter
      c7b46d59
    • Iustin Pop's avatar
      Fix a unhandled error case in device creation · cf5a8306
      Iustin Pop authored
      The block device creation process is the following:
        - device create
        - device assembly (on primary or depending on dev_type, on secondary
          too)
        - set sync speed
        - return
      
      The problem is that device assembly after creation was not checked for
      errors, and as this is a very unusual case, we did not have problems
      with it (or we didn't detect them). The recent DevCacheManager however
      tripped on this case (because the dev_path of the device is None if the
      assembly fails) and the creation aborted with an unclear error message.
      
      The patch adds a check for the assembly success and aborts the creation
      of the device in this case - the error is quite clear in the instance
      add, for example. The patch also changes DevCacheManager to log the
      cases when dev_path is None but not raise an error (keeping consistent
      with the goal that the cache manager should be transparent to the code).
      
      For the record, this error case was detected with a mismatch between
      drbd kernel module and utilities.
      
      Reviewed-by: imsnah
      cf5a8306
    • Iustin Pop's avatar
      Miscellaneous style fixes · 65fe4693
      Iustin Pop authored
      This patch fixes some minor pylint warnings (unused variables, wrong
      indentation, etc.) and a real bug in the recovery for drbd8 rename
      procedure.
      
      Reviewed-by: imsnah
      65fe4693
    • Michael Hanselmann's avatar
      Test tag functionality. · d74c2ca1
      Michael Hanselmann authored
      Reviewed-by: schreiberal
      d74c2ca1
    • Michael Hanselmann's avatar
      Merge three small cluster tests into one. · 62843684
      Michael Hanselmann authored
      Reviewed-by: schreiberal
      62843684
    • Michael Hanselmann's avatar
      Rename utils.GetUUID to utils.NewUUID. · 24818e8f
      Michael Hanselmann authored
      Reviewed-by: schreiberal
      24818e8f
    • Guido Trotter's avatar
      Bump protocol version up · 8ee53a06
      Guido Trotter authored
      The OS cleanup patches change the wire protocol. Increment the protocol number
      by one.
      
      Reviewed-By: iustinp
      
      8ee53a06
    • Guido Trotter's avatar
      Convert os_get to use OS rather than InvalidOS · dfa96ded
      Guido Trotter authored
      In order to do this for simplicity we leave the OSFromDisk function as-is and
      we convert the eventual exception to an OS object in ganeti-noded. The
      unmangling gets simplified and so does the code for checking whether the OS is
      valid.
      
      Reviewed-By: iustinp
      
      dfa96ded
    • Guido Trotter's avatar
      Simplify diagnose mangling/unmangling functions · 4e679f11
      Guido Trotter authored
      The functions in ganeti-noded and rpc.py still deal with the fact that an
      InvalidOS error could be returned by DiagnoseOS. As this is not the case
      anymore simplify their code for the current behavior.
      
      Reviewed-By: iustinp
      
      4e679f11
    • Guido Trotter's avatar
      Make DiagnoseOS use the modified OS objects · 8fa42c7c
      Guido Trotter authored
      Modify backend.py so that DiagnoseOS only returns OS objects rather than
      InvalidOS errors, and make sure gnt-os understands the new objects. Also delete
      the deprecated helper functions from gnt-os.
      
      Reviewed-By: iustinp
      
      8fa42c7c
    • Guido Trotter's avatar
      Create OS from an InvalidOS error · d2c807e4
      Guido Trotter authored
      Add a new FromInvalidOS static function to objects.OS that makes it easy to
      create an object representing a broken OS starting from the relevant exception.
      
      Reviewed-By: iustinp
      
      d2c807e4
Loading