1. 31 Mar, 2008 5 commits
    • Manuel Franceschini's avatar
      Skip HasValidVG when --no-lvm-storage on cluster init · efa14262
      Manuel Franceschini authored
      This patch does two things:
      - Remove "vg_name" from _OP_REQP due to the introduction of
        --no-lvm-storage. Since vg_name option has as default now None and is
        only set to the DEFAULT_VG if lvm_storage is enabled, this is needed
      - It changes LUInitCluster.CheckPrereq() to skip _HasValidVG check
        initializing the cluster with --no-lvm-storage. Furthermore it adds to
        the help message the statement of the possibility to use
        --no-lvm-storage if no 'xenvg' volume group is found.
      
      Reviewed-by: iustinp
      efa14262
    • Manuel Franceschini's avatar
      Add LUSetClusterParams to cmdlib · 8084f9f6
      Manuel Franceschini authored
      Add LUSetClusterParams, which is the LU to modify cluster options.
      This includes checks:
      - not to disable lvm storage when it's already disabled
      - not to enable lvm storage when it is already enabled
      - not to disable lvm when lvm-based instances are present
      - that the specified volume group is valid on all cluster-nodes
        when lvm-storage is going to be enabled
      
      Reviewed-by: iustinp
      8084f9f6
    • Manuel Franceschini's avatar
      Add method SetVGName() to config.py · 89ff8e15
      Manuel Franceschini authored
      Reviewed-by: iustinp
      89ff8e15
    • Manuel Franceschini's avatar
      Add lvm-storage check when creating instances · eedc99de
      Manuel Franceschini authored
      This adds a check to fail instance creation if lvm-storage is disabled
      (cluster-wide). If lvm-storage is disabled (by initializing the cluster
      with --no-lvm-storage) only instances with disk template in frozenset
      DTS_NOT_LVM are allowed to create.
      
      Reviewed-by: iustinp
      eedc99de
    • Manuel Franceschini's avatar
      Add DEFAULT_VG and DTS_NOT_LVM to constants.py · d63e148a
      Manuel Franceschini authored
      DTS_NOT_LVM:
      This constant is needed when checking if an instance can be created with
      the given disk template if no lvm-storage is available, i.e. the ganeti
      cluster does not have a volume group
      
      DEFAULT_VG:
      'xenvg' has been hardcoded before.
      
      Reviewed-by: iustinp
      d63e148a
  2. 30 Mar, 2008 1 commit
    • Iustin Pop's avatar
      Change the order of config updates in some LUs · fe482621
      Iustin Pop authored
      In the start and stop instance LUs, the configuration update is done
      right at the end. This means that if, for example, the instance shutdown
      succeeds, but the drive deactivation fails, the next run of the watcher
      will start the instance again, as it's still marked in running mode.
      
      This patch changes these two LUs so that first the update the
      configuration to the desired state, and only then we proceed to update
      the config. This ensures that the state saved is the desired state.
      
      Because the config might be updated even though the LU failed, this
      patch also modifies the mcpu.Processor.ExecOpCode method to run the
      RunConfigUpdate hook in a finally: phase while the lu.Exec is done in
      its try phase. This ensures that config update hooks (tries to) run at
      all times when the config is updated.
      
      Reviewed-by: schreiberal
      fe482621
  3. 27 Mar, 2008 5 commits
  4. 25 Mar, 2008 4 commits
  5. 20 Mar, 2008 2 commits
    • Manuel Franceschini's avatar
      Modify cluster-init to create file-storage-dir · 2872a949
      Manuel Franceschini authored
      This patch adds three things:
      - it normalizes the file storage directory path passed to gnt-cluster init
      - if the file-storage-path doesn't exist on the master node, ganeti
        tries to create it
      - adds additional check if the passed file-storage-dir is not a directory
      
      Reviewed-by: iustinp
      2872a949
    • Iustin Pop's avatar
      Remove some deprecated code in bdev.py · 39e9e213
      Iustin Pop authored
      The BlockDev.GetStatus() method and some associated constants were never
      used in the rest of the code. This patch removes them.
      
      Reviewed-by: imsnah
      39e9e213
  6. 19 Mar, 2008 9 commits
  7. 18 Mar, 2008 10 commits
  8. 11 Mar, 2008 3 commits
    • Guido Trotter's avatar
      Specify better gnt-instance(8) replace-disks · 6536dfa1
      Guido Trotter authored
      The -s option when changing secondary node on a drbd template is implied, and
      thus optional. Specify this in the manpage.
      
      Reviewed-by: iustinp
      6536dfa1
    • Iustin Pop's avatar
      Disable cluster init with a reachable IP · 411f8ad0
      Iustin Pop authored
      Make the cluster init fail if the IP to which the cluster name resolved
      is already reachable by the master node. This is not a foolproof
      solution, but it allows a cheap method of detecting simple mistakes.
      
      It will also disallow using the master node name as cluster name (which
      is something good).
      
      The only drawbacks that I see are:
        - you are not allowed to do this, which might come in handy in cluster
          upgrades; but since we support rename, this is mitigated
        - cluster init takes longer now (+the timeout value, set to 5
          seconds), but since this is a one-off operation, it should be ok
      
      Reviewed-by: ultrotter
      411f8ad0
    • Iustin Pop's avatar
      Modify utils.TcpPing to make source address optional · b15d625f
      Iustin Pop authored
      This patch modifies TcpPing and its callers to make the source address
      selection optional. Usually, the kernel will know better what
      source address to use, just in some cases we want to enforce a given
      source address so it makes sense to make this optional.
      
      Reviewed-by: ultrotter
      b15d625f
  9. 06 Mar, 2008 1 commit
    • Guido Trotter's avatar
      Fix gnt-instance replace-disks online help · 457697bc
      Guido Trotter authored
      The "quick" online help just reported the option to change secondary node. Add
      the ones to just replace the disk locally on-primary or on-secondary. It is of
      course impossible to espress in one line everything needed to use this command,
      but at least now the most common options are spelled out immediately.
      
      Reviewed-by: iustinp, imsnah
      457697bc