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>
This commit is contained in:
parent
7240f7d480
commit
b1298cc990
@ -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()
|
||||
|
@ -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()
|
@ -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):
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user