Commit Graph

2137 Commits

Author SHA1 Message Date
Alex Huang 43ab9506ab Moved HostAllocator and PodAllocator from server to api package, where they are supposed to be. In the process, I had to change the VO objects used by these two itnerfaces to interface equivalent. This makes sense because there's really no reasons why allocators require write access to the database. One of the files have been reformatted because it contained a bunch of tabs instead of spaces for indentation. 2013-07-03 17:48:53 -07:00
Alex Huang bec53fb59a VMSync: Separating jobs from api 2013-07-03 11:22:40 -07:00
Mike Tutkowski 99227f7b3e SolidFire plug-in and related changes
SolidFire plug-in

SolidFire plug-in related
2013-06-28 16:59:21 -06:00
Jayapal 3096261c05 Updated to show same value in log msg SetFirewallRulesCommand and accessdetails for egress default policy 2013-06-28 19:05:54 +05:30
Murali Reddy 0f40cfbea8 CLOUDSTACK-2045: [Multiple IPs Per Nic] This feature is not working well
in case of networks with external devices after GC

add an exception for networks that use external networking devices and has
secondary guest IP's allocated. On network GC, when network goes through
implement phase a new vlan is allocated, based on the acquired VLAN id cidr
of the network is decided in case of external networking case. While NIC
uses reservation strategy 'Start' which ensures that new primary ip is
allocated for the NiC from the new CIDR. Secondary IP's have hardcoded
IP's in  network rules. So prevent network GC.
2013-06-28 12:26:20 +05:30
Donal Lafferty 4361418e41 Removed Dead Code from Management Server Hyper-V 2012 Support
Update ImageFormat enum to include VHDX format introduced with Hyper-V
Server 2012.
Remove existing Hyper-V plugin, because it does not work and is dead
code.
Remove references to existing Hyper-V plugin from config files.
Remove Hypervisor.HypervisorType.Hyperv special cases from manager code
that are unused or unsupported.
Specifically, there is no CIFS secondary storage class
"CifsSecondaryStorageResource".  Also, the Hyper-V plugin's
ServerResource is contacted by the management server and not the other
way around.
Add Hyperv-V support to ListHypervisorsCmd API call

Signed-off-by: Edison Su <sudison@gmail.com>
2013-06-27 11:46:02 -07:00
Harikrishna Patnala 9385cf0453 CLOUDSTACK-2835: VR Deployement from admin registered template is failing because registered template type is user. Additional parameter "isrouter" in register/update template API for the root admin. True if registered template is of type ROUTING.
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-06-26 16:00:12 +05:30
Wei Zhou 3bb4ec9f65 CLOUDSTACK-1192: Disk I/O Statistics support KVM only util 20130625 2013-06-26 11:10:11 +02:00
Hiroaki KAWAI 2d6369c826 CLOUDSTACK-2756: Stratosphere SSP plugin
Stratosphere SSP is an SDN solution which creates virtual L2
networks backed by vxlan and vlan. SSP will ask hypervisor to set a
specific vlan, then SSP will interact with openflow switches and
put vxlan/vlan translation flow rules.

This plugin provides SSP as "connctivity" service provider.

Signed-off-by: Hiroaki KAWAI <kawai@stratosphere.co.jp>
2013-06-25 15:31:40 +09:00
Jayapal c22e7d0052 CLOUDSTACK-1578 SRX: Egress default policy configurable using network offering on SRX firewall 2013-06-24 13:37:01 +05:30
Jayapal 6a7ae637dd CLOUDSTACK-1578 Egress default policy configurable using network offering in xenserver with VR as firewall provider 2013-06-24 13:37:00 +05:30
Edison Su 97f8c524b8 merge object_store 2013-06-20 00:18:00 -07:00
Harikrishna Patnala 7b6b8d7a07 CLOUDSTACK-2987 Ensure XStools to be there in template inorder to enable dynamic scaling of vm
CLOUDSTACK-3042 - handle Scaling up of vm memory/CPU based on the presence of XS tools in the template
This also takes care of updation of VM after XS tools are installed in the vm and set memory values accordingly to support dynamic scaling after stop start of VM

Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-06-20 11:08:38 +05:30
Edison Su 9aec9c605c merge to master 2013-06-19 18:16:47 -07:00
Alena Prokharchyk d66e9c7b51 CLOUDSTACK-2843: Provideded an ability to turn off the synchronization being done on the CS agent side,
for number of commands participating in Vm deployment process, as parallel deployment is supported on the hypervisor side.
The behavior is controlled by global config varirables:

