Adding more classifications

- maintenance (host goes to maitnenance)
- multihost, multizone, multistorage
This commit is contained in:
Prasanna Santhanam 2012-08-20 11:03:22 +05:30
parent 97b7873590
commit cef2ad170f
18 changed files with 161 additions and 1413 deletions

View File

@ -23,6 +23,7 @@ from integration.lib.utils import *
from integration.lib.base import * from integration.lib.base import *
from integration.lib.common import * from integration.lib.common import *
from marvin.remoteSSHClient import remoteSSHClient from marvin.remoteSSHClient import remoteSSHClient
from nose.plugins.attrib import attr
import datetime import datetime
@ -42,7 +43,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"user": { "user": {
"email": "user@test.com", "email": "user@test.com",
@ -51,7 +52,7 @@ class Services:
"username": "User", "username": "User",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -75,7 +76,7 @@ class Services:
"template": { "template": {
"displaytext": "Public Template", "displaytext": "Public Template",
"name": "Public template", "name": "Public template",
"ostypeid": 'aaf6e8c9-b609-441d-9ebd-b4eaa030a275', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.vhd.bz2", "url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.vhd.bz2",
"hypervisor": 'XenServer', "hypervisor": 'XenServer',
"format": 'VHD', "format": 'VHD',
@ -83,7 +84,7 @@ class Services:
"ispublic": True, "ispublic": True,
"isextractable": True, "isextractable": True,
}, },
"ostypeid": 'aaf6e8c9-b609-441d-9ebd-b4eaa030a275', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,

View File

@ -17,6 +17,7 @@
""" Tests for Blocker bugs """ Tests for Blocker bugs
""" """
import marvin import marvin
from nose.plugins.attrib import attr
from integration.lib.base import * from integration.lib.base import *
from integration.lib.utils import * from integration.lib.utils import *
from integration.lib.common import * from integration.lib.common import *
@ -43,7 +44,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -75,7 +76,7 @@ class Services:
"templates": { "templates": {
"displaytext": 'Template from snapshot', "displaytext": 'Template from snapshot',
"name": 'Template from snapshot', "name": 'Template from snapshot',
"ostypeid": '144f66aa-7f74-4cfe-9799-80cc21439cb3', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"templatefilter": 'self', "templatefilter": 'self',
"url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.vhd.bz2", "url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.vhd.bz2",
"hypervisor": 'XenServer', "hypervisor": 'XenServer',
@ -97,7 +98,7 @@ class Services:
"endport": 22, "endport": 22,
"protocol": "TCP" "protocol": "TCP"
}, },
"ostypeid": '144f66aa-7f74-4cfe-9799-80cc21439cb3', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"mode": 'advanced', "mode": 'advanced',
@ -1071,6 +1072,7 @@ class TestTemplates(cloudstackTestCase):
return return
@attr(speed = "slow")
@attr(tags = ["advanced", "advancedns", "basic", "sg", "eip"]) @attr(tags = ["advanced", "advancedns", "basic", "sg", "eip"])
def test_01_check_template_size(self): def test_01_check_template_size(self):
"""TS_BUG_009-Test the size of template created from root disk """TS_BUG_009-Test the size of template created from root disk
@ -1098,6 +1100,7 @@ class TestTemplates(cloudstackTestCase):
) )
return return
@attr(speed = "slow")
@attr(tags = ["advanced", "advancedns", "basic", "sg", "eip"]) @attr(tags = ["advanced", "advancedns", "basic", "sg", "eip"])
def test_02_check_size_snapshotTemplate(self): def test_02_check_size_snapshotTemplate(self):
"""TS_BUG_010-Test check size of snapshot and template """TS_BUG_010-Test check size of snapshot and template
@ -1178,6 +1181,7 @@ class TestTemplates(cloudstackTestCase):
) )
return return
@attr(speed = "slow")
@attr(tags = ["advanced", "advancedns", "basic", "sg", "eip"]) @attr(tags = ["advanced", "advancedns", "basic", "sg", "eip"])
def test_03_resuse_template_name(self): def test_03_resuse_template_name(self):
"""TS_BUG_011-Test Reusing deleted template name """TS_BUG_011-Test Reusing deleted template name

View File

@ -19,6 +19,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from marvin.remoteSSHClient import remoteSSHClient from marvin.remoteSSHClient import remoteSSHClient
@ -49,7 +50,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended in create account to # Random characters are appended in create account to
# ensure unique username generated each time # ensure unique username generated each time
"password": "fr3sca", "password": "password",
}, },
"virtual_machine": { "virtual_machine": {
# Create a small virtual machine instance with disk offering # Create a small virtual machine instance with disk offering
@ -114,10 +115,10 @@ class Services:
}, },
"mgmt_server": { "mgmt_server": {
"username": "root", "username": "root",
"password": "fr3sca", "password": "password",
"ipaddress": "192.168.100.21" "ipaddress": "192.168.100.21"
}, },
"ostypeid": '85cb528f-72ed-4df9-ac6a-f6ccf0892ff2', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# CentOS 5.3 (64-bit) # CentOS 5.3 (64-bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -2222,7 +2223,8 @@ class TestEgressAfterHostMaintainance(cloudstackTestCase):
return return
@attr(tags = ["sg", "eip"]) @attr(speed = "slow")
@attr(tags = ["sg", "eip", "maintenance"])
def test_egress_after_host_maintainance(self): def test_egress_after_host_maintainance(self):
"""Test maintenance case for egress """Test maintenance case for egress
""" """

View File

