From b1298cc990e80ec7b51f353e143fd15888be53b4 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Mon, 17 Dec 2012 20:45:03 +0000 Subject: [PATCH] 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 --- nova/virt/libvirt/vif.py | 3 +-- nova/virt/vif.py | 34 ---------------------------------- nova/virt/vmwareapi/vif.py | 3 +-- nova/virt/xenapi/vif.py | 3 +-- 4 files changed, 3 insertions(+), 40 deletions(-) delete mode 100644 nova/virt/vif.py diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py index ef9f9e6afbf8..a3071e0c9a8e 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 69cfd996c125..000000000000 --- 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 dc9c6dead3d7..2e70a7a49159 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 ba036a28e064..9da105e81ad3 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