Commit Graph

133 Commits

Author SHA1 Message Date
frank cd291f6b4b From c72615de97b007517fb324044cb4625258c5fc61 Mon Sep 17 00:00:00 2001
From: Vijayendra <vijayendra.bhamidipati@citrix.com>
Date: Mon, 25 Feb 2013 14:37:27 -0800
Subject: [PATCH] CS-670: Configurable setting to use linked clones or not on
 VMware

Description:

  Providing support for creation of user VMs as full clones on ESX.
  Putting in unit tests for VO and Dao classes introduced in this commit.

Signed-off-by: Vijayendra <vijayendra.bhamidipati@citrix.com>
---
 core/src/com/cloud/vm/UserVmCloneSettingVO.java    |  50 ++++++
 .../hypervisor/vmware/manager/VmwareManager.java   |   3 +
 .../vmware/manager/VmwareManagerImpl.java          |  18 +-
 .../hypervisor/vmware/resource/VmwareResource.java | 117 +++++++++----
 server/conf/migration-components.xml               |   1 +
 server/src/com/cloud/configuration/Config.java     |   1 +
 server/src/com/cloud/vm/UserVmManagerImpl.java     | 184 ++++++++++-----------
 .../com/cloud/vm/dao/UserVmCloneSettingDao.java    |  37 +++++
 .../cloud/vm/dao/UserVmCloneSettingDaoImpl.java    |  74 +++++++++
 .../vm/dao/UserVmCloneSettingDaoImplTest.java      |  62 +++++++
 .../UserVmCloneSettingDaoTestConfiguration.java    |  52 ++++++
 .../test/resources/CloneSettingDaoTestContext.xml  |  42 +++++
 setup/db/db/schema-410to420.sql                    |   9 +
 13 files changed, 527 insertions(+), 123 deletions(-)
 create mode 100755 core/src/com/cloud/vm/UserVmCloneSettingVO.java
 create mode 100755 server/src/com/cloud/vm/dao/UserVmCloneSettingDao.java
 create mode 100755 server/src/com/cloud/vm/dao/UserVmCloneSettingDaoImpl.java
 create mode 100644 server/test/com/cloud/vm/dao/UserVmCloneSettingDaoImplTest.java
 create mode 100644 server/test/com/cloud/vm/dao/UserVmCloneSettingDaoTestConfiguration.java
 create mode 100644 server/test/resources/CloneSettingDaoTestContext.xml
2013-02-25 14:57:57 -08:00
Bharat Kumar 23e54bb0f4 Cloudstack-711: Cpu and Ram Overcommit Ratio. 2013-02-22 17:31:06 +05:30
Edison Su a22403edcd squash changes into one giant patch 2013-02-21 11:22:48 -08:00
hongtu_zang f7b600b439 CLOUDSTACK-1334 global config vmware.root.disk.controller doesn't work 2013-02-21 11:29:08 +08:00
Rohit Yadav 80d58b6c73 CLOUDSTACK-1317: Bump CloudStack package version to 4.2.0-SNAPSHOT in all poms
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-20 16:42:56 +05:30
Koushik Das bc493bd39b CLOUDSTACK-672: Set VMware cluster max. limit based on HV version
Max. number of hosts in a Vmware clueter is specific to the version of the HV. This limit is read from the hypervisor_capabilities table
2013-02-15 16:19:40 +05:30
Mice Xia 9a12756ae4 CLOUDSTACK-684 support vm snapshot 2013-02-14 01:26:30 +08:00
Marcus Sorensen c5185c09ef Summary: Add missing ResizeVolumeCommand in VmwareResource.java
Submitted-by: hongtu_zang <hongtu_zang@tcloudcomputing.com>
Signed-off-by: Marcus Sorensen <marcus@betterservers.com>
2013-02-06 07:52:37 -07:00
Min Chen 5a2cd68fa8 Fix bug CLOUDSTACK-1171 due to spring injection. 2013-02-05 21:55:11 -08:00
Kelven Yang e5866cf2ef CLOUDSTACK-1165, fix nonoss build startup issue 2013-02-05 14:27:57 -08:00
Koushik Das ca56e7667c CLOUDSTACK-435: Vmware network labels are ignored when creating a Zone using basic networking
Due to incorrect logic the private network traffic label specified was not getting used, instead some default was getting used (vSwitch0 or privateEthernetPortProfile). The fix passes the correct label in the format vSwitchX or vSwitchX,<vlan_id> and based on that the correct switch is used.
2013-02-04 19:23:30 +05:30
Kelven Yang 7bd8bec68a Sync javelin with master up to 894cb8f7d9 2013-01-31 17:20:19 -08:00
Sheng Yang 5cb9df91a1 Merge branch 'ipv6'
Conflicts:
	api/src/com/cloud/network/NetworkProfile.java
