Merge branch 'master' into bvt
Conflicts:
client/pom.xml
client/tomcatconf/componentContext.xml.in
pom.xml
setup/db/templates.simulator.sql
tools/marvin/pom.xml
Signed-off-by: Prasanna Santhanam <[email protected]>
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7f6e817e
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7f6e817e
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7f6e817e
Branch: refs/heads/bvt
Commit: 7f6e817e3f632d0222b7697e8e062ca1d36d8348
Parents: 4a6782b 0be5ba4
Author: Prasanna Santhanam <[email protected]>
Authored: Sat Mar 23 18:00:04 2013 +0530
Committer: Prasanna Santhanam <[email protected]>
Committed: Sat Mar 23 18:00:04 2013 +0530
----------------------------------------------------------------------
.gitignore | 1 +
LICENSE | 2 +-
agent/src/com/cloud/agent/AgentShell.java | 15 +
.../com/cloud/agent/api/BackupSnapshotCommand.java | 7 +
.../com/cloud/agent/api/SecurityGroupRulesCmd.java | 37 +
.../api/routing/HealthCheckLBConfigAnswer.java | 42 +
.../api/routing/HealthCheckLBConfigCommand.java | 39 +
api/src/com/cloud/agent/api/to/LoadBalancerTO.java | 114 ++-
api/src/com/cloud/agent/api/to/NicTO.java | 11 +
api/src/com/cloud/domain/Domain.java | 1 -
api/src/com/cloud/event/EventTypes.java | 2 +
api/src/com/cloud/network/Network.java | 3 +
api/src/com/cloud/network/NetworkModel.java | 2 +
.../element/LoadBalancingServiceProvider.java | 8 +-
.../com/cloud/network/lb/LoadBalancingRule.java | 92 ++-
.../network/lb/LoadBalancingRulesService.java | 32 +-
.../com/cloud/network/rules/HealthCheckPolicy.java | 45 +
.../network/security/SecurityGroupService.java | 4 +-
.../cloud/storage/DataStoreProviderApiService.java | 28 +
api/src/com/cloud/storage/StoragePool.java | 2 +-
.../com/cloud/template/VirtualMachineTemplate.java | 1 +
api/src/com/cloud/user/Account.java | 2 -
api/src/com/cloud/user/AccountService.java | 4 +-
api/src/com/cloud/user/DomainService.java | 2 +-
api/src/com/cloud/user/User.java | 1 -
api/src/com/cloud/vm/UserVmService.java | 3 +-
.../org/apache/cloudstack/api/ApiConstants.java | 5 +
.../apache/cloudstack/api/ApiConstants.java.orig | 468 -------
api/src/org/apache/cloudstack/api/BaseCmd.java | 2 +
.../apache/cloudstack/api/ResponseGenerator.java | 7 +
.../command/admin/account/CreateAccountCmd.java | 15 +-
.../api/command/admin/domain/CreateDomainCmd.java | 9 +-
.../api/command/admin/region/AddRegionCmd.java | 16 +-
.../api/command/admin/region/RemoveRegionCmd.java | 2 +-
.../api/command/admin/region/UpdateRegionCmd.java | 15 +-
.../admin/storage/CreateStoragePoolCmd.java | 8 +-
.../admin/storage/ListStorageProvidersCmd.java | 72 ++
.../api/command/admin/user/CreateUserCmd.java | 9 +-
.../api/command/admin/user/DeleteUserCmd.java | 4 +-
.../api/command/admin/vm/AssignVMCmd.java | 8 +-
.../api/command/user/iso/ListIsosCmd.java | 15 +-
.../loadbalancer/CreateLBHealthCheckPolicyCmd.java | 168 +++
.../loadbalancer/DeleteLBHealthCheckPolicyCmd.java | 116 ++
.../loadbalancer/ListLBHealthCheckPoliciesCmd.java | 85 ++
.../command/user/template/ListTemplatesCmd.java | 13 +-
.../api/command/user/vm/AddIpToVmNicCmd.java | 31 +-
.../api/command/user/vm/RemoveIpFromVmNicCmd.java | 69 +-
.../api/command/user/vm/UpgradeVMCmd.java | 4 +-
.../api/response/DomainRouterResponse.java | 5 +-
.../api/response/LBHealthCheckPolicyResponse.java | 98 ++
.../api/response/LBHealthCheckResponse.java | 102 ++
.../api/response/NicSecondaryIpResponse.java | 38 +-
.../api/response/SecurityGroupResponse.java | 7 +-
.../api/response/StorageProviderResponse.java | 62 +
.../cloudstack/api/response/UserVmResponse.java | 7 +-
.../cloudstack/api/response/VolumeResponse.java | 3 +-
.../cloudstack/api/response/VpnUsersResponse.java | 10 +
api/src/org/apache/cloudstack/region/Region.java | 3 -
.../apache/cloudstack/region/RegionService.java | 8 +-
.../api/agent/test/BackupSnapshotAnswerTest.java | 2 +-
.../api/agent/test/BackupSnapshotCommandTest.java | 6 +-
.../api/agent/test/SnapshotCommandTest.java | 2 +-
.../cloudstack/api/command/test/RegionCmdTest.java | 4 +-
.../agent/api/test/ResizeVolumeCommandTest.java | 2 +-
.../WEB-INF/classes/resources/messages.properties | 2 +
client/pom.xml | 10 +
client/tomcatconf/commands.properties.in | 4 +
client/tomcatconf/componentContext.xml.in | 29 +-
client/tomcatconf/components-cloudzones.xml.in | 33 -
client/tomcatconf/components-nonoss.xml.in | 97 --
client/tomcatconf/components.xml.in | 306 -----
client/tomcatconf/log4j-cloud.xml.in | 25 +
client/tomcatconf/nonossComponentContext.xml.in | 24 +-
.../api/NetworkRulesVmSecondaryIpCommand.java | 71 ++
core/src/com/cloud/alert/AlertManager.java | 41 +-
core/src/com/cloud/user/AccountVO.java | 13 +-
core/src/com/cloud/user/UserVO.java | 13 +-
debian/changelog | 6 +
debian/cloudstack-management.install | 6 +-
debian/cloudstack-management.postinst | 4 +-
debian/cloudstack-usage.install | 3 +-
debian/cloudstack-usage.postinst | 37 +
debian/rules | 28 +-
docs/en-US/Installation_Guide.xml | 1 +
docs/en-US/Release_Notes.xml | 4 +-
docs/en-US/about-password-encryption.xml | 2 +-
docs/en-US/about-regions.xml | 49 +
docs/en-US/about-zones.xml | 10 +-
docs/en-US/added-API-commands-4-1.xml | 7 +-
docs/en-US/api-calls.xml | 3 +-
docs/en-US/api-throttling.xml | 67 +
docs/en-US/autoscale.xml | 6 +-
docs/en-US/best-practices.xml | 82 ++
docs/en-US/changed-apicommands-4.1.xml | 157 +++-
docs/en-US/cloud-infrastructure-concepts.xml | 3 +-
docs/en-US/cloudmonkey.xml | 84 +-
docs/en-US/images/region-overview.png | Bin 0 -> 22835 bytes
docs/en-US/ip-forwarding-firewalling.xml | 8 +-
docs/en-US/ipv6-support.xml | 191 +++
docs/en-US/provisioning-steps-overview.xml | 13 +-
docs/en-US/provisioning-steps.xml | 3 +-
docs/en-US/region-add.xml | 128 ++
docs/en-US/response-formats.xml | 2 +
docs/en-US/sys-reliability-and-ha.xml | 3 +-
docs/en-US/whats-new.xml | 3 +-
.../datacenter/entity/api/StorageEntity.java | 1 +
.../subsystem/api/storage/AbstractScope.java | 30 +
.../engine/subsystem/api/storage/ClusterScope.java | 2 +-
.../subsystem/api/storage/DataStoreLifeCycle.java | 6 +-
.../subsystem/api/storage/DataStoreProvider.java | 13 +-
.../api/storage/DataStoreProviderManager.java | 6 +-
.../engine/subsystem/api/storage/HostScope.java | 2 +-
.../api/storage/ImageDataStoreProvider.java | 24 +
.../api/storage/PrimaryDataStoreParameters.java | 220 ++++
.../api/storage/PrimaryDataStoreProvider.java | 4 +
.../engine/subsystem/api/storage/Scope.java | 1 +
.../engine/subsystem/api/storage/ZoneScope.java | 2 +-
.../storage/datastore/db/StoragePoolVO.java | 12 +-
.../engine/subsystem/api/storage/ScopeTest.java | 59 +
.../image/manager/ImageDataStoreManagerImpl.java | 14 +-
.../image/store/AncientImageDataStoreProvider.java | 47 +-
.../image/store/DefaultImageDataStoreImpl.java | 2 +-
.../image/store/DefaultImageDataStoreProvider.java | 35 +-
.../lifecycle/DefaultImageDataStoreLifeCycle.java | 11 +-
.../storage/allocator/StorageAllocatorTest.java | 4 +-
.../cloudstack/storage/test/volumeServiceTest.java | 12 +-
.../datastore/PrimaryDataStoreEntityImpl.java | 8 +-
.../datastore/PrimaryDataStoreProviderManager.java | 4 +-
.../provider/DataStoreProviderManagerImpl.java | 108 +-
.../datastore/provider/ImageDataStoreProvider.java | 25 -
.../provider/PrimaryDataStoreProvider.java | 23 -
.../image/datastore/ImageDataStoreHelper.java | 4 +-
.../storage/image/db/ImageDataStoreVO.java | 12 +-
.../storage/motion/AncientDataMotionStrategy.java | 4 +-
.../volume/datastore/PrimaryDataStoreHelper.java | 172 +++-
.../storage/datastore/DefaultPrimaryDataStore.java | 19 +-
.../driver/AncientPrimaryDataStoreDriverImpl.java | 362 ------
.../AncientPrimaryDataStoreLifeCycleImpl.java | 963 ---------------
.../DefaultPrimaryDataStoreLifeCycleImpl.java | 18 +-
...DefaultPrimaryDataStoreProviderManagerImpl.java | 16 +-
.../AncientPrimaryDataStoreProviderImpl.java | 78 --
.../DefaultPrimaryDatastoreProviderImpl.java | 32 +-
.../storage/volume/VolumeServiceImpl.java | 1 -
.../storage/volume/test/ConfiguratorTest.java | 2 +-
packaging/centos63/cloud-ipallocator.rc | 2 +-
packaging/centos63/cloud.spec | 42 +-
packaging/centos63/cloudstack-agent.te | 33 +
packaging/centos63/package.sh | 140 ++-
packaging/debian/init/cloud-usage | 18 +-
.../debian/config/etc/init.d/cloud-early-config | 13 +-
.../root/redundant_router/check_heartbeat.sh.templ | 2 +-
plugins/alert-handlers/snmp-alerts/pom.xml | 45 +
.../cloudstack/alert/snmp/CsSnmpConstants.java | 45 +
.../alert/snmp/SnmpEnhancedPatternLayout.java | 107 ++
.../apache/cloudstack/alert/snmp/SnmpHelper.java | 106 ++
.../cloudstack/alert/snmp/SnmpTrapAppender.java | 207 +++
.../apache/cloudstack/alert/snmp/SnmpTrapInfo.java | 90 ++
.../alert/snmp/SnmpEnhancedPatternLayoutTest.java | 90 ++
.../alert/snmp/SnmpTrapAppenderTest.java | 86 ++
.../discovery/ApiDiscoveryServiceImpl.java | 1 +
.../kvm/resource/LibvirtComputingResource.java | 165 +++-
.../kvm/storage/LibvirtStorageAdaptor.java | 161 ++--
.../resource/SimulatorSecondaryDiscoverer.java | 2 +-
.../vmware/manager/VmwareStorageManagerImpl.java | 18 +-
.../hypervisor/vmware/resource/VmwareResource.java | 2 +-
.../hypervisor/xen/resource/CitrixHelper.java | 41 +-
.../xen/resource/CitrixResourceBase.java | 39 +-
.../xen/resource/XenServer610Resource.java | 2 +-
.../dns-notifier/resources/components-example.xml | 2 +
.../element/ElasticLoadBalancerElement.java | 7 +
.../network/lb/ElasticLoadBalancerManagerImpl.java | 9 +-
.../element/F5ExternalLoadBalancerElement.java | 8 +
.../cloud/network/element/NetscalerElement.java | 32 +-
.../cloud/network/resource/NetscalerResource.java | 318 +++++-
plugins/pom.xml | 2 +
plugins/storage/volume/default/pom.xml | 56 +
.../CloudStackPrimaryDataStoreDriverImpl.java | 362 ++++++
.../CloudStackPrimaryDataStoreLifeCycleImpl.java | 542 ++++++++
.../CloudStackPrimaryDataStoreProviderImpl.java | 80 ++
.../apache/cloudstack/storage/test/VolumeTest.java | 2 +-
pom.xml | 58 +-
scripts/storage/qcow2/resizevolume.sh | 4 +-
scripts/vm/hypervisor/xenserver/vmops | 199 +++-
scripts/vm/hypervisor/xenserver/vmopsSnapshot | 29 +-
.../vm/hypervisor/xenserver/xcposs/vmopsSnapshot | 27 +-
scripts/vm/network/security_group.py | 175 +++-
server/conf/cloudstack-limits.conf.in | 21 +
server/conf/cloudstack-sudoers.in | 22 +
server/src/com/cloud/alert/AlertManagerImpl.java | 6 +
server/src/com/cloud/api/ApiResponseHelper.java | 71 +-
server/src/com/cloud/api/ApiServer.java | 10 +-
.../query/dao/ProjectInvitationJoinDaoImpl.java | 4 +-
.../com/cloud/api/query/dao/UserVmJoinDaoImpl.java | 2 +
.../api/query/vo/ProjectInvitationJoinVO.java | 3 +-
.../src/com/cloud/api/query/vo/UserVmJoinVO.java | 13 +
.../cloud/baremetal/BareMetalTemplateAdapter.java | 217 ----
server/src/com/cloud/configuration/Config.java | 8 +-
.../configuration/ConfigurationManagerImpl.java | 37 +-
.../deploy/AbstractDeployPlannerSelector.java | 14 +-
.../cloud/deploy/HypervisorVmPlannerSelector.java | 23 +-
server/src/com/cloud/domain/DomainVO.java | 16 +-
.../com/cloud/event/ActionEventInterceptor.java | 15 +-
.../com/cloud/hypervisor/HypervisorGuruBase.java | 12 +-
.../network/ExternalLoadBalancerDeviceManager.java | 7 +-
.../ExternalLoadBalancerDeviceManagerImpl.java | 95 ++-
.../com/cloud/network/LBHealthCheckPolicyVO.java | 157 +++
server/src/com/cloud/network/NetworkManager.java | 5 +-
.../src/com/cloud/network/NetworkManagerImpl.java | 143 +--
server/src/com/cloud/network/NetworkModelImpl.java | 28 +-
.../src/com/cloud/network/NetworkServiceImpl.java | 99 ++-
server/src/com/cloud/network/dao/IPAddressDao.java | 2 +
.../com/cloud/network/dao/IPAddressDaoImpl.java | 8 +
.../cloud/network/dao/LBHealthCheckPolicyDao.java | 35 +
.../network/dao/LBHealthCheckPolicyDaoImpl.java | 71 ++
.../com/cloud/network/dao/LoadBalancerVMMapVO.java | 16 +-
.../network/element/VirtualRouterElement.java | 10 +-
.../com/cloud/network/guru/DirectNetworkGuru.java | 18 +-
.../com/cloud/network/lb/LBHealthCheckManager.java | 24 +
.../cloud/network/lb/LBHealthCheckManagerImpl.java | 110 ++
.../network/lb/LoadBalancingRulesManager.java | 3 +
.../network/lb/LoadBalancingRulesManagerImpl.java | 729 +++++++++---
.../router/VirtualNetworkApplianceManagerImpl.java | 44 +-
.../network/security/SecurityGroupManagerImpl.java | 93 ++-
.../security/SecurityGroupManagerImpl2.java | 13 +-
.../network/vpn/RemoteAccessVpnManagerImpl.java | 4 +-
.../src/com/cloud/projects/ProjectManagerImpl.java | 2 +-
.../com/cloud/resource/ResourceManagerImpl.java | 7 +
.../com/cloud/server/ConfigurationServerImpl.java | 30 +-
.../src/com/cloud/server/ManagementServerImpl.java | 21 +-
server/src/com/cloud/server/StatsCollector.java | 12 +
.../src/com/cloud/storage/StorageManagerImpl.java | 68 +-
.../com/cloud/storage/StoragePoolAutomation.java | 26 +
.../cloud/storage/StoragePoolAutomationImpl.java | 456 +++++++
.../src/com/cloud/storage/VolumeManagerImpl.java | 83 +-
.../com/cloud/storage/dao/VMTemplateDaoImpl.java | 161 ++--
.../com/cloud/upgrade/DatabaseUpgradeChecker.java | 4 +
.../src/com/cloud/upgrade/dao/Upgrade40to41.java | 24 -
server/src/com/cloud/user/AccountManager.java | 4 +-
server/src/com/cloud/user/AccountManagerImpl.java | 62 +-
server/src/com/cloud/user/DomainManager.java | 2 +-
server/src/com/cloud/user/DomainManagerImpl.java | 18 +-
server/src/com/cloud/vm/UserVmManagerImpl.java | 39 +-
server/src/com/cloud/vm/dao/NicDao.java | 2 +
server/src/com/cloud/vm/dao/NicDaoImpl.java | 9 +
.../apache/cloudstack/region/RegionManager.java | 6 +-
.../cloudstack/region/RegionManagerImpl.java | 361 +-----
.../cloudstack/region/RegionServiceImpl.java | 8 +-
.../src/org/apache/cloudstack/region/RegionVO.java | 27 +-
.../apache/cloudstack/region/RegionsApiUtil.java | 4 +-
.../com/cloud/network/MockNetworkManagerImpl.java | 18 +-
.../com/cloud/network/MockNetworkModelImpl.java | 6 +
.../com/cloud/user/MockAccountManagerImpl.java | 9 +-
.../test/com/cloud/user/MockDomainManagerImpl.java | 4 +-
.../test/com/cloud/vpc/MockNetworkManagerImpl.java | 29 +-
.../test/com/cloud/vpc/MockNetworkModelImpl.java | 6 +
.../networkoffering/ChildTestConfiguration.java | 333 +++++
.../networkoffering/CreateNetworkOfferingTest.java | 179 +++
.../cloudstack/region/RegionManagerTest.java | 17 +-
server/test/resources/createNetworkOffering.xml | 44 +
.../ConsoleProxyHttpHandlerHelper.java | 17 +-
setup/bindir/cloud-setup-databases.in | 2 +-
setup/db/db/schema-40to410.sql | 12 +-
setup/db/db/schema-410to420.sql | 22 +-
test/integration/smoke/test_vm_life_cycle.py | 2 +-
tools/apidoc/gen_toc.py | 1 +
tools/appliance/README.md | 8 +-
tools/appliance/build.sh | 10 +-
.../definitions/systemvmtemplate/zerodisk.sh | 2 +-
.../definitions/systemvmtemplate64/base.sh | 25 +
.../definitions/systemvmtemplate64/cleanup.sh | 21 +
.../definitions/systemvmtemplate64/definition.rb | 45 +
.../definitions/systemvmtemplate64/postinstall.sh | 220 ++++
.../definitions/systemvmtemplate64/preseed.cfg | 357 ++++++
.../definitions/systemvmtemplate64/zerodisk.sh | 15 +
tools/cli/cloudmonkey/__init__.py | 4 +-
tools/cli/cloudmonkey/cachemaker.py | 9 +-
tools/cli/cloudmonkey/cloudmonkey.py | 48 +-
tools/cli/cloudmonkey/config.py | 20 +-
tools/cli/setup.py | 34 +-
tools/eclipse/set-eclipse-profile.sh | 26 +
tools/marvin/pom.xml | 6 +-
ui/css/cloudstack3.css | 289 +++++-
ui/dictionary.jsp | 3 +
ui/index.jsp | 1 +
ui/scripts/accounts.js | 36 +-
ui/scripts/cloud.core.callbacks.js | 25 +-
ui/scripts/cloudStack.js | 15 +-
ui/scripts/dashboard.js | 75 +-
ui/scripts/docs.js | 53 +
ui/scripts/events.js | 314 +++++
ui/scripts/instanceWizard.js | 14 +-
ui/scripts/instances.js | 16 +-
ui/scripts/network.js | 648 ++++------
ui/scripts/regions.js | 61 +-
ui/scripts/sharedFunctions.js | 37 +-
ui/scripts/system.js | 4 +-
ui/scripts/ui-custom/dashboard.js | 8 +-
ui/scripts/ui-custom/enableStaticNAT.js | 3 +-
ui/scripts/ui-custom/healthCheck.js | 342 +++++
ui/scripts/ui-custom/instanceWizard.js | 27 +-
ui/scripts/ui-custom/login.js | 12 +
ui/scripts/ui-custom/regions.js | 33 +-
ui/scripts/ui/dialog.js | 46 +-
ui/scripts/ui/widgets/detailView.js | 29 +-
ui/scripts/ui/widgets/listView.js | 58 +-
ui/scripts/ui/widgets/multiEdit.js | 12 +-
ui/scripts/ui/widgets/toolTip.js | 2 +-
ui/scripts/zoneWizard.js | 8 +-
usage/conf/db.properties.in | 29 +
usage/pom.xml | 2 +-
.../src/com/cloud/usage/UsageAlertManagerImpl.java | 13 +-
utils/src/com/cloud/utils/LogUtils.java | 3 +-
.../src/com/cloud/utils/component/AdapterBase.java | 4 +-
.../utils/component/ComponentMethodProxyCache.java | 90 ++
.../utils/component/SpringComponentScanUtils.java | 1 -
.../cloud/utils/db/TransactionContextBuilder.java | 14 +-
utils/src/com/cloud/utils/net/NetUtils.java | 2 +-
.../vmware/util/VmwareGuestOsMapper.java | 36 +-
318 files changed, 11829 insertions(+), 5036 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7f6e817e/client/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7f6e817e/client/tomcatconf/componentContext.xml.in
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7f6e817e/plugins/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7f6e817e/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7f6e817e/test/integration/smoke/test_vm_life_cycle.py
----------------------------------------------------------------------
diff --cc test/integration/smoke/test_vm_life_cycle.py
index 143fea7,0a5fbad..51e02ea
--- a/test/integration/smoke/test_vm_life_cycle.py
+++ b/test/integration/smoke/test_vm_life_cycle.py
@@@ -1002,4 -996,176 +1002,4 @@@ class TestVMLifeCycle(cloudstackTestCas
False,
"Check if ISO is detached from virtual machine"
)
- return
+ return
-
[email protected]("Additional test")
-class TestVMPasswordEnabled(cloudstackTestCase):
-
- @classmethod
- def setUpClass(cls):
- cls.api_client = super(
- TestVMPasswordEnabled,
- cls
- ).getClsTestClient().getApiClient()
- cls.services = Services().services
-
- # Get Zone, Domain and templates
- domain = get_domain(cls.api_client, cls.services)
- zone = get_zone(cls.api_client, cls.services)
- template = get_template(
- cls.api_client,
- zone.id,
- cls.services["ostype"]
- )
- # Set Zones and disk offerings
- cls.services["small"]["zoneid"] = zone.id
- cls.services["small"]["template"] = template.id
-
- # Create VMs, NAT Rules etc
- cls.account = Account.create(
- cls.api_client,
- cls.services["account"],
- domainid=domain.id
- )
-
- cls.small_offering = ServiceOffering.create(
- cls.api_client,
- cls.services["service_offerings"]["small"]
- )
-
- cls.virtual_machine = VirtualMachine.create(
- cls.api_client,
- cls.services["small"],
- accountid=cls.account.account.name,
- domainid=cls.account.account.domainid,
-
serviceofferingid=cls.small_offering.id,
- mode=cls.services["mode"]
- )
- #Stop virtual machine
- cls.virtual_machine.stop(cls.api_client)
-
- # Poll listVM to ensure VM is stopped properly
- timeout = cls.services["timeout"]
- while True:
- time.sleep(cls.services["sleep"])
-
- # Ensure that VM is in stopped state
- list_vm_response = list_virtual_machines(
- cls.api_client,
- id=cls.virtual_machine.id
- )
-
- if isinstance(list_vm_response, list):
-
- vm = list_vm_response[0]
- if vm.state == 'Stopped':
- break
-
- if timeout == 0:
- raise Exception(
- "Failed to stop VM (ID: %s) in change service offering" %
- vm.id)
-
- timeout = timeout - 1
-
- list_volume = list_volumes(
- cls.api_client,
- virtualmachineid=cls.virtual_machine.id,
- type='ROOT',
- listall=True
- )
- if isinstance(list_volume, list):
- cls.volume = list_volume[0]
- else:
- raise Exception(
- "Exception: Unable to find root volume foe VM: %s" %
- cls.virtual_machine.id)
-
- cls.services["template"]["ostype"] = cls.services["ostype"]
- #Create templates for Edit, Delete & update permissions testcases
- cls.pw_enabled_template = Template.create(
- cls.api_client,
- cls.services["template"],
- cls.volume.id,
- account=cls.account.account.name,
- domainid=cls.account.account.domainid
- )
- # Delete the VM - No longer needed
- cls.virtual_machine.delete(cls.api_client)
- cls.services["small"]["template"] = cls.pw_enabled_template.id
-
- cls.vm = VirtualMachine.create(
- cls.api_client,
- cls.services["small"],
- accountid=cls.account.account.name,
- domainid=cls.account.account.domainid,
-
serviceofferingid=cls.small_offering.id,
- mode=cls.services["mode"]
- )
- cls._cleanup = [
- cls.small_offering,
- cls.pw_enabled_template,
- cls.account
- ]
-
- @classmethod
- def tearDownClass(cls):
- # Cleanup VMs, templates etc.
- cleanup_resources(cls.api_client, cls._cleanup)
- return
-
- def setUp(self):
- self.apiclient = self.testClient.getApiClient()
- self.dbclient = self.testClient.getDbConnection()
- self.cleanup = []
-
- def tearDown(self):
- #Clean up, terminate the created instances
- cleanup_resources(self.apiclient, self.cleanup)
- return
-
- @attr(tags = ["advanced", "advancedns", "smoke", "basic", "sg"])
- def test_11_get_vm_password(self):
- """Test get VM password for password enabled template"""
-
- # Validate the following
- # 1. Create an account
- # 2. Deploy VM with default service offering and "password enabled"
- # template. Vm should be in running state.
- # 3. Stop VM deployed in step 2
- # 4. Reset VM password. SSH with new password should be successful
-
- self.debug("Stopping VM: %s" % self.vm.name)
- self.vm.stop(self.apiclient)
-
- # Sleep to ensure VM is stopped properly
- time.sleep(self.services["sleep"])
-
- self.debug("Resetting VM password for VM: %s" % self.vm.name)
- password = self.vm.resetPassword(self.apiclient)
- self.debug("Password reset to: %s" % password)
-
- self.debug("Starting VM to verify new password..")
- self.vm.start(self.apiclient)
- self.debug("VM - %s stated!" % self.vm.name)
-
- vms = VirtualMachine.list(self.apiclient, id=self.vm.id, listall=True)
- self.assertEqual(
- isinstance(vms, list),
- True,
- "List VMs should retun valid response for VM: %s" % self.vm.name
- )
- virtual_machine = vms[0]
-
- self.assertEqual(
- virtual_machine.state,
- "Running",
- "VM state should be running"
- )
- try:
- self.debug("SSHing into VM: %s" % self.vm.ssh_ip)
- self.vm.password = password
- ssh = self.vm.get_ssh_client()
- except Exception as e:
- self.fail("SSH into VM: %s failed" % self.vm.ssh_ip)
- return
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7f6e817e/tools/marvin/pom.xml
----------------------------------------------------------------------