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()