2013-01-31 15:07:33 -08:00
Kelven Yang 1b2b369ecb Merge latest master into javelin 2013-01-31 11:34:49 -08:00
Jayapal b6727e5646 CLOUDSTACK-299: Egress firewall rules feature for guest network on VR 2013-01-31 11:20:47 +05:30
Kelven Yang 176523254e Improve component lifecycle management with system run-level concept 2013-01-30 15:21:02 -08:00
Sheng Yang 8f66d266b3 IPv6: Enable VR's ability to provide DHCPv6 service 2013-01-26 23:14:42 -08:00
Sheng Yang 9300a02ba4 IPv6: Update edithosts.sh accept parameters 2013-01-26 23:14:27 -08:00
Kelven Yang 767f54cc9a Make nonoss build work under Spring 2013-01-25 17:18:36 -08:00
Kelven Yang af4485ae9e Put nonoss under Spring framework 2013-01-25 15:41:48 -08:00
Alex Huang 6088cbfe47 nonoss compiled up til netscaler 2013-01-23 17:18:55 -08:00
Edison Su 4fbecf15ec add unit test back, primary storage life cycle is tested 2013-01-21 17:01:00 -08:00
Alex Huang 10d9c019a9 All merge conflicts resolved 2013-01-18 12:14:57 -08:00
Koushik Das 070856affd CLOUDSTACK-988: HV version must be updated in hypervisor_version column of host table HV version is stored in hypervisor_version column in host table wherever present Also correctly populating version column in host table with resource file version
Signed-off-by: Koushik Das <koushik.das@citrix.com>
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-01-18 16:49:52 +05:30
Chiradeep Vittal 56cd809600 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-cloudstack
Re-merge with network-refactor
2013-01-17 11:32:49 -08:00
Min Chen 3dabd5fbf3 Clean up ApiServer, ApiServlet and ApiDispatcher flow to handle various CloudRuntimeException
and CloudException in one place, and Introduced ApiErrorCode to handle CloudStack API error
code to standard Http code mapping.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-16 22:36:34 -08:00
Chiradeep Vittal cadca5fc0c Merge branch 'master' into network-refactor-merge2
Conflicts:
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/element/RemoteAccessVPNServiceProvider.java
	plugins/network-elements/nicira-nvp/src/com/cloud/network/element/NiciraNvpElement.java
	server/src/com/cloud/acl/DomainChecker.java
	server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
2013-01-16 19:17:14 -08:00
Kelven Yang 497dcd5044 Get rid of PlugService annotation, replace it with Spring standard injection in command classes 2013-01-16 18:44:44 -08:00
Rohit Yadav bca2c928e8 PluggableService: Fix interface definition
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-14 19:01:26 -08:00
Alex Huang 1294cdc701 pulled from master 2013-01-10 16:01:01 -08:00
Alex Huang d6f44a4d6a merged from master 2013-01-10 15:55:42 -08:00
Rohit Yadav c4e890c55d PluggableService: Refactor method to return map of key value pairs
- Makes plugins self contained so they decide their properties file format
- PluggableService creates the contract that implementing entity will return a
  properties map which is apiname:rolemask (both are strings)

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-10 15:55:02 -08:00
Alex Huang 56e5fbdee2 removed import of componentlocator and inject from all files 2013-01-10 11:44:47 -08:00
Chiradeep Vittal 5a830c4db0 Network-refactor: Refactor NetworkManager into NetworkModel and NetworkManager.
NetworkManager's exclusive focus is now
 - handling plugins during orchestration, and
 - to deal with ip address allocation.
Those classes that used to refer to NetworkManager to get access to the datamodel now refer to NetworkModel

