summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2012-12-17 20:45:03 +0000
committerDaniel P. Berrange <berrange@redhat.com>2013-01-03 13:46:26 +0000
commitb1298cc990e80ec7b51f353e143fd15888be53b4 (patch)
treebaa8276454de8e2163d2522fe1fbc5a1a6f4c0ab
parent7240f7d480a14e1dfde83400af2bb385b4e3b9e9 (diff)
downloadnova-b1298cc990e80ec7b51f353e143fd15888be53b4.tar.gz
nova-b1298cc990e80ec7b51f353e143fd15888be53b4.tar.xz
nova-b1298cc990e80ec7b51f353e143fd15888be53b4.zip
Delete pointless nova.virt.VIFDriver class
There is a nova.virt.VIFDriver class which the hypervisor VIF drivers inherit from. None of the hypervisor subclasses pay any attention to the API contract defined to the parent class. Some of the hypervisors don't bother trying to use the VIFDriver class at all (hyperv, baremetal). It is not worth trying to make the hypervisor subclasses follow the same API contract, since the base parent class offers no re-usable functionality of its own. The hypervisor base classs nova.virt.ComputeDriver also has no need for the VIFDriver API to exist, since its integration point is the 'plug_vifs' method. As such the nova.virt.VIFDriver class serves no purpose other than to mislead reviewers into thinking there is a common API where none actually exists. It should thus be deleted Change-Id: Id287f7e66143a248a5f106e010510a3f09d2b1e7 Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
-rw-r--r--nova/virt/libvirt/vif.py3
-rw-r--r--nova/virt/vif.py34
-rw-r--r--nova/virt/vmwareapi/vif.py3
-rw-r--r--nova/virt/xenapi/vif.py3
4 files changed, 3 insertions, 40 deletions
diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py
index ef9f9e6af..a3071e0c9 100644
--- a/nova/virt/libvirt/vif.py
+++ b/nova/virt/libvirt/vif.py
@@ -25,7 +25,6 @@ from nova.openstack.common import cfg
from nova.openstack.common import log as logging
from nova import utils
from nova.virt import netutils
-from nova.virt import vif
from nova.virt.libvirt import config as vconfig
@@ -48,7 +47,7 @@ CONF.import_opt('use_ipv6', 'nova.config')
LINUX_DEV_LEN = 14
-class LibvirtBaseVIFDriver(vif.VIFDriver):
+class LibvirtBaseVIFDriver(object):
def get_config(self, instance, network, mapping):
conf = vconfig.LibvirtConfigGuestInterface()
diff --git a/nova/virt/vif.py b/nova/virt/vif.py
deleted file mode 100644
index 69cfd996c..000000000
--- a/nova/virt/vif.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright (C) 2011 Midokura KK
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-"""VIF module common to all virt layers."""
-
-
-class VIFDriver(object):
- """Abstract class that defines generic interfaces for all VIF drivers."""
- def __init__(self, **kwargs):
- # NOTE(jkoelker) __init__ is here so subclasses *could* take
- # advantage of any kwargs should they need to
- pass
-
- def plug(self, instance, vif, **kwargs):
- """Plug VIF into network."""
- raise NotImplementedError()
-
- def unplug(self, instance, vif, **kwargs):
- """Unplug VIF from network."""
- raise NotImplementedError()
diff --git a/nova/virt/vmwareapi/vif.py b/nova/virt/vmwareapi/vif.py
index dc9c6dead..2e70a7a49 100644
--- a/nova/virt/vmwareapi/vif.py
+++ b/nova/virt/vmwareapi/vif.py
@@ -20,7 +20,6 @@
from nova import exception
from nova.openstack.common import cfg
from nova.openstack.common import log as logging
-from nova.virt import vif
from nova.virt.vmwareapi import network_utils
@@ -30,7 +29,7 @@ CONF = cfg.CONF
CONF.set_default('vmwareapi_vlan_interface', 'vmnic0')
-class VMWareVlanBridgeDriver(vif.VIFDriver):
+class VMWareVlanBridgeDriver(object):
"""VIF Driver to setup bridge/VLAN networking using VMWare API."""
def plug(self, instance, vif):
diff --git a/nova/virt/xenapi/vif.py b/nova/virt/xenapi/vif.py
index ba036a28e..9da105e81 100644
--- a/nova/virt/xenapi/vif.py
+++ b/nova/virt/xenapi/vif.py
@@ -21,7 +21,6 @@
from nova.openstack.common import cfg
from nova.openstack.common import log as logging
-from nova.virt import vif
from nova.virt.xenapi import network_utils
from nova.virt.xenapi import vm_utils
@@ -35,7 +34,7 @@ CONF.register_opt(xenapi_ovs_integration_bridge_opt)
LOG = logging.getLogger(__name__)
-class XenVIFDriver(vif.VIFDriver):
+class XenVIFDriver(object):
def __init__(self, xenapi_session):
self._session = xenapi_session