diff --git a/action_plugins/serverdensity.py b/action_plugins/serverdensity.py index 3736351f3ac997b6b45ab4d54787eceeb0d4fa3e..fc6f0763549c4bb5724a87ab18e072e4f0238c88 100644 --- a/action_plugins/serverdensity.py +++ b/action_plugins/serverdensity.py @@ -1,6 +1,7 @@ import json import os import requests +import tempfile from ansible.callbacks import vv from ansible.errors import AnsibleError as ae @@ -48,7 +49,7 @@ class ActionModule(object): if just_download: self.force_update = False - self.cache_file_name = os.tmpnam() + self.cache_file_name = tempfile.mktemp(prefix='sd_', suffix='.json') cleanup = False result = {} @@ -57,7 +58,7 @@ class ActionModule(object): if just_download: vv('Downloaded settings to %s' % self.cache_file_name) - return + return ReturnData(conn=conn, comm_ok=True, result=result) services = {} devicegroup_alerts = {} @@ -200,7 +201,11 @@ class ActionModule(object): decoder = json.JSONDecoder() content = decoder.decode(request_result.content) if request_result.status_code != 200: - raise ae('%s' % content['message']) + msg = content['message'] + if content['errors']: + for error in content['errors']: + msg += ' // ' + error['description'] + raise ae('%s' % msg) return content def _get_device_id(self, hostname):