Signed-off-by: Chiradeep Vittal <chiradeep@apache.org>
2013-01-09 15:49:01 -08:00
Min Chen dcbb0ecef5 Fix CLOUDSTACK-936: fix nonoss build due to CloudException IdentityProxy
removal.
2013-01-09 13:47:53 -08:00
Alex Huang b6c56736e5 merge from master 2013-01-09 05:20:36 -08:00
Alex Huang 0bcb64605f all built with the latest 2013-01-09 05:02:39 -08:00
Rohit Yadav 2eee2cd999 plugins: Fix getPropertiesFiles() for pluggable service plugins, CiscoNexusVSMEElement
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-09 04:56:32 -08:00
Kelven Yang b274c570f9 Cleanup places that use explicit wiring of the components 2013-01-08 17:45:33 -08:00
Alex Huang cf8de7ee17 Removed all the .project files 2013-01-08 14:11:00 -08:00
Alex Huang 30f2565d98 Merge branch 'api_refactoring' into javelin 2013-01-08 12:36:04 -08:00
Rohit Yadav a948a89378 Sync updates: Merge branch 'master' into api_refactoring
Conflicts:
	server/src/com/cloud/api/commands/AddTrafficMonitorCmd.java
	server/src/com/cloud/api/commands/ListTrafficMonitorsCmd.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-07 10:38:43 -08:00
Murali Reddy bf6ed9312d Missed portion of the fix for CLOUDSTACK-595 submitted by commit
3ffbc4320a which caused build break.

Fixing the build break and added missing code.
2013-01-07 16:36:47 +05:30
Koushik Das 3ffbc4320a CLOUDSTACK-595 : Recreate root volume scenarios doesn't work in vmware
Issue seen during system vm template upgrade and restoreVM command
scenarios for vmware. In these cases CS tries to recreate root disk with
same name as the existing one, in case of vmware this results in creation
of vmdk file with same name for both existing and new root volume.
This results in undesired behavior when storage cleanup thread tries to
cleanup old volume. Made the vmdk file name unique by adding the volume
id to it. This will ensure that during volume recreation in the scenarios
mentioned vmdk will get created with a new name and there will be
no undesired side effects of running the storage cleanup thread.
2013-01-07 16:18:05 +05:30
Rohit Yadav 596f9d0905 api: Annotate netscaler apis, remove IdentityMapper from everywhere
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 17:09:40 -08:00
Rohit Yadav 4cf0b05a0b vmware: Annotate cisco related apis, remove IdentityMapper
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 16:42:28 -08:00
Rohit Yadav edb00bb613 Merge branch 'master' into api_refactoring 2013-01-03 08:32:56 -08:00
Edison Su bba43f51dc vmware stuff should be compile time dependency 2013-01-02 16:25:17 -08:00
Rohit Yadav 774cb29b0c api: Annotate all remaining cmd classes with APICommand name field
Automates name field filling using following python program which reads from
various *commands.properties.in files and populates name fields based on the
name cmd class mapping defined in them.

import os
search_pattern = "@APICommand("
pattern_len = len(search_pattern)
prop_files = [
"client/tomcatconf/cisconexusvsm_commands.properties.in",
"client/tomcatconf/f5bigip_commands.properties.in",
"client/tomcatconf/junipersrx_commands.properties.in",
"client/tomcatconf/netapp_commands.properties.in",
"client/tomcatconf/netscalerloadbalancer_commands.properties.in",
"client/tomcatconf/nicira-nvp_commands.properties.in",
"client/tomcatconf/simulator_commands.properties.in",]
file_prefixes = [
"plugins/hypervisors/vmware/src/",
"plugins/network-elements/f5/src/",
"plugins/network-elements/juniper-srx/src/",
"plugins/file-systems/netapp/src/",
"plugins/network-elements/netscaler/src/",
"plugins/network-elements/nicira-nvp/src/",
"plugins/hypervisors/simulator/src/",]
counter = 0
for prop_file in prop_files:
    f = open(prop_file, 'r')
    data = f.read()
    f.close()
    file_prefix = file_prefixes[counter]
    apis = filter(lambda x: x.strip()!='' and (not x.startswith('#')), data.split('\n'))
    for api in apis:
        api_name = api.split('=')[0].strip()
        cmd_name = file_prefix + api.split('=')[1].split(';')[0].replace('.', '/').strip() + ".java"
        if not os.path.exists(cmd_name):
            print cmd_name, api_name
        f = open(cmd_name, 'r')
        d = f.read()
        f.close()
        idx = d.find(search_pattern) + pattern_len
        new_str = d[:idx] + "name = \"%s\", " % api_name + d[idx:]
        f = open(cmd_name, 'w')
        f.write(new_str)
        f.close()
    counter += 1

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-28 01:28:47 -08:00
Prasanna Santhanam 840da55520 api: Entities will extend InternalIdentity and Identity
Entities correlated to the Identity and carry a uuid and those
correlated to InternalIdentity carry an id. Those entities that carry
both will correlated to Identity and InternalIdentity.

This refactors entities wherever possible to ensure the VO only
implements the first class entity.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-26 19:11:15 -08:00