Commit Graph

1064 Commits

Author SHA1 Message Date
Anthony Xu e33ae74067 CLOUDSTACK-4649:
xs 6.1/6.2 introduce the new virtual platform, so there are two virtual platforms, windows PV driver version must match virtual platforms,
this patch tracks PV driver versions in vm details and template details.

Anthony
2013-10-22 17:54:51 -07:00
dhoogland c0c46268ac CLOUDSTACK-4328 httpclose/mode as keepAliveEnabled 2013-10-22 12:44:23 +02:00
Darren Shepherd 711ad386d1 Random cleanup 2013-10-16 16:18:49 -07:00
Darren Shepherd f62e28c1ec New Transaction API
Introduction of a new Transaction API that is more consistent with the style
of Spring's transaction managment.  The existing Transaction class was renamed
to TransactionLegacy.  All of the non-DAO code in the management server has been
updated to use the new Transaction API.
2013-10-16 09:21:00 -07:00
Min Chen f451a8113e CLOUDSTACK-4859:Add global config to disable storage migration during HA 2013-10-14 22:12:56 -07:00
Marcus Sorensen 4e0e7410e9 Store agent hostname in attache, print it in logs wherever possible. This
was discussed on the mailing list as a useful debugging tool, currently
the log prints the DB id of the agent, which makes admins have to look
it up to know where the Command was run.
2013-10-14 11:46:01 -06:00
Alena Prokharchyk 66185076df Addded back Agent Load Balancing functionality (was temporarely disabled in master by vmSync merge) 2013-10-07 09:46:52 -07:00
Laszlo Hornyak bd8536739c remove txn attribute from DB
txn attribute was never actually used

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2013-10-04 10:15:39 -07:00
Darren Shepherd 67186429e1 Spring Modularization
ACS is now comprised of a hierarchy of spring application contexts.
Each plugin can contribute configuration files to add to an existing
module or create it's own module.

Additionally, for the mgmt server, ACS custom AOP is no longer used
and instead we use Spring AOP to manage interceptors.
2013-10-02 15:41:04 -07:00
Darren Shepherd aed5e9dc2a Add Manage Context framework
The managed context framework provides a simple way to add logic
to ACS at the various entry points of the system.  As threads are
launched and ran listeners can be registered for onEntry or onLeave
of the managed context.  This framework will be used specifically
to handle DB transaction checking and setting up the CallContext.
This framework is need to transition away from ACS custom AOP to
Spring AOP.
2013-10-02 13:09:52 -07:00
Darren Shepherd efbfae723e Switch to setter injection for extensibility
Various classes are using member injection to inject extensible objects.
Really those object should come from an AdapterList that is injected in.
This patch switches the code to use setter injection that will later allow
spring to inject an AdapterList or something similar to allow
extensibility.
2013-09-30 09:45:07 -07:00
Alex Huang b60eef3e82 Added comments and finished off the work 2013-09-28 07:53:28 -07:00
Alex Huang e8cac2c5d8 Changed SearchCriteria2 to GenericQueryBuilder to reflect the same placement 2013-09-28 07:53:26 -07:00
Alex Huang e2988902c9 Changed SearchCriteria2 to GenericQueryBuilder to reflect the same placement 2013-09-28 07:53:25 -07:00
Alex Huang a964cf549e Continue to merge SearchCriteria2 and GenericSearchBuilder 2013-09-28 07:53:24 -07:00
Alex Huang af8832f6bd Unified both the SearchBuilder and SearchCriteriaService 2013-09-28 07:53:24 -07:00
ynojima a45ee749ac CLOUDSTACK-2328: Linux native VXLAN support on KVM hypervisor
Initial patch for VXLAN support.
Fully functional, hopefully, for GuestNetwork - AdvancedZone.

Patch Note:
 in cloudstack-server
- Add isolation method VXLAN
- Add VxlanGuestNetworkGuru as plugin for VXLAN isolation
- Modify NetworkServiceImpl to handle extended vNet range for VXLAN isolation
- Add VXLAN isolation option in zoneWizard UI

 in cloudstack-agent (kvm)
- Add modifyvxlan.sh script that handle bridge/vxlan interface manipulation script
-- Usage is exactly same to modifyvlan.sh
- BridgeVifDriver will call modifyvxlan.sh instead of modifyvlan.sh when VXLAN is used for isolation

