moved libraries to roles where they are used.
diff --git a/library/opdk_server_self.py b/library/opdk_server_self.py new file mode 100644 index 0000000..1684390 --- /dev/null +++ b/library/opdk_server_self.py
@@ -0,0 +1,76 @@ +import requests +from requests import ConnectionError +from requests.exceptions import RequestException +import sys +from requests.auth import HTTPBasicAuth +from ansible.module_utils.basic import * + +BASE_SERVER_URL = 'http://localhost' +SERVER_SELF_URI = '/v1/servers/self' +SERVER_PORTS = {'ms': '8080', + 'router': '8081', + 'r': '8081', + 'mp': '8082', + 'rmp': '8082', + 'qs': '8083', + 'ps': '8084'} + + +def get_server_self(server_type, username, password): + auth = HTTPBasicAuth(username, password) + url = BASE_SERVER_URL + ':' + SERVER_PORTS[server_type] + SERVER_SELF_URI + resp = requests.get(url, auth=auth) + return resp + + +def map_server_self(server_self): + reported = server_self.json() + for p in reported['tags']['property']: + name = p['name'] + value = p['value'] + reported[name] = value + del reported['tags'] + return reported + + +def main(): + module = AnsibleModule( + argument_spec=dict( + username=dict(required=True, type='str', no_log=True), + password=dict(required=True, type='str', no_log=True), + server_type=dict(required=True, type='str', choices=['ms', 'router', 'r', 'mp', 'qs', 'ps', 'rmp']) + ) + ) + + username = module.params['username'] + password = module.params['password'] + server_type = module.params['server_type'] + try: + resp = get_server_self(server_type, username, password) + status_code = resp.status_code + except RequestException as ex: + status_code = 500 + msg = str(ex) + " Did you run on the correct server?" + print(msg) + + if status_code >= 200 and status_code < 300: + server_self = map_server_self(resp) + facts = {} + facts['edge_' + server_type + '_self'] = server_self + module.exit_json( + changed=True, + ansible_facts=facts + ) + elif status_code > 400: + err_msg = "Error status code returned: [" + if 'msg' in globals(): + err_msg += msg + module.fail_json( + changed=False, + msg=err_msg, + status_code=status_code, + ) + + +if __name__ == '__main__': + main()