Revision 31ccfc0e lib/client/gnt_cluster.py

b/lib/client/gnt_cluster.py
1037 1037
  return vg_name
1038 1038

  
1039 1039

  
1040
def _GetDrbdHelper(opts):
1040
def _GetDrbdHelper(opts, enabled_disk_templates):
1041 1041
  """Determine the DRBD usermode helper.
1042 1042

  
1043 1043
  """
1044 1044
  drbd_helper = opts.drbd_helper
1045
  if not opts.drbd_storage and opts.drbd_helper:
1046
    raise errors.OpPrereqError(
1047
        "Options --no-drbd-storage and --drbd-usermode-helper conflict.")
1048

  
1049
  if not opts.drbd_storage:
1050
    drbd_helper = ""
1045
  if enabled_disk_templates:
1046
    drbd_enabled = constants.DT_DRBD8 in enabled_disk_templates
1047
    # This raises an exception for historic reasons. It might be a good idea
1048
    # to allow users to set a DRBD helper when DRBD storage is not enabled.
1049
    if not drbd_enabled and opts.drbd_helper:
1050
      raise errors.OpPrereqError(
1051
          "Setting a DRBD usermode helper when DRBD is not enabled is"
1052
          " not allowed.")
1051 1053
  return drbd_helper
1052 1054

  
1053 1055

  
......
1061 1063
  @return: the desired exit code
1062 1064

  
1063 1065
  """
1064
  if not (opts.vg_name is not None or opts.drbd_helper or
1066
  if not (opts.vg_name is not None or
1067
          opts.drbd_helper is not None or
1065 1068
          opts.enabled_hypervisors or opts.hvparams or
1066 1069
          opts.beparams or opts.nicparams or
1067 1070
          opts.ndparams or opts.diskparams or
......
1096 1099
  vg_name = _GetVgName(opts, enabled_disk_templates)
1097 1100

  
1098 1101
  try:
1099
    drbd_helper = _GetDrbdHelper(opts)
1102
    drbd_helper = _GetDrbdHelper(opts, enabled_disk_templates)
1100 1103
  except errors.OpPrereqError, e:
1101 1104
    ToStderr(str(e))
1102 1105
    return 1

Also available in: Unified diff