bigip_monitor bugfix for check mode

Fixes case where properties are retrieved for a non existent monitor
which happens in check mode.
This commit is contained in:
Serge van Ginderachter 2014-06-06 16:48:36 +02:00
parent 9cb05a0845
commit ceb1ba1687
2 changed files with 39 additions and 4 deletions

View file

@ -226,7 +226,15 @@ def delete_monitor(api, monitor):
def check_string_property(api, monitor, str_property):
return str_property == api.LocalLB.Monitor.get_template_string_property([monitor], [str_property['type']])[0]
try:
return str_property == api.LocalLB.Monitor.get_template_string_property([monitor], [str_property['type']])[0]
except bigsuds.OperationFailed, e:
# happens in check mode if not created yet
if "was not found" in str(e):
return True
else:
# genuine exception
raise
def set_string_property(api, monitor, str_property):
@ -236,7 +244,16 @@ def set_string_property(api, monitor, str_property):
def check_integer_property(api, monitor, int_property):
return int_property == api.LocalLB.Monitor.get_template_integer_property([monitor], [int_property['type']])[0]
try:
return int_property == api.LocalLB.Monitor.get_template_integer_property([monitor], [int_property['type']])[0]
except bigsuds.OperationFailed, e:
# happens in check mode if not created yet
if "was not found" in str(e):
return True
else:
# genuine exception
raise
def set_integer_property(api, monitor, int_property):

View file

@ -245,7 +245,16 @@ def delete_monitor(api, monitor):
def check_string_property(api, monitor, str_property):
return str_property == api.LocalLB.Monitor.get_template_string_property([monitor], [str_property['type']])[0]
try:
return str_property == api.LocalLB.Monitor.get_template_string_property([monitor], [str_property['type']])[0]
except bigsuds.OperationFailed, e:
# happens in check mode if not created yet
if "was not found" in str(e):
return True
else:
# genuine exception
raise
return True
def set_string_property(api, monitor, str_property):
@ -255,7 +264,16 @@ def set_string_property(api, monitor, str_property):
def check_integer_property(api, monitor, int_property):
return int_property == api.LocalLB.Monitor.get_template_integer_property([monitor], [int_property['type']])[0]
try:
return int_property == api.LocalLB.Monitor.get_template_integer_property([monitor], [int_property['type']])[0]
except bigsuds.OperationFailed, e:
# happens in check mode if not created yet
if "was not found" in str(e):
return True
else:
# genuine exception
raise
return True
def set_integer_property(api, monitor, int_property):