@ -19,6 +19,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -80,7 +81,7 @@ class Services:
"username": 'nsroot', "username": 'nsroot',
"password": 'nsroot' "password": 'nsroot'
}, },
"ostypeid": '593341d7-879b-451e-804c-0c01bdea10c1', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -182,7 +183,7 @@ class TestEIP(cloudstackTestCase):
@attr(tags = ["eip"]) @attr(tags = ["eip"])
@unittest.skip("skipped") @unittest.skip("skipped - Framework DB Exception")
def test_01_eip_by_deploying_instance(self): def test_01_eip_by_deploying_instance(self):
"""Test EIP by deploying an instance """Test EIP by deploying an instance
""" """
@ -350,7 +351,7 @@ class TestEIP(cloudstackTestCase):
return return
@attr(tags = ["eip"]) @attr(tags = ["eip"])
@unittest.skip("skipped") @unittest.skip("skipped - Framework DB Exception")
def test_02_acquire_ip_enable_static_nat(self): def test_02_acquire_ip_enable_static_nat(self):
"""Test associate new IP and enable static NAT for new IP and the VM """Test associate new IP and enable static NAT for new IP and the VM
""" """
@ -495,7 +496,7 @@ class TestEIP(cloudstackTestCase):
return return
@attr(tags = ["eip"]) @attr(tags = ["eip"])
@unittest.skip("skipped") @unittest.skip("skipped - Framework DB Exception")
def test_03_disable_static_nat(self): def test_03_disable_static_nat(self):
"""Test disable static NAT and release EIP acquired """Test disable static NAT and release EIP acquired
""" """
@ -695,7 +696,7 @@ class TestEIP(cloudstackTestCase):
return return
@attr(tags = ["eip"]) @attr(tags = ["eip"])
@unittest.skip("skipped") @unittest.skip("skipped - Framework DB Exception")
def test_04_disable_static_nat_system(self): def test_04_disable_static_nat_system(self):
"""Test disable static NAT with system = True """Test disable static NAT with system = True
""" """
@ -765,7 +766,7 @@ class TestEIP(cloudstackTestCase):
return return
@attr(tags = ["eip"]) @attr(tags = ["eip"])
@unittest.skip("skipped") @unittest.skip("skipped - Framework DB Exception")
def test_05_destroy_instance(self): def test_05_destroy_instance(self):
"""Test EIO after destroying instance """Test EIO after destroying instance
""" """

File diff suppressed because it is too large Load Diff

View File

