CLOUDSTACK-6160: Changes to marvin apiclient

Removed apiclient.hypervisor references. More details in the bug
Few other changes pending for this related to VirtualMachine.create
need to be cleaned up
This commit is contained in:
Santhosh Edukulla 2014-02-24 18:56:46 +05:30 committed by Girish Shilamkar
parent d06f2b6a70
commit bf77e9d669
13 changed files with 73 additions and 40 deletions

View File

@ -685,6 +685,7 @@ class TestRVRInternals(cloudstackTestCase):
def setUp(self): def setUp(self):
self.apiclient = self.testClient.getApiClient() self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.dbclient = self.testClient.getDbConnection() self.dbclient = self.testClient.getDbConnection()
self.account = Account.create( self.account = Account.create(
self.apiclient, self.apiclient,
@ -846,7 +847,7 @@ class TestRVRInternals(cloudstackTestCase):
self.debug(master_router.linklocalip) self.debug(master_router.linklocalip)
# Check eth2 port for master router # Check eth2 port for master router
if self.apiclient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
result = get_process_status( result = get_process_status(
self.apiclient.connection.mgtSvr, self.apiclient.connection.mgtSvr,
22, 22,
@ -854,7 +855,7 @@ class TestRVRInternals(cloudstackTestCase):
self.apiclient.connection.passwd, self.apiclient.connection.passwd,
master_router.linklocalip, master_router.linklocalip,
'ip addr show eth2', 'ip addr show eth2',
hypervisor=self.apiclient.hypervisor hypervisor=self.hypervisor
) )
else: else:
result = get_process_status( result = get_process_status(
@ -882,7 +883,7 @@ class TestRVRInternals(cloudstackTestCase):
) )
# Check eth2 port for backup router # Check eth2 port for backup router
if self.apiclient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
result = get_process_status( result = get_process_status(
self.apiclient.connection.mgtSvr, self.apiclient.connection.mgtSvr,
22, 22,
@ -890,7 +891,7 @@ class TestRVRInternals(cloudstackTestCase):
self.apiclient.connction.passwd, self.apiclient.connction.passwd,
backup_router.linklocalip, backup_router.linklocalip,
'ip addr show eth2', 'ip addr show eth2',
hypervisor=self.apiclient.hypervisor hypervisor=self.hypervisor
) )
else: else:
result = get_process_status( result = get_process_status(

View File

@ -729,6 +729,9 @@ class TestTemplateHierarchy(cloudstackTestCase):
cls.api_client = super( cls.api_client = super(
TestTemplateHierarchy, TestTemplateHierarchy,
cls).getClsTestClient().getApiClient() cls).getClsTestClient().getApiClient()
cls.hypervisor = super(
TestTemplateHierarchy,
cls).getClsTestClient().getHypervisorInfo()
cls.services = Services().services cls.services = Services().services
# Get Zone settings # Get Zone settings
cls.zone = get_zone(cls.api_client, cls.services) cls.zone = get_zone(cls.api_client, cls.services)
@ -772,7 +775,8 @@ class TestTemplateHierarchy(cloudstackTestCase):
cls.services["template"], cls.services["template"],
zoneid=cls.zone.id, zoneid=cls.zone.id,
account=cls.account_1.name, account=cls.account_1.name,
domainid=cls.domain_1.id domainid=cls.domain_1.id,
hypervisor=cls.hypervisor
) )
# Wait for template to download # Wait for template to download

View File

@ -227,6 +227,7 @@ class TestBaseImageUpdate(cloudstackTestCase):
def setUp(self): def setUp(self):
self.apiclient = self.testClient.getApiClient() self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.dbclient = self.testClient.getDbConnection() self.dbclient = self.testClient.getDbConnection()
self.cleanup = [] self.cleanup = []
@ -416,7 +417,8 @@ class TestBaseImageUpdate(cloudstackTestCase):
v, v,
zoneid=self.zone.id, zoneid=self.zone.id,
account=self.account.name, account=self.account.name,
domainid=self.account.domainid domainid=self.account.domainid,
hypervisor=self.hypervisor
) )
self.debug( self.debug(
"Registered a template of format: %s with ID: %s" % ( "Registered a template of format: %s with ID: %s" % (

View File

@ -95,8 +95,8 @@ class Services:
class TestTemplate(cloudstackTestCase): class TestTemplate(cloudstackTestCase):
def setUp(self): def setUp(self):
self.apiclient = self.testClient.getApiClient() self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.dbclient = self.testClient.getDbConnection() self.dbclient = self.testClient.getDbConnection()
self.cleanup = [] self.cleanup = []
return return
@ -173,7 +173,8 @@ class TestTemplate(cloudstackTestCase):
self.services["template"], self.services["template"],
zoneid=self.zone.id, zoneid=self.zone.id,
account=self.account.name, account=self.account.name,
domainid=self.account.domainid domainid=self.account.domainid,
hypervisor=self.hypervisor
) )
self.debug( self.debug(
"Registered a template of format: %s with ID: %s" % ( "Registered a template of format: %s with ID: %s" % (

View File

@ -99,6 +99,10 @@ class TestDeployVmWithUserData(cloudstackTestCase):
cls.user_data_2kl = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(1900)) cls.user_data_2kl = ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(1900))
def setUp(self):
self.apiClient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
@attr(tags=["simulator", "devcloud", "basic", "advanced"]) @attr(tags=["simulator", "devcloud", "basic", "advanced"])
def test_deployvm_userdata_post(self): def test_deployvm_userdata_post(self):
@ -174,7 +178,7 @@ class TestDeployVmWithUserData(cloudstackTestCase):
host.passwd="password" host.passwd="password"
cmd="cat /var/www/html/userdata/"+deployVmResponse.ipaddress+"/user-data" cmd="cat /var/www/html/userdata/"+deployVmResponse.ipaddress+"/user-data"
if self.apiClient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
try: try:
result = get_process_status( result = get_process_status(
@ -184,7 +188,7 @@ class TestDeployVmWithUserData(cloudstackTestCase):
self.apiClient.connection.passwd, self.apiClient.connection.passwd,
router.linklocalip, router.linklocalip,
cmd, cmd,
hypervisor=self.apiClient.hypervisor hypervisor=self.hypervisor
) )
res = str(result) res = str(result)
self.assertEqual(res.__contains__(self.userdata),True,"Userdata Not applied Check the failures") self.assertEqual(res.__contains__(self.userdata),True,"Userdata Not applied Check the failures")

View File

@ -1122,6 +1122,7 @@ class TestRouterStopCreateFW(cloudstackTestCase):
def setUp(self): def setUp(self):
self.apiclient = self.testClient.getApiClient() self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.cleanup = [] self.cleanup = []
return return
@ -1267,7 +1268,7 @@ class TestRouterStopCreateFW(cloudstackTestCase):
host.user, host.passwd = get_host_credentials(self.config, host.ipaddress) host.user, host.passwd = get_host_credentials(self.config, host.ipaddress)
# For DNS and DHCP check 'dnsmasq' process status # For DNS and DHCP check 'dnsmasq' process status
if self.apiclient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
result = get_process_status( result = get_process_status(
self.apiclient.connection.mgtSvr, self.apiclient.connection.mgtSvr,
22, 22,
@ -1275,7 +1276,7 @@ class TestRouterStopCreateFW(cloudstackTestCase):
self.apiclient.connection.passwd, self.apiclient.connection.passwd,
router.linklocalip, router.linklocalip,
'iptables -t nat -L', 'iptables -t nat -L',
hypervisor=self.apiclient.hypervisor hypervisor=self.hypervisor
) )
else: else:
try: try:

View File

@ -1511,8 +1511,8 @@ class TestDeployVMFromTemplate(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
def setUp(self): def setUp(self):
self.apiclient = self.testClient.getApiClient() self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.dbclient = self.testClient.getDbConnection() self.dbclient = self.testClient.getDbConnection()
self.services = Services().services self.services = Services().services
self.services["virtual_machine"]["zoneid"] = self.zone.id self.services["virtual_machine"]["zoneid"] = self.zone.id
@ -1533,7 +1533,8 @@ class TestDeployVMFromTemplate(cloudstackTestCase):
self.services["template"], self.services["template"],
zoneid=self.zone.id, zoneid=self.zone.id,
account=self.account.name, account=self.account.name,
domainid=self.account.domainid domainid=self.account.domainid,
hypervisor=self.hypervisor
) )
self.debug( self.debug(
"Registered a template of format: %s with ID: %s" % ( "Registered a template of format: %s with ID: %s" % (

View File

@ -101,8 +101,8 @@ class Services:
class TestCreateTemplate(cloudstackTestCase): class TestCreateTemplate(cloudstackTestCase):
def setUp(self): def setUp(self):
self.apiclient = self.testClient.getApiClient() self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.dbclient = self.testClient.getDbConnection() self.dbclient = self.testClient.getDbConnection()
self.cleanup = [] self.cleanup = []
return return
@ -184,7 +184,8 @@ class TestCreateTemplate(cloudstackTestCase):
self.services["templates"][0], self.services["templates"][0],
zoneid=self.zone.id, zoneid=self.zone.id,
account=self.account.name, account=self.account.name,
domainid=self.account.domainid domainid=self.account.domainid,
hypervisor=self.hypervisor
) )
self.debug( self.debug(
"Registered a template of format: %s with ID: %s" % ( "Registered a template of format: %s with ID: %s" % (

View File

@ -33,8 +33,8 @@ _multiprocess_shared_ = True
class TestHosts(cloudstackTestCase): class TestHosts(cloudstackTestCase):
def setUp(self): def setUp(self):
self.apiclient = self.testClient.getApiClient() self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.dbclient = self.testClient.getDbConnection() self.dbclient = self.testClient.getDbConnection()
self.services = self.testClient.getParsedTestDataConfig() self.services = self.testClient.getParsedTestDataConfig()
self.zone = get_zone(self.apiclient, self.testClient.getZoneForTests()) self.zone = get_zone(self.apiclient, self.testClient.getZoneForTests())
@ -69,7 +69,8 @@ class TestHosts(cloudstackTestCase):
self.apiclient, self.apiclient,
v, v,
zoneid=self.zone.id, zoneid=self.zone.id,
podid=self.pod.id podid=self.pod.id,
hypervisor=self.hypervisor
) )
self.debug( self.debug(
"Created Cluster for hypervisor type %s & ID: %s" %( "Created Cluster for hypervisor type %s & ID: %s" %(
@ -100,7 +101,8 @@ class TestHosts(cloudstackTestCase):
cluster, cluster,
self.services["hosts"][hypervisor_type], self.services["hosts"][hypervisor_type],
zoneid=self.zone.id, zoneid=self.zone.id,
podid=self.pod.id podid=self.pod.id,
hypervisor=self.hypervisor
) )
self.debug( self.debug(
"Created host (ID: %s) in cluster ID %s" %( "Created host (ID: %s) in cluster ID %s" %(

View File

@ -95,6 +95,7 @@ class TestRouterServices(cloudstackTestCase):
def setUp(self): def setUp(self):
self.apiclient = self.testClient.getApiClient() self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
return return
@attr(tags = ["advanced", "basic", "sg", "smoke"]) @attr(tags = ["advanced", "basic", "sg", "smoke"])
@ -147,7 +148,7 @@ class TestRouterServices(cloudstackTestCase):
"Check list router response for router state" "Check list router response for router state"
) )
if self.apiclient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
result = get_process_status( result = get_process_status(
self.apiclient.connection.mgtSvr, self.apiclient.connection.mgtSvr,
22, 22,
@ -155,7 +156,7 @@ class TestRouterServices(cloudstackTestCase):
self.apiclient.connection.passwd, self.apiclient.connection.passwd,
router.linklocalip, router.linklocalip,
"service dnsmasq status", "service dnsmasq status",
hypervisor=self.apiclient.hypervisor hypervisor=self.hypervisor
) )
else: else:
try: try:
@ -229,7 +230,7 @@ class TestRouterServices(cloudstackTestCase):
"Check list router response for router state" "Check list router response for router state"
) )
if self.apiclient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
result = get_process_status( result = get_process_status(
self.apiclient.connection.mgtSvr, self.apiclient.connection.mgtSvr,
22, 22,
@ -237,7 +238,7 @@ class TestRouterServices(cloudstackTestCase):
self.apiclient.connection.passwd, self.apiclient.connection.passwd,
router.linklocalip, router.linklocalip,
"service dnsmasq status", "service dnsmasq status",
hypervisor=self.apiclient.hypervisor hypervisor=self.hypervisor
) )
else: else:
try: try:
@ -261,7 +262,7 @@ class TestRouterServices(cloudstackTestCase):
"Check dnsmasq service is running or not" "Check dnsmasq service is running or not"
) )
if self.apiclient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
result = get_process_status( result = get_process_status(
self.apiclient.connection.mgtSvr, self.apiclient.connection.mgtSvr,
22, 22,
@ -269,7 +270,7 @@ class TestRouterServices(cloudstackTestCase):
self.apiclient.connection.passwd, self.apiclient.connection.passwd,
router.linklocalip, router.linklocalip,
"service haproxy status", "service haproxy status",
hypervisor=self.apiclient.hypervisor hypervisor=self.hypervisor
) )
else: else:
try: try:
@ -440,7 +441,7 @@ class TestRouterServices(cloudstackTestCase):
) )
host = hosts[0] host = hosts[0]
if self.apiclient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
res = get_process_status( res = get_process_status(
self.apiclient.connection.mgtSvr, self.apiclient.connection.mgtSvr,
22, 22,
@ -448,7 +449,7 @@ class TestRouterServices(cloudstackTestCase):
self.apiclient.connection.passwd, self.apiclient.connection.passwd,
router.linklocalip, router.linklocalip,
"uptime", "uptime",
hypervisor=self.apiclient.hypervisor hypervisor=self.hypervisor
) )
else: else:
try: try:

View File

@ -37,6 +37,7 @@ class TestSSVMs(cloudstackTestCase):
self.testClient = super(TestSSVMs, cls).getClsTestClient() self.testClient = super(TestSSVMs, cls).getClsTestClient()
self.apiclient = self.testClient.getApiClient() self.apiclient = self.testClient.getApiClient()
self.hypervisor = self.testClient.getHypervisorInfo()
self.cleanup = [] self.cleanup = []
self.services = self.testClient.getParsedTestDataConfig() self.services = self.testClient.getParsedTestDataConfig()
self.zone = get_zone(self.apiclient, self.testClient.getZoneForTests()) self.zone = get_zone(self.apiclient, self.testClient.getZoneForTests())
@ -320,7 +321,7 @@ class TestSSVMs(cloudstackTestCase):
self.debug("Running SSVM check script") self.debug("Running SSVM check script")
if self.apiclient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
#SSH into SSVMs is done via management server for Vmware #SSH into SSVMs is done via management server for Vmware
result = get_process_status( result = get_process_status(
self.apiclient.connection.mgtSvr, self.apiclient.connection.mgtSvr,
@ -329,7 +330,7 @@ class TestSSVMs(cloudstackTestCase):
self.apiclient.connection.passwd, self.apiclient.connection.passwd,
ssvm.privateip, ssvm.privateip,
"/usr/local/cloud/systemvm/ssvm-check.sh |grep -e ERROR -e WARNING -e FAIL", "/usr/local/cloud/systemvm/ssvm-check.sh |grep -e ERROR -e WARNING -e FAIL",
hypervisor=self.apiclient.hypervisor hypervisor=self.hypervisor
) )
else: else:
try: try:
@ -360,7 +361,7 @@ class TestSSVMs(cloudstackTestCase):
) )
#Check status of cloud service #Check status of cloud service
if self.apiclient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
#SSH into SSVMs is done via management server for Vmware #SSH into SSVMs is done via management server for Vmware
result = get_process_status( result = get_process_status(
self.apiclient.connection.mgtSvr, self.apiclient.connection.mgtSvr,
@ -369,7 +370,7 @@ class TestSSVMs(cloudstackTestCase):
self.apiclient.connection.passwd, self.apiclient.connection.passwd,
ssvm.privateip, ssvm.privateip,
"service cloud status", "service cloud status",
hypervisor=self.apiclient.hypervisor hypervisor=self.hypervisor
) )
else: else:
try: try:
@ -444,7 +445,7 @@ class TestSSVMs(cloudstackTestCase):
self.debug("Checking cloud process status") self.debug("Checking cloud process status")
if self.apiclient.hypervisor.lower() == 'vmware': if self.hypervisor.lower() == 'vmware':
#SSH into SSVMs is done via management server for vmware #SSH into SSVMs is done via management server for vmware
result = get_process_status( result = get_process_status(
self.apiclient.connection.mgtSvr, self.apiclient.connection.mgtSvr,
@ -453,7 +454,7 @@ class TestSSVMs(cloudstackTestCase):
self.apiclient.connection.passwd, self.apiclient.connection.passwd,
cpvm.privateip, cpvm.privateip,
"service cloud status", "service cloud status",
hypervisor=self.apiclient.hypervisor hypervisor=self.hypervisor
) )
else: else:
try: try:

View File

@ -65,6 +65,7 @@ class CSTestClient(object):
self.__userApiClient = None self.__userApiClient = None
self.__asyncJobMgr = None self.__asyncJobMgr = None
self.__id = None self.__id = None
self.__hypervisor = None
self.__testDataFilePath = test_data_filepath self.__testDataFilePath = test_data_filepath
self.__parsedTestDataConfig = None self.__parsedTestDataConfig = None
self.__zone = zone self.__zone = zone
@ -102,6 +103,19 @@ class CSTestClient(object):
self.__zone = ret self.__zone = ret
return self.__zone return self.__zone
def getHypervisorInfo(self):
'''
@Name : getHypervisorInfo
@Desc : Provides the hypervisor Information to test users
'''
if not self.__hypervisor:
if self.__mgmtDetails.hypervisor:
self.__hypervisor = self.__mgmtDetails.hypervisor
else:
self.__hypervisor = XEN_SERVER
return self.__hypervisor
def __setHypervisorToClient(self): def __setHypervisorToClient(self):
''' '''
@Name : ___setHypervisorToClient @Name : ___setHypervisorToClient

View File

@ -317,7 +317,7 @@ class VirtualMachine:
domainid=None, zoneid=None, networkids=None, serviceofferingid=None, domainid=None, zoneid=None, networkids=None, serviceofferingid=None,
securitygroupids=None, projectid=None, startvm=None, securitygroupids=None, projectid=None, startvm=None,
diskofferingid=None, affinitygroupnames=None, affinitygroupids=None, group=None, diskofferingid=None, affinitygroupnames=None, affinitygroupids=None, group=None,
hostid=None, keypair=None, ipaddress=None, mode='default', method='GET'): hostid=None, keypair=None, ipaddress=None, mode='default', method='GET',hypervisor=None):
"""Create the instance""" """Create the instance"""
cmd = deployVirtualMachine.deployVirtualMachineCmd() cmd = deployVirtualMachine.deployVirtualMachineCmd()
@ -880,7 +880,7 @@ class Template:
@classmethod @classmethod
def register(cls, apiclient, services, zoneid=None, def register(cls, apiclient, services, zoneid=None,
account=None, domainid=None): account=None, domainid=None, hypervisor=None):
"""Create template from URL""" """Create template from URL"""
# Create template from Virtual machine and Volume ID # Create template from Virtual machine and Volume ID
@ -888,7 +888,7 @@ class Template:
cmd.displaytext = services["displaytext"] cmd.displaytext = services["displaytext"]
cmd.name = "-".join([services["name"], random_gen()]) cmd.name = "-".join([services["name"], random_gen()])
cmd.format = services["format"] cmd.format = services["format"]
cmd.hypervisor = apiclient.hypervisor cmd.hypervisor = hypervisor
if "ostypeid" in services: if "ostypeid" in services:
cmd.ostypeid = services["ostypeid"] cmd.ostypeid = services["ostypeid"]
@ -1731,11 +1731,11 @@ class Cluster:
self.__dict__.update(items) self.__dict__.update(items)
@classmethod @classmethod
def create(cls, apiclient, services, zoneid=None, podid=None): def create(cls, apiclient, services, zoneid=None, podid=None, hypervisor=None):
"""Create Cluster""" """Create Cluster"""
cmd = addCluster.addClusterCmd() cmd = addCluster.addClusterCmd()
cmd.clustertype = services["clustertype"] cmd.clustertype = services["clustertype"]
cmd.hypervisor = apiclient.hypervisor cmd.hypervisor = hypervisor
if zoneid: if zoneid:
cmd.zoneid = zoneid cmd.zoneid = zoneid
@ -1781,11 +1781,11 @@ class Host:
self.__dict__.update(items) self.__dict__.update(items)
@classmethod @classmethod
def create(cls, apiclient, cluster, services, zoneid=None, podid=None): def create(cls, apiclient, cluster, services, zoneid=None, podid=None, hypervisor=None):
"""Create Host in cluster""" """Create Host in cluster"""
cmd = addHost.addHostCmd() cmd = addHost.addHostCmd()
cmd.hypervisor = apiclient.hypervisor cmd.hypervisor = hypervisor
cmd.url = services["url"] cmd.url = services["url"]
cmd.clusterid = cluster.id cmd.clusterid = cluster.id