Database changes:
- No change in database structure.
- VXLAN isolation uses same tables that VLAN uses to store vNet allocation status.

Known Issue and/or TODO:
- Some resource still says 'VLAN' in log even if VXLAN is used
- in UI, "Network - GuestNetworks" dosen't display VNI
-- VLAN ID field displays "N/A"
- Documentation!

Signed-off-by : Toshiaki Hatano <haeena@haeena.net>
2013-09-26 23:37:18 +09:00
Edison Su 81ff4795df fix compile errors 2013-09-25 17:59:54 -07:00
Edison Su 7d8a7f855d CLOUDSTACK-4627: fix NPE in vm migration 2013-09-25 16:32:40 -07:00
Edison Su 2227eb191a CLOUDSTACK-3535: fix regression introduced in 5d9fa5d42e 2013-09-25 16:16:34 -07:00
Alena Prokharchyk 29b4cde04a CS-18283: 2.2.x to 4.2 upgrade - corrected the Service Provider name for the Network offeirng that can be used in VPC (from VirtualRouter to VpcVirtualRouter) 2013-09-24 11:44:46 -07:00
Hugo Trippaers d37b87d97a Fix a few xml wellformedness issues 2013-09-21 14:58:56 +08:00
Sheng Yang 37f4a120fd CLOUDSTACK-4698: Check DHCP service in the network before get dhcp service provider 2013-09-17 16:01:29 -07:00
Koushik Das ae181afb00 CLOUDSTACK-4636: In a scaled up setup all Vm's in a cluster were stopped and/or started after management server restart
Issue happens as there are more than one thread processing connect for a host simultaneously. The VM full sync. is not designed to work in this scenario and as a result user VMs may get stopped incorrectly.
Direct agent scan task runs at regular intervals (direct.agent.scan.interval defaulted to 90 secs) and identifies hosts that needs to be processed for connect. In a normal scenario hosts mostly get connected within that interval and there are no issues. But if due to some reason the connect process takes more time and is not completed by the time next agent scan runs. In this case, based on the db. state same hosts may get picked up again. And then there will be situations where more than one thread is processing connect for the same host.
The fix is to check if there is a thread already processing connect for a host and in this case all subsequent threads for that host will simply bail out. Also there may be a scenario where one thread already completed processing connect but another thread already got scheduled before that and will again repeat the same. This is also prevented by putting appropriate checks.
2013-09-10 17:21:36 +05:30
Alex Huang a05ec6df33 Fixed up the agent separation. Added comments for config packaging. 2013-09-06 15:40:39 -07:00
Alex Huang 8f556e6d88 Made changes to configuration. Eliminated ConfigValue and only use ConfigKey 2013-09-06 15:40:38 -07:00
Alex Huang b8e79c30a8 Compile complete 2013-09-06 15:40:37 -07:00
Alex Huang 6e8ca99466 Got all of the config stuff out of the way 2013-09-06 15:40:36 -07:00
Alex Huang 47afae8112 Merged conflicts resolved 2013-09-06 15:40:36 -07:00
Alex Huang 435e74e914 Commit to try something on removing getZone 2013-09-06 15:40:33 -07:00
Alex Huang 2e5bb63f77 Moved NetworkManagerImpl to NetworkOrchestrator 2013-09-06 15:40:32 -07:00
Alex Huang 8e5249df62 Moved NetworkManager to NetworkOrchestrationService 2013-09-06 15:40:31 -07:00
Min Chen 25281ae7a7 CLOUDSTACK-4430: Add retry logic back in case of template reload needed
for vmware.
2013-09-05 14:36:11 -07:00
Kelven Yang bae2666549 CLOUDSTACK-3237: add disk chain sync logic to handle out-of-band chain changes that could happen in storage live migration and VM snapshot operations 2013-09-04 14:49:46 -07:00
Kelven Yang 9a2148ffc3 CLOUDSTACK-3886: check in for review request https://reviews.apache.org/r/13008/ 2013-09-04 14:49:45 -07:00
Likitha Shetty 358c6e371d CLOUDSTACK-4471. If an instance fails to start then mark the volumes allocated as part of VM creation as removed and set the volume state as destroyed. 2013-08-27 17:31:14 +05:30
Alex Huang 8113ebb08f Moved the csvtotags into StringUtils. It was there to begin with. No idea who copied it to ConfigurationManager 2013-08-26 20:27:27 -07:00
Alex Huang abbae2aa87 Fixed the problem with offerings and templates. These two items due to a previous patch all the way back in 2.1.x versions uses the removed column incorrectly. No one fixed since then. Hence, there's a bunch of findbyidincludingremoved calls in the cloudstack code around these two items. 2013-08-26 17:31:10 -07:00
Alex Huang 2d05fe40c0 Removed getPod, getCluster from ConfigurationManager 2013-08-26 17:31:09 -07:00
Alex Huang ff6b3fd11a Removed getzone 2013-08-26 17:31:08 -07:00
Alex Huang 092e20204a Divided NetworkManagerImpl into two files: NetworkManagerImpl and IpAddressManagerImpl 2013-08-19 14:13:29 -07:00
Alex Huang 564502abd7 Moved the virtualmachine implementation into engine/orchestration 2013-08-19 14:13:28 -07:00
Alex Huang 4ba359c3fe Moved VirtualMachineManager into engine 2013-08-19 14:13:28 -07:00
Edison Su c58f15d867 CLOUDSTACK-4222: use new volume object in case of migrate volume 2013-08-13 15:16:45 -07:00
Alex Huang 3df5571d2e Resolved merge conflicts 2013-08-12 20:15:24 -07:00
Alex Huang de2bd96d98 Moved volume related code into cloud-engine-orchestration 2013-08-12 19:06:51 -07:00
Chiradeep Vittal d8a5f03c7f Revert "Starting the work of moving orchestration pieces to engine"
This reverts commit 7a2aaf96fd.
2013-08-02 15:09:29 -07:00
Alex Huang 7a2aaf96fd Starting the work of moving orchestration pieces to engine 2013-08-02 13:51:48 -07:00
Chip Childers 8225374138 Updating pom.xml version numbers for release 4.3.0-SNAPSHOT
Signed-off-by: Chip Childers <chipchilders@apache.org>
2013-08-01 10:35:00 -04:00
Alex Huang 3f7c558de5 Removed all the extra mockito, inject, and junit dependencies. Changed any test/resource to test/resources and rely on the master pom to tell us where the resources are instead of each individual project 2013-07-26 16:34:08 -07:00
Prachi Damle 72c46103af fixing imports 2013-07-26 16:23:25 -07:00
Prachi Damle a5e8c8aeb7 Fixing license headers 2013-07-26 16:23:22 -07:00
Alex Huang 5297a071d2 Changed virtual machine stop to use uuid 2013-07-22 20:06:04 -07:00
Alex Huang 1325014a03 Changed VirtualMachineProfile to be non-generic. From here on VirtualMachineManager will only manage vm instance. It doesn't understand the difference between different types of VMs. This makes the vmsync code to be generic across all vms. 2013-07-22 11:48:11 -07:00
Alex Huang 7928963d16 Changed start to use uuid instead of generic vm start 2013-07-22 11:46:33 -07:00
Prachi Damle 463a3aba71 CLOUDSTACK-3451 Parallel deployment - Xenserver - When deploying 30 Vms in parallel, some of the Vm deployment fails when “applying dhcp entry/applying userdata and password entry on router” and retry eventually happens when they succeed.
Changes:
- Passing the avoid set generated by the first pass of deployment to the second try.
- The second try is done, when the first pass that uses a reserved plan fails to deploy on the reserved host, to search over the entire zone again
2013-07-18 15:32:30 -07:00
ahuang ee4d067c12 Fixed a bunch of asserts 2013-07-17 16:20:53 -07:00
ahuang 541f9d7f9c Changed allocate method to be virtual machine type agnostic 2013-07-17 15:58:46 -07:00
Prachi Damle fa9ca72f36 CLOUDSTACK-2155: Anti-Affinity -When Vm deployment is done in parallel , anti-affinity rule is not honored.
Changes:
- Locking the group and save reservation mechanism done by DPM
- Added admin operation to cleanup VM reservations
- DPM will also cleanup VM reservations on startup
2013-07-16 10:53:06 -07:00
Prachi Damle 661088927d CLOUDSTACK-2155 Anti-Affinity -When Vm deployment is done in parallel , anti-affinity rule is not honored.
Changes to check if the destination found does not conflict with any vm reservation
2013-07-16 10:53:02 -07:00
Dave Brosius 625a9a1dc8 remove dead code
Signed-off-by: Dave Brosius <dbrosius@mebigfatguy.com>
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
Reviewed-by: Prachi Damle <prachi@cloud.com>
2013-07-02 12:17:39 +05:30
Nitin Mehta 2aafc39f3d CLOUDSTACK-2957
deployVm API size attribute should be capped by the storage.max.volume.size as it is in createVolume.
2013-06-12 17:01:41 +05:30
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
Prachi Damle dce4258171 CLOUDSTACK-2568: ACS41 regression in storage subsystem (seen with local storage and 2 or more hosts)
Changes:
- In VolumeReservationVO, the  getter method of a column had a typo, causing us to create a wrong searchbuilder. It was searching over the 'id' column instead of 'vm_reservation_id' causing
- This bug was causing the vm deployment to choose a wrong pool during deployment since the search was choosing incorrectly
- This bug in the GenericSearchBuilder is also fixed - if the getter method does not use the standard 'get' or 'is' prefix, one should annotate that method using
 @Column(name = "<column_name>") and indicate which column this method refers to. This will cause the GenericSearchBuilder to identify the field correctly.