@ -19,6 +19,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -41,7 +42,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -136,7 +137,7 @@ class Services:
"publicport": 22, "publicport": 22,
"protocol": 'TCP', "protocol": 'TCP',
}, },
"ostypeid": '9958b10f-9e5d-4ef1-908d-a047372d823b', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -1431,6 +1432,7 @@ class TestNetworkUpgrade(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(speed = "slow")
@attr(tags = ["advancedns"]) @attr(tags = ["advancedns"])
def test_01_nwupgrade_netscaler_conserve_on(self): def test_01_nwupgrade_netscaler_conserve_on(self):
"""Test Nw upgrade to netscaler lb service and conserve mode ON """Test Nw upgrade to netscaler lb service and conserve mode ON
@ -1630,6 +1632,7 @@ class TestNetworkUpgrade(cloudstackTestCase):
) )
return return
@attr(speed = "slow")
@attr(tags = ["advancedns"]) @attr(tags = ["advancedns"])
def test_02_nwupgrade_netscaler_conserve_off(self): def test_02_nwupgrade_netscaler_conserve_off(self):
"""Test Nw upgrade to netscaler lb service and conserve mode OFF """Test Nw upgrade to netscaler lb service and conserve mode OFF

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -43,7 +44,7 @@ class Services:
"mgmt_server": { "mgmt_server": {
"ipaddress": '192.168.100.21', "ipaddress": '192.168.100.21',
"username": 'root', "username": 'root',
"password": 'fr3sca', "password": 'password',
"port": 22, "port": 22,
}, },
"account": { "account": {
@ -53,7 +54,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"user": { "user": {
"email": "administrator@clogeny.com", "email": "administrator@clogeny.com",
@ -62,7 +63,7 @@ class Services:
"username": "User", "username": "User",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -86,7 +87,7 @@ class Services:
"template": { "template": {
"displaytext": "Public Template", "displaytext": "Public Template",
"name": "Public template", "name": "Public template",
"ostypeid": '7ddbbbb5-bb09-40de-b038-ee78995788ea', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.vhd.bz2", "url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.vhd.bz2",
"hypervisor": 'XenServer', "hypervisor": 'XenServer',
"format": 'VHD', "format": 'VHD',
@ -97,7 +98,7 @@ class Services:
"configs": { "configs": {
"project.invite.timeout": 300, "project.invite.timeout": 300,
}, },
"ostypeid": '7ddbbbb5-bb09-40de-b038-ee78995788ea', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -173,7 +174,8 @@ class TestUserProjectCreation(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(configuration = "allow.user.create.projects")
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_admin_project_creation(self): def test_admin_project_creation(self):
"""Test create project as a domain admin and domain user """Test create project as a domain admin and domain user
""" """
@ -338,7 +340,8 @@ class TestProjectCreationNegative(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(configuration = "allow.user.create.projects")
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
@unittest.skip("Known bug-able to create project as a domain user") @unittest.skip("Known bug-able to create project as a domain user")
def test_user_project_creation(self): def test_user_project_creation(self):
"""Test create project as a domain admin and domain user """Test create project as a domain admin and domain user
@ -479,7 +482,7 @@ class TestProjectInviteRequired(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_add_user_to_project(self): def test_add_user_to_project(self):
"""Add user to project when 'project.invite.required' is false""" """Add user to project when 'project.invite.required' is false"""
@ -630,10 +633,11 @@ class TestProjectInviteRequiredTrue(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(configuration = "project.invite.required")
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"])
def test_add_user_to_project(self): def test_add_user_to_project(self):
"""Add user to project when 'project.invite.required' is true""" """Add user to project when 'project.invite.required' is true"""
tags = ["advanced", "basic", "sg", "eip", "advancedns"]
# Validate the following: # Validate the following:
# 1. Create a Project # 1. Create a Project
@ -794,10 +798,11 @@ class TestProjectInviteTimeout(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(configuration = "project.invite.timeout")
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_01_invitation_timeout(self): def test_01_invitation_timeout(self):
"""Test global config project invitation timeout""" """Test global config project invitation timeout"""
tags = ["advanced", "basic", "sg", "eip", "advancedns"]
# Validate the following: # Validate the following:
# 1. Set configuration to 5 mins # 1. Set configuration to 5 mins
@ -919,10 +924,11 @@ class TestProjectInviteTimeout(cloudstackTestCase):
) )
return return
@attr(configuration = "project.invite.timeout")
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_02_invitation_timeout_after_expiry(self): def test_02_invitation_timeout_after_expiry(self):
"""Test global config project invitation timeout""" """Test global config project invitation timeout"""
tags = ["advanced", "basic", "sg", "eip", "advancedns"]
# Validate the following: # Validate the following:
# 1. Set configuration to 5 mins # 1. Set configuration to 5 mins
@ -1049,11 +1055,11 @@ class TestProjectInviteTimeout(cloudstackTestCase):
) )
return return
@attr(configuration = "project.invite.timeout")
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_03_invite_after_expiry(self): def test_03_invite_after_expiry(self):
"""Test global config project invitation timeout""" """Test global config project invitation timeout"""
tags = ["advanced", "basic", "sg", "eip", "advancedns"]
# Validate the following: # Validate the following:
# 1. Set configuration to 5 mins # 1. Set configuration to 5 mins
# 2. Create a Project # 2. Create a Project
@ -1178,11 +1184,11 @@ class TestProjectInviteTimeout(cloudstackTestCase):
) )
return return
@attr(configuration = "project.invite.timeout")
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_04_decline_invitation(self): def test_04_decline_invitation(self):
"""Test decline invitation""" """Test decline invitation"""
tags = ["advanced", "basic", "sg", "eip", "advancedns"]
# Validate the following: # Validate the following:
# 1. Set configuration to 5 mins # 1. Set configuration to 5 mins
# 2. Create a Project # 2. Create a Project

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -46,7 +47,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"user": { "user": {
"email": "administrator@clogeny.com", "email": "administrator@clogeny.com",
@ -55,7 +56,7 @@ class Services:
"username": "User", "username": "User",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -85,10 +86,10 @@ class Services:
"template": { "template": {
"displaytext": "Cent OS Template", "displaytext": "Cent OS Template",
"name": "Cent OS Template", "name": "Cent OS Template",
"ostypeid": '471a4b5b-5523-448f-9608-7d6218995733', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"templatefilter": 'self', "templatefilter": 'self',
}, },
"ostypeid": '471a4b5b-5523-448f-9608-7d6218995733', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -155,7 +156,7 @@ class TestProjectLimits(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_01_project_limits(self): def test_01_project_limits(self):
""" Test project limits """ Test project limits
""" """
@ -302,7 +303,7 @@ class TestProjectLimits(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
@unittest.skip("No provision for updating resource limits from account through API") @unittest.skip("No provision for updating resource limits from account through API")
def test_02_project_limits_normal_user(self): def test_02_project_limits_normal_user(self):
""" Test project limits """ Test project limits
@ -526,7 +527,7 @@ class TestResourceLimitsProject(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_03_vm_per_project(self): def test_03_vm_per_project(self):
"""Test VM limit per project """Test VM limit per project
""" """
@ -588,10 +589,10 @@ class TestResourceLimitsProject(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "eip", "advancedns", "simulator"])
def test_04_publicip_per_project(self): def test_04_publicip_per_project(self):
"""Test Public IP limit per project """Test Public IP limit per project
""" """
tags = ["advanced", "eip", "advancedns"]
# Validate the following # Validate the following
# 1. set max no of IPs per project to 2. # 1. set max no of IPs per project to 2.
# 2. Create an account in this domain # 2. Create an account in this domain
@ -673,10 +674,10 @@ class TestResourceLimitsProject(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_05_snapshots_per_project(self): def test_05_snapshots_per_project(self):
"""Test Snapshot limit per project """Test Snapshot limit per project
""" """
# Validate the following # Validate the following
# 1. set max no of snapshots per project to 1. # 1. set max no of snapshots per project to 1.
# 2. Create one snapshot in the project. Snapshot should be # 2. Create one snapshot in the project. Snapshot should be
@ -750,10 +751,10 @@ class TestResourceLimitsProject(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_06_volumes_per_project(self): def test_06_volumes_per_project(self):
"""Test Volumes limit per project """Test Volumes limit per project
""" """
# Validate the following # Validate the following
# 1. set max no of volume per project to 1. # 1. set max no of volume per project to 1.
# 2. Create 1 VM in this project # 2. Create 1 VM in this project
@ -799,10 +800,10 @@ class TestResourceLimitsProject(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"])
def test_07_templates_per_project(self): def test_07_templates_per_project(self):
"""Test Templates limit per project """Test Templates limit per project
""" """
tags = ["advanced", "basic", "sg", "eip", "advancedns"]
# 1. set max no of templates per project to 1. # 1. set max no of templates per project to 1.
# 2. Create a template in this project. Both template should be in # 2. Create a template in this project. Both template should be in
# ready state # ready state

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -47,7 +48,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"user": { "user": {
"email": "administrator@clogeny.com", "email": "administrator@clogeny.com",
@ -56,7 +57,7 @@ class Services:
"username": "User", "username": "User",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -86,7 +87,7 @@ class Services:
"template": { "template": {
"displaytext": "Cent OS Template", "displaytext": "Cent OS Template",
"name": "Cent OS Template", "name": "Cent OS Template",
"ostypeid": '5776c0d2-f331-42db-ba3a-29f1f8319bc9', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"templatefilter": 'self', "templatefilter": 'self',
"ispublic": False, "ispublic": False,
}, },
@ -129,7 +130,7 @@ class Services:
"endport": 22, "endport": 22,
"cidrlist": '0.0.0.0/0', "cidrlist": '0.0.0.0/0',
}, },
"ostypeid": '5776c0d2-f331-42db-ba3a-29f1f8319bc9', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -206,7 +207,7 @@ class TestOfferings(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_01_service_offerings(self): def test_01_service_offerings(self):
""" Test service offerings in a project """ Test service offerings in a project
""" """
@ -248,7 +249,7 @@ class TestOfferings(cloudstackTestCase):
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_02_project_disk_offerings(self): def test_02_project_disk_offerings(self):
""" Test project disk offerings """ Test project disk offerings
""" """
@ -381,7 +382,7 @@ class TestNetwork(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "simulator"])
def test_03_network_create(self): def test_03_network_create(self):
""" Test create network in project """ Test create network in project
""" """
@ -808,7 +809,8 @@ class TestSnapshots(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(speed = "slow")
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_06_create_snapshots_in_project(self): def test_06_create_snapshots_in_project(self):
"""Test create snapshots in project """Test create snapshots in project
""" """

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -40,7 +41,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"project": { "project": {
"name": "Project", "name": "Project",
@ -74,7 +75,7 @@ class Services:
"templates": { "templates": {
"displaytext": 'Template', "displaytext": 'Template',
"name": 'Template', "name": 'Template',
"ostypeid": '471a4b5b-5523-448f-9608-7d6218995733', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"templatefilter": 'self', "templatefilter": 'self',
"url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.qcow2.bz2" "url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.qcow2.bz2"
}, },
@ -86,7 +87,7 @@ class Services:
"isextractable": True, "isextractable": True,
"isfeatured": True, "isfeatured": True,
"ispublic": True, "ispublic": True,
"ostypeid": '471a4b5b-5523-448f-9608-7d6218995733', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
}, },
"lbrule": { "lbrule": {
"name": "SSH", "name": "SSH",
@ -104,7 +105,7 @@ class Services:
"username": "test", "username": "test",
"password": "test", "password": "test",
}, },
"ostypeid": '471a4b5b-5523-448f-9608-7d6218995733', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -191,7 +192,7 @@ class TestVmUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_01_vm_usage(self): def test_01_vm_usage(self):
"""Test Create/Destroy VM and verify usage calculation """Test Create/Destroy VM and verify usage calculation
""" """
@ -402,7 +403,7 @@ class TestPublicIPUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "eip", "advancedns"]) @attr(tags = ["advanced", "eip", "advancedns", "simulator"])
def test_01_public_ip_usage(self): def test_01_public_ip_usage(self):
"""Test Assign new IP and verify usage calculation """Test Assign new IP and verify usage calculation
""" """
@ -560,7 +561,7 @@ class TestVolumeUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_01_volume_usage(self): def test_01_volume_usage(self):
"""Test Create/delete a volume and verify correct usage is recorded """Test Create/delete a volume and verify correct usage is recorded
""" """
@ -1075,7 +1076,7 @@ class TestLBRuleUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "eip", "advancedns"]) @attr(tags = ["advanced", "eip", "advancedns", "simulator"])
def test_01_lb_usage(self): def test_01_lb_usage(self):
"""Test Create/Delete a LB rule and verify correct usage is recorded """Test Create/Delete a LB rule and verify correct usage is recorded
""" """
@ -1241,7 +1242,8 @@ class TestSnapshotUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(speed = "slow")
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_01_snapshot_usage(self): def test_01_snapshot_usage(self):
"""Test Create/Delete a manual snap shot and verify """Test Create/Delete a manual snap shot and verify
correct usage is recorded correct usage is recorded
@ -1433,7 +1435,7 @@ class TestNatRuleUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "simulator"])
def test_01_nat_usage(self): def test_01_nat_usage(self):
"""Test Create/Delete a PF rule and verify correct usage is recorded """Test Create/Delete a PF rule and verify correct usage is recorded
""" """
@ -1616,7 +1618,7 @@ class TestVpnUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "simulator"])
def test_01_vpn_usage(self): def test_01_vpn_usage(self):
"""Test Create/Delete a VPN and verify correct usage is recorded """Test Create/Delete a VPN and verify correct usage is recorded
""" """

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -43,7 +44,7 @@ class Services:
"mgmt_server": { "mgmt_server": {
"ipaddress": '192.168.100.21', "ipaddress": '192.168.100.21',
"username": 'root', "username": 'root',
"password": 'fr3sca', "password": 'password',
"port": 22, "port": 22,
}, },
"account": { "account": {
@ -53,7 +54,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"user": { "user": {
"email": "administrator@clogeny.com", "email": "administrator@clogeny.com",
@ -62,7 +63,7 @@ class Services:
"username": "User", "username": "User",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"disk_offering": { "disk_offering": {
"displaytext": "Tiny Disk Offering", "displaytext": "Tiny Disk Offering",
@ -91,7 +92,7 @@ class Services:
"publicport": 22, "publicport": 22,
"protocol": 'TCP', "protocol": 'TCP',
}, },
"ostypeid": '7ddbbbb5-bb09-40de-b038-ee78995788ea', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -167,7 +168,7 @@ class TestMultipleProjectCreation(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_01_create_multiple_projects_by_account(self): def test_01_create_multiple_projects_by_account(self):
""" Verify an account can own multiple projects and can belong to """ Verify an account can own multiple projects and can belong to
multiple projects multiple projects
@ -383,7 +384,7 @@ class TestCrossDomainAccountAdd(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_02_cross_domain_account_add(self): def test_02_cross_domain_account_add(self):
""" Verify No cross domain projects """ Verify No cross domain projects
""" """
@ -503,7 +504,7 @@ class TestDeleteAccountWithProject(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_03_delete_account_with_project(self): def test_03_delete_account_with_project(self):
""" Test As long as the project exists, its owner can't be removed """ Test As long as the project exists, its owner can't be removed
""" """
@ -617,7 +618,7 @@ class TestDeleteDomainWithProject(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_04_delete_domain_with_project(self): def test_04_delete_domain_with_project(self):
""" Test Verify delete domain with cleanup=true should delete projects """ Test Verify delete domain with cleanup=true should delete projects
belonging to the domain belonging to the domain
@ -762,7 +763,7 @@ class TestProjectOwners(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_05_user_project_owner_promotion(self): def test_05_user_project_owner_promotion(self):
""" Test Verify a project user can be later promoted to become a """ Test Verify a project user can be later promoted to become a
owner owner
@ -904,7 +905,7 @@ class TestProjectOwners(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_06_max_one_project_owner(self): def test_06_max_one_project_owner(self):
""" Test Verify there can only be one owner of a project at a time """ Test Verify there can only be one owner of a project at a time
""" """
@ -1194,7 +1195,7 @@ class TestProjectResources(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_07_project_resources_account_delete(self): def test_07_project_resources_account_delete(self):
""" Test Verify after an account is removed from the project, all his """ Test Verify after an account is removed from the project, all his
resources stay with the project. resources stay with the project.
@ -1310,7 +1311,7 @@ class TestProjectResources(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_08_cleanup_after_project_delete(self): def test_08_cleanup_after_project_delete(self):
""" Test accounts are unassigned from project after project deletion """ Test accounts are unassigned from project after project deletion
""" """
@ -1524,7 +1525,7 @@ class TestProjectSuspendActivate(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_09_project_suspend(self): def test_09_project_suspend(self):
""" Test Verify after an account is removed from the project, all his """ Test Verify after an account is removed from the project, all his
resources stay with the project. resources stay with the project.
@ -1661,7 +1662,7 @@ class TestProjectSuspendActivate(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_10_project_activation(self): def test_10_project_activation(self):
""" Test project activation after suspension """ Test project activation after suspension
""" """

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -42,7 +43,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -72,10 +73,10 @@ class Services:
"template": { "template": {
"displaytext": "Cent OS Template", "displaytext": "Cent OS Template",
"name": "Cent OS Template", "name": "Cent OS Template",
"ostypeid": '144f66aa-7f74-4cfe-9799-80cc21439cb3', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"templatefilter": 'self', "templatefilter": 'self',
}, },
"ostypeid": '144f66aa-7f74-4cfe-9799-80cc21439cb3', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -152,7 +153,7 @@ class TestResourceLimitsAccount(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "simulator"])
def test_01_vm_per_account(self): def test_01_vm_per_account(self):
"""Test VM limit per account """Test VM limit per account
""" """
@ -245,7 +246,7 @@ class TestResourceLimitsAccount(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "simulator"])
def test_02_publicip_per_account(self): def test_02_publicip_per_account(self):
"""Test Public IP limit per account """Test Public IP limit per account
""" """
@ -388,7 +389,8 @@ class TestResourceLimitsAccount(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "advancedns"]) @attr(speed = "slow")
@attr(tags = ["advanced", "advancedns", "simulator"])
def test_03_snapshots_per_account(self): def test_03_snapshots_per_account(self):
"""Test Snapshot limit per account """Test Snapshot limit per account
""" """
@ -544,7 +546,7 @@ class TestResourceLimitsAccount(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "simulator"])
def test_04_volumes_per_account(self): def test_04_volumes_per_account(self):
"""Test Volumes limit per account """Test Volumes limit per account
""" """
@ -916,7 +918,7 @@ class TestResourceLimitsDomain(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "simulator"])
def test_01_vm_per_domain(self): def test_01_vm_per_domain(self):
"""Test VM limit per domain """Test VM limit per domain
""" """
@ -982,7 +984,7 @@ class TestResourceLimitsDomain(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "simulator"])
def test_01_publicip_per_domain(self): def test_01_publicip_per_domain(self):
"""Test Public IP limit per domain """Test Public IP limit per domain
""" """
@ -1052,7 +1054,8 @@ class TestResourceLimitsDomain(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "advancedns"]) @attr(speed = "slow")
@attr(tags = ["advanced", "advancedns", "simulator"])
def test_03_snapshots_per_domain(self): def test_03_snapshots_per_domain(self):
"""Test Snapshot limit per domain """Test Snapshot limit per domain
""" """
@ -1135,7 +1138,7 @@ class TestResourceLimitsDomain(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "simulator"])
def test_04_volumes_per_domain(self): def test_04_volumes_per_domain(self):
"""Test Volumes limit per domain """Test Volumes limit per domain
""" """
@ -1297,198 +1300,3 @@ class TestResourceLimitsDomain(cloudstackTestCase):
) )
return return
class TestResources(cloudstackTestCase):
@classmethod
def setUpClass(cls):
cls.api_client = super(
TestResources,
cls
).getClsTestClient().getApiClient()
cls.services = Services().services
# Get Zone, Domain and templates
cls.zone = get_zone(cls.api_client, cls.services)
cls._cleanup = []
return
@classmethod
def tearDownClass(cls):
try:
#Cleanup resources used
cleanup_resources(cls.api_client, cls._cleanup)
except Exception as e:
raise Exception("Warning: Exception during cleanup : %s" % e)
return
def setUp(self):
self.apiclient = self.testClient.getApiClient()
self.dbclient = self.testClient.getDbConnection()
self.cleanup = []
return
def tearDown(self):
try:
#Clean up, terminate the created instance, volumes and snapshots
cleanup_resources(self.apiclient, self.cleanup)
except Exception as e:
raise Exception("Warning: Exception during cleanup : %s" % e)
return
@attr(tags = ["advanced", "advancedns"])
def test_01_zones(self):
"""Check the status of zones"""
# Validate the following
# 1. List zones
# 2. Check allocation state is "enabled" or not
zones = Zone.list(
self.apiclient,
id=self.zone.id,
listall=True
)
self.assertEqual(
isinstance(zones, list),
True,
"Check if listZones returns a valid response"
)
for zone in zones:
self.assertEqual(
zone.allocationstate,
'Enabled',
"Zone allocation state should be enabled"
)
return
@attr(tags = ["advanced", "advancedns"]
def test_02_pods(self):
"""Check the status of pods"""
# Validate the following
# 1. List pods
# 2. Check allocation state is "enabled" or not
pods = Pod.list(
self.apiclient,
zoneid=self.zone.id,
listall=True
)
self.assertEqual(
isinstance(pods, list),
True,
"Check if listPods returns a valid response"
)
for pod in pods:
self.assertEqual(
pod.allocationstate,
'Enabled',
"Pods allocation state should be enabled"
)
return
@attr(tags = ["advanced", "advancedns"])
def test_03_clusters(self):
"""Check the status of clusters"""
# Validate the following
# 1. List clusters
# 2. Check allocation state is "enabled" or not
clusters = Cluster.list(
self.apiclient,
zoneid=self.zone.id,
listall=True
)
self.assertEqual(
isinstance(clusters, list),
True,
"Check if listClusters returns a valid response"
)
for cluster in clusters:
self.assertEqual(
cluster.allocationstate,
'Enabled',
"Clusters allocation state should be enabled"
)
return
@attr(tags = ["advanced", "advancedns"])
def test_04_hosts(self):
"""Check the status of hosts"""
# Validate the following
# 1. List hosts with type=Routing
# 2. Check state is "Up" or not
hosts = Host.list(
self.apiclient,
zoneid=self.zone.id,
type='Routing',
listall=True
)
self.assertEqual(
isinstance(hosts, list),
True,
"Check if listHosts returns a valid response"
)
for host in hosts:
self.assertEqual(
host.state,
'Up',
"Host should be in Up state and running"
)
return
@attr(tags = ["advanced", "advancedns"])
def test_05_storage_pools(self):
"""Check the status of Storage pools"""
# Validate the following
# 1. List storage pools for the zone
# 2. Check state is "enabled" or not
storage_pools = StoragePool.list(
self.apiclient,
zoneid=self.zone.id,
listall=True
)
self.assertEqual(
isinstance(storage_pools, list),
True,
"Check if listStoragePools returns a valid response"
)
for storage_pool in storage_pools:
self.assertEqual(
storage_pool.state,
'Up',
"storage pool should be in Up state and running"
)
return
@attr(tags = ["advanced", "advancedns"])
def test_06_secondary_storage(self):
"""Check the status of secondary storage"""
# Validate the following
# 1. List secondary storage
# 2. Check state is "Up" or not
sec_storages = Host.list(
self.apiclient,
zoneid=self.zone.id,
type='SecondaryStorageVM',
listall=True
)
self.assertEqual(
isinstance(sec_storages, list),
True,
"Check if listHosts returns a valid response"
)
for sec_storage in sec_storages:
self.assertEqual(
sec_storage.state,
'Up',
"Secondary storage should be in Up state"
)
return

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -57,7 +58,7 @@ class Services:
}, },
"host": { "host": {
"username": "root", "username": "root",
"password": "fr3sca", "password": "password",
"publicport": 22, "publicport": 22,
}, },
"account": { "account": {
@ -88,7 +89,7 @@ class Services:
"cidr": '55.55.0.0/11', "cidr": '55.55.0.0/11',
# Any network (For creating FW rule # Any network (For creating FW rule
}, },
"ostypeid": '5776c0d2-f331-42db-ba3a-29f1f8319bc9', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Used for Get_Template : CentOS 5.3 (64 bit) # Used for Get_Template : CentOS 5.3 (64 bit)
"mode": 'advanced', # Networking mode: Advanced, basic "mode": 'advanced', # Networking mode: Advanced, basic
} }
@ -313,6 +314,7 @@ class TestRouterServices(cloudstackTestCase):
) )
return return
@attr(configuration = "network.gc")
@attr(tags = ["advanced"]) @attr(tags = ["advanced"])
def test_02_NetworkGarbageCollection(self): def test_02_NetworkGarbageCollection(self):
"""Test network garbage collection """Test network garbage collection
@ -646,7 +648,7 @@ class TestRouterStopCreatePF(cloudstackTestCase):
self._cleanup = [] self._cleanup = []
return return
@attr(tags = ["advanced"]) @attr(tags = ["advanced", "advancedns"])
def test_01_RouterStopCreatePF(self): def test_01_RouterStopCreatePF(self):
"""Test router stop create port forwarding """Test router stop create port forwarding
""" """
@ -856,7 +858,7 @@ class TestRouterStopCreateLB(cloudstackTestCase):
self._cleanup = [] self._cleanup = []
return return
@attr(tags = ["advanced"]) @attr(tags = ["advanced", "advancedns"])
def test_01_RouterStopCreateLB(self): def test_01_RouterStopCreateLB(self):
"""Test router stop create Load balancing """Test router stop create Load balancing
""" """
@ -1066,7 +1068,7 @@ class TestRouterStopCreateFW(cloudstackTestCase):
self._cleanup = [] self._cleanup = []
return return
@attr(tags = ["advanced"]) @attr(tags = ["advanced", "advancedns"])
def test_01_RouterStopCreateFW(self): def test_01_RouterStopCreateFW(self):
"""Test router stop create Firewall rule """Test router stop create Firewall rule
""" """

View File

@ -19,6 +19,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -49,7 +50,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended in create account to # Random characters are appended in create account to
# ensure unique username generated each time # ensure unique username generated each time
"password": "fr3sca", "password": "password",
}, },
"virtual_machine": { "virtual_machine": {
# Create a small virtual machine instance with disk offering # Create a small virtual machine instance with disk offering
@ -66,7 +67,7 @@ class Services:
"host": { "host": {
"publicport": 22, "publicport": 22,
"username": "root", # Host creds for SSH "username": "root", # Host creds for SSH
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -89,7 +90,7 @@ class Services:
"endport": -1, "endport": -1,
"cidrlist": '0.0.0.0/0', "cidrlist": '0.0.0.0/0',
}, },
"ostypeid": '0c2c5d19-525b-41be-a8c3-c6607412f82b', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# CentOS 5.3 (64-bit) # CentOS 5.3 (64-bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -39,7 +40,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -66,7 +67,7 @@ class Services:
"mgmt_server": { "mgmt_server": {
"ipaddress": '192.168.100.21', "ipaddress": '192.168.100.21',
"username": "root", "username": "root",
"password": "fr3sca", "password": "password",
"port": 22, "port": 22,
}, },
"recurring_snapshot": { "recurring_snapshot": {
@ -80,7 +81,7 @@ class Services:
"templates": { "templates": {
"displaytext": 'Template', "displaytext": 'Template',
"name": 'Template', "name": 'Template',
"ostypeid": '7ddbbbb5-bb09-40de-b038-ee78995788ea', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"templatefilter": 'self', "templatefilter": 'self',
}, },
"diskdevice": "/dev/xvda", "diskdevice": "/dev/xvda",
@ -93,7 +94,7 @@ class Services:
"sub_lvl_dir2": "test2", "sub_lvl_dir2": "test2",
"random_data": "random.data", "random_data": "random.data",
"ostypeid": '7ddbbbb5-bb09-40de-b038-ee78995788ea', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -163,6 +164,7 @@ class TestCreateVMsnapshotTemplate(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(speed = "slow")
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns"])
def test_01_createVM_snapshotTemplate(self): def test_01_createVM_snapshotTemplate(self):
"""Test create VM, Snapshot and Template """Test create VM, Snapshot and Template
@ -476,6 +478,7 @@ class TestAccountSnapshotClean(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(speed = "slow")
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns"])
def test_02_accountSnapshotClean(self): def test_02_accountSnapshotClean(self):
"""Test snapshot cleanup after account deletion """Test snapshot cleanup after account deletion
@ -819,6 +822,7 @@ class TestSnapshotDetachedDisk(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(speed = "slow")
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns"])
def test_03_snapshot_detachedDisk(self): def test_03_snapshot_detachedDisk(self):
"""Test snapshot from detached disk """Test snapshot from detached disk
@ -1098,6 +1102,7 @@ class TestSnapshotLimit(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(speed = "slow")
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns"])
def test_04_snapshot_limit(self): def test_04_snapshot_limit(self):
"""Test snapshot limit in snapshot policies """Test snapshot limit in snapshot policies
@ -1355,7 +1360,8 @@ class TestSnapshotEvents(cloudstackTestCase):
except Exception as e: except Exception as e:
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(speed = "slow")
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns"])
def test_05_snapshot_events(self): def test_05_snapshot_events(self):
"""Test snapshot events """Test snapshot events

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -43,7 +44,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -76,7 +77,7 @@ class Services:
0: { 0: {
"displaytext": "Public Template", "displaytext": "Public Template",
"name": "Public template", "name": "Public template",
"ostypeid": '5776c0d2-f331-42db-ba3a-29f1f8319bc9', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.vhd.bz2", "url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.vhd.bz2",
"hypervisor": 'XenServer', "hypervisor": 'XenServer',
"format": 'VHD', "format": 'VHD',
@ -88,12 +89,12 @@ class Services:
"template": { "template": {
"displaytext": "Cent OS Template", "displaytext": "Cent OS Template",
"name": "Cent OS Template", "name": "Cent OS Template",
"ostypeid": '5776c0d2-f331-42db-ba3a-29f1f8319bc9', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"templatefilter": 'self', "templatefilter": 'self',
}, },
"templatefilter": 'self', "templatefilter": 'self',
"destzoneid": 2, # For Copy template (Destination zone) "destzoneid": 2, # For Copy template (Destination zone)
"ostypeid": '5776c0d2-f331-42db-ba3a-29f1f8319bc9', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
"mode": 'advanced', # Networking mode: Advanced, basic "mode": 'advanced', # Networking mode: Advanced, basic
@ -415,7 +416,7 @@ class TestTemplates(cloudstackTestCase):
) )
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "multizone"])
def test_02_copy_template(self): def test_02_copy_template(self):
"""Test for copy template from one zone to another""" """Test for copy template from one zone to another"""
@ -528,6 +529,7 @@ class TestTemplates(cloudstackTestCase):
) )
return return
@attr(speed = "slow")
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns"])
def test_04_template_from_snapshot(self): def test_04_template_from_snapshot(self):
"""Create Template from snapshot """Create Template from snapshot

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -40,7 +41,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -70,7 +71,7 @@ class Services:
"templates": { "templates": {
"displaytext": 'Template', "displaytext": 'Template',
"name": 'Template', "name": 'Template',
"ostypeid": '144f66aa-7f74-4cfe-9799-80cc21439cb3', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"templatefilter": 'self', "templatefilter": 'self',
"url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.qcow2.bz2" "url": "http://download.cloud.com/releases/2.0.0/UbuntuServer-10-04-64bit.qcow2.bz2"
}, },
@ -82,7 +83,7 @@ class Services:
"isextractable": True, "isextractable": True,
"isfeatured": True, "isfeatured": True,
"ispublic": True, "ispublic": True,
"ostypeid": '144f66aa-7f74-4cfe-9799-80cc21439cb3', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
}, },
"lbrule": { "lbrule": {
"name": "SSH", "name": "SSH",
@ -100,7 +101,7 @@ class Services:
"username": "test", "username": "test",
"password": "test", "password": "test",
}, },
"ostypeid": '144f66aa-7f74-4cfe-9799-80cc21439cb3', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
# Cent OS 5.3 (64 bit) # Cent OS 5.3 (64 bit)
"sleep": 60, "sleep": 60,
"timeout": 10, "timeout": 10,
@ -177,7 +178,7 @@ class TestVmUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_01_vm_usage(self): def test_01_vm_usage(self):
"""Test Create/Destroy VM and verify usage calculation """Test Create/Destroy VM and verify usage calculation
""" """
@ -368,7 +369,7 @@ class TestPublicIPUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "eip", "advancedns"]) @attr(tags = ["advanced", "eip", "advancedns", "simulator"])
def test_01_public_ip_usage(self): def test_01_public_ip_usage(self):
"""Test Assign new IP and verify usage calculation """Test Assign new IP and verify usage calculation
""" """
@ -515,7 +516,7 @@ class TestVolumeUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_01_volume_usage(self): def test_01_volume_usage(self):
"""Test Create/delete a volume and verify correct usage is recorded """Test Create/delete a volume and verify correct usage is recorded
""" """
@ -696,8 +697,8 @@ class TestTemplateUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
def test_01_template_usage(self):
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"])
def test_01_template_usage(self):
"""Test Upload/ delete a template and verify correct usage is generated """Test Upload/ delete a template and verify correct usage is generated
for the template uploaded for the template uploaded
""" """
@ -990,7 +991,7 @@ class TestLBRuleUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "eip", "advancedns"]) @attr(tags = ["advanced", "eip", "advancedns", "simulator"])
def test_01_lb_usage(self): def test_01_lb_usage(self):
"""Test Create/Delete a LB rule and verify correct usage is recorded """Test Create/Delete a LB rule and verify correct usage is recorded
""" """
@ -1145,7 +1146,8 @@ class TestSnapshotUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns"]) @attr(speed = "slow")
@attr(tags = ["advanced", "basic", "sg", "eip", "advancedns", "simulator"])
def test_01_snapshot_usage(self): def test_01_snapshot_usage(self):
"""Test Create/Delete a manual snap shot and verify """Test Create/Delete a manual snap shot and verify
correct usage is recorded correct usage is recorded
@ -1316,7 +1318,7 @@ class TestNatRuleUsage(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e) raise Exception("Warning: Exception during cleanup : %s" % e)
return return
@attr(tags = ["advanced", "advancedns"]) @attr(tags = ["advanced", "advancedns", "simulator"])
def test_01_nat_usage(self): def test_01_nat_usage(self):
"""Test Create/Delete a PF rule and verify correct usage is recorded """Test Create/Delete a PF rule and verify correct usage is recorded
""" """

