You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ro...@apache.org on 2019/07/12 11:58:00 UTC
[cloudstack] branch master updated: master: travis and trillian
smoketests fixes and stabilisation (#3476)
This is an automated email from the ASF dual-hosted git repository.
rohit pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/master by this push:
new 97df529 master: travis and trillian smoketests fixes and stabilisation (#3476)
97df529 is described below
commit 97df52956c73bd8655c166a6e927944dcc3690ba
Author: Rohit Yadav <ro...@shapeblue.com>
AuthorDate: Fri Jul 12 17:27:49 2019 +0530
master: travis and trillian smoketests fixes and stabilisation (#3476)
Fix failing test, add more component tests, optimise and refactor test jobs.
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
---
.travis.yml | 141 ++--
INSTALL.md | 29 +-
README.md | 2 +-
.../api/command/user/project/CreateProjectCmd.java | 2 +-
.../com/cloud/resource/AgentRoutingResource.java | 1 +
.../java/com/cloud/api/query/QueryManagerImpl.java | 15 +-
.../com/cloud/projects/ProjectManagerImpl.java | 20 +-
.../component/test_acl_sharednetwork.py | 818 ++++++++++-----------
.../component/test_browse_templates2.py | 0
.../component/test_concurrent_snapshots_limit.py | 0
.../component/test_deploy_vm_userdata_multi_nic.py | 0
.../component/test_deploy_vm_userdata_reg.py | 0
.../integration/component/test_dhcp_dns_offload.py | 0
test/integration/component/test_egress_fw_rules.py | 0
.../component/test_ncc_integration_dedicated.py | 0
.../component/test_ncc_integration_shared.py | 0
.../integration/component/test_ps_resize_volume.py | 0
test/integration/component/test_security_groups.py | 0
test/integration/component/test_tags.py | 123 ++--
.../test_create_list_domain_account_project.py | 1 +
tools/travis/after_failure.sh | 3 +-
tools/travis/script.sh | 2 +-
tools/travis/xunit-reader.py | 3 +-
23 files changed, 582 insertions(+), 578 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index c37e236..a7429fe 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -43,6 +43,7 @@ env:
smoke/test_affinity_groups
smoke/test_affinity_groups_projects
smoke/test_async_job
+ smoke/test_create_list_domain_account_project
smoke/test_deploy_vgpu_enabled_vm
smoke/test_deploy_vm_iso
smoke/test_deploy_vm_root_resize
@@ -52,13 +53,12 @@ env:
smoke/test_disk_offerings
smoke/test_dynamicroles
smoke/test_global_settings
- smoke/test_guest_vlan_range"
-
- - TESTS="smoke/test_hostha_kvm
- smoke/test_hostha_simulator
+ smoke/test_guest_vlan_range
smoke/test_host_annotations
smoke/test_host_maintenance
- smoke/test_internal_lb
+ smoke/test_hostha_simulator"
+
+ - TESTS="smoke/test_internal_lb
smoke/test_iso
smoke/test_list_ids_parameter
smoke/test_loadbalance
@@ -76,14 +76,12 @@ env:
smoke/test_over_provisioning
smoke/test_password_server
smoke/test_portable_publicip
- smoke/test_portforwardingrules"
-
- - TESTS="smoke/test_primary_storage"
-
- - TESTS="smoke/test_privategw_acl
+ smoke/test_portforwardingrules
+ smoke/test_privategw_acl
smoke/test_projects
- smoke/test_public_ip_range
- smoke/test_pvlan
+ smoke/test_public_ip_range"
+
+ - TESTS="smoke/test_pvlan
smoke/test_regions
smoke/test_reset_vm_on_reboot
smoke/test_resource_accounting
@@ -101,79 +99,80 @@ env:
smoke/test_staticroles
smoke/test_templates
smoke/test_usage
- smoke/test_usage_events
- smoke/test_vm_life_cycle
+ smoke/test_usage_events"
+
+ - TESTS="smoke/test_vm_life_cycle
smoke/test_vm_snapshots
smoke/test_volumes
smoke/test_vpc_redundant
smoke/test_vpc_router_nics
- smoke/test_vpc_vpn"
+ smoke/test_vpc_vpn
+ smoke/test_primary_storage"
- - TESTS="smoke/misc/test_deploy_vm
- smoke/misc/test_escalations_templates
- smoke/misc/test_vm_ha
- smoke/misc/test_vm_sync
- component/find_hosts_for_migration
+ - TESTS="component/find_hosts_for_migration
+ component/test_acl_isolatednetwork
component/test_acl_isolatednetwork_delete
- component/test_acl_listsnapshot
- component/test_acl_listvm
+ component/test_acl_listsnapshot"
+
+ - TESTS="component/test_acl_listvm
component/test_acl_listvolume"
- TESTS="component/test_acl_sharednetwork
component/test_acl_sharednetwork_deployVM-impersonation"
- TESTS="component/test_affinity_groups_projects
- component/test_allocation_states"
+ component/test_allocation_states
+ component/test_assign_vm"
- - TESTS="component/test_cpu_domain_limits
+ - TESTS="component/test_concurrent_snapshots_limit
+ component/test_cpu_domain_limits
component/test_cpu_limits
component/test_cpu_max_limits
- component/test_cpu_project_limits"
+ component/test_cpu_project_limits
+ component/test_deploy_vm_userdata_multi_nic"
- - TESTS="component/test_deploy_vm_userdata_multi_nic
- component/test_egress_fw_rules
+ - TESTS="component/test_egress_fw_rules
component/test_invalid_gw_nm
- component/test_ip_reservation
- component/test_lb_secondary_ip"
+ component/test_ip_reservation"
- - TESTS="component/test_memory_limits
- component/test_mm_domain_limits
- component/test_mm_max_limits
- component/test_mm_project_limits"
+ - TESTS="component/test_lb_secondary_ip
+ component/test_list_nics
+ component/test_list_pod
+ component/test_memory_limits"
- - TESTS="component/test_network_offering
- component/test_non_contiguous_vlan
- component/test_persistent_networks"
+ - TESTS="component/test_mm_domain_limits
+ component/test_mm_max_limits
+ component/test_mm_project_limits
+ component/test_network_offering
+ component/test_non_contiguous_vlan"
- - TESTS="component/test_project_limits
+ - TESTS="component/test_persistent_networks
component/test_project_configs
- component/test_project_usage
+ component/test_project_limits
component/test_project_resources"
+ - TESTS="component/test_project_usage
+ component/test_resource_limits"
+
- TESTS="component/test_regions_accounts
component/test_routers
component/test_snapshots
- component/test_stopped_vm"
-
- - TESTS="component/test_project_resources"
-
- - TESTS="component/test_project_limits
- component/test_resource_limits"
-
- - TESTS="component/test_tags
+ component/test_stopped_vm
+ component/test_tags
component/test_templates
- component/test_update_vm
- component/test_volumes"
+ component/test_updateResourceCount
+ component/test_update_vm"
- - TESTS="component/test_vpc
- component/test_vpc_network
+ - TESTS="component/test_volumes
+ component/test_vpc
+ component/test_vpc_distributed_routing_offering
+ component/test_vpc_network"
+
+ - TESTS="component/test_vpc_network_lbrules
component/test_vpc_offerings
+ component/test_vpc_routers
component/test_vpn_users"
-# FIXME: fix following tests and include them in Travis
-# - TESTS="component/test_vpc" Please add when PR: https://github.com/apache/cloudstack/pull/955 CLOUDSTACK-8969 is fixed
-# - TESTS="component/test_organization_states" Please add when CLOUDSTACK-7735 is fixed
-
before_install: travis_wait 30 ./tools/travis/before_install.sh
install: ./tools/travis/install.sh
before_script: travis_wait 30 ./tools/travis/before_script.sh
@@ -198,25 +197,15 @@ after_script: ./tools/travis/after_script.sh
after_success: true
after_failure: true
-jobs:
- include:
- - stage: package
- services: docker
- env: IMAGE=khos2ow/cloudstack-rpm-builder:centos7 PARAMS="--distribution centos7 --pack oss"
- <<: *package_job
-
- - stage: package
- services: docker
- env: IMAGE=khos2ow/cloudstack-rpm-builder:centos6 PARAMS="--distribution centos63 --pack oss"
- <<: *package_job
-
- - stage: package
- services: docker
- env: IMAGE=khos2ow/cloudstack-deb-builder:ubuntu1804 PARAMS=""
- <<: *package_job
-
- - stage: package
- services: docker
- env: IMAGE=khos2ow/cloudstack-deb-builder:ubuntu1604 PARAMS=""
- <<: *package_job
-
+#Disable due to intermittent failures
+#jobs:
+# include:
+# - stage: package
+# services: docker
+# env: IMAGE=khos2ow/cloudstack-rpm-builder:centos7 PARAMS="--distribution centos7 --pack oss"
+# <<: *package_job
+#
+# - stage: package
+# services: docker
+# env: IMAGE=khos2ow/cloudstack-deb-builder:ubuntu1804 PARAMS=""
+# <<: *package_job
diff --git a/INSTALL.md b/INSTALL.md
index 281707e..85da4be 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -5,31 +5,32 @@ CloudStack. For more information please refer to the official [documentation](ht
or the developer [wiki](https://cwiki.apache.org/confluence/display/CLOUDSTACK/Home).
Apache CloudStack developers use various platforms for development, this guide
-was tested against a CentOS 6.5 x86_64 setup.
+was tested against a CentOS 7 x86_64 setup.
* [Setting up development environment](https://cwiki.apache.org/confluence/display/CLOUDSTACK/Setting+up+CloudStack+Development+Environment) for Apache CloudStack.
* [Building](https://cwiki.apache.org/confluence/display/CLOUDSTACK/How+to+build+CloudStack) Apache CloudStack.
+* [Appliance based development](https://github.com/rhtyd/monkeybox)
## Setting up Development Environment
Install tools and dependencies used for development:
- $ yum install git ant ant-devel java-1.6.0-openjdk java-1.6.0-openjdk-devel
+ $ yum install git java-1.8.0-openjdk java-1.8.0-openjdk-devel \
mysql mysql-server mkisofs gcc python MySQL-python openssh-clients wget
# yum -y update
- # yum -y install java-1.7.0-openjdk
- # yum -y install java-1.7.0-openjdk-devel
+ # yum -y install java-1.8.0-openjdk
+ # yum -y install java-1.8.0-openjdk-devel
# yum -y install mysql-server
# yum -y install git
# yum -y install genisoimage
-Set up Maven (3.0.5):
+Set up Maven (3.6.0):
- # wget http://www.us.apache.org/dist/maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.tar.gz
- # tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /usr/local
+ # wget http://www.us.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
+ # tar -zxvf apache-maven-3.6.0-bin.tar.gz -C /usr/local
# cd /usr/local
- # ln -s apache-maven-3.0.5 maven
+ # ln -s apache-maven-3.6.0 maven
# echo export M2_HOME=/usr/local/maven >> ~/.bashrc # or .zshrc or .profile
# echo export PATH=/usr/local/maven/bin:${PATH} >> ~/.bashrc # or .zshrc or .profile
# source ~/.bashrc
@@ -44,10 +45,10 @@ CloudStack is built using Java and Python. To make selection of these tools ver
Following installation, execute the following commands to configure jenv and pyenv for use with CloudStack development:
- # pyenv install 2.7.11 ## Install Python 2.7.11
- # pyenv virtualenv 2.7.11 cloudstack ## Create a cloudstack virtualenv using Python 2.7.11
+ # pyenv install 2.7.16 ## Install Python 2.7.16
+ # pyenv virtualenv 2.7.16 cloudstack ## Create a cloudstack virtualenv using Python 2.7.16
# pip install -r <root CloudStack source tree>/requirements.txt ## Install cloudstack Python dependencies
- # jenv add <path to JDK 1.7 installation> ## Add Java7 to jenv
+ # jenv add <path to JDK 1.8 installation> ## Add Java7 to jenv
*N.B.* If you are running Linux, you may need to install additional packages to allow pyenv to build Python.
@@ -61,10 +62,10 @@ You may get the source code from the repository hosted on Apache:
Or, you may fork the repository from the official Apache CloudStack mirror on [Github](https://github.com/apache/cloudstack)
-To checkout a specific branch, for example 4.4, do:
+To checkout a specific branch, for example 4.11, do:
$ git fetch origin
- $ git checkout -b 4.4 origin/4.4
+ $ git checkout -b 4.11 origin/4.11
## Building
@@ -142,7 +143,7 @@ To create rpms, install the following extra packages:
Then:
- $ cd packaging/centos63
+ $ cd packaging
$ package.sh
To create packages for noredist add the `-p noredist` option to the package script.
diff --git a/README.md b/README.md
index 100080e..4f250f0 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Apache CloudStack [![Build Status](https://travis-ci.org/apache/cloudstack.svg?branch=master)](https://travis-ci.org/apache/cloudstack) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=apachecloudstack&metric=alert_status)](https://sonarcloud.io/dashboard?id=apachecloudstack) [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=apachecloudstack&metric=ncloc)](https://sonarcloud.io/dashboard?id=apachecloudstack)
+# Apache CloudStack [![Build Status](https://travis-ci.org/apache/cloudstack.svg?branch=master)](https://travis-ci.org/apache/cloudstack) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=apachecloudstack&metric=alert_status)](https://sonarcloud.io/dashboard?id=apachecloudstack) [![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=apachecloudstack&metric=ncloc)](https://sonarcloud.io/dashboard?id=apachecloudstack) ![GitHub language cou [...]
![Apache CloudStack](tools/logo/apache_cloudstack.png)
diff --git a/api/src/main/java/org/apache/cloudstack/api/command/user/project/CreateProjectCmd.java b/api/src/main/java/org/apache/cloudstack/api/command/user/project/CreateProjectCmd.java
index 79e372e..2ffa142 100644
--- a/api/src/main/java/org/apache/cloudstack/api/command/user/project/CreateProjectCmd.java
+++ b/api/src/main/java/org/apache/cloudstack/api/command/user/project/CreateProjectCmd.java
@@ -55,7 +55,7 @@ public class CreateProjectCmd extends BaseAsyncCreateCmd {
@Parameter(name = ApiConstants.NAME, type = CommandType.STRING, required = true, validations = ApiArgValidator.NotNullOrEmpty, description = "name of the project")
private String name;
- @Parameter(name = ApiConstants.DISPLAY_TEXT, type = CommandType.STRING, required = true, validations = ApiArgValidator.NotNullOrEmpty, description = "display text of the project")
+ @Parameter(name = ApiConstants.DISPLAY_TEXT, type = CommandType.STRING, required = true, description = "display text of the project")
private String displayText;
// ///////////////////////////////////////////////////
diff --git a/plugins/hypervisors/simulator/src/main/java/com/cloud/resource/AgentRoutingResource.java b/plugins/hypervisors/simulator/src/main/java/com/cloud/resource/AgentRoutingResource.java
index 400ade9..2c8e731 100644
--- a/plugins/hypervisors/simulator/src/main/java/com/cloud/resource/AgentRoutingResource.java
+++ b/plugins/hypervisors/simulator/src/main/java/com/cloud/resource/AgentRoutingResource.java
@@ -198,6 +198,7 @@ public class AgentRoutingResource extends AgentStorageResource {
cmd.setName(agentHost.getName());
cmd.setGuid(agentHost.getGuid());
cmd.setVersion(agentHost.getVersion());
+ cmd.setHypervisorVersion(agentHost.getVersion());
cmd.setAgentTag("agent-simulator");
cmd.setDataCenter(String.valueOf(agentHost.getDataCenterId()));
cmd.setPod(String.valueOf(agentHost.getPodId()));
diff --git a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java
index 018ed79..6975808 100644
--- a/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/main/java/com/cloud/api/query/QueryManagerImpl.java
@@ -181,6 +181,7 @@ import com.cloud.projects.Project;
import com.cloud.projects.Project.ListProjectResourcesCriteria;
import com.cloud.projects.ProjectInvitation;
import com.cloud.projects.ProjectManager;
+import com.cloud.projects.ProjectVO;
import com.cloud.projects.dao.ProjectAccountDao;
import com.cloud.projects.dao.ProjectDao;
import com.cloud.resource.ResourceManager;
@@ -640,10 +641,22 @@ public class QueryManagerImpl extends MutualExclusiveIdsManagerBase implements Q
String resourceType = cmd.getResourceType();
String customerName = cmd.getCustomer();
boolean listAll = cmd.listAll();
+ Long projectId = cmd.getProjectId();
+
+ if (projectId == null && ResourceObjectType.Project.name().equalsIgnoreCase(resourceType) && !Strings.isNullOrEmpty(resourceId)) {
+ try {
+ projectId = Long.parseLong(resourceId);
+ } catch (final NumberFormatException e) {
+ final ProjectVO project = _projectDao.findByUuidIncludingRemoved(resourceId);
+ if (project != null) {
+ projectId = project.getId();
+ }
+ }
+ }
Ternary<Long, Boolean, ListProjectResourcesCriteria> domainIdRecursiveListProject = new Ternary<Long, Boolean, ListProjectResourcesCriteria>(cmd.getDomainId(), cmd.isRecursive(), null);
- _accountMgr.buildACLSearchParameters(caller, null, cmd.getAccountName(), cmd.getProjectId(), permittedAccounts, domainIdRecursiveListProject, listAll, false);
+ _accountMgr.buildACLSearchParameters(caller, null, cmd.getAccountName(), projectId, permittedAccounts, domainIdRecursiveListProject, listAll, false);
Long domainId = domainIdRecursiveListProject.first();
Boolean isRecursive = domainIdRecursiveListProject.second();
ListProjectResourcesCriteria listProjectResourcesCriteria = domainIdRecursiveListProject.third();
diff --git a/server/src/main/java/com/cloud/projects/ProjectManagerImpl.java b/server/src/main/java/com/cloud/projects/ProjectManagerImpl.java
index 48d6518..fb3626b 100644
--- a/server/src/main/java/com/cloud/projects/ProjectManagerImpl.java
+++ b/server/src/main/java/com/cloud/projects/ProjectManagerImpl.java
@@ -38,17 +38,12 @@ import javax.mail.URLName;
import javax.mail.internet.InternetAddress;
import javax.naming.ConfigurationException;
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
-
-import com.sun.mail.smtp.SMTPMessage;
-import com.sun.mail.smtp.SMTPSSLTransport;
-import com.sun.mail.smtp.SMTPTransport;
-
import org.apache.cloudstack.acl.SecurityChecker.AccessType;
import org.apache.cloudstack.context.CallContext;
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
import org.apache.cloudstack.managed.context.ManagedContextRunnable;
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;
import com.cloud.api.ApiDBUtils;
import com.cloud.api.query.dao.ProjectAccountJoinDao;
@@ -90,6 +85,9 @@ import com.cloud.utils.db.TransactionCallbackNoReturn;
import com.cloud.utils.db.TransactionCallbackWithExceptionNoReturn;
import com.cloud.utils.db.TransactionStatus;
import com.cloud.utils.exception.CloudRuntimeException;
+import com.sun.mail.smtp.SMTPMessage;
+import com.sun.mail.smtp.SMTPSSLTransport;
+import com.sun.mail.smtp.SMTPTransport;
@Component
public class ProjectManagerImpl extends ManagerBase implements ProjectManager {
@@ -207,15 +205,15 @@ public class ProjectManagerImpl extends ManagerBase implements ProjectManager {
@Override
public Project doInTransaction(TransactionStatus status) {
- //Create an account associated with the project
- StringBuilder acctNm = new StringBuilder("PrjAcct-");
+ //Create an account associated with the project
+ StringBuilder acctNm = new StringBuilder("PrjAcct-");
acctNm.append(name).append("-").append(ownerFinal.getDomainId());
- Account projectAccount = _accountMgr.createAccount(acctNm.toString(), Account.ACCOUNT_TYPE_PROJECT, null, domainId, null, null, UUID.randomUUID().toString());
+ Account projectAccount = _accountMgr.createAccount(acctNm.toString(), Account.ACCOUNT_TYPE_PROJECT, null, domainId, null, null, UUID.randomUUID().toString());
Project project = _projectDao.persist(new ProjectVO(name, displayText, ownerFinal.getDomainId(), projectAccount.getId()));
- //assign owner to the project
+ //assign owner to the project
assignAccountToProject(project, ownerFinal.getId(), ProjectAccount.Role.Admin);
if (project != null) {
diff --git a/test/integration/component/test_acl_sharednetwork.py b/test/integration/component/test_acl_sharednetwork.py
index b74405e..25b01a7 100644
--- a/test/integration/component/test_acl_sharednetwork.py
+++ b/test/integration/component/test_acl_sharednetwork.py
@@ -53,20 +53,20 @@ class TestSharedNetwork(cloudstackTestCase):
4. Network with scope="account"
"""
- cls.testclient = super(TestSharedNetwork, cls).getClsTestClient()
+ cls.testclient = super(TestSharedNetwork, cls).getClsTestClient()
cls.apiclient = cls.testclient.getApiClient()
- cls.testdata = cls.testClient.getParsedTestDataConfig()
+ cls.testdata = cls.testClient.getParsedTestDataConfig()
cls.acldata = cls.testdata["acl"]
- cls.domain_1 = None
+ cls.domain_1 = None
cls.domain_2 = None
- cleanup = []
+ cls.cleanup = []
- try:
+ try:
# backup default apikey and secretkey
cls.default_apikey = cls.apiclient.connection.apiKey
cls.default_secretkey = cls.apiclient.connection.securityKey
-
+
# Create domains
cls.domain_1 = Domain.create(
cls.apiclient,
@@ -75,17 +75,17 @@ class TestSharedNetwork(cloudstackTestCase):
cls.domain_11 = Domain.create(
cls.apiclient,
cls.acldata["domain11"],
- parentdomainid=cls.domain_1.id
+ parentdomainid=cls.domain_1.id
)
cls.domain_111 = Domain.create(
cls.apiclient,
cls.acldata["domain111"],
- parentdomainid=cls.domain_11.id,
+ parentdomainid=cls.domain_11.id,
)
cls.domain_12 = Domain.create(
cls.apiclient,
cls.acldata["domain12"],
- parentdomainid=cls.domain_1.id
+ parentdomainid=cls.domain_1.id
)
cls.domain_2 = Domain.create(
cls.apiclient,
@@ -99,7 +99,7 @@ class TestSharedNetwork(cloudstackTestCase):
domainid=cls.domain_1.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d1)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d1)
cls.user_d1_apikey = user.apikey
cls.user_d1_secretkey = user.secretkey
@@ -109,7 +109,7 @@ class TestSharedNetwork(cloudstackTestCase):
admin=False,
domainid=cls.domain_1.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d1a)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d1a)
cls.user_d1a_apikey = user.apikey
cls.user_d1a_secretkey = user.secretkey
@@ -121,7 +121,7 @@ class TestSharedNetwork(cloudstackTestCase):
domainid=cls.domain_1.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d1b)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d1b)
cls.user_d1b_apikey = user.apikey
cls.user_d1b_secretkey = user.secretkey
@@ -132,7 +132,7 @@ class TestSharedNetwork(cloudstackTestCase):
admin=True,
domainid=cls.domain_11.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d11)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d11)
cls.user_d11_apikey = user.apikey
cls.user_d11_secretkey = user.secretkey
@@ -142,7 +142,7 @@ class TestSharedNetwork(cloudstackTestCase):
admin=False,
domainid=cls.domain_11.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d11a)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d11a)
cls.user_d11a_apikey = user.apikey
cls.user_d11a_secretkey = user.secretkey
@@ -152,7 +152,7 @@ class TestSharedNetwork(cloudstackTestCase):
admin=False,
domainid=cls.domain_11.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d11b)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d11b)
cls.user_d11b_apikey = user.apikey
cls.user_d11b_secretkey = user.secretkey
@@ -164,7 +164,7 @@ class TestSharedNetwork(cloudstackTestCase):
admin=True,
domainid=cls.domain_111.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d111)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d111)
cls.user_d111_apikey = user.apikey
cls.user_d111_secretkey = user.secretkey
@@ -174,7 +174,7 @@ class TestSharedNetwork(cloudstackTestCase):
admin=False,
domainid=cls.domain_111.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d111a)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d111a)
cls.user_d111a_apikey = user.apikey
cls.user_d111a_secretkey = user.secretkey
@@ -184,7 +184,7 @@ class TestSharedNetwork(cloudstackTestCase):
admin=False,
domainid=cls.domain_111.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d111b)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d111b)
cls.user_d111b_apikey = user.apikey
cls.user_d111b_secretkey = user.secretkey
@@ -195,7 +195,7 @@ class TestSharedNetwork(cloudstackTestCase):
admin=False,
domainid=cls.domain_12.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d12a)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d12a)
cls.user_d12a_apikey = user.apikey
cls.user_d12a_secretkey = user.secretkey
@@ -206,7 +206,7 @@ class TestSharedNetwork(cloudstackTestCase):
domainid=cls.domain_12.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d12b)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d12b)
cls.user_d12b_apikey = user.apikey
cls.user_d12b_secretkey = user.secretkey
@@ -219,7 +219,7 @@ class TestSharedNetwork(cloudstackTestCase):
domainid=cls.domain_2.id
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_d2a)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_d2a)
cls.user_d2a_apikey = user.apikey
cls.user_d2a_secretkey = user.secretkey
@@ -232,7 +232,7 @@ class TestSharedNetwork(cloudstackTestCase):
admin=False,
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_roota)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_roota)
cls.user_roota_apikey = user.apikey
cls.user_roota_secretkey = user.secretkey
@@ -242,7 +242,7 @@ class TestSharedNetwork(cloudstackTestCase):
admin=True,
)
- user = cls.generateKeysForUser(cls.apiclient,cls.account_root)
+ user = cls.generateKeysForUser(cls.apiclient,cls.account_root)
cls.user_root_apikey = user.apikey
cls.user_root_secretkey = user.secretkey
@@ -256,22 +256,22 @@ class TestSharedNetwork(cloudstackTestCase):
cls.acldata['mode'] = cls.zone.networktype
cls.template = get_template(cls.apiclient, cls.zone.id, cls.acldata["ostype"])
- cls.apiclient.connection.apiKey = cls.default_apikey
+ cls.apiclient.connection.apiKey = cls.default_apikey
cls.apiclient.connection.securityKey = cls.default_secretkey
list_shared_network_offerings_response = NetworkOffering.list(
cls.apiclient,
name="DefaultSharedNetworkOffering",
- displayText="Offering for Shared networks"
+ displayText="Offering for Shared networks"
)
- cls.shared_network_offering_id = list_shared_network_offerings_response[0].id
+ cls.shared_network_offering_id = list_shared_network_offerings_response[0].id
- #Override vlan parameter so that there is no overlap with vlans being used in other shared network impersonation test suite
- cls.acldata["network_all"]["vlan"]="3001"
- cls.acldata["network_domain_with_no_subdomain_access"]["vlan"]="3002"
- cls.acldata["network_domain_with_subdomain_access"]["vlan"]="3003"
- cls.acldata["network_account"]["vlan"]="3004"
+ #Override vlan parameter so that there is no overlap with vlans being used in other shared network impersonation test suite
+ cls.acldata["network_all"]["vlan"]="3001"
+ cls.acldata["network_domain_with_no_subdomain_access"]["vlan"]="3002"
+ cls.acldata["network_domain_with_subdomain_access"]["vlan"]="3003"
+ cls.acldata["network_account"]["vlan"]="3004"
cls.shared_network_all = Network.create(
cls.apiclient,
@@ -305,14 +305,14 @@ class TestSharedNetwork(cloudstackTestCase):
zoneid=cls.zone.id,
domainid=cls.domain_111.id,
accountid=cls.account_d111a.user[0].username
- )
+ )
cls.vmdata = {"name": "test",
"displayname" : "test"
}
cls.cleanup = [
cls.account_root,
cls.account_roota,
- cls.shared_network_all,
+ cls.shared_network_all,
cls.service_offering,
]
except Exception as e:
@@ -345,15 +345,15 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_all_domainuser(self):
- """
- Validate that regular user in a domain is allowed to deploy VM in a shared network created with scope="all"
- """
+ """
+ Validate that regular user in a domain is allowed to deploy VM in a shared network created with scope="all"
+ """
# deploy VM as user in a domain under ROOT
- self.apiclient.connection.apiKey = self.user_d1a_apikey
+ self.apiclient.connection.apiKey = self.user_d1a_apikey
self.apiclient.connection.securityKey = self.user_d1a_secretkey
- self.vmdata["name"] = self.acldata["vmD1A"]["name"] +"-shared-scope-all"
- self.vmdata["displayname"] = self.acldata["vmD1A"]["displayname"] +"-shared-scope-all"
+ self.vmdata["name"] = self.acldata["vmD1A"]["name"] +"-shared-scope-all"
+ self.vmdata["displayname"] = self.acldata["vmD1A"]["displayname"] +"-shared-scope-all"
vm_d1a = VirtualMachine.create(
self.apiclient,
@@ -361,26 +361,26 @@ class TestSharedNetwork(cloudstackTestCase):
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_all.id
+ networkids=self.shared_network_all.id
)
- self.assertEqual(vm_d1a.state == "Running",
+ self.assertEqual(vm_d1a.state == "Running",
True,
"User in a domain under ROOT failed to deploy VM in a shared network with scope=all")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_all_domainadminuser(self):
- """
- Validate that regular user in "ROOT" domain is allowed to deploy VM in a shared network created with scope="all"
+ """
+ Validate that regular user in "ROOT" domain is allowed to deploy VM in a shared network created with scope="all"
- """
+ """
# deploy VM as an admin user in a domain under ROOT
- self.apiclient.connection.apiKey = self.user_d1_apikey
+ self.apiclient.connection.apiKey = self.user_d1_apikey
self.apiclient.connection.securityKey = self.user_d1_secretkey
- self.vmdata["name"] = self.acldata["vmD1"]["name"] +"-shared-scope-all"
- self.vmdata["displayname"] = self.acldata["vmD1"]["displayname"] +"-shared-scope-all"
+ self.vmdata["name"] = self.acldata["vmD1"]["name"] +"-shared-scope-all"
+ self.vmdata["displayname"] = self.acldata["vmD1"]["displayname"] +"-shared-scope-all"
vm = VirtualMachine.create(
self.apiclient,
@@ -388,111 +388,111 @@ class TestSharedNetwork(cloudstackTestCase):
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_all.id
+ networkids=self.shared_network_all.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"Admin User in a domain under ROOT failed to deploy VM in a shared network with scope=all")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_all_subdomainuser(self):
- """
- Validate that regular user in any subdomain is allowed to deploy VM in a shared network created with scope="all"
- """
+ """
+ Validate that regular user in any subdomain is allowed to deploy VM in a shared network created with scope="all"
+ """
# deploy VM as user in a subdomain under ROOT
- self.apiclient.connection.apiKey = self.user_d11a_apikey
+ self.apiclient.connection.apiKey = self.user_d11a_apikey
self.apiclient.connection.securityKey = self.user_d11a_secretkey
- self.vmdata["name"] = self.acldata["vmD11A"]["name"] +"-shared-scope-all"
- self.vmdata["displayname"] = self.acldata["vmD11A"]["displayname"] +"-shared-scope-all"
+ self.vmdata["name"] = self.acldata["vmD11A"]["name"] +"-shared-scope-all"
+ self.vmdata["displayname"] = self.acldata["vmD11A"]["displayname"] +"-shared-scope-all"
vm_d11a = VirtualMachine.create(
self.apiclient,
self.vmdata,
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_all.id
+ networkids=self.shared_network_all.id
)
- self.assertEqual(vm_d11a.state == "Running",
+ self.assertEqual(vm_d11a.state == "Running",
True,
"User in a domain under ROOT failed to deploy VM in a shared network with scope=all")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_all_subdomainadminuser(self):
- """
- Validate that regular user in a subdomain under ROOT is allowed to deploy VM in a shared network created with scope="all"
+ """
+ Validate that regular user in a subdomain under ROOT is allowed to deploy VM in a shared network created with scope="all"
- """
+ """
# deploy VM as an admin user in a subdomain under ROOT
- self.apiclient.connection.apiKey = self.user_d11_apikey
+ self.apiclient.connection.apiKey = self.user_d11_apikey
self.apiclient.connection.securityKey = self.user_d11_secretkey
- self.vmdata["name"] = self.acldata["vmD11"]["name"] +"-shared-scope-all"
- self.vmdata["displayname"] = self.acldata["vmD11"]["displayname"] +"-shared-scope-all"
+ self.vmdata["name"] = self.acldata["vmD11"]["name"] +"-shared-scope-all"
+ self.vmdata["displayname"] = self.acldata["vmD11"]["displayname"] +"-shared-scope-all"
vm = VirtualMachine.create(
self.apiclient,
self.vmdata,
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_all.id
+ networkids=self.shared_network_all.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"Admin User in a domain under ROOT failed to deploy VM in a shared network with scope=all")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_all_ROOTuser(self):
- """
- Validate that regular user in ROOT domain is allowed to deploy VM in a shared network created with scope="all"
+ """
+ Validate that regular user in ROOT domain is allowed to deploy VM in a shared network created with scope="all"
- """
+ """
# deploy VM as user in ROOT domain
-
- self.apiclient.connection.apiKey = self.user_roota_apikey
+
+ self.apiclient.connection.apiKey = self.user_roota_apikey
self.apiclient.connection.securityKey = self.user_roota_secretkey
- self.vmdata["name"] = self.acldata["vmROOTA"]["name"] + "-shared-scope-all"
- self.vmdata["displayname"] = self.acldata["vmROOTA"]["displayname"] + "-shared-scope-all"
+ self.vmdata["name"] = self.acldata["vmROOTA"]["name"] + "-shared-scope-all"
+ self.vmdata["displayname"] = self.acldata["vmROOTA"]["displayname"] + "-shared-scope-all"
vm = VirtualMachine.create(
self.apiclient,
self.vmdata,
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_all.id
+ networkids=self.shared_network_all.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"User in ROOT domain failed to deploy VM in a shared network with scope=all")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_all_ROOTadmin(self):
- """
- Validate that admin user in ROOT domain is allowed to deploy VM in a shared network created with scope="all"
- """
+ """
+ Validate that admin user in ROOT domain is allowed to deploy VM in a shared network created with scope="all"
+ """
# deploy VM as admin user in ROOT domain
-
- self.apiclient.connection.apiKey = self.user_root_apikey
+
+ self.apiclient.connection.apiKey = self.user_root_apikey
self.apiclient.connection.securityKey = self.user_root_secretkey
- self.vmdata["name"] = self.acldata["vmROOT"]["name"] + "-shared-scope-all"
- self.vmdata["displayname"] = self.acldata["vmROOT"]["displayname"] + "-shared-scope-all"
+ self.vmdata["name"] = self.acldata["vmROOT"]["name"] + "-shared-scope-all"
+ self.vmdata["displayname"] = self.acldata["vmROOT"]["displayname"] + "-shared-scope-all"
vm = VirtualMachine.create(
self.apiclient,
self.vmdata,
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_all.id
+ networkids=self.shared_network_all.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"Admin in ROOT domain failed to deploy VM in a shared network with scope=all")
@@ -500,16 +500,16 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_nosubdomainaccess_domainuser(self):
- """
- Validate that regular user in a domain is allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
- """
+ """
+ Validate that regular user in a domain is allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
+ """
# deploy VM as user in a domain that has shared network with no subdomain access
-
- self.apiclient.connection.apiKey = self.user_d11a_apikey
+
+ self.apiclient.connection.apiKey = self.user_d11a_apikey
self.apiclient.connection.securityKey = self.user_d11a_secretkey
- self.vmdata["name"] = self.acldata["vmD11A"]["name"] +"-shared-scope-domain-nosubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD11A"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmD11A"]["name"] +"-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD11A"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
vm = VirtualMachine.create(
self.apiclient,
@@ -517,26 +517,26 @@ class TestSharedNetwork(cloudstackTestCase):
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_domain_d11.id
+ networkids=self.shared_network_domain_d11.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"User in a domain that has a shared network with no subdomain access failed to deploy VM in a shared network with scope=domain with no subdomain access")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_nosubdomainaccess_domainadminuser(self):
- """
- Validate that admin user in a domain is allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
+ """
+ Validate that admin user in a domain is allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
- """
+ """
#deploy VM as an admin user in a domain that has shared network with no subdomain access
-
- self.apiclient.connection.apiKey = self.user_d11_apikey
+
+ self.apiclient.connection.apiKey = self.user_d11_apikey
self.apiclient.connection.securityKey = self.user_d11_secretkey
- self.vmdata["name"] = self.acldata["vmD11"]["name"] +"-shared-scope-domain-nosubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD11"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmD11"]["name"] +"-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD11"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
vm = VirtualMachine.create(
self.apiclient,
@@ -544,64 +544,64 @@ class TestSharedNetwork(cloudstackTestCase):
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_domain_d11.id
+ networkids=self.shared_network_domain_d11.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"Admin User in a domain that has a shared network with no subdomain access failed to deploy VM in a shared network with scope=domain with no subdomain access")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_nosubdomainaccess_subdomainuser(self):
- """
- Validate that regular user in a subdomain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
+ """
+ Validate that regular user in a subdomain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
- """
+ """
# deploy VM as user in a subdomain under a domain that has shared network with no subdomain access
-
- self.apiclient.connection.apiKey = self.user_d111a_apikey
+
+ self.apiclient.connection.apiKey = self.user_d111a_apikey
self.apiclient.connection.securityKey = self.user_d111a_secretkey
- self.vmdata["name"] = self.acldata["vmD111A"]["name"] +"-shared-scope-domain-nosubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD111A"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
- try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_domain_d11.id
- )
- self.fail("Subdomain user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
- except Exception as e:
- self.debug ("When a user from a subdomain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
- if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
+ self.vmdata["name"] = self.acldata["vmD111A"]["name"] +"-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD111A"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
+ try:
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_domain_d11.id
+ )
+ self.fail("Subdomain user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
+ except Exception as e:
+ self.debug ("When a user from a subdomain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
+ if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
self.fail("Error message validation failed when Subdomain user tries to deploy VM in a shared network with scope=domain with no subdomain access")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_nosubdomainaccess_subdomainadminuser(self):
- """
- Validate that admin user in a subdomain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
+ """
+ Validate that admin user in a subdomain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
- """
+ """
# deploy VM as an admin user in a subdomain under a domain that has shared network with no subdomain access
-
- self.apiclient.connection.apiKey = self.user_d111_apikey
+
+ self.apiclient.connection.apiKey = self.user_d111_apikey
self.apiclient.connection.securityKey = self.user_d111_secretkey
- self.vmdata["name"] = self.acldata["vmD111"]["name"] +"-shared-scope-domain-nosubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD111"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
- try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_domain_d11.id
- )
- self.fail("Subdomain admin user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
- except Exception as e:
- self.debug ("When a admin user from a subdomain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
+ self.vmdata["name"] = self.acldata["vmD111"]["name"] +"-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD111"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
+ try:
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_domain_d11.id
+ )
+ self.fail("Subdomain admin user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
+ except Exception as e:
+ self.debug ("When a admin user from a subdomain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
self.fail("Error message validation failed when Subdomain admin user tries to deploy VM in a shared network with scope=domain with no subdomain access")
@@ -609,56 +609,56 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_nosubdomainaccess_parentdomainuser(self):
- """
- Validate that user in the parent domain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
+ """
+ Validate that user in the parent domain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
- """
+ """
# deploy VM as user in parentdomain of a domain that has shared network with no subdomain access
-
- self.apiclient.connection.apiKey = self.user_d1a_apikey
+
+ self.apiclient.connection.apiKey = self.user_d1a_apikey
self.apiclient.connection.securityKey = self.user_d1a_secretkey
- self.vmdata["name"] = self.acldata["vmD1A"]["name"] +"-shared-scope-domain-nosubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD1A"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmD1A"]["name"] +"-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD1A"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_domain_d11.id
- )
- self.fail("Parent domain user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
- except Exception as e:
- self.debug ("When a user from parent domain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
- if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_domain_d11.id
+ )
+ self.fail("Parent domain user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
+ except Exception as e:
+ self.debug ("When a user from parent domain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
+ if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
self.fail("Error message validation failed when Parent domain user tries to deploy VM in a shared network with scope=domain with no subdomain access")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_nosubdomainaccess_parentdomainadminuser(self):
- """
- Validate that admin user in the parent domain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
+ """
+ Validate that admin user in the parent domain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
- """
+ """
# deploy VM as an admin user in parentdomain of a domain that has shared network with no subdomain access
-
- self.apiclient.connection.apiKey = self.user_d1_apikey
+
+ self.apiclient.connection.apiKey = self.user_d1_apikey
self.apiclient.connection.securityKey = self.user_d1_secretkey
- self.vmdata["name"] = self.acldata["vmD1"]["name"] +"-shared-scope-domain-nosubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD1"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmD1"]["name"] +"-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD1"]["displayname"] +"-shared-scope-domain-nosubdomainaccess"
try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_domain_d11.id
- )
- self.fail("Parent domain's admin user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
- except Exception as e:
- self.debug ("When an admin user from parent domain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_domain_d11.id
+ )
+ self.fail("Parent domain's admin user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
+ except Exception as e:
+ self.debug ("When an admin user from parent domain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
self.fail("Error message validation failed when Parent domain's admin user tries to deploy VM in a shared network with scope=domain with no subdomain access")
@@ -666,28 +666,28 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_nosubdomainaccess_ROOTuser(self):
- """
- Validate that user in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
- """
+ """
+ Validate that user in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
+ """
# deploy VM as user in ROOT domain
-
- self.apiclient.connection.apiKey = self.user_roota_apikey
+
+ self.apiclient.connection.apiKey = self.user_roota_apikey
self.apiclient.connection.securityKey = self.user_roota_secretkey
- self.vmdata["name"] = self.acldata["vmROOTA"]["name"] + "-shared-scope-domain-nosubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmROOTA"]["displayname"] + "-shared-scope-domain-nosubdomainaccess"
- try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_domain_d11.id
- )
- self.fail("ROOT domain's user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
- except Exception as e:
- self.debug ("When a regular user from ROOT domain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
+ self.vmdata["name"] = self.acldata["vmROOTA"]["name"] + "-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmROOTA"]["displayname"] + "-shared-scope-domain-nosubdomainaccess"
+ try:
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_domain_d11.id
+ )
+ self.fail("ROOT domain's user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
+ except Exception as e:
+ self.debug ("When a regular user from ROOT domain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
self.fail("Error message validation failed when ROOT domain's user tries to deploy VM in a shared network with scope=domain with no subdomain access")
@@ -695,28 +695,28 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_nosubdomainaccess_ROOTadmin(self):
- """
- Validate that admin in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
+ """
+ Validate that admin in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="domain" and no subdomain access
- """
+ """
# deploy VM as admin user in ROOT domain
-
- self.apiclient.connection.apiKey = self.user_root_apikey
+
+ self.apiclient.connection.apiKey = self.user_root_apikey
self.apiclient.connection.securityKey = self.user_root_secretkey
- self.vmdata["name"] = self.acldata["vmROOT"]["name"] + "-shared-scope-domain-nosubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmROOT"]["displayname"] + "-shared-scope-domain-nosubdomainaccess"
- try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_domain_d11.id
+ self.vmdata["name"] = self.acldata["vmROOT"]["name"] + "-shared-scope-domain-nosubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmROOT"]["displayname"] + "-shared-scope-domain-nosubdomainaccess"
+ try:
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_domain_d11.id
)
- self.fail("ROOT domain's admin user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
- except Exception as e:
- self.debug ("When a admin user from ROOT domain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
+ self.fail("ROOT domain's admin user is able to deploy VM in a shared network with scope=domain with no subdomain access ")
+ except Exception as e:
+ self.debug ("When a admin user from ROOT domain deploys a VM in a shared network with scope=domain with no subdomain access %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
self.fail("Error message validation failed when ROOT domain's admin user tries to deploy VM in a shared network with scope=domain with no subdomain access")
@@ -726,16 +726,16 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_withsubdomainaccess_domainuser(self):
- """
- Validate that regular user in a domain is allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for the domain
+ """
+ Validate that regular user in a domain is allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for the domain
- """
+ """
# deploy VM as user in a domain that has shared network with subdomain access
-
- self.apiclient.connection.apiKey = self.user_d11a_apikey
+
+ self.apiclient.connection.apiKey = self.user_d11a_apikey
self.apiclient.connection.securityKey = self.user_d11a_secretkey
- self.vmdata["name"] = self.acldata["vmD11A"]["name"] +"-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD11A"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmD11A"]["name"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD11A"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
vm = VirtualMachine.create(
self.apiclient,
@@ -743,26 +743,26 @@ class TestSharedNetwork(cloudstackTestCase):
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_domain_with_subdomain_d11.id
+ networkids=self.shared_network_domain_with_subdomain_d11.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"User in a domain that has a shared network with subdomain access failed to deploy VM in a shared network with scope=domain with no subdomain access")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_withsubdomainaccess_domainadminuser(self):
- """
- Validate that admin user in a domain is allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for the domain
- """
+ """
+ Validate that admin user in a domain is allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for the domain
+ """
# deploy VM as an admin user in a domain that has shared network with subdomain access
-
- self.apiclient.connection.apiKey = self.user_d11_apikey
+
+ self.apiclient.connection.apiKey = self.user_d11_apikey
self.apiclient.connection.securityKey = self.user_d11_secretkey
- self.vmdata["name"] = self.acldata["vmD11"]["name"] +"-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD11"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmD11"]["name"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD11"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
vm = VirtualMachine.create(
self.apiclient,
@@ -770,113 +770,113 @@ class TestSharedNetwork(cloudstackTestCase):
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_domain_with_subdomain_d11.id
+ networkids=self.shared_network_domain_with_subdomain_d11.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"Admin User in a domain that has a shared network with subdomain access failed to deploy VM in a shared network with scope=domain with no subdomain access")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_withsubdomainaccess_subdomainuser(self):
- """
- Validate that regular user in a subdomain is allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for the parent domain
- """
+ """
+ Validate that regular user in a subdomain is allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for the parent domain
+ """
# deploy VM as user in a subdomain under a domain that has shared network with subdomain access
-
- self.apiclient.connection.apiKey = self.user_d111a_apikey
+
+ self.apiclient.connection.apiKey = self.user_d111a_apikey
self.apiclient.connection.securityKey = self.user_d111a_secretkey
- self.vmdata["name"] = self.acldata["vmD111A"]["name"] +"-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD111A"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmD111A"]["name"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD111A"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
vm = VirtualMachine.create(
self.apiclient,
self.vmdata,
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_domain_with_subdomain_d11.id
+ networkids=self.shared_network_domain_with_subdomain_d11.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"User in a subdomain that has a shared network with subdomain access failed to deploy VM in a shared network with scope=domain with no subdomain access")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_withsubdomainaccess_subdomainadminuser(self):
- """
- Validate that an admin user in a subdomain is allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for the parent domain
- """
+ """
+ Validate that an admin user in a subdomain is allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for the parent domain
+ """
# deploy VM as an admin user in a subdomain under a domain that has shared network with subdomain access
-
- self.apiclient.connection.apiKey = self.user_d111_apikey
+
+ self.apiclient.connection.apiKey = self.user_d111_apikey
self.apiclient.connection.securityKey = self.user_d111_secretkey
- self.vmdata["name"] = self.acldata["vmD111"]["name"] +"-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD111"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmD111"]["name"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD111"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
vm = VirtualMachine.create(
self.apiclient,
self.vmdata,
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_domain_with_subdomain_d11.id
+ networkids=self.shared_network_domain_with_subdomain_d11.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"Admin User in a subdomain that has a shared network with subdomain access failed to deploy VM in a shared network with scope=domain with no subdomain access")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_withsubdomainaccess_parentdomainuser(self):
- """
- Validate that regular user in a parent domain is NOT allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for the domain
- """
+ """
+ Validate that regular user in a parent domain is NOT allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for the domain
+ """
# deploy VM as user in parentdomain of a domain that has shared network with subdomain access
-
- self.apiclient.connection.apiKey = self.user_d1a_apikey
+
+ self.apiclient.connection.apiKey = self.user_d1a_apikey
self.apiclient.connection.securityKey = self.user_d1a_secretkey
- self.vmdata["name"] = self.acldata["vmD1A"]["name"] +"-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD1A"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
- try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_domain_with_subdomain_d11.id
- )
- self.fail("Parent domain's user is able to deploy VM in a shared network with scope=domain with subdomain access ")
- except Exception as e:
- self.debug ("When a user from parent domain deploys a VM in a shared network with scope=domain with subdomain access %s" %e)
+ self.vmdata["name"] = self.acldata["vmD1A"]["name"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD1A"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
+ try:
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_domain_with_subdomain_d11.id
+ )
+ self.fail("Parent domain's user is able to deploy VM in a shared network with scope=domain with subdomain access ")
+ except Exception as e:
+ self.debug ("When a user from parent domain deploys a VM in a shared network with scope=domain with subdomain access %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
self.fail("Error message validation failed when Parent domain's user tries to deploy VM in a shared network with scope=domain with subdomain access ")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_withsubdomainaccess_parentdomainadminuser(self):
- """
- Validate that admin user in a parent domain is NOT allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for any domain
- """
+ """
+ Validate that admin user in a parent domain is NOT allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for any domain
+ """
# deploy VM as an admin user in parentdomain of a domain that has shared network with subdomain access
-
- self.apiclient.connection.apiKey = self.user_d1_apikey
+
+ self.apiclient.connection.apiKey = self.user_d1_apikey
self.apiclient.connection.securityKey = self.user_d1_secretkey
- self.vmdata["name"] = self.acldata["vmD1"]["name"] +"-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD1"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmD1"]["name"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD1"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_domain_with_subdomain_d11.id
- )
- self.fail("Parent domain's admin user is able to deploy VM in a shared network with scope=domain with subdomain access ")
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_domain_with_subdomain_d11.id
+ )
+ self.fail("Parent domain's admin user is able to deploy VM in a shared network with scope=domain with subdomain access ")
except Exception as e:
self.debug ("When an admin user from parent domain deploys a VM in a shared network with scope=domain with subdomain access %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
@@ -886,26 +886,26 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_withsubdomainaccess_ROOTuser(self):
- """
- Validate that regular user in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for any domain
- """
+ """
+ Validate that regular user in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for any domain
+ """
# deploy VM as user in ROOT domain
-
- self.apiclient.connection.apiKey = self.user_roota_apikey
+
+ self.apiclient.connection.apiKey = self.user_roota_apikey
self.apiclient.connection.securityKey = self.user_roota_secretkey
- self.vmdata["name"] = self.acldata["vmROOTA"]["name"] + "-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmROOTA"]["displayname"] + "-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmROOTA"]["name"] + "-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmROOTA"]["displayname"] + "-shared-scope-domain-withsubdomainaccess"
try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_domain_with_subdomain_d11.id
- )
- self.fail("ROOT domain's user is able to deploy VM in a shared network with scope=domain with subdomain access ")
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_domain_with_subdomain_d11.id
+ )
+ self.fail("ROOT domain's user is able to deploy VM in a shared network with scope=domain with subdomain access ")
except Exception as e:
self.debug ("When a user from ROOT domain deploys a VM in a shared network with scope=domain with subdomain access %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
@@ -914,26 +914,26 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_domain_withsubdomainaccess_ROOTadmin(self):
- """
- Validate that admin user in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for any domain
- """
+ """
+ Validate that admin user in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="domain" and with subdomain access for any domain
+ """
# deploy VM as admin user in ROOT domain
-
- self.apiclient.connection.apiKey = self.user_root_apikey
+
+ self.apiclient.connection.apiKey = self.user_root_apikey
self.apiclient.connection.securityKey = self.user_root_secretkey
- self.vmdata["name"] = self.acldata["vmROOT"]["name"] + "-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmROOT"]["displayname"] + "-shared-scope-domain-withsubdomainaccess"
- try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_domain_with_subdomain_d11.id
- )
- self.fail("ROOT domain's admin user is able to deploy VM in a shared network with scope=domain with subdomain access ")
+ self.vmdata["name"] = self.acldata["vmROOT"]["name"] + "-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmROOT"]["displayname"] + "-shared-scope-domain-withsubdomainaccess"
+ try:
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_domain_with_subdomain_d11.id
+ )
+ self.fail("ROOT domain's admin user is able to deploy VM in a shared network with scope=domain with subdomain access ")
except Exception as e:
self.debug ("When an admin user from ROOT domain deploys a VM in a shared network with scope=domain with subdomain access %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.NOT_AVAILABLE_IN_DOMAIN):
@@ -945,26 +945,26 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_account_domainuser(self):
- """
- Validate that any other user in same domain is NOT allowed to deploy VM in a shared network created with scope="account" for an account
- """
+ """
+ Validate that any other user in same domain is NOT allowed to deploy VM in a shared network created with scope="account" for an account
+ """
# deploy VM as user under the same domain but belonging to a different account from the acount that has a shared network with scope=account
-
- self.apiclient.connection.apiKey = self.user_d111b_apikey
+
+ self.apiclient.connection.apiKey = self.user_d111b_apikey
self.apiclient.connection.securityKey = self.user_d111b_secretkey
- self.vmdata["name"] = self.acldata["vmD111B"]["name"] +"-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD111B"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
- try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_account_d111a.id
- )
- self.fail("User from same domain but different account is able to deploy VM in a shared network with scope=account")
+ self.vmdata["name"] = self.acldata["vmD111B"]["name"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD111B"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
+ try:
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_account_d111a.id
+ )
+ self.fail("User from same domain but different account is able to deploy VM in a shared network with scope=account")
except Exception as e:
self.debug ("When a user from same domain but different account deploys a VM in a shared network with scope=account %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.UNABLE_TO_USE_NETWORK):
@@ -974,26 +974,26 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_account_domainadminuser(self):
- """
- Validate that an admin user under the same domain but belonging to a different account is allowed to deploy VM in a shared network created with scope="account" for an account
+ """
+ Validate that an admin user under the same domain but belonging to a different account is allowed to deploy VM in a shared network created with scope="account" for an account
- """
+ """
# deploy VM as admin user for a domain that has an account with shared network with scope=account
-
- self.apiclient.connection.apiKey = self.user_d111_apikey
+
+ self.apiclient.connection.apiKey = self.user_d111_apikey
self.apiclient.connection.securityKey = self.user_d111_secretkey
- self.vmdata["name"] = self.acldata["vmD111"]["name"] +"-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD111"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
- try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_account_d111a.id
- )
- self.fail("User from same domain but different account is able to deploy VM in a shared network with scope=account")
+ self.vmdata["name"] = self.acldata["vmD111"]["name"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD111"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
+ try:
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_account_d111a.id
+ )
+ self.fail("User from same domain but different account is able to deploy VM in a shared network with scope=account")
except Exception as e:
self.debug ("When a user from same domain but different account deploys a VM in a shared network with scope=account %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.UNABLE_TO_USE_NETWORK):
@@ -1002,16 +1002,16 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_account_user(self):
- """
- Validate that regular user in the account is allowed to deploy VM in a shared network created with scope="account" for an account
- """
+ """
+ Validate that regular user in the account is allowed to deploy VM in a shared network created with scope="account" for an account
+ """
# deploy VM as account with shared network with scope=account
-
- self.apiclient.connection.apiKey = self.user_d111a_apikey
+
+ self.apiclient.connection.apiKey = self.user_d111a_apikey
self.apiclient.connection.securityKey = self.user_d111a_secretkey
- self.vmdata["name"] = self.acldata["vmD111A"]["name"] +"-shared-scope-domain-withsubdomainaccess"
- self.vmdata["displayname"] = self.acldata["vmD111A"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["name"] = self.acldata["vmD111A"]["name"] +"-shared-scope-domain-withsubdomainaccess"
+ self.vmdata["displayname"] = self.acldata["vmD111A"]["displayname"] +"-shared-scope-domain-withsubdomainaccess"
vm = VirtualMachine.create(
self.apiclient,
@@ -1019,35 +1019,35 @@ class TestSharedNetwork(cloudstackTestCase):
zoneid=self.zone.id,
serviceofferingid=self.service_offering.id,
templateid=self.template.id,
- networkids=self.shared_network_account_d111a.id
+ networkids=self.shared_network_account_d111a.id
)
- self.assertEqual(vm.state == "Running",
+ self.assertEqual(vm.state == "Running",
True,
"User in the account that has a shared network with scope=account failed to deploy a VM in this shared network")
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_account_differentdomain(self):
- """
- Validate that regular user from a domain different from that of the account is NOT allowed to deploy VM in a shared network created with scope="account" for an account
- """
+ """
+ Validate that regular user from a domain different from that of the account is NOT allowed to deploy VM in a shared network created with scope="account" for an account
+ """
# deploy VM as a user in a subdomain under ROOT
-
- self.apiclient.connection.apiKey = self.user_d2a_apikey
+
+ self.apiclient.connection.apiKey = self.user_d2a_apikey
self.apiclient.connection.securityKey = self.user_d2a_secretkey
- self.vmdata["name"] = self.acldata["vmD2A"]["name"] +"-shared-scope-account"
- self.vmdata["displayname"] = self.acldata["vmD2A"]["displayname"] +"-shared-scope-account"
+ self.vmdata["name"] = self.acldata["vmD2A"]["name"] +"-shared-scope-account"
+ self.vmdata["displayname"] = self.acldata["vmD2A"]["displayname"] +"-shared-scope-account"
try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_account_d111a.id
- )
- self.fail("User from different domain is able to deploy VM in a shared network with scope=account ")
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_account_d111a.id
+ )
+ self.fail("User from different domain is able to deploy VM in a shared network with scope=account ")
except Exception as e:
self.debug ("When a user from different domain deploys a VM in a shared network with scope=account %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.UNABLE_TO_USE_NETWORK):
@@ -1057,26 +1057,26 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_account_ROOTuser(self):
- """
- Validate that user in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="account" for an account
+ """
+ Validate that user in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="account" for an account
- """
+ """
# deploy VM as user in ROOT domain
-
- self.apiclient.connection.apiKey = self.user_roota_apikey
+
+ self.apiclient.connection.apiKey = self.user_roota_apikey
self.apiclient.connection.securityKey = self.user_roota_secretkey
- self.vmdata["name"] = self.acldata["vmROOTA"]["name"] + "-shared-scope-account"
- self.vmdata["displayname"] = self.acldata["vmROOTA"]["displayname"] + "-shared-scope-account"
+ self.vmdata["name"] = self.acldata["vmROOTA"]["name"] + "-shared-scope-account"
+ self.vmdata["displayname"] = self.acldata["vmROOTA"]["displayname"] + "-shared-scope-account"
try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_account_d111a.id
- )
- self.fail("ROOT domain's user is able to deploy VM in a shared network with scope=account ")
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_account_d111a.id
+ )
+ self.fail("ROOT domain's user is able to deploy VM in a shared network with scope=account ")
except Exception as e:
self.debug ("When a user from ROOT domain deploys a VM in a shared network with scope=account %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.UNABLE_TO_USE_NETWORK):
@@ -1085,26 +1085,26 @@ class TestSharedNetwork(cloudstackTestCase):
@attr("simulator_only",tags=["advanced"],required_hardware="false")
def test_deployVM_in_sharedNetwork_scope_account_ROOTadmin(self):
- """
- Validate that admin user in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="account" for an account
- """
+ """
+ Validate that admin user in ROOT domain is NOT allowed to deploy VM in a shared network created with scope="account" for an account
+ """
# deploy VM as admin user in ROOT domain
-
- self.apiclient.connection.apiKey = self.user_root_apikey
+
+ self.apiclient.connection.apiKey = self.user_root_apikey
self.apiclient.connection.securityKey = self.user_root_secretkey
- self.vmdata["name"] = self.acldata["vmROOT"]["name"] + "-shared-scope-account"
- self.vmdata["displayname"] = self.acldata["vmROOT"]["displayname"] + "-shared-scope-account"
+ self.vmdata["name"] = self.acldata["vmROOT"]["name"] + "-shared-scope-account"
+ self.vmdata["displayname"] = self.acldata["vmROOT"]["displayname"] + "-shared-scope-account"
try:
- vm = VirtualMachine.create(
- self.apiclient,
- self.vmdata,
- zoneid=self.zone.id,
- serviceofferingid=self.service_offering.id,
- templateid=self.template.id,
- networkids=self.shared_network_account_d111a.id
- )
- self.fail("ROOT domain's admin user is able to deploy VM in a shared network with scope=account ")
+ vm = VirtualMachine.create(
+ self.apiclient,
+ self.vmdata,
+ zoneid=self.zone.id,
+ serviceofferingid=self.service_offering.id,
+ templateid=self.template.id,
+ networkids=self.shared_network_account_d111a.id
+ )
+ self.fail("ROOT domain's admin user is able to deploy VM in a shared network with scope=account ")
except Exception as e:
self.debug ("When an admin user from ROOT domain deploys a VM in a shared network with scope=account %s" %e)
if not CloudstackAclException.verifyMsginException(e,CloudstackAclException.UNABLE_TO_USE_NETWORK):
diff --git a/test/integration/component/test_browse_templates2.py b/test/integration/component/test_browse_templates2.py
old mode 100755
new mode 100644
diff --git a/test/integration/component/test_concurrent_snapshots_limit.py b/test/integration/component/test_concurrent_snapshots_limit.py
old mode 100755
new mode 100644
diff --git a/test/integration/component/test_deploy_vm_userdata_multi_nic.py b/test/integration/component/test_deploy_vm_userdata_multi_nic.py
old mode 100755
new mode 100644
diff --git a/test/integration/component/test_deploy_vm_userdata_reg.py b/test/integration/component/test_deploy_vm_userdata_reg.py
old mode 100755
new mode 100644
diff --git a/test/integration/component/test_dhcp_dns_offload.py b/test/integration/component/test_dhcp_dns_offload.py
old mode 100755
new mode 100644
diff --git a/test/integration/component/test_egress_fw_rules.py b/test/integration/component/test_egress_fw_rules.py
old mode 100755
new mode 100644
diff --git a/test/integration/component/test_ncc_integration_dedicated.py b/test/integration/component/test_ncc_integration_dedicated.py
old mode 100755
new mode 100644
diff --git a/test/integration/component/test_ncc_integration_shared.py b/test/integration/component/test_ncc_integration_shared.py
old mode 100755
new mode 100644
diff --git a/test/integration/component/test_ps_resize_volume.py b/test/integration/component/test_ps_resize_volume.py
old mode 100755
new mode 100644
diff --git a/test/integration/component/test_security_groups.py b/test/integration/component/test_security_groups.py
old mode 100755
new mode 100644
diff --git a/test/integration/component/test_tags.py b/test/integration/component/test_tags.py
index 9180e7b..dcf82c1 100644
--- a/test/integration/component/test_tags.py
+++ b/test/integration/component/test_tags.py
@@ -878,14 +878,14 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create a tag on VM using createTags API
# 2. Delete above created tag using deleteTags API
- tag_key = 'scope'
+ tag_key = 'scope5'
tag_value = 'test_05_vm_tag'
self.debug("Creating a tag for user VM")
tag = Tag.create(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
self.debug("Tag created: %s" % tag.__dict__)
@@ -893,7 +893,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -927,7 +927,7 @@ class TestResourceTags(cloudstackTestCase):
Tag.delete(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
except Exception as e:
@@ -937,7 +937,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -1163,7 +1163,7 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create a tag on volume using createTags API
# 2. Delete above created tag using deleteTags API
- tag_key = 'scope'
+ tag_key = 'scope8'
tag_value = 'test_08_volume_tag'
if self.hypervisor.lower() == 'lxc':
@@ -1364,7 +1364,7 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create a tag on Network using createTags API
# 2. Delete above created tag using deleteTags API
- tag_key = 'scope'
+ tag_key = 'scope10'
tag_value = 'test_10_network_tag'
self.debug("Fetching the network details for account: %s" %
@@ -1463,7 +1463,7 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create a tag on VM using createTags API
# 2. Delete above created tag using deleteTags API
- tag_key = 'scope'
+ tag_key = 'scope11'
tag_value = 'test_11_migrate_tagged_vm_del'
if self.hypervisor.lower() in ['lxc']:
@@ -1509,7 +1509,7 @@ class TestResourceTags(cloudstackTestCase):
tag = Tag.create(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
self.debug("Tag created: %s" % tag.__dict__)
@@ -1517,7 +1517,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -1544,7 +1544,7 @@ class TestResourceTags(cloudstackTestCase):
Tag.delete(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
except Exception as e:
@@ -1554,7 +1554,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -1576,14 +1576,14 @@ class TestResourceTags(cloudstackTestCase):
# 2. Add same tag in upper case.
# 3. Verify that tag creation failed.
- tag_key = 'scope'
+ tag_key = 'scope13'
tag_value = 'test_13_tag_case_insensitive'
self.debug("Creating a tag for user VM")
tag_1 = Tag.create(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
self.debug("Tag created: %s" % tag_1.__dict__)
@@ -1591,7 +1591,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -1611,7 +1611,7 @@ class TestResourceTags(cloudstackTestCase):
try:
Tag.create(self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key.upper(): tag_value.uppper()})
except Exception as e:
pass
@@ -1622,7 +1622,7 @@ class TestResourceTags(cloudstackTestCase):
Tag.delete(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
except Exception as e:
@@ -1632,7 +1632,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -1654,14 +1654,14 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create more than 10 tags to VM using createTags API
# 2. Create a tag with special characters on VM using createTags API
- tag_key = 'scope'
+ tag_key = 'scope14'
tag_value = 'test_14_special_char_mutiple_tags'
self.debug("Creating a tag for user VM")
tag = Tag.create(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={
tag_key: tag_value,
'offering': 'high',
@@ -1681,7 +1681,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -1701,7 +1701,7 @@ class TestResourceTags(cloudstackTestCase):
Tag.delete(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={
tag_key: tag_value,
'offering': 'high',
@@ -1727,7 +1727,7 @@ class TestResourceTags(cloudstackTestCase):
# 2. Create a tag on projects using createTags API
# 3. Delete the tag.
- tag_key = 'scope'
+ tag_key = 'scope15'
tag_value = 'test_15_project_tag'
# Create project as a domain admin
@@ -1755,7 +1755,7 @@ class TestResourceTags(cloudstackTestCase):
self.apiclient,
listall=True,
resourceType='project',
- resourceIds=project.id,
+ resourceId=project.id,
key=tag_key,
)
self.debug("tags = %s" % tags)
@@ -1822,7 +1822,7 @@ class TestResourceTags(cloudstackTestCase):
# 3. Login with other account and query the tags using
# listTags API
- tag_key = 'scope'
+ tag_key = 'scope16'
tag_value = 'test_16_query_tags_other_account'
self.debug("Creating user accounts..")
@@ -1923,7 +1923,7 @@ class TestResourceTags(cloudstackTestCase):
# 3. Login with admin account and query the tags using
# listTags API
- tag_key = 'scope'
+ tag_key = 'scope17'
tag_value = 'test_17_query_tags_admin_account'
self.debug("Creating user accounts..")
@@ -2011,14 +2011,14 @@ class TestResourceTags(cloudstackTestCase):
# 1. Create a tag on supported resource type(ex:vms)
# 2. Run the list API commands with passing invalid key parameter
- tag_key = 'scope'
+ tag_key = 'scope18'
tag_value = 'test_18_invalid_list_parameters'
self.debug("Creating a tag for user VM")
tag = Tag.create(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
self.debug("Tag created: %s" % tag.__dict__)
@@ -2029,7 +2029,7 @@ class TestResourceTags(cloudstackTestCase):
# subsequent tests fail to tag the vm_1 with same key-pair
# breaking the tests.
self.rm_tags.append({'tag_obj': tag,
- 'restype': 'userVM',
+ 'restype': 'UserVm',
'resid': self.vm_1.id,
'tags': [
{'key': tag_key, 'value': tag_value}
@@ -2059,14 +2059,14 @@ class TestResourceTags(cloudstackTestCase):
# 1. Deletion of a tag without any errors.
# 2. Add same tag.
- tag_key = 'scope'
+ tag_key = 'scope19'
tag_value = 'test_19_delete_add_same_tag'
self.debug("Creating a tag for user VM")
tag = Tag.create(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
self.debug("Tag created: %s" % tag.__dict__)
@@ -2074,7 +2074,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -2097,7 +2097,7 @@ class TestResourceTags(cloudstackTestCase):
Tag.delete(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
except Exception as e:
@@ -2107,7 +2107,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -2122,7 +2122,7 @@ class TestResourceTags(cloudstackTestCase):
tag = Tag.create(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
self.debug("Tag created: %s" % tag.__dict__)
@@ -2130,7 +2130,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -2152,7 +2152,7 @@ class TestResourceTags(cloudstackTestCase):
Tag.delete(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
except Exception as e:
@@ -2163,7 +2163,7 @@ class TestResourceTags(cloudstackTestCase):
def test_20_create_tags_multiple_resources(self):
"Test creation of same tag on multiple resources"
- tag_key = 'scope'
+ tag_key = 'scope20'
tag_value = 'test_20_create_tags_multiple_resources'
self.debug("Creating volume for account: %s " % self.account.name)
@@ -2212,7 +2212,7 @@ class TestResourceTags(cloudstackTestCase):
tag = Tag.create(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
self.debug("Tag created: %s" % tag.__dict__)
@@ -2220,7 +2220,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -2243,7 +2243,7 @@ class TestResourceTags(cloudstackTestCase):
Tag.delete(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
except Exception as e:
@@ -2253,7 +2253,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -2271,7 +2271,7 @@ class TestResourceTags(cloudstackTestCase):
def test_21_create_tag_stopped_vm(self):
"Test creation of tag on stopped vm."
- tag_key = 'scope'
+ tag_key = 'scope21'
tag_value = 'test_21_create_tag_stopped_vm'
try:
@@ -2283,7 +2283,7 @@ class TestResourceTags(cloudstackTestCase):
tag = Tag.create(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
self.debug("Tag created: %s" % tag.__dict__)
@@ -2291,7 +2291,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -2313,7 +2313,7 @@ class TestResourceTags(cloudstackTestCase):
Tag.delete(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
except Exception as e:
@@ -2324,7 +2324,7 @@ class TestResourceTags(cloudstackTestCase):
def test_22_create_tag_destroyed_vm(self):
"Test creation of tag on stopped vm."
- tag_key = 'scope'
+ tag_key = 'scope22'
tag_value = 'test_22_create_tag_destroyed_vm'
self.debug("Destroying instance: %s" % self.vm_1.name)
@@ -2334,7 +2334,7 @@ class TestResourceTags(cloudstackTestCase):
tag = Tag.create(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
self.debug("Tag created: %s" % tag.__dict__)
@@ -2342,7 +2342,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
@@ -2365,7 +2365,7 @@ class TestResourceTags(cloudstackTestCase):
Tag.delete(
self.apiclient,
resourceIds=self.vm_1.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
except Exception as e:
@@ -2479,7 +2479,7 @@ class TestResourceTags(cloudstackTestCase):
# 3. Delete above created tag using deleteTags API
# 4. Perform steps 2&3 using domain-admin
- tag_key = 'scope'
+ tag_key = 'scope24'
tag_value = 'test_24_public_ip_tag'
self.debug("Creating a sub-domain under: %s" % self.domain.name)
@@ -2799,10 +2799,10 @@ class TestResourceTags(cloudstackTestCase):
def test_31_user_cant_remove_update_admin_tags(self):
'''Tests that an user is unable to remove, modify tags created by admin but should access'''
- tag_key_user = 'scope_user'
+ tag_key_user = 'scope31_user'
tag_value_user = 'test_31_user_cant_remove_update_admin_tags'
- tag_key_admin = 'scope_admin'
+ tag_key_admin = 'scope31_admin'
tag_value_admin = 'test_31_user_cant_remove_update_admin_tags'
regular_account = Account.create(
@@ -2919,10 +2919,10 @@ class TestResourceTags(cloudstackTestCase):
def test_32_user_a_doesnt_have_access_to_user_b_tags(self):
'''Test resource security between regular accounts A and B'''
- tag_key_user1 = 'scope_user1'
+ tag_key_user1 = 'scope32_user1'
tag_value_user1 = 'test_32_user_a_doesnt_have_access_to_user_b_tags-user1'
- tag_key_user2 = 'scope_user2'
+ tag_key_user2 = 'scope32_user2'
tag_value_user2 = 'test_32_user_a_doesnt_have_access_to_user_b_tags-user2'
regular_account1 = Account.create(
@@ -3001,7 +3001,7 @@ class TestResourceTags(cloudstackTestCase):
# 2. Create the same tag on VM using createTags API
# 3. check the return for the right error message
- tag_key = 'scope'
+ tag_key = 'scope33'
tag_value = 'test_33_duplicate_vm_tag'
self.debug("Creating a tag for user VM")
@@ -3009,7 +3009,7 @@ class TestResourceTags(cloudstackTestCase):
tag = Tag.create(
self.apiclient,
resourceIds=self.vm_2.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
self.debug("Tag created: %s" % tag.__dict__)
@@ -3019,16 +3019,15 @@ class TestResourceTags(cloudstackTestCase):
erronousTag = Tag.create(
self.apiclient,
resourceIds=self.vm_2.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
except Exception as e:
# verify e.message
- assert "tag scope already on UserVm with id" in e.message, \
+ assert "tag scope33 already on UserVm with id" in e.message, \
"neat error message missing from error result"
pass
-
# we should still find the tag
vms = VirtualMachine.list(
self.apiclient,
@@ -3047,7 +3046,7 @@ class TestResourceTags(cloudstackTestCase):
Tag.delete(
self.apiclient,
resourceIds=self.vm_2.id,
- resourceType='userVM',
+ resourceType='UserVm',
tags={tag_key: tag_value}
)
except Exception as e:
@@ -3057,7 +3056,7 @@ class TestResourceTags(cloudstackTestCase):
tags = Tag.list(
self.apiclient,
listall=True,
- resourceType='userVM',
+ resourceType='UserVm',
account=self.account.name,
domainid=self.account.domainid,
key=tag_key,
diff --git a/test/integration/smoke/test_create_list_domain_account_project.py b/test/integration/smoke/test_create_list_domain_account_project.py
index d06a9af..5f0f945 100644
--- a/test/integration/smoke/test_create_list_domain_account_project.py
+++ b/test/integration/smoke/test_create_list_domain_account_project.py
@@ -85,6 +85,7 @@ class TestDomainAccountProject(cloudstackTestCase):
raise Exception("Warning: Exception during cleanup : %s" % e)
return
+ @attr(tags=["advanced", "basic", "sg"], required_hardware="false")
def test_01_create_list_domain_account_project(self):
""" Verify list domain, account and project return expected response
"""
diff --git a/tools/travis/after_failure.sh b/tools/travis/after_failure.sh
index e365567..901d06c 100755
--- a/tools/travis/after_failure.sh
+++ b/tools/travis/after_failure.sh
@@ -20,4 +20,5 @@
# failure.
#
find rat.txt -type f -exec echo -e "Printing RAT license-failures {} :\n" \; -exec cat {} \;
-find /tmp//MarvinLogs -type f -exec echo -e "Printing logfile {} :\n" \; -exec cat {} \;
+find /tmp//MarvinLogs -type f -exec echo -e "Printing marvin logs {} :\n" \; -exec cat {} \;
+find vmops.log -type f -exec echo -e "Printing management server logs {} :\n" \; -exec cat {} \;
diff --git a/tools/travis/script.sh b/tools/travis/script.sh
index edf53ee..4875a51 100755
--- a/tools/travis/script.sh
+++ b/tools/travis/script.sh
@@ -30,7 +30,7 @@ set -e
for suite in "${TESTS[@]}" ; do
echo "Currently running test: $suite"
- nosetests --with-xunit --xunit-file=integration-test-results/$suite.xml --with-marvin --marvin-config=setup/dev/advanced.cfg test/integration/$suite.py -s -a tags=advanced,required_hardware=false --zone=Sandbox-simulator --hypervisor=simulator || true ;
+ time nosetests --with-xunit --xunit-file=integration-test-results/$suite.xml --with-marvin --marvin-config=setup/dev/advanced.cfg test/integration/$suite.py -s -a tags=advanced,required_hardware=false --zone=Sandbox-simulator --hypervisor=simulator || true ;
done
python ./tools/travis/xunit-reader.py integration-test-results/
diff --git a/tools/travis/xunit-reader.py b/tools/travis/xunit-reader.py
index b23fb46..659d3e6 100755
--- a/tools/travis/xunit-reader.py
+++ b/tools/travis/xunit-reader.py
@@ -99,7 +99,8 @@ def parse_reports(file_path_list):
if 'type' in children.attrib:
status = children.attrib['type']
- table.add_row([name, status, time, file_path.replace(".xml", "").split("/")[-1]])
+ if status not in ('Skipped', 'Success'):
+ table.add_row([name, status, time, file_path.replace(".xml", "").split("/")[-1]])
print table.draw()