Return-Path: X-Original-To: apmail-cloudstack-commits-archive@www.apache.org Delivered-To: apmail-cloudstack-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6B98511AB1 for ; Tue, 6 May 2014 10:25:34 +0000 (UTC) Received: (qmail 97314 invoked by uid 500); 6 May 2014 10:01:13 -0000 Delivered-To: apmail-cloudstack-commits-archive@cloudstack.apache.org Received: (qmail 96682 invoked by uid 500); 6 May 2014 10:00:51 -0000 Mailing-List: contact commits-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list commits@cloudstack.apache.org Received: (qmail 96324 invoked by uid 99); 6 May 2014 10:00:42 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 May 2014 10:00:42 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 07C4E9350E5; Tue, 6 May 2014 10:00:37 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: girish@apache.org To: commits@cloudstack.apache.org Date: Tue, 06 May 2014 10:01:06 -0000 Message-Id: <48f1775ad96b4529a039356f8c2209db@git.apache.org> In-Reply-To: <89c1b04175f3471083a36f66bcde5aee@git.apache.org> References: <89c1b04175f3471083a36f66bcde5aee@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [32/32] git commit: updated refs/heads/4.4-forward to 8546f76 Merge 4.4-atuomation into 4.4-forward Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/8546f76b Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/8546f76b Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/8546f76b Branch: refs/heads/4.4-forward Commit: 8546f76b7340d67aa413a0e2a83e4b024e7c40ee Parents: 5e06713 87205f9 Author: Girish Shilamkar Authored: Mon May 5 23:11:17 2014 -0400 Committer: Girish Shilamkar Committed: Mon May 5 23:11:17 2014 -0400 ---------------------------------------------------------------------- .../maint/test_egress_rules_host_maintenance.py | 20 +- .../component/maint/test_high_availability.py | 26 +- .../maint/test_host_high_availability.py | 36 +- .../component/maint/test_multiple_ip_ranges.py | 20 +- .../component/maint/test_redundant_router.py | 70 +- ...test_redundant_router_deployment_planning.py | 17 +- .../test_redundant_router_network_rules.py | 17 +- .../maint/test_vpc_host_maintenance.py | 21 +- .../maint/test_vpc_on_host_maintenance.py | 17 +- .../component/test_VirtualRouter_alerts.py | 22 +- test/integration/component/test_accounts.py | 141 +- .../component/test_add_remove_network.py | 118 +- .../component/test_advancedsg_networks.py | 79 +- .../component/test_affinity_groups.py | 115 +- .../component/test_allocation_states.py | 39 +- test/integration/component/test_asa1000v_fw.py | 18 +- test/integration/component/test_assign_vm.py | 39 +- test/integration/component/test_baremetal.py | 28 +- .../component/test_base_image_updation.py | 22 +- test/integration/component/test_blocker_bugs.py | 74 +- .../component/test_cpu_domain_limits.py | 38 +- test/integration/component/test_cpu_limits.py | 35 +- .../component/test_cpu_max_limits.py | 25 +- .../component/test_cpu_project_limits.py | 17 +- .../component/test_custom_hostname.py | 44 +- .../component/test_deploy_vm_userdata_reg.py | 19 +- .../component/test_dynamic_compute_offering.py | 92 +- .../component/test_egress_fw_rules.py | 19 +- test/integration/component/test_egress_rules.py | 126 +- test/integration/component/test_eip_elb.py | 22 +- test/integration/component/test_escalations.py | 8230 ++++++++++++++++++ .../component/test_explicit_dedication.py | 15 +- test/integration/component/test_haproxy.py | 15 +- .../component/test_implicit_planner.py | 15 +- .../component/test_ip_reservation.py | 156 +- test/integration/component/test_ldap.py | 6 +- .../integration/component/test_memory_limits.py | 32 +- .../component/test_mm_domain_limits.py | 36 +- .../integration/component/test_mm_max_limits.py | 23 +- .../component/test_mm_project_limits.py | 17 +- .../component/test_multiple_ip_ranges.py | 28 +- .../component/test_multiple_ips_per_nic.py | 525 +- .../component/test_netscaler_configs.py | 116 +- test/integration/component/test_netscaler_lb.py | 116 +- .../component/test_netscaler_lb_algo.py | 106 +- .../component/test_netscaler_lb_sticky.py | 17 +- .../component/test_netscaler_nw_off.py | 82 +- .../component/test_network_offering.py | 39 +- .../component/test_non_contiguous_vlan.py | 22 +- .../component/test_persistent_networks.py | 133 +- test/integration/component/test_portable_ip.py | 142 +- .../component/test_project_configs.py | 62 +- .../component/test_project_limits.py | 35 +- .../component/test_project_resources.py | 69 +- .../integration/component/test_project_usage.py | 102 +- test/integration/component/test_projects.py | 109 +- .../component/test_recurring_snapshots.py | 16 +- .../component/test_redundant_router_cleanups.py | 17 +- .../component/test_redundant_router_services.py | 17 +- .../component/test_redundant_router_upgrades.py | 17 +- test/integration/component/test_region_vpc.py | 38 +- test/integration/component/test_regions.py | 8 +- .../component/test_regions_accounts.py | 8 +- .../component/test_reset_ssh_keypair.py | 24 +- .../component/test_resource_limits.py | 33 +- test/integration/component/test_routers.py | 45 +- .../component/test_security_groups.py | 59 +- .../component/test_shared_networks.py | 17 +- test/integration/component/test_snapshot_gc.py | 16 +- .../component/test_snapshot_limits.py | 16 +- test/integration/component/test_snapshots.py | 34 +- .../component/test_snapshots_improvement.py | 26 +- test/integration/component/test_stopped_vm.py | 99 +- .../component/test_storage_motion.py | 15 +- test/integration/component/test_tags.py | 34 +- test/integration/component/test_templates.py | 31 +- test/integration/component/test_update_vm.py | 12 +- test/integration/component/test_usage.py | 78 +- .../component/test_vm_passwdenabled.py | 18 +- test/integration/component/test_vmware_drs.py | 61 +- test/integration/component/test_volumes.py | 60 +- test/integration/component/test_vpc.py | 49 +- .../test_vpc_distributed_routing_offering.py | 35 +- test/integration/component/test_vpc_network.py | 54 +- .../component/test_vpc_network_lbrules.py | 17 +- .../component/test_vpc_network_pfrules.py | 17 +- .../component/test_vpc_network_staticnatrule.py | 17 +- .../integration/component/test_vpc_offerings.py | 17 +- test/integration/component/test_vpc_routers.py | 200 +- .../component/test_vpc_vm_life_cycle.py | 61 +- .../component/test_vpc_vms_deployment.py | 17 +- test/integration/component/test_vpn_users.py | 23 +- test/integration/smoke/test_affinity_groups.py | 85 +- .../smoke/test_deploy_vgpu_enabled_vm.py | 18 +- test/integration/smoke/test_deploy_vm.py | 64 +- .../smoke/test_deploy_vm_root_resize.py | 41 +- .../smoke/test_deploy_vm_with_userdata.py | 60 +- ...deploy_vms_with_varied_deploymentplanners.py | 56 +- test/integration/smoke/test_disk_offerings.py | 125 +- test/integration/smoke/test_global_settings.py | 6 +- test/integration/smoke/test_guest_vlan_range.py | 39 +- test/integration/smoke/test_hosts.py | 88 +- test/integration/smoke/test_internal_lb.py | 79 +- test/integration/smoke/test_iso.py | 149 +- test/integration/smoke/test_loadbalance.py | 126 +- .../smoke/test_multipleips_per_nic.py | 50 +- test/integration/smoke/test_network.py | 236 +- test/integration/smoke/test_network_acl.py | 74 +- test/integration/smoke/test_nic.py | 133 +- .../smoke/test_non_contigiousvlan.py | 4 +- .../integration/smoke/test_over_provisioning.py | 29 +- .../integration/smoke/test_portable_publicip.py | 110 +- test/integration/smoke/test_primary_storage.py | 31 +- test/integration/smoke/test_privategw_acl.py | 31 +- test/integration/smoke/test_public_ip_range.py | 50 +- test/integration/smoke/test_pvlan.py | 18 +- test/integration/smoke/test_regions.py | 35 +- .../smoke/test_reset_vm_on_reboot.py | 86 +- test/integration/smoke/test_resource_detail.py | 95 +- test/integration/smoke/test_routers.py | 131 +- test/integration/smoke/test_scale_vm.py | 97 +- .../integration/smoke/test_secondary_storage.py | 12 +- .../integration/smoke/test_service_offerings.py | 136 +- test/integration/smoke/test_snapshots.py | 135 +- test/integration/smoke/test_ssvm.py | 34 +- test/integration/smoke/test_templates.py | 175 +- test/integration/smoke/test_vm_ha.py | 6 +- test/integration/smoke/test_vm_iam.py | 12 +- test/integration/smoke/test_vm_life_cycle.py | 192 +- test/integration/smoke/test_vm_snapshots.py | 106 +- test/integration/smoke/test_volumes.py | 177 +- test/integration/smoke/test_vpc_vpn.py | 112 +- tools/marvin/marvin/__init__.py | 2 +- tools/marvin/marvin/asyncJobMgr.py | 12 +- tools/marvin/marvin/cloudstackConnection.py | 478 +- tools/marvin/marvin/cloudstackException.py | 19 +- tools/marvin/marvin/cloudstackTestCase.py | 6 +- tools/marvin/marvin/cloudstackTestClient.py | 550 +- tools/marvin/marvin/codegenerator.py | 30 +- tools/marvin/marvin/codes.py | 21 +- tools/marvin/marvin/config/__init__.py | 16 + tools/marvin/marvin/config/config.cfg | 425 - tools/marvin/marvin/config/test_data.py | 803 ++ tools/marvin/marvin/configGenerator.py | 234 +- tools/marvin/marvin/dbConnection.py | 9 +- tools/marvin/marvin/deployAndRun.py | 10 +- tools/marvin/marvin/deployDataCenter.py | 1537 ++-- tools/marvin/marvin/integration/__init__.py | 18 - tools/marvin/marvin/integration/lib/__init__.py | 16 - tools/marvin/marvin/integration/lib/base.py | 3890 --------- tools/marvin/marvin/integration/lib/common.py | 1036 --- tools/marvin/marvin/integration/lib/utils.py | 453 - tools/marvin/marvin/jsonHelper.py | 9 +- tools/marvin/marvin/lib/__init__.py | 16 + tools/marvin/marvin/lib/base.py | 4361 ++++++++++ tools/marvin/marvin/lib/common.py | 1176 +++ tools/marvin/marvin/lib/utils.py | 540 ++ tools/marvin/marvin/marvinInit.py | 251 +- tools/marvin/marvin/marvinLog.py | 141 +- tools/marvin/marvin/marvinPlugin.py | 308 +- tools/marvin/marvin/src/__init__.py | 16 + tools/marvin/marvin/sshClient.py | 146 +- tools/marvin/marvin/tcExecuteEngine.py | 10 +- tools/marvin/marvin/testSetupSuccess.py | 1 + tools/marvin/setup.py | 60 +- 165 files changed, 21191 insertions(+), 11582 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8546f76b/test/integration/smoke/test_vm_ha.py ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/8546f76b/tools/marvin/marvin/deployDataCenter.py ---------------------------------------------------------------------- diff --cc tools/marvin/marvin/deployDataCenter.py index e5a0749,31f663e..4d8be58 --- a/tools/marvin/marvin/deployDataCenter.py +++ b/tools/marvin/marvin/deployDataCenter.py @@@ -256,94 -472,120 +472,127 @@@ class DeployDataCenters(object) We will enable the virtualrouter elements for all zones. Other providers like NetScalers, SRX, etc are explicitly added/configured """ - - for provider in providers: - pnetprov = listNetworkServiceProviders.\ - listNetworkServiceProvidersCmd() - pnetprov.physicalnetworkid = phynetwrk.id - pnetprov.state = "Disabled" - pnetprov.name = provider.name - pnetprovres = self.apiClient.listNetworkServiceProviders(pnetprov) - - if pnetprovres and len(pnetprovres) > 0: - if provider.name == 'VirtualRouter'\ - or provider.name == 'VpcVirtualRouter': - vrprov = listVirtualRouterElements.\ - listVirtualRouterElementsCmd() - vrprov.nspid = pnetprovres[0].id - vrprovresponse = self.apiClient.\ - listVirtualRouterElements(vrprov) - vrprovid = vrprovresponse[0].id - - vrconfig = \ - configureVirtualRouterElement.\ - configureVirtualRouterElementCmd() - vrconfig.enabled = "true" - vrconfig.id = vrprovid - self.apiClient.configureVirtualRouterElement(vrconfig) - self.enableProvider(pnetprovres[0].id) - elif provider.name == 'InternalLbVm': - internallbprov = listInternalLoadBalancerElements.\ - listInternalLoadBalancerElementsCmd() - internallbprov.nspid = pnetprovres[0].id - internallbresponse = self.apiClient.\ - listInternalLoadBalancerElements(internallbprov) - internallbid = internallbresponse[0].id - - internallbconfig = \ - configureInternalLoadBalancerElement.\ - configureInternalLoadBalancerElementCmd() - internallbconfig.enabled = "true" - internallbconfig.id = internallbid - self.apiClient.\ - configureInternalLoadBalancerElement(internallbconfig) - self.enableProvider(pnetprovres[0].id) - elif provider.name == 'SecurityGroupProvider': - self.enableProvider(pnetprovres[0].id) - elif provider.name in ['JuniperContrailRouter', 'JuniperContrailVpcRouter']: - netprov = addNetworkServiceProvider.\ - addNetworkServiceProviderCmd() - netprov.name = provider.name - netprov.physicalnetworkid = phynetwrk.id - result = self.apiClient.addNetworkServiceProvider(netprov) - self.enableProvider(result.id) - elif provider.name in ['Netscaler', 'JuniperSRX', 'F5BigIp']: - netprov = addNetworkServiceProvider.\ - addNetworkServiceProviderCmd() - netprov.name = provider.name - netprov.physicalnetworkid = phynetwrk.id - result = self.apiClient.addNetworkServiceProvider(netprov) - for device in provider.devices: - if provider.name == 'Netscaler': - dev = addNetscalerLoadBalancer.\ - addNetscalerLoadBalancerCmd() - dev.username = device.username - dev.password = device.password - dev.networkdevicetype = device.networkdevicetype - dev.url = configGenerator.getDeviceUrl(device) - dev.physicalnetworkid = phynetwrk.id - self.apiClient.addNetscalerLoadBalancer(dev) - elif provider.name == 'JuniperSRX': - dev = addSrxFirewall.addSrxFirewallCmd() - dev.username = device.username - dev.password = device.password - dev.networkdevicetype = device.networkdevicetype - dev.url = configGenerator.getDeviceUrl(device) - dev.physicalnetworkid = phynetwrk.id - self.apiClient.addSrxFirewall(dev) - elif provider.name == 'F5BigIp': - dev = addF5LoadBalancer.addF5LoadBalancerCmd() - dev.username = device.username - dev.password = device.password - dev.networkdevicetype = device.networkdevicetype - dev.url = configGenerator.getDeviceUrl(device) - dev.physicalnetworkid = phynetwrk.id - self.apiClient.addF5LoadBalancer(dev) - else: - raise cloudstackException.\ - InvalidParameterException("Device %s doesn't match\ - any know provider type" % device) - self.enableProvider(result.id) + try: + for provider in providers: + pnetprov = listNetworkServiceProviders.\ + listNetworkServiceProvidersCmd() + pnetprov.physicalnetworkid = phynetwrk.id + pnetprov.state = "Disabled" + pnetprov.name = provider.name + pnetprovres = self.__apiClient.listNetworkServiceProviders( + pnetprov) + if pnetprovres and len(pnetprovres) > 0: + if provider.name == 'VirtualRouter'\ + or provider.name == 'VpcVirtualRouter': + vrprov = listVirtualRouterElements.\ + listVirtualRouterElementsCmd() + vrprov.nspid = pnetprovres[0].id + vrprovresponse = self.__apiClient.\ + listVirtualRouterElements(vrprov) + vrprovid = vrprovresponse[0].id + vrconfig = \ + configureVirtualRouterElement.\ + configureVirtualRouterElementCmd() + vrconfig.enabled = "true" + vrconfig.id = vrprovid + self.__apiClient.\ + configureVirtualRouterElement(vrconfig) + self.enableProvider(pnetprovres[0].id) + elif provider.name == 'InternalLbVm': + internallbprov = listInternalLoadBalancerElements.\ + listInternalLoadBalancerElementsCmd() + internallbprov.nspid = pnetprovres[0].id + internallbresponse = self.__apiClient.\ + listInternalLoadBalancerElements(internallbprov) + internallbid = internallbresponse[0].id + internallbconfig = \ + configureInternalLoadBalancerElement.\ + configureInternalLoadBalancerElementCmd() + internallbconfig.enabled = "true" + internallbconfig.id = internallbid + self.__apiClient.\ + configureInternalLoadBalancerElement( + internallbconfig) + self.enableProvider(pnetprovres[0].id) + elif provider.name == 'SecurityGroupProvider': + self.enableProvider(pnetprovres[0].id) ++ elif provider.name in ['JuniperContrailRouter', 'JuniperContrailVpcRouter']: ++ netprov = addNetworkServiceProvider.\ ++ addNetworkServiceProviderCmd() ++ netprov.name = provider.name ++ netprov.physicalnetworkid = phynetwrk.id ++ result = self.apiClient.addNetworkServiceProvider(netprov) ++ self.enableProvider(result.id) + elif provider.name in ['Netscaler', 'JuniperSRX', 'F5BigIp']: + netprov = addNetworkServiceProvider.\ + addNetworkServiceProviderCmd() + netprov.name = provider.name + netprov.physicalnetworkid = phynetwrk.id + result = self.__apiClient.addNetworkServiceProvider( + netprov) + if result.id: + self.__tcRunLogger.\ + debug("==== AddNetworkServiceProvider " + "Successful=====") + self.__addToCleanUp( + "NetworkServiceProvider", + result.id) + for device in provider.devices: + if provider.name == 'Netscaler': + dev = addNetscalerLoadBalancer.\ + addNetscalerLoadBalancerCmd() + dev.username = device.username + dev.password = device.password + dev.networkdevicetype = device.networkdevicetype + dev.url = configGenerator.getDeviceUrl(device) + dev.physicalnetworkid = phynetwrk.id + ret = self.__apiClient.addNetscalerLoadBalancer( + dev) + if ret.id: + self.__tcRunLogger.\ + debug("==== AddNetScalerLB " + "Successful=====") + self.__addToCleanUp( + "NetscalerLoadBalancer", + ret.id) + elif provider.name == 'JuniperSRX': + dev = addSrxFirewall.addSrxFirewallCmd() + dev.username = device.username + dev.password = device.password + dev.networkdevicetype = device.networkdevicetype + dev.url = configGenerator.getDeviceUrl(device) + dev.physicalnetworkid = phynetwrk.id + ret = self.__apiClient.addSrxFirewall(dev) + if ret.id: + self.__tcRunLogger.\ + debug("==== AddSrx " + "Successful=====") + self.__addToCleanUp("SrxFirewall", ret.id) + elif provider.name == 'F5BigIp': + dev = addF5LoadBalancer.addF5LoadBalancerCmd() + dev.username = device.username + dev.password = device.password + dev.networkdevicetype = device.networkdevicetype + dev.url = configGenerator.getDeviceUrl(device) + dev.physicalnetworkid = phynetwrk.id + ret = self.__apiClient.addF5LoadBalancer(dev) + if ret.id: + self.__tcRunLogger.\ + debug("==== AddF5 " + "Successful=====") + self.__addToCleanUp("F5LoadBalancer", ret.id) + else: + raise InvalidParameterException( + "Device %s doesn't match " + "any know provider " + "type" % device) + self.enableProvider(result.id) + except Exception as e: + print "Exception Occurred: %s" % GetDetailExceptionInfo(e) + self.__tcRunLogger.\ + exception("====List Network " + "Service Providers Failed=====") + self.__cleanAndExit() def addTrafficTypes(self, physical_network_id, traffictypes): [self.addTrafficType(physical_network_id, traffic_type)