View File

@ -18,6 +18,7 @@
""" """
#Import Local Modules #Import Local Modules
import marvin import marvin
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import * from marvin.cloudstackTestCase import *
from marvin.cloudstackAPI import * from marvin.cloudstackAPI import *
from integration.lib.utils import * from integration.lib.utils import *
@ -44,7 +45,7 @@ class Services:
"username": "test", "username": "test",
# Random characters are appended for unique # Random characters are appended for unique
# username # username
"password": "fr3sca", "password": "password",
}, },
"service_offering": { "service_offering": {
"name": "Tiny Instance", "name": "Tiny Instance",
@ -78,10 +79,10 @@ class Services:
"name": "testISO", "name": "testISO",
"url": "http://iso.linuxquestions.org/download/504/1819/http/gd4.tuwien.ac.at/dsl-4.4.10.iso", "url": "http://iso.linuxquestions.org/download/504/1819/http/gd4.tuwien.ac.at/dsl-4.4.10.iso",
# Source URL where ISO is located # Source URL where ISO is located
"ostypeid": '5776c0d2-f331-42db-ba3a-29f1f8319bc9', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
}, },
"sleep": 50, "sleep": 50,
"ostypeid": '5776c0d2-f331-42db-ba3a-29f1f8319bc9', "ostypeid": '01853327-513e-4508-9628-f1f55db1946f',
"mode": 'advanced', "mode": 'advanced',
} }