Nuage VSP : Extending Marvin test coverage

This commit is contained in:
Prashanth Manthena 2016-05-02 10:16:34 +02:00 committed by Nick Livens
parent d862a09771
commit 2ca0d9b0e1
3 changed files with 43 additions and 10 deletions

View File

@ -50,7 +50,7 @@ import socket
class nuageTestCase(cloudstackTestCase):
@classmethod
def setUpClass(cls):
def setUpClass(cls, zone=None):
cls.debug("setUpClass nuageTestCase")
# We want to fail quicker, if it's a failure
@ -60,9 +60,11 @@ class nuageTestCase(cloudstackTestCase):
cls.api_client = test_client.getApiClient()
cls.db_client = test_client.getDbConnection()
cls.test_data = test_client.getParsedTestDataConfig()
# Get Zone, Domain and templates
cls.zone = get_zone(cls.api_client)
cls.zone = get_zone(cls.api_client,
zone_name=zone.name if zone else None,
zone_id=zone.id if zone else None
)
cls.domain = get_domain(cls.api_client)
cls.template = get_template(cls.api_client,
cls.zone.id,

View File

@ -15,22 +15,22 @@
# specific language governing permissions and limitations
# under the License.
""" Tests for basic VPC Network functionality with Nuage VSP SDN plugin
""" Component tests for basic VPC Network functionality with Nuage VSP SDN plugin
"""
# Import Local Modules
from nuageTestCase import nuageTestCase
from marvin.lib.base import Account
from marvin.lib.base import Account, Zone
# Import System Modules
from nose.plugins.attrib import attr
class TestVpcNetworkNuage(nuageTestCase):
class TestNuageVpcNetwork(nuageTestCase):
""" Test basic VPC Network functionality with Nuage VSP SDN plugin
"""
@classmethod
def setUpClass(cls):
super(TestVpcNetworkNuage, cls).setUpClass()
def setUpClass(cls, zone=None):
super(TestNuageVpcNetwork, cls).setUpClass(zone=zone)
return
def setUp(self):
@ -45,7 +45,7 @@ class TestVpcNetworkNuage(nuageTestCase):
@attr(tags=["advanced", "nuagevsp"], required_hardware="false")
def test_nuage_vpc_network(self):
""" Test Basic VPC Network Functionality with Nuage VSP SDN plugin
""" Test basic VPC Network functionality with Nuage VSP SDN plugin
"""
# 1. Create Nuage VSP VPC offering, check if it is successfully created and enabled.
@ -97,3 +97,19 @@ class TestVpcNetworkNuage(nuageTestCase):
# VSD verification for ACL item
self.verify_vsp_firewall_rule(acl_item)
@attr(tags=["advanced", "nuagevsp", "multizone"], required_hardware="false")
def test_nuage_vpc_network_multizone(self):
""" Test basic VPC Network functionality with Nuage VSP SDN plugin on multiple zones
"""
# Repeat the tests in the above testcase "test_nuage_vpc_network" on multiple zones
self.debug("Testing basic VPC Network functionality with Nuage VSP SDN plugin on multiple zones...")
zones = Zone.list(self.api_client)
if len(zones) == 1:
self.skipTest("There is only one Zone configured: skipping test")
for zone in zones:
self.debug("Zone - %s" % zone.name)
self.setUpClass(zone=zone)
self.test_nuage_vpc_network()

View File

@ -561,7 +561,7 @@ class DeployDataCenters(object):
netprov.physicalnetworkid = phynetwrk.id
result = self.__apiClient.addNetworkServiceProvider(netprov)
self.enableProvider(result.id)
elif provider.name in ['Netscaler', 'JuniperSRX', 'F5BigIp', 'NiciraNvp']:
elif provider.name in ['Netscaler', 'JuniperSRX', 'F5BigIp', 'NiciraNvp', 'NuageVsp']:
netprov = addNetworkServiceProvider.\
addNetworkServiceProviderCmd()
netprov.name = provider.name
@ -631,6 +631,21 @@ class DeployDataCenters(object):
self.__tcRunLogger.\
debug("==== AddNiciraNvp Successful =====")
self.__addToCleanUp("NiciraNvp", ret.id)
elif provider.name == 'NuageVsp':
dev = addNuageVspDevice.addNuageVspDeviceCmd()
dev.hostname = device.hostname
dev.port = device.port
dev.username = device.username
dev.password = device.password
dev.retrycount = device.retrycount
dev.retryinterval = device.retryinterval
dev.physicalnetworkid = phynetwrk.id
ret = self.__apiClient.addNuageVspDevice(dev)
if ret.id:
self.__tcRunLogger.\
debug("==== addNuageVspDevice "
"Successful=====")
self.__addToCleanUp("addNuageVspDevice", ret.id)
else:
raise InvalidParameterException(
"Device %s doesn't match "