2013-05-21 16:06:29 -07:00
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
Prachi Damle a13dd59d16 CLOUDSTACK-2486: Deleting the host_details and inserting them back can lead to mysql deadlock
- Instead of using separate delete and insert, we will use ON DUPLICATE KEY UPDATE to avoid the MySQL deadlock
2013-05-15 11:16:41 -07:00
Prachi Damle 0e689dbcc7 CLOUDSTACK-2096 Deployment Planner - Deployment planner is not looking for hosts in other clusters when vm is being started.
Changes:
- Cloud-engine 2 step reserver and deploy flow was not retrying out of clusters, if there are no resources in the volume's cluster.
- Fixed this by letting the reservationm step not error out and continue to let deploy step find out resources outside cluster
2013-04-19 17:55:37 -07:00
Prachi Damle c7c899f62d Fixes after functional tests
Conflicts:

	client/tomcatconf/commands.properties.in
2013-04-11 13:23:04 -07:00
Prachi Damle cf7d40c6cd Not using entity factory 2013-04-11 13:22:54 -07:00
Prachi Damle ee0a91d111 Fixed the issue - VM deployment for local service offering for Root and with data disk(shared), was deploying data disk to local disk too. Currently there is no way to let the planner know multiple pool information, hence letting the planner search for a pool always during VM deployment. 2013-04-10 10:47:50 -07:00
Brian Spindler 469c4dd139 Removing ^M's from code.
Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-04-04 00:53:20 +05:30
Edison Su 409ec9c6b6 CLOUDSTACK-1426: We has strong implication that VO must implement an interface, otherwise EntityManagerImpl can't the vo 2013-03-07 18:25:57 -08:00
Kelven Yang cc91d826df Fix conflicts in storage subsystem with Spring 2013-03-05 19:03:31 -05:00
Kelven Yang 333dd810d2 CLOUDSTACK-1339: Using Sping interface injection pattern to avoid using CGLIB proxying mode. Spring with CGLIB proxying will concflict with CGLIB usage in CloudStack DB code, CloudStack CGLIB usage can cause Spring to lose tack of its proxied object and therefore creates a massive amount of objects in memory 2013-03-05 19:03:30 -05:00
Rohit Yadav 54bfd7e04a orchestration: Fix VirtualMachineEntityFactory to process spring injections
The bug was found was Harikrishna P. when iso was used, in case of Isos, the
create vm from scratch which fails due to factory being used to get the object
which is not spring injected

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-28 17:28:15 +05:30
Harikrishna Patnala 254275dc26 CLOUDSTACK-1293: resetpasswordforVm shows "passsd reset to undefined" 2013-02-27 12:35:04 +05:30
Mice Xia 46e91bd794 fix issue: failed to start vm from iso caused by ClassCastException and NPE 2013-02-26 17:01:26 +08:00
Sheng Yang 1b408509d6 CLOUDSTACK-1332: Add IPv6 DNS for Zone 2013-02-25 16:08:10 -08:00
frank 15ead099a1 CloudStack CLOUDSTACK-774
Supporting kickstart in CloudStack baremetal

