diff --git a/etc/tempest.conf.sample b/etc/tempest.conf.sample
index 53892e8..e1196f0 100644
--- a/etc/tempest.conf.sample
+++ b/etc/tempest.conf.sample
@@ -162,12 +162,6 @@
 # The version of the OpenStack Images API to use
 api_version = 1
 
-# This is the main host address of the Image API
-host = 127.0.0.1
-
-# Port that the Image API is running on
-port = 9292
-
 [network]
 # This section contains configuration options used when executing tests
 # against the OpenStack Network API.
diff --git a/tempest/config.py b/tempest/config.py
index a166093..89fa2d9 100644
--- a/tempest/config.py
+++ b/tempest/config.py
@@ -37,22 +37,6 @@
     cfg.StrOpt('uri',
                default=None,
                help="Full URI of the OpenStack Identity API (Keystone)"),
-    cfg.StrOpt('host',
-               default="127.0.0.1",
-               help="(DEPRECATED, use uri) Host IP for making Identity "
-                    "API requests."),
-    cfg.IntOpt('port',
-               default=8773,
-               help="(DEPRECATED, use uri) Port for the Identity service."),
-    cfg.StrOpt('api_version',
-               default="v1.1",
-               help="(DEPRECATED, use uri) Version of the Identity API"),
-    cfg.StrOpt('path',
-               default='/',
-               help="(IGNORED) Path of API request"),
-    cfg.BoolOpt('use_ssl',
-                default=False,
-                help="(DEPRECATED, use uri) Specifies if we are using https."),
     cfg.StrOpt('strategy',
                default='keystone',
                help="Which auth method does the environment use? "
@@ -102,16 +86,6 @@
     for opt in IdentityGroup:
         conf.register_opt(opt, group='identity')
 
-    # Fall back to piecemeal identity URI for legacy support
-    authurl = data_utils.build_url(conf.identity.host,
-                                   str(conf.identity.port),
-                                   conf.identity.api_version,
-                                   path='',  # Ignore path...
-                                   use_ssl=conf.identity.use_ssl)
-
-    if not conf.identity.uri:
-        conf.identity.uri = authurl
-
 
 compute_group = cfg.OptGroup(name='compute',
                              title='Compute Service Options')
@@ -249,13 +223,6 @@
                            title="Image Service Options")
 
 ImageGroup = [
-    cfg.StrOpt('host',
-               default='127.0.0.1',
-               help="Host IP for making Images API requests. Defaults to "
-                    "'127.0.0.1'."),
-    cfg.IntOpt('port',
-               default=9292,
-               help="Listen port of the Images service."),
     cfg.StrOpt('api_version',
                default='1',
                help="Version of the API"),
