1. 03 Dec, 2007 1 commit
  2. 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
  3. 29 Nov, 2007 2 commits
    • 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
    • Iustin Pop's avatar
      Make utils.RunCmd log failures when using debug · f362096f
      Iustin Pop authored
      This patch adds logging of command failures to the debug log in case the
      user either started the command (gnt-*) or the node daemon with the
      debug flag.
      
      Reviewed-by: imsnah
      f362096f
  4. 27 Nov, 2007 1 commit
  5. 26 Nov, 2007 4 commits
    • Iustin Pop's avatar
      Drop the Rename method of DRBD8 devices · a70f34d1
      Iustin Pop authored
      Since we now do changes of remote peers in two steps (Attach with no
      network information and then Attach with the new peer's data), we don't
      need this operation anymore.
      
      Reviewed-by: imsnah
      a70f34d1
    • Iustin Pop's avatar
      Split the change of peer in secondary replace in two operations · 642445d9
      Iustin Pop authored
      This patch splits the single operation of replace peer into two distinct
      phases, in order to make a single change to the instance configuration:
        - detach from network
        - if at least one drbd device succeeded, make one change to the
          instance, pointing all disks to the new peer
        - attach to the new peer
      
      This should eliminate the case when a failure in the second reattach can
      leave the instance with two secondaries.
      
      Reviewed-by: imsnah
      642445d9
    • Iustin Pop's avatar
      Relax even more the identification of DRBD8 devices · 9cdbe77f
      Iustin Pop authored
      This patch adds a new success condition for identifying DRBD8 devices:
      if the local device is correct, but the network peer is not, we shutdown
      the network and attach to the correct one (this also handles going to
      standalone mode).
      
      This new check (and its actions) is based on the fact that we don't pass
      incorrect data from the master to the node (otherwise we could start
      syncing with an incorrect peer.
      
      Reviewed-by: imsnah
      9cdbe77f
    • Iustin Pop's avatar
      Add support for DRBD8 devices to work standalone · 52857176
      Iustin Pop authored
      This patch adds a check in _AssembleNet so that if we are passed None
      value in the unique_id, we instead switch to standalone mode.
      
      Reviewed-by: imsnah
      52857176
  6. 22 Nov, 2007 1 commit
  7. 21 Nov, 2007 2 commits
  8. 20 Nov, 2007 2 commits
  9. 16 Nov, 2007 2 commits
  10. 14 Nov, 2007 2 commits
  11. 12 Nov, 2007 8 commits
    • Iustin Pop's avatar
      Fix a wrong comparison in _RecursiveAssembleBD · 7803d4d3
      Iustin Pop authored
      We want to prevent sending too many 'None' children to a device.
      However, the test as it is today is wrong, as we want to test the
      situation after adding a new child, and not before. This patch fixes
      this by testing greater-or-equal instead of just greater.
      
      Reviewed-by: imsnah
      7803d4d3
    • Iustin Pop's avatar
      Fix another breakage in SetEtcHostsEntry · 7e3dbb94
      Iustin Pop authored
      The code assumes all lines have at least two elements which are
      whitespace separated - i.e. it does not deal with empty lines or comment
      lines with no spaces. This patch fixes this.
      
      Also, the patch replaces the blank between IP and the canonical name
      with a tab (restoring previous behaviour).
      
      Reviewed-by: imsnah
      7e3dbb94
    • Michael Hanselmann's avatar
      Call fsync() after modifying /etc/hosts. · 2e3e75b7
      Michael Hanselmann authored
      This is a critical file. Breaking it would be very bad. Thus, if the system
      crashes before the data is synched to the disk, it should have the complete
      file afterwards.
      
      Reviewed-by: iustinp
      2e3e75b7
    • Michael Hanselmann's avatar
      Fix functions for /etc/hosts. · 9440aeab
      Michael Hanselmann authored
      - Combine hostname and aliases on one line
      - Fix bug with wrongfully removed newline characters
      - Use wrapper for SetEtcHostsEntry in cmdlib
      
      Reviewed-by: iustin
      9440aeab
    • Michael Hanselmann's avatar
      Rollback commit 356. · 424908c1
      Michael Hanselmann authored
      424908c1
    • Michael Hanselmann's avatar
      Add functions for known_hosts files. · 2d6cfa31
      Michael Hanselmann authored
      Reviewed-by: TODO
      2d6cfa31
    • Michael Hanselmann's avatar
      Add missing descriptions to {Add,Remove}EtcHostsEntry. · 3e1cdf9f
      Michael Hanselmann authored
      Reviewed-by: schreiberal
      3e1cdf9f
    • Iustin Pop's avatar
      Relax replace_disks_all meaning for drbd8 · 7df43a76
      Iustin Pop authored
      In order to make the replace secondary action to be done via the same
      opcode parameters for both remote_raid1 and drbd, we must allow the
      LUReplaceDisks to change replace_disks_all for drbd with non-empty
      remote_node into replace_disks_sec.
      
      This fixes gnt-node evacuate and also allows gnt-instace replace-disks
      to have the same syntax for both remote_raid1 and drbd (when replacing
      the secondary).
      
      Reviewed-by: ultrotter
      7df43a76
  12. 09 Nov, 2007 4 commits
  13. 08 Nov, 2007 1 commit
    • 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
  14. 07 Nov, 2007 2 commits
    • 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
      Check whether init.d script is executable. · 7dd30006
      Michael Hanselmann authored
      Reviewed-by: schreiberal
      7dd30006
  15. 06 Nov, 2007 7 commits
    • 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