diff --git a/tackerclient/shell.py b/tackerclient/shell.py
index f8e52a18..cdd80157 100644
--- a/tackerclient/shell.py
+++ b/tackerclient/shell.py
@@ -113,8 +113,6 @@ COMMAND_V1 = {
     'device-show': device.ShowDevice,
     'device-update': device.UpdateDevice,
     'device-delete': device.DeleteDevice,
-    'interface-attach': device.AttachInterface,
-    'interface-detach': device.DetachInterface,
 
     # MANO lingo
     'vnfd-create': vnfd.CreateVNFD,
diff --git a/tackerclient/tacker/v1_0/vm/device.py b/tackerclient/tacker/v1_0/vm/device.py
index c480746b..8bf7d2f9 100644
--- a/tackerclient/tacker/v1_0/vm/device.py
+++ b/tackerclient/tacker/v1_0/vm/device.py
@@ -19,9 +19,6 @@
 #
 # @author: Isaku Yamahata, Intel
 
-import abc
-import six
-
 from tackerclient.common import exceptions
 from tackerclient.openstack.common.gettextutils import _
 from tackerclient.tacker import v1_0 as tackerV10
@@ -142,49 +139,3 @@ class DeleteDevice(tackerV10.DeleteCommand):
     """Delete a given Device."""
 
     resource = _DEVICE
-
-
-@six.add_metaclass(abc.ABCMeta)
-class _XtachInterface(tackerV10.UpdateCommand):
-    resource = _DEVICE
-
-    @abc.abstractmethod
-    def call_api(self, tacker_client, device_id, body):
-        pass
-
-    def args2body(self, parsed_args):
-        body = {
-            'port_id': parsed_args.port_id,
-        }
-        tackerV10.update_dict(parsed_args, body, [])
-        return body
-
-    def get_parser(self, prog_name):
-        parser = super(_XtachInterface, self).get_parser(prog_name)
-        parser.add_argument('port_id', metavar='PORT',
-                            help=_('port to attach/detach'))
-        self.add_known_arguments(parser)
-        return parser
-
-    def run(self, parsed_args):
-        tacker_client = self.get_client()
-        tacker_client.format = parsed_args.request_format
-        body = self.args2body(parsed_args)
-        _id = tackerV10.find_resourceid_by_name_or_id(tacker_client,
-                                                      self.resource,
-                                                      parsed_args.id)
-        self.call_api(tacker_client, _id, body)
-
-
-class AttachInterface(_XtachInterface):
-    """Attach a network interface to a server."""
-
-    def call_api(self, tacker_client, device_id, body):
-        return tacker_client.attach_interface(device_id, body)
-
-
-class DetachInterface(_XtachInterface):
-    """Detach a network interface from a server."""
-
-    def call_api(self, tacker_client, device_id, body):
-        return tacker_client.detach_interface(device_id, body)
diff --git a/tackerclient/v1_0/client.py b/tackerclient/v1_0/client.py
index f7017500..f70ad584 100644
--- a/tackerclient/v1_0/client.py
+++ b/tackerclient/v1_0/client.py
@@ -338,8 +338,6 @@ class Client(ClientBase):
     device_template_path = '/device-templates/%s'
     devices_path = '/devices'
     device_path = '/devices/%s'
-    interface_attach_path = '/devices/%s/attach_interface'
-    interface_detach_path = '/devices/%s/detach_interface'
 
     vnfds_path = '/vnfds'
     vnfd_path = '/vnfds/%s'
@@ -400,14 +398,6 @@ class Client(ClientBase):
     def delete_device(self, device):
         return self.delete(self.device_path % device)
 
-    @APIParamsCall
-    def attach_interface(self, device, body=None):
-        return self.put(self.attach_interface_path % device, body)
-
-    @APIParamsCall
-    def detach_interface(self, device, body=None):
-        return self.put(self.detach_interface_path % device, body)
-
     _VNFD = "vnfd"
 
     @APIParamsCall