You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by sa...@apache.org on 2015/01/06 16:33:24 UTC
[10/25] git commit: updated refs/heads/vmware-disk-controllers to
e8a54f4
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/214d63ee/test/integration/component/test_tags.py
----------------------------------------------------------------------
diff --git a/test/integration/component/test_tags.py b/test/integration/component/test_tags.py
index 2b05fbb..e323578 100644
--- a/test/integration/component/test_tags.py
+++ b/test/integration/component/test_tags.py
@@ -16,7 +16,7 @@
# under the License.
""" P1 tests for tags
"""
-#Import Local Modules
+# Import Local Modules
from nose.plugins.attrib import attr
from marvin.cloudstackTestCase import cloudstackTestCase
from marvin.lib.utils import cleanup_resources
@@ -43,147 +43,149 @@ from marvin.lib.common import (get_zone,
from marvin.codes import FAILED
import time
+
class Services:
+
"""Test tags Services
"""
def __init__(self):
self.services = {
- "domain": {
- "name": "Domain",
- },
- "project": {
- "name": "Project",
- "displaytext": "Test project",
- },
- "account": {
- "email": "administrator@clogeny.com",
- "firstname": "Test",
- "lastname": "User",
- "username": "test",
- # Random characters are appended for unique
- # username
- "password": "password",
- },
- "user": {
- "email": "user@clogeny.com",
- "firstname": "User",
- "lastname": "User",
- "username": "User",
- # Random characters are appended for unique
- # username
- "password": "password",
- },
- "other_user": {
- "email": "otheruser@clogeny.com",
- "firstname": "Other",
- "lastname": "User",
- "username": "User",
- # Random characters are appended for unique
- # username
- "password": "password",
- },
- "service_offering": {
- "name": "Tiny Instance",
- "displaytext": "Tiny Instance",
- "cpunumber": 1,
- "cpuspeed": 100,
- # in MHz
- "memory": 128,
- # In MBs
- },
- "disk_offering": {
- "displaytext": "Tiny Disk Offering",
- "name": "Tiny Disk Offering",
- "disksize": 1
- },
- "volume": {
- "diskname": "Test Volume",
- },
- "virtual_machine": {
- "displayname": "TestVM",
- "username": "root",
- "password": "password",
- "ssh_port": 22,
- "hypervisor": 'XenServer',
- "privateport": 22,
- "publicport": 22,
- "protocol": 'TCP',
- },
- "template": {
- "displaytext": "Cent OS Template",
- "name": "Cent OS Template",
- "ostype": 'CentOS 5.3 (64-bit)',
- "templatefilter": 'self',
- },
- "iso":
- {
- "displaytext": "Dummy ISO",
- "name": "Dummy ISO",
- "url": "http://people.apache.org/~tsp/dummy.iso",
- # Source URL where ISO is located
- "isextractable": True,
- "isfeatured": True,
- "ispublic": False,
- "ostype": 'CentOS 5.3 (64-bit)',
- "mode": 'HTTP_DOWNLOAD',
- # Used in Extract template, value must be HTTP_DOWNLOAD
- },
- "network_offering": {
- "name": 'Network offering-VR services',
- "displaytext": 'Network offering-VR services',
- "guestiptype": 'Isolated',
- "supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat',
- "traffictype": 'GUEST',
- "availability": 'Optional',
- "serviceProviderList": {
- "Dhcp": 'VirtualRouter',
- "Dns": 'VirtualRouter',
- "SourceNat": 'VirtualRouter',
- "PortForwarding": 'VirtualRouter',
- "Vpn": 'VirtualRouter',
- "Firewall": 'VirtualRouter',
- "Lb": 'VirtualRouter',
- "UserData": 'VirtualRouter',
- "StaticNat": 'VirtualRouter',
- },
- },
- "network": {
- "name": "Test Network",
- "displaytext": "Test Network",
- },
- "lbrule": {
- "name": "SSH",
- "alg": "leastconn",
- # Algorithm used for load balancing
- "privateport": 22,
- "publicport": 22,
- "openfirewall": False,
- },
- "natrule": {
- "privateport": 22,
- "publicport": 22,
- "protocol": "TCP"
- },
- "fw_rule": {
- "startport": 1,
- "endport": 6000,
- "cidr": '55.55.0.0/11',
- # Any network (For creating FW rule)
- },
- "security_group": {
- "name": 'SSH',
- "protocol": 'TCP',
- "startport": 22,
- "endport": 22,
- "cidrlist": '0.0.0.0/0',
- },
- # Cent OS 5.3 (64 bit)
- "sleep": 60,
- "ostype": 'CentOS 5.3 (64-bit)',
- "timeout": 10,
- "mode": 'advanced',
- }
+ "domain": {
+ "name": "Domain",
+ },
+ "project": {
+ "name": "Project",
+ "displaytext": "Test project",
+ },
+ "account": {
+ "email": "administrator@clogeny.com",
+ "firstname": "Test",
+ "lastname": "User",
+ "username": "test",
+ # Random characters are appended for unique
+ # username
+ "password": "password",
+ },
+ "user": {
+ "email": "user@clogeny.com",
+ "firstname": "User",
+ "lastname": "User",
+ "username": "User",
+ # Random characters are appended for unique
+ # username
+ "password": "password",
+ },
+ "other_user": {
+ "email": "otheruser@clogeny.com",
+ "firstname": "Other",
+ "lastname": "User",
+ "username": "User",
+ # Random characters are appended for unique
+ # username
+ "password": "password",
+ },
+ "service_offering": {
+ "name": "Tiny Instance",
+ "displaytext": "Tiny Instance",
+ "cpunumber": 1,
+ "cpuspeed": 100,
+ # in MHz
+ "memory": 128,
+ # In MBs
+ },
+ "disk_offering": {
+ "displaytext": "Tiny Disk Offering",
+ "name": "Tiny Disk Offering",
+ "disksize": 1
+ },
+ "volume": {
+ "diskname": "Test Volume",
+ },
+ "virtual_machine": {
+ "displayname": "TestVM",
+ "username": "root",
+ "password": "password",
+ "ssh_port": 22,
+ "hypervisor": 'XenServer',
+ "privateport": 22,
+ "publicport": 22,
+ "protocol": 'TCP',
+ },
+ "template": {
+ "displaytext": "Cent OS Template",
+ "name": "Cent OS Template",
+ "ostype": 'CentOS 5.3 (64-bit)',
+ "templatefilter": 'self',
+ },
+ "iso":
+ {
+ "displaytext": "Dummy ISO",
+ "name": "Dummy ISO",
+ "url": "http://people.apache.org/~tsp/dummy.iso",
+ # Source URL where ISO is located
+ "isextractable": True,
+ "isfeatured": True,
+ "ispublic": False,
+ "ostype": 'CentOS 5.3 (64-bit)',
+ "mode": 'HTTP_DOWNLOAD',
+ # Used in Extract template, value must be HTTP_DOWNLOAD
+ },
+ "network_offering": {
+ "name": 'Network offering-VR services',
+ "displaytext": 'Network offering-VR services',
+ "guestiptype": 'Isolated',
+ "supportedservices": 'Dhcp,Dns,SourceNat,PortForwarding,Vpn,Firewall,Lb,UserData,StaticNat',
+ "traffictype": 'GUEST',
+ "availability": 'Optional',
+ "serviceProviderList": {
+ "Dhcp": 'VirtualRouter',
+ "Dns": 'VirtualRouter',
+ "SourceNat": 'VirtualRouter',
+ "PortForwarding": 'VirtualRouter',
+ "Vpn": 'VirtualRouter',
+ "Firewall": 'VirtualRouter',
+ "Lb": 'VirtualRouter',
+ "UserData": 'VirtualRouter',
+ "StaticNat": 'VirtualRouter',
+ },
+ },
+ "network": {
+ "name": "Test Network",
+ "displaytext": "Test Network",
+ },
+ "lbrule": {
+ "name": "SSH",
+ "alg": "leastconn",
+ # Algorithm used for load balancing
+ "privateport": 22,
+ "publicport": 22,
+ "openfirewall": False,
+ },
+ "natrule": {
+ "privateport": 22,
+ "publicport": 22,
+ "protocol": "TCP"
+ },
+ "fw_rule": {
+ "startport": 1,
+ "endport": 6000,
+ "cidr": '55.55.0.0/11',
+ # Any network (For creating FW rule)
+ },
+ "security_group": {
+ "name": 'SSH',
+ "protocol": 'TCP',
+ "startport": 22,
+ "endport": 22,
+ "cidrlist": '0.0.0.0/0',
+ },
+ # Cent OS 5.3 (64 bit)
+ "sleep": 60,
+ "ostype": 'CentOS 5.3 (64-bit)',
+ "timeout": 10,
+ "mode": 'advanced',
+ }
class TestResourceTags(cloudstackTestCase):
@@ -192,7 +194,7 @@ class TestResourceTags(cloudstackTestCase):
def setUpClass(cls):
cls.testClient = super(TestResourceTags, cls).getClsTestClient()
cls.api_client = cls.testClient.getApiClient()
-
+ cls.hypervisor = cls.testClient.getHypervisorInfo()
cls.services = Services().services
# Get Zone, Domain and templates
@@ -200,65 +202,66 @@ class TestResourceTags(cloudstackTestCase):
cls.zone = get_zone(cls.api_client, cls.testClient.getZoneForTests())
cls.domain = get_domain(cls.api_client)
cls.template = get_template(
- cls.api_client,
- cls.zone.id,
- cls.services["ostype"]
- )
+ cls.api_client,
+ cls.zone.id,
+ cls.services["ostype"]
+ )
if cls.template == FAILED:
- assert False, "get_template() failed to return template with description %s" % cls.services["ostype"]
+ assert False, "get_template() failed to return template\
+ with description %s" % cls.services["ostype"]
cls.account = Account.create(
- cls.api_client,
- cls.services["account"],
- admin=True,
- )
-
+ cls.api_client,
+ cls.services["account"],
+ admin=True,
+ )
+
cls.user_api_client = cls.testClient.getUserApiClient(
- UserName=cls.account.name,
- DomainName=cls.account.domain
- )
-
+ UserName=cls.account.name,
+ DomainName=cls.account.domain
+ )
+
# Create service offerings, disk offerings etc
cls.service_offering = ServiceOffering.create(
- cls.api_client,
- cls.services["service_offering"]
- )
+ cls.api_client,
+ cls.services["service_offering"]
+ )
cls.disk_offering = DiskOffering.create(
- cls.api_client,
- cls.services["disk_offering"]
- )
-
+ cls.api_client,
+ cls.services["disk_offering"]
+ )
+
cls.services["iso"]["zoneid"] = cls.zone.id
cls.services["virtual_machine"]["zoneid"] = cls.zone.id
cls.services["virtual_machine"]["template"] = cls.template.id
cls.vm_1 = VirtualMachine.create(
- cls.api_client,
- cls.services["virtual_machine"],
- accountid=cls.account.name,
- domainid=cls.account.domainid,
- serviceofferingid=cls.service_offering.id,
- mode=cls.zone.networktype
- )
+ cls.api_client,
+ cls.services["virtual_machine"],
+ accountid=cls.account.name,
+ domainid=cls.account.domainid,
+ serviceofferingid=cls.service_offering.id,
+ mode=cls.zone.networktype
+ )
cls.vm_2 = VirtualMachine.create(
- cls.api_client,
- cls.services["virtual_machine"],
- accountid=cls.account.name,
- domainid=cls.account.domainid,
- serviceofferingid=cls.service_offering.id,
- mode=cls.zone.networktype
- )
+ cls.api_client,
+ cls.services["virtual_machine"],
+ accountid=cls.account.name,
+ domainid=cls.account.domainid,
+ serviceofferingid=cls.service_offering.id,
+ mode=cls.zone.networktype
+ )
cls._cleanup = [
- cls.account,
- cls.service_offering,
- cls.disk_offering
- ]
+ cls.account,
+ cls.service_offering,
+ cls.disk_offering
+ ]
return
@classmethod
def tearDownClass(cls):
try:
- #Cleanup resources used
+ # Cleanup resources used
print("Cleanup resources used")
cleanup_resources(cls.api_client, cls._cleanup)
except Exception as e:
@@ -274,18 +277,18 @@ class TestResourceTags(cloudstackTestCase):
def tearDown(self):
try:
- #Clean up, terminate the created accounts, domains etc
+ # Clean up, terminate the created accounts, domains etc
cleanup_resources(self.apiclient, self.cleanup)
except Exception as e:
raise Exception("Warning: Exception during cleanup : %s" % e)
-
+
for tag in self.rm_tags:
tag['tag_obj'].delete(self.apiclient, tag['resid'],
- tag['restype'],
- {tag['key']: tag['value']})
+ tag['restype'],
+ {tag['key']: tag['value']})
return
-
+
@attr(tags=["advanced"], required_hardware="false")
def test_01_lbrule_tag(self):
""" Test Create tag on LB rule and remove the LB rule
@@ -296,131 +299,131 @@ class TestResourceTags(cloudstackTestCase):
# 3. Delete the LB rule
self.debug("Fetching the network details for account: %s" %
- self.account.name)
+ self.account.name)
networks = Network.list(
- self.apiclient,
- account=self.account.name,
- domainid=self.account.domainid,
- listall=True
- )
- self.assertEqual(
- isinstance(networks, list),
- True,
- "List networks should not return an empty response"
- )
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ listall=True
+ )
+ self.assertEqual(
+ isinstance(networks, list),
+ True,
+ "List networks should not return an empty response"
+ )
network = networks[0]
self.debug("Network for the account: %s is %s" %
- (self.account.name, network.name))
+ (self.account.name, network.name))
self.debug("Associating public IP for network: %s" % network.id)
public_ip = PublicIPAddress.create(
- self.apiclient,
- accountid=self.account.name,
- zoneid=self.zone.id,
- domainid=self.account.domainid,
- networkid=network.id
- )
+ self.apiclient,
+ accountid=self.account.name,
+ zoneid=self.zone.id,
+ domainid=self.account.domainid,
+ networkid=network.id
+ )
self.cleanup.append(public_ip)
self.debug("Trying to create LB rule on IP: %s" %
- public_ip.ipaddress.ipaddress)
+ public_ip.ipaddress.ipaddress)
# Create Load Balancer rule on the public ip
lb_rule = LoadBalancerRule.create(
- self.apiclient,
- self.services["lbrule"],
- ipaddressid=public_ip.ipaddress.id,
- accountid=self.account.name
- )
+ self.apiclient,
+ self.services["lbrule"],
+ ipaddressid=public_ip.ipaddress.id,
+ accountid=self.account.name
+ )
# Check if the LB rule created successfully
lb_rules = LoadBalancerRule.list(
- self.apiclient,
- id=lb_rule.id
- )
+ self.apiclient,
+ id=lb_rule.id
+ )
self.assertEqual(
- isinstance(lb_rules, list),
- True,
- "List LB rules should return valid list"
- )
+ isinstance(lb_rules, list),
+ True,
+ "List LB rules should return valid list"
+ )
self.debug("Assigning the virtual machines (%s, %s) to lb rule: %s" %
- (self.vm_1.name,
- self.vm_2.name,
- lb_rule.name))
+ (self.vm_1.name,
+ self.vm_2.name,
+ lb_rule.name))
lb_rule.assign(self.apiclient, [self.vm_1, self.vm_2])
self.debug("Creating a tag for load balancer rule")
tag = Tag.create(
- self.apiclient,
- resourceIds=lb_rule.id,
- resourceType='LoadBalancer',
- tags={'LB': 40}
- )
+ self.apiclient,
+ resourceIds=lb_rule.id,
+ resourceType='LoadBalancer',
+ tags={'LB': 40}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='LoadBalancer',
- key='LB',
- account=self.account.name,
- domainid=self.account.domainid,
- value=40
- )
+ self.apiclient,
+ listall=True,
+ resourceType='LoadBalancer',
+ key='LB',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ value=40
+ )
self.debug("Tag created: %s" % str(tags))
self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
self.assertEqual(
- int(tags[0].value),
- 40,
- "The tag value should match with the original value"
- )
-
+ int(tags[0].value),
+ 40,
+ "The tag value should match with the original value"
+ )
+
lb_rules = LoadBalancerRule.list(
- self.apiclient,
- listall=True,
- key='FW',
- value=40
- )
+ self.apiclient,
+ listall=True,
+ key='FW',
+ value=40
+ )
self.assertEqual(
- isinstance(lb_rules, list),
- True,
- "List LB rules should return valid list"
- )
+ isinstance(lb_rules, list),
+ True,
+ "List LB rules should return valid list"
+ )
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.apiclient,
- resourceIds=lb_rule.id,
- resourceType='LoadBalancer',
- tags={'LB': 40}
- )
+ self.apiclient,
+ resourceIds=lb_rule.id,
+ resourceType='LoadBalancer',
+ tags={'LB': 40}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='LoadBalancer',
- key='LB',
- account=self.account.name,
- domainid=self.account.domainid
- )
-
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='LoadBalancer',
+ key='LB',
+ account=self.account.name,
+ domainid=self.account.domainid
+ )
+
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
self.debug("Deleting the Load balancer rule")
try:
@@ -439,126 +442,126 @@ class TestResourceTags(cloudstackTestCase):
# 3. Delete the PF rule
self.debug("Fetching the network details for account: %s" %
- self.account.name)
+ self.account.name)
networks = Network.list(
- self.apiclient,
- account=self.account.name,
- domainid=self.account.domainid,
- listall=True
- )
- self.assertEqual(
- isinstance(networks, list),
- True,
- "List networks should not return an empty response"
- )
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ listall=True
+ )
+ self.assertEqual(
+ isinstance(networks, list),
+ True,
+ "List networks should not return an empty response"
+ )
network = networks[0]
self.debug("Network for the account: %s is %s" %
- (self.account.name, network.name))
+ (self.account.name, network.name))
self.debug("Associating public IP for network: %s" % network.id)
public_ip = PublicIPAddress.create(
- self.apiclient,
- accountid=self.account.name,
- zoneid=self.zone.id,
- domainid=self.account.domainid,
- networkid=network.id
- )
+ self.apiclient,
+ accountid=self.account.name,
+ zoneid=self.zone.id,
+ domainid=self.account.domainid,
+ networkid=network.id
+ )
self.cleanup.append(public_ip)
self.debug("Trying to create LB rule on IP: %s" %
- public_ip.ipaddress.ipaddress)
+ public_ip.ipaddress.ipaddress)
self.debug("Creating PF rule for vm: %s on Ip: %s" %
- (self.vm_1.name, public_ip.ipaddress.ipaddress))
+ (self.vm_1.name, public_ip.ipaddress.ipaddress))
nat_rule = NATRule.create(
- self.apiclient,
- self.vm_1,
- self.services["natrule"],
- ipaddressid=public_ip.ipaddress.id
- )
+ self.apiclient,
+ self.vm_1,
+ self.services["natrule"],
+ ipaddressid=public_ip.ipaddress.id
+ )
# Check if NAT rule created successfully
nat_rules = NATRule.list(
- self.apiclient,
- id=nat_rule.id
- )
+ self.apiclient,
+ id=nat_rule.id
+ )
self.assertEqual(
- isinstance(nat_rules, list),
- True,
- "List NAT rules should return valid list"
- )
+ isinstance(nat_rules, list),
+ True,
+ "List NAT rules should return valid list"
+ )
self.debug("Creating a tag for port forwarding rule")
tag = Tag.create(
- self.apiclient,
- resourceIds=nat_rule.id,
- resourceType='portForwardingRule',
- tags={'PF': 40}
- )
+ self.apiclient,
+ resourceIds=nat_rule.id,
+ resourceType='portForwardingRule',
+ tags={'PF': 40}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='portForwardingRule',
- account=self.account.name,
- domainid=self.account.domainid,
- key='PF',
- value=40
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='portForwardingRule',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='PF',
+ value=40
+ )
self.assertEqual(
- int(tags[0].value),
- 40,
- "The tag value should match with the original value"
- )
-
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
+ self.assertEqual(
+ int(tags[0].value),
+ 40,
+ "The tag value should match with the original value"
+ )
+
nat_rules = NATRule.list(
- self.apiclient,
- listall=True,
- key='FW',
- value=40
- )
+ self.apiclient,
+ listall=True,
+ key='FW',
+ value=40
+ )
self.assertEqual(
- isinstance(nat_rules, list),
- True,
- "List NAT rules should return valid list"
- )
-
+ isinstance(nat_rules, list),
+ True,
+ "List NAT rules should return valid list"
+ )
+
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.apiclient,
- resourceIds=nat_rule.id,
- resourceType='portForwardingRule',
- tags={'PF': 40}
- )
+ self.apiclient,
+ resourceIds=nat_rule.id,
+ resourceType='portForwardingRule',
+ tags={'PF': 40}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='portForwardingRule',
- account=self.account.name,
- domainid=self.account.domainid,
- key='PF',
- value=40
- )
-
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='portForwardingRule',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='PF',
+ value=40
+ )
+
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
self.debug("Deleting the port forwarding rule")
try:
nat_rule.delete(self.apiclient)
@@ -576,131 +579,131 @@ class TestResourceTags(cloudstackTestCase):
# 3. Delete the firewall rule
self.debug("Fetching the network details for account: %s" %
- self.account.name)
+ self.account.name)
networks = Network.list(
- self.apiclient,
- account=self.account.name,
- domainid=self.account.domainid,
- listall=True
- )
- self.assertEqual(
- isinstance(networks, list),
- True,
- "List networks should not return an empty response"
- )
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ listall=True
+ )
+ self.assertEqual(
+ isinstance(networks, list),
+ True,
+ "List networks should not return an empty response"
+ )
network = networks[0]
self.debug("Network for the account: %s is %s" %
- (self.account.name, network.name))
+ (self.account.name, network.name))
self.debug("Associating public IP for network: %s" % network.id)
public_ip = PublicIPAddress.create(
- self.apiclient,
- accountid=self.account.name,
- zoneid=self.zone.id,
- domainid=self.account.domainid,
- networkid=network.id
- )
+ self.apiclient,
+ accountid=self.account.name,
+ zoneid=self.zone.id,
+ domainid=self.account.domainid,
+ networkid=network.id
+ )
self.cleanup.append(public_ip)
self.debug("Creating firewall rule on public IP: %s" %
- public_ip.ipaddress.ipaddress)
+ public_ip.ipaddress.ipaddress)
# Create Firewall rule on public IP
fw_rule = FireWallRule.create(
- self.apiclient,
- ipaddressid=public_ip.ipaddress.id,
- protocol='TCP',
- cidrlist=[self.services["fw_rule"]["cidr"]],
- startport=self.services["fw_rule"]["startport"],
- endport=self.services["fw_rule"]["endport"]
- )
+ self.apiclient,
+ ipaddressid=public_ip.ipaddress.id,
+ protocol='TCP',
+ cidrlist=[self.services["fw_rule"]["cidr"]],
+ startport=self.services["fw_rule"]["startport"],
+ endport=self.services["fw_rule"]["endport"]
+ )
self.debug("Created firewall rule: %s" % fw_rule.id)
fw_rules = FireWallRule.list(
- self.apiclient,
- id=fw_rule.id
- )
+ self.apiclient,
+ id=fw_rule.id
+ )
self.assertEqual(
- isinstance(fw_rules, list),
- True,
- "List fw rules should return a valid firewall rules"
- )
+ isinstance(fw_rules, list),
+ True,
+ "List fw rules should return a valid firewall rules"
+ )
self.assertNotEqual(
- len(fw_rules),
- 0,
- "Length of fw rules response should not be zero"
- )
+ len(fw_rules),
+ 0,
+ "Length of fw rules response should not be zero"
+ )
self.debug("Creating a tag for firewall rule")
tag = Tag.create(
- self.apiclient,
- resourceIds=fw_rule.id,
- resourceType='FirewallRule',
- tags={'FW': '40'}
- )
+ self.apiclient,
+ resourceIds=fw_rule.id,
+ resourceType='FirewallRule',
+ tags={'FW': '40'}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='FirewallRule',
- account=self.account.name,
- domainid=self.account.domainid,
- key='FW',
- value='40'
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
-
+ self.apiclient,
+ listall=True,
+ resourceType='FirewallRule',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='FW',
+ value='40'
+ )
self.assertEqual(
- tags[0].value,
- '40',
- "The tag value should match with the original value"
- )
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
+
+ self.assertEqual(
+ tags[0].value,
+ '40',
+ "The tag value should match with the original value"
+ )
fw_rules = FireWallRule.list(
- self.apiclient,
- listall=True,
- key='FW',
- value='40'
- )
- self.assertEqual(
- isinstance(fw_rules, list),
- True,
- "List fw rules should return a valid firewall rules"
- )
+ self.apiclient,
+ listall=True,
+ key='FW',
+ value='40'
+ )
+ self.assertEqual(
+ isinstance(fw_rules, list),
+ True,
+ "List fw rules should return a valid firewall rules"
+ )
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.apiclient,
- resourceIds=fw_rule.id,
- resourceType='FirewallRule',
- tags={'FW': '40'}
- )
+ self.apiclient,
+ resourceIds=fw_rule.id,
+ resourceType='FirewallRule',
+ tags={'FW': '40'}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='FirewallRule',
- account=self.account.name,
- domainid=self.account.domainid,
- key='FW',
- value='40'
- )
-
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='FirewallRule',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='FW',
+ value='40'
+ )
+
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
self.debug("Deleting the firewall rule")
try:
@@ -720,139 +723,139 @@ class TestResourceTags(cloudstackTestCase):
self.skipTest("VPN resource tags are unsupported in 4.0")
self.debug("Fetching the network details for account: %s" %
- self.account.name)
+ self.account.name)
networks = Network.list(
- self.apiclient,
- account=self.account.name,
- domainid=self.account.domainid,
- listall=True
- )
- self.assertEqual(
- isinstance(networks, list),
- True,
- "List networks should not return an empty response"
- )
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ listall=True
+ )
+ self.assertEqual(
+ isinstance(networks, list),
+ True,
+ "List networks should not return an empty response"
+ )
network = networks[0]
self.debug("Network for the account: %s is %s" %
- (self.account.name, network.name))
+ (self.account.name, network.name))
self.debug("Associating public IP for network: %s" % network.id)
public_ip = PublicIPAddress.create(
- self.apiclient,
- accountid=self.account.name,
- zoneid=self.zone.id,
- domainid=self.account.domainid,
- networkid=network.id
- )
+ self.apiclient,
+ accountid=self.account.name,
+ zoneid=self.zone.id,
+ domainid=self.account.domainid,
+ networkid=network.id
+ )
self.cleanup.append(public_ip)
nat_rule = NATRule.create(
- self.apiclient,
- self.vm_1,
- self.services["natrule"],
- ipaddressid=public_ip.ipaddress.id
- )
+ self.apiclient,
+ self.vm_1,
+ self.services["natrule"],
+ ipaddressid=public_ip.ipaddress.id
+ )
# Check if NAT rule created successfully
nat_rules = NATRule.list(
- self.apiclient,
- id=nat_rule.id
- )
+ self.apiclient,
+ id=nat_rule.id
+ )
self.assertEqual(
- isinstance(nat_rules, list),
- True,
- "List NAT rules should return valid list"
- )
+ isinstance(nat_rules, list),
+ True,
+ "List NAT rules should return valid list"
+ )
# User should be able to enable VPN on source NAT
self.debug("Creating VPN with public NAT IP: %s" %
- public_ip.ipaddress.ipaddress)
+ public_ip.ipaddress.ipaddress)
# Assign VPN to source NAT
try:
vpn = Vpn.create(
- self.apiclient,
- public_ip.ipaddress.id,
- account=self.account.name,
- domainid=self.account.domainid
- )
+ self.apiclient,
+ public_ip.ipaddress.id,
+ account=self.account.name,
+ domainid=self.account.domainid
+ )
except Exception as e:
print e
vpns = Vpn.list(
- self.apiclient,
- publicipid=public_ip.ipaddress.id,
- listall=True,
- )
+ self.apiclient,
+ publicipid=public_ip.ipaddress.id,
+ listall=True,
+ )
self.assertEqual(
- isinstance(vpns, list),
- True,
- "List VPNs should return a valid VPN list"
- )
+ isinstance(vpns, list),
+ True,
+ "List VPNs should return a valid VPN list"
+ )
self.assertNotEqual(
- len(vpns),
- 0,
- "Length of list VPN response should not be zero"
- )
+ len(vpns),
+ 0,
+ "Length of list VPN response should not be zero"
+ )
self.debug("Creating a tag for VPN rule")
tag = Tag.create(
- self.apiclient,
- resourceIds=nat_rule.id,
- resourceType='VPN',
- tags={'protocol': 'L2TP'}
- )
+ self.apiclient,
+ resourceIds=nat_rule.id,
+ resourceType='VPN',
+ tags={'protocol': 'L2TP'}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='VPN',
- account=self.account.name,
- domainid=self.account.domainid,
- key='protocol',
- value='L2TP'
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='VPN',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='protocol',
+ value='L2TP'
+ )
self.assertEqual(
- tags[0].value,
- 'L2TP',
- "The tag value should match with the original value"
- )
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
+ self.assertEqual(
+ tags[0].value,
+ 'L2TP',
+ "The tag value should match with the original value"
+ )
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.apiclient,
- resourceIds=vpn.id,
- resourceType='VPN',
- tags={'protocol': 'L2TP'}
- )
+ self.apiclient,
+ resourceIds=vpn.id,
+ resourceType='VPN',
+ tags={'protocol': 'L2TP'}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='VPN',
- account=self.account.name,
- domainid=self.account.domainid,
- key='protocol',
- value='L2TP'
- )
-
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='VPN',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='protocol',
+ value='L2TP'
+ )
+
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
self.debug("Disabling the VPN")
try:
@@ -871,71 +874,71 @@ class TestResourceTags(cloudstackTestCase):
self.debug("Creating a tag for user VM")
tag = Tag.create(
- self.apiclient,
- resourceIds=self.vm_1.id,
- resourceType='userVM',
- tags={'region': 'India'}
- )
+ self.apiclient,
+ resourceIds=self.vm_1.id,
+ resourceType='userVM',
+ tags={'region': 'India'}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='userVM',
- account=self.account.name,
- domainid=self.account.domainid,
- key='region',
- value='India'
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='userVM',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='region',
+ value='India'
+ )
self.assertEqual(
- tags[0].value,
- 'India',
- "The tag value should match with the original value"
- )
-
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
+ self.assertEqual(
+ tags[0].value,
+ 'India',
+ "The tag value should match with the original value"
+ )
+
vms = VirtualMachine.list(
- self.apiclient,
- listall=True,
- key='region',
- value='India'
- )
-
+ self.apiclient,
+ listall=True,
+ key='region',
+ value='India'
+ )
+
self.assertEqual(
- isinstance(vms, list),
- True,
- "Tag based VMs listing failed")
-
+ isinstance(vms, list),
+ True,
+ "Tag based VMs listing failed")
+
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.apiclient,
- resourceIds=self.vm_1.id,
- resourceType='userVM',
- tags={'region': 'India'}
- )
+ self.apiclient,
+ resourceIds=self.vm_1.id,
+ resourceType='userVM',
+ tags={'region': 'India'}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='userVM',
- account=self.account.name,
- domainid=self.account.domainid,
- key='region',
- value='India'
- )
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='userVM',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='region',
+ value='India'
+ )
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
return
@attr(tags=["advanced", "basic"], required_hardware="false")
@@ -948,7 +951,7 @@ class TestResourceTags(cloudstackTestCase):
try:
self.debug("Stopping the virtual machine: %s" % self.vm_1.name)
- #Stop virtual machine
+ # Stop virtual machine
self.vm_1.stop(self.user_api_client)
except Exception as e:
self.fail("Failed to stop VM: %s" % e)
@@ -956,11 +959,11 @@ class TestResourceTags(cloudstackTestCase):
timeout = self.services["timeout"]
while True:
list_volume = Volume.list(
- self.user_api_client,
- virtualmachineid=self.vm_1.id,
- type='ROOT',
- listall=True
- )
+ self.user_api_client,
+ virtualmachineid=self.vm_1.id,
+ type='ROOT',
+ listall=True
+ )
if isinstance(list_volume, list):
break
elif timeout == 0:
@@ -972,78 +975,77 @@ class TestResourceTags(cloudstackTestCase):
self.volume = list_volume[0]
self.debug("Creating template from ROOT disk of virtual machine: %s" %
- self.vm_1.name)
- #Create template from volume
+ self.vm_1.name)
+ # Create template from volume
template = Template.create(
- self.user_api_client,
- self.services["template"],
- self.volume.id
- )
+ self.user_api_client,
+ self.services["template"],
+ self.volume.id
+ )
self.cleanup.append(template)
self.debug("Created the template(%s). Now restarting the userVm: %s" %
- (template.name, self.vm_1.name))
+ (template.name, self.vm_1.name))
self.vm_1.start(self.user_api_client)
self.debug("Creating a tag for the template")
tag = Tag.create(
- self.user_api_client,
- resourceIds=template.id,
- resourceType='Template',
- tags={'OS': 'CentOS'}
- )
+ self.user_api_client,
+ resourceIds=template.id,
+ resourceType='Template',
+ tags={'OS': 'CentOS'}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.user_api_client,
- listall=True,
- resourceType='Template',
- key='OS',
- value='CentOS'
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ self.user_api_client,
+ listall=True,
+ resourceType='Template',
+ key='OS',
+ value='CentOS'
+ )
self.assertEqual(
- tags[0].value,
- 'CentOS',
- 'The tag should have original value'
- )
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
+ self.assertEqual(
+ tags[0].value,
+ 'CentOS',
+ 'The tag should have original value'
+ )
Template.list(
- self.user_api_client,
- templatefilter=\
- self.services["template"]["templatefilter"],
- listall=True,
- key='OS',
- value='CentOS'
- )
+ self.user_api_client,
+ templatefilter=self.services["template"]["templatefilter"],
+ listall=True,
+ key='OS',
+ value='CentOS'
+ )
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.user_api_client,
- resourceIds=template.id,
- resourceType='Template',
- tags={'OS': 'CentOS'}
- )
+ self.user_api_client,
+ resourceIds=template.id,
+ resourceType='Template',
+ tags={'OS': 'CentOS'}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.user_api_client,
- listall=True,
- resourceType='Template',
- key='OS',
- value='CentOS'
- )
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.user_api_client,
+ listall=True,
+ resourceType='Template',
+ key='OS',
+ value='CentOS'
+ )
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
return
@attr(tags=["advanced", "basic"], required_hardware="false")
@@ -1055,90 +1057,90 @@ class TestResourceTags(cloudstackTestCase):
# 2. Delete above created tag using deleteTags API
iso = Iso.create(
- self.apiclient,
- self.services["iso"],
- account=self.account.name,
- domainid=self.account.domainid
- )
+ self.apiclient,
+ self.services["iso"],
+ account=self.account.name,
+ domainid=self.account.domainid
+ )
self.debug("ISO created with ID: %s" % iso.id)
list_iso_response = Iso.list(self.apiclient,
id=iso.id)
self.assertEqual(
- isinstance(list_iso_response, list),
- True,
- "Check list response returns a valid list"
- )
+ isinstance(list_iso_response, list),
+ True,
+ "Check list response returns a valid list"
+ )
self.debug("Creating a tag for the ISO")
tag = Tag.create(
- self.apiclient,
- resourceIds=iso.id,
- resourceType='ISO',
- tags={'OS': 'CentOS'}
- )
+ self.apiclient,
+ resourceIds=iso.id,
+ resourceType='ISO',
+ tags={'OS': 'CentOS'}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='ISO',
- account=self.account.name,
- domainid=self.account.domainid,
- key='OS',
- value='CentOS'
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='ISO',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='OS',
+ value='CentOS'
+ )
self.assertEqual(
- tags[0].value,
- 'CentOS',
- 'The tag should have original value'
- )
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
+ self.assertEqual(
+ tags[0].value,
+ 'CentOS',
+ 'The tag should have original value'
+ )
isos = Iso.list(
- self.apiclient,
- key='OS',
- value='CentOS',
- account=self.account.name,
- domainid=self.account.domainid,
- isofilter='all'
- )
-
- self.assertEqual(
- isinstance(isos, list),
- True,
- "List isos should not return an empty response"
- )
+ self.apiclient,
+ key='OS',
+ value='CentOS',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ isofilter='all'
+ )
+
+ self.assertEqual(
+ isinstance(isos, list),
+ True,
+ "List isos should not return an empty response"
+ )
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.apiclient,
- resourceIds=iso.id,
- resourceType='ISO',
- tags={'OS': 'CentOS'}
- )
+ self.apiclient,
+ resourceIds=iso.id,
+ resourceType='ISO',
+ tags={'OS': 'CentOS'}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='ISO',
- account=self.account.name,
- domainid=self.account.domainid,
- key='OS',
- value='CentOS'
- )
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='ISO',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='OS',
+ value='CentOS'
+ )
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
return
@attr(tags=["advanced", "basic"], required_hardware="false")
@@ -1150,84 +1152,84 @@ class TestResourceTags(cloudstackTestCase):
# 2. Delete above created tag using deleteTags API
self.debug("Creating volume for account: %s " %
- self.account.name)
+ self.account.name)
volume = Volume.create(
- self.apiclient,
- self.services["volume"],
- zoneid=self.zone.id,
- account=self.account.name,
- domainid=self.account.domainid,
- diskofferingid=self.disk_offering.id
- )
+ self.apiclient,
+ self.services["volume"],
+ zoneid=self.zone.id,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ diskofferingid=self.disk_offering.id
+ )
self.cleanup.append(volume)
self.debug("Volume created in account: %s" % volume.name)
self.debug("Creating a tag for the volume")
tag = Tag.create(
- self.apiclient,
- resourceIds=volume.id,
- resourceType='volume',
- tags={'region': 'India'}
- )
+ self.apiclient,
+ resourceIds=volume.id,
+ resourceType='volume',
+ tags={'region': 'India'}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='volume',
- account=self.account.name,
- domainid=self.account.domainid,
- key='region',
- value='India'
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='volume',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='region',
+ value='India'
+ )
self.assertEqual(
- tags[0].value,
- 'India',
- 'The tag should have original value'
- )
-
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
+ self.assertEqual(
+ tags[0].value,
+ 'India',
+ 'The tag should have original value'
+ )
+
vols = Volume.list(self.apiclient,
- listall=True,
- key='region',
- value='India'
- )
- self.assertEqual(
- isinstance(vols, list),
- True,
- "List volumes should not return empty response"
- )
-
+ listall=True,
+ key='region',
+ value='India'
+ )
+ self.assertEqual(
+ isinstance(vols, list),
+ True,
+ "List volumes should not return empty response"
+ )
+
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.apiclient,
- resourceIds=volume.id,
- resourceType='volume',
- tags={'region': 'India'}
- )
+ self.apiclient,
+ resourceIds=volume.id,
+ resourceType='volume',
+ tags={'region': 'India'}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='volume',
- account=self.account.name,
- domainid=self.account.domainid,
- key='region'
- )
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='volume',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='region'
+ )
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
return
@attr(tags=["advanced", "basic"], required_hardware="false")
@@ -1238,8 +1240,11 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create a tag on snapshot using createTags API
# 2. Delete above created tag using deleteTags API
+ if self.hypervisor.lower() in ['hyperv']:
+ self.skipTest("Snapshots feature is not supported on Hyper-V")
+
self.debug("Creating snapshot on ROOT volume for VM: %s " %
- self.vm_1.name)
+ self.vm_1.name)
# Get the Root disk of VM
volumes = Volume.list(self.apiclient,
virtualmachineid=self.vm_1.id,
@@ -1255,80 +1260,80 @@ class TestResourceTags(cloudstackTestCase):
snapshots = Snapshot.list(self.apiclient,
id=snapshot.id)
self.assertEqual(
- isinstance(snapshots, list),
- True,
- "Tag based snapshot listing failed")
+ isinstance(snapshots, list),
+ True,
+ "Tag based snapshot listing failed")
self.debug("Creating a tag for the snapshot")
tag = Tag.create(
- self.apiclient,
- resourceIds=snapshot.id,
- resourceType='snapshot',
- tags={'type': 'manual'}
- )
+ self.apiclient,
+ resourceIds=snapshot.id,
+ resourceType='snapshot',
+ tags={'type': 'manual'}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='snapshot',
- account=self.account.name,
- domainid=self.account.domainid,
- key='type',
- value='manual'
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='snapshot',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='type',
+ value='manual'
+ )
self.assertEqual(
- tags[0].value,
- 'manual',
- 'The tag should have original value'
- )
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
+ self.assertEqual(
+ tags[0].value,
+ 'manual',
+ 'The tag should have original value'
+ )
snapshots = Snapshot.list(self.apiclient,
listall=True,
key='type',
value='manual')
self.assertEqual(
- isinstance(snapshots, list),
- True,
- "Check list response returns a valid list"
- )
+ isinstance(snapshots, list),
+ True,
+ "Check list response returns a valid list"
+ )
self.assertNotEqual(
- snapshots,
- None,
- "Check if result exists in list snapshots call"
- )
+ snapshots,
+ None,
+ "Check if result exists in list snapshots call"
+ )
self.debug("Listing snapshots by tag was successful")
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.apiclient,
- resourceIds=snapshot.id,
- resourceType='snapshot',
- tags={'type': 'manual'}
- )
+ self.apiclient,
+ resourceIds=snapshot.id,
+ resourceType='snapshot',
+ tags={'type': 'manual'}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='snapshot',
- account=self.account.name,
- domainid=self.account.domainid,
- key='type',
- value='manual'
- )
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='snapshot',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='type',
+ value='manual'
+ )
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
return
@@ -1341,91 +1346,91 @@ class TestResourceTags(cloudstackTestCase):
# 2. Delete above created tag using deleteTags API
self.debug("Fetching the network details for account: %s" %
- self.account.name)
+ self.account.name)
networks = Network.list(
- self.apiclient,
- account=self.account.name,
- domainid=self.account.domainid,
- listall=True
- )
- self.assertEqual(
- isinstance(networks, list),
- True,
- "List networks should not return an empty response"
- )
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ listall=True
+ )
+ self.assertEqual(
+ isinstance(networks, list),
+ True,
+ "List networks should not return an empty response"
+ )
network = networks[0]
self.debug("Network for the account: %s is %s" %
- (self.account.name, network.name))
+ (self.account.name, network.name))
self.debug("Creating a tag for load balancer rule")
tag = Tag.create(
- self.apiclient,
- resourceIds=network.id,
- resourceType='Network',
- tags={'region': 'India'}
- )
+ self.apiclient,
+ resourceIds=network.id,
+ resourceType='Network',
+ tags={'region': 'India'}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='Network',
- account=self.account.name,
- domainid=self.account.domainid,
- key='region',
- value='India'
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='Network',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='region',
+ value='India'
+ )
self.assertEqual(
- tags[0].value,
- 'India',
- 'The tag should have original value'
- )
-
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
+ self.assertEqual(
+ tags[0].value,
+ 'India',
+ 'The tag should have original value'
+ )
+
networks = Network.list(
- self.apiclient,
- account=self.account.name,
- domainid=self.account.domainid,
- listall=True,
- key='region',
- value='India'
- )
- self.assertEqual(
- isinstance(networks, list),
- True,
- "List networks should not return an empty response"
- )
+ self.apiclient,
+ account=self.account.name,
+ domainid=self.account.domainid,
+ listall=True,
+ key='region',
+ value='India'
+ )
+ self.assertEqual(
+ isinstance(networks, list),
+ True,
+ "List networks should not return an empty response"
+ )
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.apiclient,
- resourceIds=network.id,
- resourceType='Network',
- tags={'region': 'India'}
- )
+ self.apiclient,
+ resourceIds=network.id,
+ resourceType='Network',
+ tags={'region': 'India'}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='Network',
- account=self.account.name,
- domainid=self.account.domainid,
- key='region',
- value='India'
- )
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='Network',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='region',
+ value='India'
+ )
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
return
@attr(tags=["basic", "sg"])
@@ -1437,29 +1442,29 @@ class TestResourceTags(cloudstackTestCase):
# 2. Delete above created tag using deleteTags API
vms = VirtualMachine.list(
- self.apiclient,
- id=self.vm_1.id,
- listall=True
- )
+ self.apiclient,
+ id=self.vm_1.id,
+ listall=True
+ )
self.assertEqual(
- isinstance(vms, list),
- True,
- "List vms should not return empty response"
- )
+ isinstance(vms, list),
+ True,
+ "List vms should not return empty response"
+ )
source_host = vms[0].hostid
-
+
hosts = Host.list(
- self.apiclient,
- zoneid=self.zone.id,
- resourcestate='Enabled',
- type='Routing'
- )
- self.assertEqual(
- isinstance(hosts, list),
- True,
- "List hosts should return valid host response"
- )
+ self.apiclient,
+ zoneid=self.zone.id,
+ resourcestate='Enabled',
+ type='Routing'
+ )
+ self.assertEqual(
+ isinstance(hosts, list),
+ True,
+ "List hosts should return valid host response"
+ )
self.debug("Available hosts: ")
for host in hosts:
@@ -1474,64 +1479,64 @@ class TestResourceTags(cloudstackTestCase):
self.debug("Creating a tag for user VM")
tag = Tag.create(
- self.apiclient,
- resourceIds=self.vm_1.id,
- resourceType='userVM',
- tags={'region': 'India'}
- )
+ self.apiclient,
+ resourceIds=self.vm_1.id,
+ resourceType='userVM',
+ tags={'region': 'India'}
+ )
self.debug("Tag created: %s" % tag.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='userVM',
- account=self.account.name,
- domainid=self.account.domainid,
- key='region',
- value='India'
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='userVM',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='region',
+ value='India'
+ )
+ self.assertEqual(
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
self.assertEqual(
- tags[0].value,
- 'India',
- 'The tag should have original value'
- )
+ tags[0].value,
+ 'India',
+ 'The tag should have original value'
+ )
self.debug("Migrating the instance from: %s to %s" %
- (source_host, dest_host.id))
+ (source_host, dest_host.id))
self.vm_1.migrate(self.apiclient, hostid=dest_host.id)
self.debug("Deleting the created tag..")
try:
tag.delete(
- self.apiclient,
- resourceIds=self.vm_1.id,
- resourceType='userVM',
- tags={'region': 'India'}
- )
+ self.apiclient,
+ resourceIds=self.vm_1.id,
+ resourceType='userVM',
+ tags={'region': 'India'}
+ )
except Exception as e:
self.fail("Failed to delete the tag - %s" % e)
self.debug("Verifying if tag is actually deleted!")
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='userVM',
- account=self.account.name,
- domainid=self.account.domainid,
- key='region',
- value='India'
- )
- self.assertEqual(
- tags,
- None,
- "List tags should return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='userVM',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='region',
+ value='India'
+ )
+ self.assertEqual(
+ tags,
+ None,
+ "List tags should return empty response"
+ )
return
@attr(tags=["advanced", "basic"], required_hardware="false")
@@ -1545,33 +1550,33 @@ class TestResourceTags(cloudstackTestCase):
self.debug("Creating a tag for user VM")
tag_1 = Tag.create(
- self.apiclient,
- resourceIds=self.vm_1.id,
- resourceType='userVM',
- tags={'region': 'India'}
- )
+ self.apiclient,
+ resourceIds=self.vm_1.id,
+ resourceType='userVM',
+ tags={'region': 'India'}
+ )
self.debug("Tag created: %s" % tag_1.__dict__)
tags = Tag.list(
- self.apiclient,
- listall=True,
- resourceType='userVM',
- account=self.account.name,
- domainid=self.account.domainid,
- key='region',
- value='India'
- )
- self.assertEqual(
- isinstance(tags, list),
- True,
- "List tags should not return empty response"
- )
+ self.apiclient,
+ listall=True,
+ resourceType='userVM',
+ account=self.account.name,
+ domainid=self.account.domainid,
+ key='region',
+ value='India'
+ )
+ self.assertEqual(
+ isinstance(tags, list),
+ True,
+ "List tags should not return empty response"
+ )
self.assertEqual(
- tags[0].value,
-
<TRUNCATED>