class Url(object):
 
-    def __init__(self, url, endpoint):
+    def __init__(self, url, target):
         super(Url, self).__init__()
         self.url = url
-        self.endpoint = endpoint
+        self.target = target
 
 common_utils.import_modules_from_package("api.resources")
 
 
 import inspect
 import logging
+import socket
 from six.moves import filter
 
 from flasgger import Swagger
 from api import ApiResource
 from yardstick import _init_logging
 from yardstick.common import utils
+from yardstick.common import constants as consts
+
+try:
+    from urlparse import urljoin
+except ImportError:
+    from urllib.parse import urljoin
 
 logger = logging.getLogger(__name__)
 
     return app(*args, **kwargs)
 
 
+def get_endpoint(url):
+    ip = socket.gethostbyname(socket.gethostname())
+    return urljoin('http://{}:{}'.format(ip, consts.API_PORT), url)
+
+
 for u in urlpatterns:
-    api.add_resource(get_resource(u.endpoint), u.url, endpoint=u.endpoint)
+    api.add_resource(get_resource(u.target), u.url, endpoint=get_endpoint(u.url))
 
 
 if __name__ == '__main__':
 
 GRAFANA_TAG = get_param('grafana.tag', '3.1.1')
 
 # api
+API_PORT = 5000
 DOCKER_URL = 'unix://var/run/docker.sock'
 INSTALLERS = ['apex', 'compass', 'fuel', 'joid']
 SQLITE = 'sqlite:////tmp/yardstick.db'