"execute.in.sequence.hypervisor.commands" (false by default) sets/resets the synchronization for commands:
=========================
StartCommand
StopCommand
CreateCommand
CopyVolumeCommand

"execute.in.sequence.network.element.commands" (false by default) sets/resets the synchronization for commands:
==========================
DhcpEntryCommand
SavePasswordCommand
UserDataCommand
VmDataCommand

As a part of the fix, increased the global lock timeout to 30 mins in several VR scripts:
===========================
edithosts.sh
savepassword.sh
userdata.sh

to support situations when multiple concurrent calls to the script are being made.
2013-06-19 10:12:13 -07:00
Hiroaki KAWAI 2f659d6d86 Add comment
Comment for RBD explanation.
2013-06-19 15:36:26 +09:00
Wei Zhou 882220e802 CLOUDSTACK-1301: VM Disk I/O Throttling 2013-06-18 10:02:55 +02:00
Alena Prokharchyk 5d0a1cee13 CLOUDSTACK-2883: create default network offering with internal lb support (if doesn't exist already) 2013-06-17 16:13:19 -07:00
Min Chen 1df4cf839e CLOUDSTACK-3028: Object_Store_Refactor - S3 reduced redundancy storage
should be an option.
2013-06-17 11:49:33 -07:00
Edison Su f41c800d88 merge to master 2013-06-14 19:06:33 -07:00
Edison Su a715eb8121 clean up storage related code, and add lru replacement algorithm for cache storage 2013-06-14 15:55:59 -07:00
Min Chen 18aeef3ef1 Merge branch 'master' (up to commit
c30d9be3ce) into object_store.
2013-06-12 11:20:32 -07:00
Jayapal c1ad3b7974 CLOUDSTACK-2604 Fixed deleting secondary ip when no PF rules set
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-06-10 12:13:08 +05:30
Min Chen 66e702222d Simplify various DeleteTemplateCommnad, DeleteVolumeCommand and
DeleteSnapshotBackupCommand to use one DeleteCommand, also provide
BaseImageStoreDriverImpl class for plugin to inherit to avoid code
duplication.
2013-06-06 18:00:38 -07:00
Min Chen e92cd6d632 Move data store specific extract volume logic from VolumeManager to data
store driver.
2013-06-04 13:54:14 -07:00
Min Chen ef03d5a122 Move data store specific extract template/iso logic from
TemplateManager to data store driver.
2013-06-04 11:50:43 -07:00
Bharat Kumar 0a69b82899 CLOUDSTACK-2620 [Multiple_IP_Ranges] Guest vm's nameserver is not set to VRs guest IP address in case of multiple subnets
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-06-03 19:09:01 +05:30
Wei Zhou f714d26039 Revert "CLOUDSTACK-1301: Add VM Disk I/O Throttling"
This reverts commit 6dad8adf8f.
2013-06-03 07:48:03 +02:00
Wei Zhou 6dad8adf8f CLOUDSTACK-1301: Add VM Disk I/O Throttling 2013-06-01 08:03:02 +02:00
Wei Zhou b9b0168da4 CLOUDSTACK-1192: Add Disk I/O Statistics 2013-06-01 08:00:48 +02:00
Murali Reddy 9c0f9aceb8 CLOUDSTACK-2332:[GSLB] deleteAccount is not cleaning the gslb rules
created by the account

revoking GSLB rules of account on delete
2013-05-31 19:08:40 +05:30
Rajesh Battala af4177b86c Fixed CLOUDSTACK-2662 Preferred implicit dedication fails with insufficient capacity even if shared hosts are available.
Issues:
In Implicit planner resource usage is fixed to "Dedicated". It should be Dedicated/Shared depending upon the Implict Planner strict/preferred modes and hosts availability.

Fixed:
Issue is fixed by determining the resource usage to be "Dedicated/Shared" depending upon the Implicit strict/preferred mode and the hosts availability for the planner.
2013-05-31 00:28:56 -07:00
Alena Prokharchyk 1300fc8128 AccountManager/Service: reduced visibility for methods that are called only from AccountManagerImpl itself 2013-05-30 11:18:32 -07:00
Saksham Srivastava 17267794ad CLOUDSTACK-681: Dedicated Resources - Explicit Dedication, Private zone, pod, cluster or host. <Patch1>
This feature allows a user to deploy VMs only in the resources dedicated to his account or domain.

1. Resources(Zones, Pods, Clusters or hosts) can be dedicated to an account or domain.
   Implemented 12 new APIs to dedicate/list/release resources:
   - dedicateZone, listDedicatedZones, releaseDedicatedZone for a Zone.
   - dedicatePod, listDedicatedPods, releaseDedicatedPod for a Pod.
   - dedicateCluster, listDedicatedClusters, releaseDedicatedCluster for a Cluster
   - dedicateHost, listDedicatedHosts, releaseDedicatedHost for a Host.
2. Once a resource(eg. pod) is dedicated to an account, other resources(eg. clusters/hosts) inside that cannot be further dedicated.
3. Once a resource is dedicated to a domain, other resources inside that can be further dedicated to its sub-domain or account.
4. If any resource (eg.cluster) is dedicated to a account/domain, then resources(eg. Pod) above that cannot be dedicated to different accounts/domain (not belonging to the same domain)
5. To use Explicit dedication, user needs to create an Affinity Group of type 'ExplicitDedication'
6. A VM can be deployed with the above affinity group parameter as an input.
7. A new ExplicitDedicationProcessor has been added which will process the affinity group of type 'Explicit Dedication' for a deployment of a VM that demands dedicated resources.
   This processor implements the AffinityGroupProcessor adapter. This processor will update the avoid list.
8. A VM requesting dedication will be deployed on dedicatd resources if available with the user account.
9. A VM requesting dedication can also be deployed on the dedicated resources available with the parent domains iff no dedicated resources are available with the current user's account or
   domain.
10. A VM (without dedication) can be deployed on shared host but not on dedicated hosts.
11. To modify the dedication, the resource has to be released first.
12. Existing Private zone functionality has been redirected to Explicit dedication of zones.
13. Updated the db upgrade schema script. A new table "dedicated_resources" has been added.
14. Added the right permissions in commands.properties
15. Unit tests:  For the new APIs and Service, added unit tests under : plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/DedicatedApiUnitTest.java
16. Marvin Test: To dedicate host, create affinity group, deploy-vm, check if vm is deployed on the dedicated host.
2013-05-30 01:07:01 -07:00
Min Chen efbf9c8635 Move ExtractVolumeCmd from ManagementServerImpl to VolumeManagerImpl,
also add support for S3 for ExtractVolumeCmd.
2013-05-29 22:27:07 -07:00
Nitin Mehta 8d1189c2ae CLOUDSTACK-2060
Global config to turn off dynamically scale vm functionality
2013-05-29 19:02:06 +05:30
Murali Reddy 883333c214 CLOUDSTACK-2700:on network/vpc delete, portable IP should be still
associated with account

Unlike public ip which gets dis-associated (released) with the account
on network/VPC delete, portable IP should continue to be associated with
the account even when the network/VPC with which it is currently
associated in deleted. This fix ensures portable IP are associated to
account even after network/vpc is deleted.
2013-05-27 18:44:41 +05:30
Murali Reddy ad48c83808 generate an action event when portable IP association is transferred
from a network to different network
2013-05-27 18:44:41 +05:30
Edison Su 0ed441c690 CLOUDSTACK-2637: fix upload volume 2013-05-24 19:00:52 -07:00
Murali Reddy b000781bfc fixing disassociateIpAddress API to call 'releasePortableIpAddress'
network service method for portable ip address. Also fix ensures events
coresponding to the portabl ip are generated correctly.
2013-05-24 18:54:04 +05:30
Edison Su 3ec52807f1 CLOUDSTACK-2593: fix migrate volume between pools through secondary storage 2013-05-23 18:26:16 -07:00
Min Chen 98af424053 Merge branch 'master' into object_store. 2013-05-23 18:00:15 -07:00
Alena Prokharchyk f41d398cf7 Remote access vpn: method name change 2013-05-22 16:05:03 -07:00
Edison Su 5af888c67a add image format in volumevo 2013-05-22 13:38:11 -07:00
Hiroaki Kawai 7260e8d83f CLOUDSTACK-1638: Introduce NetworkMigrationResponder
The location of the virtual machine is provided by DeployDestination, which will
be passed in NetworkGuru#reserve and NetworkElement#prepare.

During the virtual machine migration, it actually changes DeployDestination and
it looks like that it will tell that event to network components as it has
NetworkManager#prepareNicForMigration. The problem is that althogh the interface
has that method, NetworkManagerImpl does not tell the DeployDestination changes
to network components.

So IMHO, we need to add calls of NetworkGuru#reserve and NetworkElement#prepare
in NetworkManagerImpl#prepareNicForMigration . And then, we also need to add
calls NetworkGuru#release and NetworkElement#release after the migration,
otherwise the network resources that plugin reserved will be kept even when the
vm leaves off.

(Sheng Yang: rebase code, add license header)

Signed-off-by: Sheng Yang <sheng.yang@citrix.com>
2013-05-20 16:43:18 -07:00
Murali Reddy d6452be861 CLOUDSTACK-652: meging 'portable public ip' feature
Squashed commit of the following:

commit f244f9ce7982db16984dd87c31545f1c0240c704
Merge: 993cbb0 f5c8e38
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Mon May 20 18:54:05 2013 +0530

    Merge branch 'master' into portablepublicip

    Conflicts:
    	server/src/com/cloud/server/ManagementServerImpl.java
    	server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java

commit 993cbb0df9fa6e64b96b18ed775b73cdf4a8f5d7
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Mon May 20 18:49:54 2013 +0530

    introduce 'transferPortableIP' interface method in network manger. This
    method will transfer association of portable ip from one network to
    another network.

commit 0c1c2652c1b39e9a81ca35464360e11ed9ef23f1
Merge: a718d35 a29e393
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Fri May 17 02:48:54 2013 +0530

    Merge branch 'master' into portablepublicip

    Conflicts:
    	utils/src/com/cloud/utils/net/NetUtils.java

commit a718d353f7
Merge: ecca117 c211818
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Mon May 13 21:22:19 2013 +0530

    Merge branch 'master' into portablepublicip

    Conflicts:
    	api/src/org/apache/cloudstack/api/ResponseGenerator.java
    	server/src/com/cloud/api/ApiResponseHelper.java
    	server/src/com/cloud/network/NetworkServiceImpl.java
    	server/src/com/cloud/network/addr/PublicIp.java
    	server/src/com/cloud/server/ManagementServerImpl.java
    	server/test/com/cloud/network/MockNetworkManagerImpl.java
    	server/test/com/cloud/vpc/MockConfigurationManagerImpl.java
    	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
    	setup/db/db/schema-410to420.sql

commit ecca117e34
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Mon May 13 20:05:29 2013 +0530

    added integration tests for testing portable ip ranges

commit 895a27c277
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Mon May 13 15:12:19 2013 +0530

    - establish model for transferring portable IP association from a network
      with which it is associated to another network.

    - enabling static nat api, extended to transfer potrtable IP across the
      networks if the VM/network is different from the current associate
      network of the portable ip

commit 51509751b2
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Mon May 13 12:05:33 2013 +0530

    seperate out associate/disassociate with guest network operations from
    alloc and release of portable ip

commit bd058f58c2
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Sun May 12 21:14:48 2013 +0530

    enhance disasociateIPAddr API to release protable IP associated with a
    guest network or VPC

commit 27504d9098
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Sun May 12 16:53:45 2013 +0530

    enhance asociateIPAddr API to acquire a protable IP and associate with a
    guest network or VPC

commit f82c6a8431
Merge: 3dbfb44 0749013
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Sat May 11 23:32:13 2013 +0530

    Merge branch 'master' into portablepublicip

    Conflicts:
    	api/src/com/cloud/network/IpAddress.java
    	api/src/org/apache/cloudstack/api/ResponseGenerator.java
    	client/tomcatconf/commands.properties.in
    	server/src/com/cloud/api/ApiResponseHelper.java
    	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
    	server/src/com/cloud/server/ManagementServerImpl.java
    	server/test/org/apache/cloudstack/affinity/AffinityApiTestConfiguration.java
    	server/test/org/apache/cloudstack/networkoffering/ChildTestConfiguration.java
    	setup/db/db/schema-410to420.sql

commit 3dbfb44eb5
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Sat May 11 20:33:19 2013 +0530

    - add 'portable' boolean as property of IpAddress, persist the property in
    IPAddressVO, return the property in IpAddressResponse

    - add ability to request portable IP in associateIpAddress api

commit bf3cb274cf
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Sat May 11 16:08:40 2013 +0530

    add the status of each portable IP (its state, details of associated data
    center/VPC/guest network etc) in the PortableIpRangeResponse returned by
    listPortableIpRanges API

commit e7b2fb2255
Author: Murali Reddy <muralimmreddy@gmail.com>
Date:   Sat May 11 14:36:01 2013 +0530

    Introdcues notion of 'portable IP' pool at region level.

    Introduces root admin only API's to provision portable ip to a region
       - createPortableIpRange
       - deletePortableIpRange
       - listPortableIpRanges
2013-05-20 20:05:47 +05:30
Prachi Damle 31a67706e4 CLOUDSTACK-2070: Anti-Affinity - When Vm deployment fails because of not being able to satisfy the anti-affinity rule , user should be provided with more informative message.
Changes:
- There is no good mechanism currently to figure out if the  deployment failed due to affinity groups only
- We can just hint the user that the deployment might have failed due to the affinity groups and ask to review the input
2013-05-17 14:36:23 -07:00
Nitin Mehta 4eb310e926 iCLOUDSTACK-2321
Fix the response of scaleVMCmd
Add Scale System vm command
2013-05-17 17:43:43 +05:30
Edison Su f7c1b711ad merge to master 2013-05-16 23:56:20 -07:00
Devdeep Singh adbebc1892 Changes for implicitly dedicating a resource. It includes a following:
1. A new implicit planner which extends the functionality provided by FirstFitPlanner.
2. Implicit planner can be used in either strict or preferred mode. In strict mode it tries to deploy a vm of a given account on a host on which vms of the account are already running. If no such host is found it'll search for an empty host to service the request. Otherwise the deploy vm request fails.
3. In preferred mode, if a host which is running vms of the account or an empty host isn't found, the planner then tries to deploy on any other host provided it isn't running implicitly dedicated strict vms of any other account.
4. Updated the createServiceOffering api to configure the details for the planner that the service offering is using.
5. Made db changes to store the service offering details for the planner.
6. Unit tests for testing the implicit planner functionality.
7. Marvin test for validating the functionality.
2013-05-17 11:40:31 +05:30