diff --git a/lib/ansible/module_utils/cloudstack.py b/lib/ansible/module_utils/cloudstack.py index 9eea9f83811..2332286200a 100644 --- a/lib/ansible/module_utils/cloudstack.py +++ b/lib/ansible/module_utils/cloudstack.py @@ -93,6 +93,9 @@ class AnsibleCloudStack(object): # these keys will be compared case sensitive in self.has_changed() self.case_sensitive_keys = [ 'id', + 'displaytext', + 'displayname', + 'description', ] self.module = module @@ -155,12 +158,17 @@ class AnsibleCloudStack(object): continue if key in current_dict: - if self.case_sensitive_keys and key in self.case_sensitive_keys: - if str(value) != str(current_dict[key]): + if isinstance(current_dict[key], (int, long, float, complex)): + if value != current_dict[key]: + return True + else: + if self.case_sensitive_keys and key in self.case_sensitive_keys: + if value != current_dict[key].encode('utf-8'): + return True + + # Test for diff in case insensitive way + elif value.lower() != current_dict[key].encode('utf-8').lower(): return True - # Test for diff in case insensitive way - elif str(value).lower() != str(current_dict[key]).lower(): - return True else: return True return False