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