VMWare driver to use current nova.network.model

* Updated tests to use classes from nova.network.model instead of legacy
  "network,mapping" tuple.
* Modified vmwareapi/{driver,vif,vmops}.py to use classes from
  nova.network.model instead of legacy "network,mapping" tuple.

Fixes: bug 1112655
Change-Id: I7f4b39cd5add7d3cf7dcf485eb9855d0354f332c
This commit is contained in:
Amir Sadoughi
2013-02-07 04:28:34 +00:00
parent 2861079571
commit 747b583ca3
2 changed files with 64 additions and 19 deletions

View File

@@ -28,6 +28,7 @@ from nova import exception
from nova import test from nova import test
import nova.tests.image.fake import nova.tests.image.fake
from nova.tests import matchers from nova.tests import matchers
from nova.tests import utils
from nova.tests.vmwareapi import db_fakes from nova.tests.vmwareapi import db_fakes
from nova.tests.vmwareapi import stubs from nova.tests.vmwareapi import stubs
from nova.virt.vmwareapi import driver from nova.virt.vmwareapi import driver
@@ -54,25 +55,7 @@ class VMwareAPIVMTestCase(test.TestCase):
self.conn = driver.VMwareESXDriver(None, False) self.conn = driver.VMwareESXDriver(None, False)
# NOTE(vish): none of the network plugging code is actually # NOTE(vish): none of the network plugging code is actually
# being tested # being tested
self.network_info = [({'bridge': 'fa0', self.network_info = utils.get_test_network_info(legacy_model=False)
'id': 0,
'vlan': None,
'bridge_interface': None,
'injected': True},
{'broadcast': '192.168.0.255',
'id': 'foo',
'dns': ['192.168.0.1'],
'gateway': '192.168.0.1',
'gateway_v6': 'dead:beef::1',
'ip6s': [{'enabled': '1',
'ip': 'dead:beef::dcad:beff:feef:0',
'netmask': '64'}],
'ips': [{'enabled': '1',
'ip': '192.168.0.100',
'netmask': '255.255.255.0'}],
'label': 'fake',
'mac': 'DE:AD:BE:EF:00:00',
'rxtx_cap': 3})]
self.image = { self.image = {
'id': 'c1c8ce3d-c2e0-4247-890c-ccf5cc1c004c', 'id': 'c1c8ce3d-c2e0-4247-890c-ccf5cc1c004c',

View File

@@ -0,0 +1,62 @@
# vim: tabstop=4 shiftwidth=4 softtabstop=4
#
# Copyright 2013 OpenStack LLC.
# 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.
from nova.network import model as network_model
from nova import test
from nova.virt.vmwareapi import vmops
class VMwareVMOpsTestCase(test.TestCase):
def setUp(self):
super(VMwareVMOpsTestCase, self).setUp()
subnet_4 = network_model.Subnet(cidr='192.168.0.1/24',
dns=[network_model.IP('192.168.0.1')],
gateway=
network_model.IP('192.168.0.1'),
ips=[
network_model.IP('192.168.0.100')],
routes=None)
subnet_6 = network_model.Subnet(cidr='dead:beef::1/64',
dns=None,
gateway=
network_model.IP('dead:beef::1'),
ips=[network_model.IP(
'dead:beef::dcad:beff:feef:0')],
routes=None)
network = network_model.Network(id=0,
bridge='fa0',
label='fake',
subnets=[subnet_4, subnet_6],
vlan=None,
bridge_interface=None,
injected=True)
self.network_info = network_model.NetworkInfo([
network_model.VIF(id=None,
address='DE:AD:BE:EF:00:00',
network=network,
type=None,
devname=None,
ovs_interfaceid=None,
rxtx_cap=3)
])
def test_get_machine_id_str(self):
result = vmops.VMwareVMOps._get_machine_id_str(self.network_info)
print result
self.assertEqual(result,
'DE:AD:BE:EF:00:00;192.168.0.100;255.255.255.0;'
'192.168.0.1;192.168.0.255;192.168.0.1#')