able to start vm

Conflicts:

	client/tomcatconf/componentContext.xml.in
	server/src/com/cloud/baremetal/BareMetalTemplateAdapter.java
	server/src/com/cloud/baremetal/BareMetalVmManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
2013-02-21 15:48:08 -08:00
Edison Su a22403edcd squash changes into one giant patch 2013-02-21 11:22:48 -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
Prachi Damle d182e64897 GenericDao maintains a map of VO interface -> DaoImpl. Since cloud-engine is not yet a separate service, we need to introduce dummy interfaces to load both CloudStack API daoImpls and engine daoImpls 2013-01-23 17:59:15 -08:00
Prachi Damle e67381b76d Fix NPE with volume reservation 2013-01-23 16:41:29 -08:00
Rohit Yadav baae73cc05 rat: Fix licenses on engine/orchestration/src.o.a.cloudstack.engine.cloud.api.db
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-23 16:26:55 -08:00
Prachi Damle e5bf16b00f Fixing error with merge 2013-01-22 16:44:28 -08:00
Edison Su e4e2cf6be7 skip test in cloud engine 2013-01-22 13:25:48 -08:00
Prachi Damle aa7b3e0f6d Renaming VmInstanceVO: dataCenterIdToDeployIn to dataCenterId
Corresponding getter/setter is renamed too.

