diff --git a/_modules/neutronng.py b/_modules/neutronng.py
index 06f273e..a62ea20 100644
--- a/_modules/neutronng.py
+++ b/_modules/neutronng.py
@@ -41,19 +41,9 @@
                 connection_args.update({kwarg: kwargs[kwarg]})
             elif '__' not in kwarg:
                 nkwargs.update({kwarg: kwargs[kwarg]})
-        kstone = __salt__['keystone.auth'](**connection_args)
-        token = kstone.auth_token
-
-        if kwargs.get('connection_endpoint_type') == None:
-            endpoint_type = 'internalURL'
-        else:
-            endpoint_type = kwargs.get('connection_endpoint_type')
-
-        endpoint = kstone.service_catalog.url_for(
-            service_type='network',
-            endpoint_type=endpoint_type)
-        neutron_interface = client.Client(
-            endpoint_url=endpoint, token=token)
+        kstone = __salt__['keystoneng.auth'](**connection_args)
+        endpoint_type = kwargs.get('connection_endpoint_type', 'internal')
+        neutron_interface = client.Client(session=kstone.session, endpoint_type=endpoint_type)
         return_data = func_name(neutron_interface, *args, **nkwargs)
         # TODO(vsaienko) drop this formatting when all commands are updated
         # to return dictionary
diff --git a/_states/neutronng.py b/_states/neutronng.py
index ea9c346..ca50c21 100644
--- a/_states/neutronng.py
+++ b/_states/neutronng.py
@@ -43,7 +43,7 @@
 
 def _get_tenant_id(tenant_name, *args, **kwargs):
     try:
-        tenant_id = __salt__['keystone.tenant_get'](
+        tenant_id = __salt__['keystoneng.tenant_get'](
             name=tenant_name, **kwargs)[tenant_name]['id']
     except:
         tenant_id = None
@@ -286,7 +286,7 @@
     connection_args = _auth(profile, endpoint_type)
     tenant_name = tenant
     try:
-        tenant_id = __salt__['keystone.tenant_get'](
+        tenant_id = __salt__['keystoneng.tenant_get'](
             name=tenant_name, **connection_args)[tenant_name]['id']
     except:
         tenant_id = None
@@ -378,7 +378,7 @@
     existing_floatingips = _neutron_module_call(
         'list_floatingips', **connection_args)
 
-    tenant = __salt__['keystone.tenant_get'](name=tenant_name, **connection_args)
+    tenant = __salt__['keystoneng.tenant_get'](name=tenant_name, **connection_args)
     tenant_id = tenant[tenant_name]['id']
     existing_network = _neutron_module_call(
             'list_networks', name=network, **connection_args)["networks"]
@@ -431,7 +431,7 @@
     connection_args = _auth(profile, endpoint_type)
     tenant_name = tenant
     try:
-        tenant_id = __salt__['keystone.tenant_get'](
+        tenant_id = __salt__['keystoneng.tenant_get'](
             name=tenant_name, **connection_args)[tenant_name]['id']
     except:
         tenant_id = None