Reason is GenericDao does not update the field unless the method name matches the field name; the setter of this VO was one such case.
2013-01-22 12:56:39 -08:00
Prachi Damle 2adce8e712 Fixes to VO stuff 2013-01-22 12:54:22 -08:00
Prachi Damle 3cc9f3ff06 Adding defaults to new columns 2013-01-22 12:54:12 -08:00
Prachi Damle e6cd47ddc0 More changes for deployVM flow. 2013-01-22 12:54:07 -08:00
Prachi Damle 94e8090bf3 Deploy, Start, Stop, Destroy VM orchestration service changes 2013-01-22 12:54:04 -08:00
Edison Su 4fbecf15ec add unit test back, primary storage life cycle is tested 2013-01-21 17:01:00 -08:00
Kelven Yang 249dcde364 Add FactoryBean for VirtualMachineEntity to help implement dyanmic injection 2013-01-17 21:06:45 -08:00
Kelven Yang e5507c3892 Deprecate 2.1.x migration DAOs, it breaks EntityManager's singleton assumption 2013-01-17 18:55:14 -08:00
Alex Huang 9759ad57f2 Commit the current changes to unit tests 2013-01-17 06:50:11 -08:00
Rohit Yadav ea3f5ecb54 Fix license for xml files in javelin
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-12 06:31:47 -08:00
Rohit Yadav ba20e7f85a Fix license headers for java files in javelin
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-12 06:27:09 -08:00
Alex Huang f40e7b7511 removed componentlocator and inject 2013-01-10 11:05:20 -08:00
Alex Huang 0bcb64605f all built with the latest 2013-01-09 05:02:39 -08:00
Alex Huang 14bd345f1f merge compiles 2013-01-09 04:41:27 -08:00
Kelven Yang b274c570f9 Cleanup places that use explicit wiring of the components 2013-01-08 17:45:33 -08:00
Prachi Damle a4f4c98670 OrchestrationService: some changes for DeployVM 2013-01-08 11:53:54 -08:00
Kelven Yang b96bb8feb9 Hook log4j to Spring bootstrapped Javelin server 2013-01-07 18:21:58 -08:00
Kelven Yang 107fccdf69 Add AsyncCallFuture 2013-01-03 17:24:26 -08:00
Prachi Damle 7e61e200a6 Register Host and unit test 2013-01-03 11:44:39 -08:00
Prachi Damle 3ff3a47e36 Provisioning Service: register Pod, Cluster, Deregister Zone/Pod/Cluster and unit tests 2013-01-03 11:44:37 -08:00
Prachi Damle 1eb64e6181 ProvisioningService:: registerZone changes and unit-test 2013-01-03 11:44:36 -08:00
Alex Huang c622bee1ed made changes to work with the new injection stuff 2012-12-28 16:44:26 -08:00
Alex Huang e936c32a04 Fixed problems with inject checkin 2012-12-28 16:24:54 -08:00
Alex Huang 54cce5fa18 Getting things to compile 2012-12-28 16:07:56 -08:00
Alex Huang 35914d6f6a links are working 2012-12-07 15:21:20 -08:00
Alex Huang bd17d35adb Some initial checkins 2012-11-19 16:53:21 -08:00
Alex Huang cf6b336739 fixed pom problem in network component 2012-11-05 09:22:50 -08:00
Alex Huang a6df8a5b44 Added engine 2012-11-05 09:14:14 -08:00