Commit Graph

87 Commits

Author SHA1 Message Date
Kelven Yang 519532db2b CLOUDSTACK-1795: implement custom AOP to fully support legacy CloudStack AOP semantcis
Signed-off-by: Chip Childers <chip.childers@gmail.com>
2013-03-27 13:06:49 +00:00
Kelven Yang df8c7506fc CLOUDSTACK-1173: fix the regression caused by life-cycle management changes 2013-02-26 11:51:31 -08:00
Kelven Yang 296c20332d Merge javelin into master 2013-02-01 14:40:45 -08:00
Koushik Das 777147ce8a CS-CLOUDSTACK-606:
The issue happens randomly when hosts in a cluster gets distributed across multiple MS. Host can get split in following scenarios:
    a. Add host – MS on which add host is executed takes ownership of the host. So if 2 hosts belonging to same cluster are added from 2 different MS then cluster gets split
    b. scanDirectAgentToLoad – This runs every 90 secs. and check if there are any hosts that needs to be reconnected. The current logic of host scan can also lead to a split

    The idea is to fix (b) to ensure that hosts in a cluster are managed by same MS. For (a) only the entry in the database is going to be created except in case if the host getting added is first in the cluster (in this case agent creation happens at the same time) and then (b) will take care of connection and agent creation part. Since currently addHost only creates an entry in the db there is a small window where the host state will be shown as 'Alert' till the time (b) is scheduled and picks up the host to make a connection. The MS doing add host will immediately schedule a scan task and also send notification to peers to start the scan task.
2013-02-01 15:34:41 +05:30
Kelven Yang 176523254e Improve component lifecycle management with system run-level concept 2013-01-30 15:21:02 -08:00
Kelven Yang 2c5859dbd4 Bring javelin back to the status of being able to start System VMs after another round of master branch merge 2013-01-18 19:15:32 -08:00
Alex Huang 56e5fbdee2 removed import of componentlocator and inject from all files 2013-01-10 11:44:47 -08:00
Alex Huang 0bcb64605f all built with the latest 2013-01-09 05:02:39 -08:00
Kelven Yang b274c570f9 Cleanup places that use explicit wiring of the components 2013-01-08 17:45:33 -08:00
Alex Huang 30f2565d98 Merge branch 'api_refactoring' into javelin 2013-01-08 12:36:04 -08:00
Kelven Yang e2078ec6e4 Solve Spring loading issues with a few Dao and Manager components 2013-01-02 13:55:26 -08:00
Kelven Yang d79f1f6fdc Replace Adapters and PluggableServices, use Spring to load them 2012-11-07 15:03:24 -08:00
Kelven Yang cea8f3bf37 Switch inject annotation to javax and let ComponentLocator to recognize both the new and original inject annotation 2012-11-07 15:03:22 -08:00
Kelven Yang aab02e2743 Add Spring annotation to major components 2012-11-07 14:53:39 -08:00
Hugo Trippaers e59726ad95 [CLOUDSTACK-359] Hook up the other side of the event propagation 2012-10-26 14:25:14 +02:00
Min Chen 7b7f4cd1fd CLOUDSTACK-409: ThreadLocal Transaction and its db connection got reset for user managed db connnection, causing ClusterHeartBeat thread frequently trying to get db connection. Add unit test to test user managed transaction. 2012-10-25 13:06:50 -07:00
David Nalley ac9dee94ac fix from Pradeep Soundararajan for removing build dependency on mysql-connector-java https://reviews.apache.org/r/6180 2012-08-20 13:38:19 -04:00
David Nalley e87558256c Patch from Chip Childers
https://reviews.apache.org/r/5704/
License header updates for the server folder
2012-07-02 09:51:21 -04:00
Kelven Yang 93a5b7c0bc Bug 14301: Perform socket-level only management server pings
Reviewed-By: kelven
2012-04-05 15:06:25 -07:00
frank 2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
Kelven Yang 74754f0a56 bug 14564: Upon management server startup, for detected inactive management server (based on timestamp), perform ping-test before we really mark it as down
Reviewed-By: kelven
2012-03-30 16:46:13 -07:00
Kelven Yang 5602f3b550 bug 14301:
1) Support HTTP keep-alive in clustering communication channel
2) Increase concurrency level for clustering message delivery

Reviewed-By: Kelven (with unit test)
2012-03-27 16:37:22 -07:00
Kelven Yang 7d87f48ef4 bug 14301:
1) Drop synchronized call semantic for ClusterManagerImpl.broadcast()
2) Have no choice now but to use an unbound thread pool to notify upper layer. This is to prevent thread starvation when we have cross-management server waitings.

Reviewed-By: Kelven(with unit test)
2012-03-27 16:09:55 -07:00
Kelven Yang 880188466c bug 14301: fix regressions caused by new clustering transport. Correct usage of HttpClient to avoid socket staying in CLOSE_WAIT state for too long. Reviewed-By: Kelven 2012-03-27 16:08:57 -07:00
Kelven Yang 0f34744c9e bug 14301: Decouple synchronized crosss management server call with clustering transport. Reviewed-by: Kelven 2012-03-27 16:01:54 -07:00
Kelven Yang bcd58e3ae3 Change cluster profiling log level to DEBUG, add more profilers to cluster peer-scan processing 2012-01-11 15:37:35 -08:00
Kelven Yang dcdd87b30f bug 12709: add management server active fencing 2012-01-05 15:00:35 -08:00
Kelven Yang 323a07d7e2 bug 12709: incremental fix - profiling management server clustering heartbeat activities 2012-01-05 14:59:45 -08:00
frank 24b82a7a89 Bug 11522 - New agent manager
call SearchCriteriaService interface instead of SearchCriteria2 instance
2011-10-06 10:32:07 -07:00
frank 89e04458b6 Bug 11522 - New agent manager
move all listxxx interface from HostDao to managers(ResourceManager, SecondaryStorageVmManager etc) with decent name using SearchCriteria2
or direct call SearchCriteria2 on demand
2011-10-04 14:35:26 -07:00
frank 81665757de Bug 11522 - New agent manager
move delete host to ResourceManager
2011-09-23 15:04:44 -07:00
Kelven Yang a118880836 bug 10874: don't invalid run session of other management server even if it detects it is unreachable as the event may just be temporary network condition 2011-09-08 14:22:52 -07:00
alena 8a7feb8ec1 Merge branch '2.2.y'
Conflicts:
	agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java
	api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
	api/src/com/cloud/agent/api/to/FirewallRuleTO.java
	api/src/com/cloud/agent/api/to/IpAddressTO.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/BaseCmd.java
	api/src/com/cloud/api/ResponseGenerator.java
	api/src/com/cloud/api/commands/CreateFirewallRuleCmd.java
	api/src/com/cloud/api/commands/CreateIpForwardingRuleCmd.java
	api/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.java
	api/src/com/cloud/api/commands/CreatePortForwardingRuleCmd.java
	api/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java
	api/src/com/cloud/api/commands/ListCapabilitiesCmd.java
	api/src/com/cloud/api/commands/UpdateNetworkCmd.java
	api/src/com/cloud/api/response/CapabilitiesResponse.java
	api/src/com/cloud/network/Network.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/firewall/FirewallService.java
	api/src/com/cloud/network/lb/LoadBalancingRule.java
	api/src/com/cloud/network/lb/LoadBalancingRulesService.java
	api/src/com/cloud/network/rules/FirewallRule.java
	api/src/com/cloud/network/rules/RulesService.java
	api/src/com/cloud/offering/NetworkOffering.java
	client/tomcatconf/commands.properties.in
	cloud.spec
	core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
	core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java
	core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
	core/src/com/cloud/storage/template/DownloadManagerImpl.java
	core/src/com/cloud/vm/DomainRouterVO.java
	debian/cloud-deps.install
	patches/systemvm/debian/config/etc/init.d/cloud-early-config
	patches/systemvm/debian/config/root/ipassoc.sh
	patches/systemvm/debian/config/root/loadbalancer.sh
	scripts/vm/hypervisor/kvm/rundomrpre.sh
	scripts/vm/hypervisor/xenserver/vmops
	server/src/com/cloud/agent/manager/AgentAttache.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/agent/manager/AgentMonitor.java
	server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
	server/src/com/cloud/alert/ClusterAlertAdapter.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/cluster/ClusterManagerImpl.java
	server/src/com/cloud/configuration/Config.java
	server/src/com/cloud/configuration/ConfigurationManager.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/deploy/FirstFitPlanner.java
	server/src/com/cloud/ha/HighAvailabilityManagerImpl.java
	server/src/com/cloud/host/dao/HostDaoImpl.java
	server/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java
	server/src/com/cloud/network/LoadBalancerVO.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/dao/FirewallRulesDao.java
	server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/element/DhcpElement.java
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/FirewallManager.java
	server/src/com/cloud/network/rules/FirewallRuleVO.java
	server/src/com/cloud/network/rules/PortForwardingRuleVO.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/rules/StaticNatRuleImpl.java
	server/src/com/cloud/network/security/SecurityGroupListener.java
	server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/server/ConfigurationServerImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/StorageManager.java
	server/src/com/cloud/storage/StorageManagerImpl.java
	server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java
	server/src/com/cloud/storage/download/DownloadMonitorImpl.java
	server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
	server/src/com/cloud/upgrade/dao/Upgrade228to229.java
	server/src/com/cloud/upgrade/dao/Upgrade229to2210.java
	server/src/com/cloud/user/AccountManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/src/com/cloud/vm/dao/DomainRouterDao.java
	server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java
	setup/db/create-index-fk.sql
	setup/db/create-schema.sql
	setup/db/db/schema-222to224.sql
	setup/db/db/schema-227to228.sql
	setup/db/db/schema-228to229.sql
	setup/db/db/schema-229to2210.sql
	tools/testClient/README
	ui/scripts/cloud.core.instance.js
	utils/src/com/cloud/utils/SerialVersionUID.java
	utils/src/com/cloud/utils/db/ConnectionConcierge.java
	utils/src/com/cloud/utils/db/Merovingian2.java
	utils/src/com/cloud/utils/db/Transaction.java
	utils/src/com/cloud/utils/nio/Link.java
	utils/src/com/cloud/utils/nio/NioConnection.java
	utils/src/com/cloud/utils/time/InaccurateClock.java
2011-08-22 20:28:30 -07:00
Alex Huang b59c6b4ab6 propagate lock table fix 2011-07-22 11:35:47 -07:00
Alex Huang 66713a490d fixed problem with the standalone connection has open transaction 2011-07-22 11:25:43 -07:00
Kelven Yang 3a6f3b71e0 bug 10791: add data integrity check upon management server startup 2011-07-21 17:08:29 -07:00
Kelven Yang 95b48ba222 bug 10791: add data integrity check upon management server startup 2011-07-21 17:07:21 -07:00
alena b1d5b5a51d 2 fixes for Agent Load Balancer:
* when management server dies and notifies other management servers about this, the running management server has to cleanup host_transfer records belonging to the died management server
* issue agent load balancing task only when agent load (number of connected agents in the system) exceeds "agent.load.threshold" - 70% by default
2011-07-21 15:43:52 -07:00
alena 307741edcd 2 fixes for Agent Load Balancer:
* when management server dies and notifies other management servers about this, the running management server has to cleanup host_transfer records belonging to the died management server
* issue agent load balancing task only when agent load (number of connected agents in the system) exceeds "agent.load.threshold" - 70% by default

Conflicts:

	server/src/com/cloud/configuration/Config.java
	setup/db/db/schema-228to229.sql
2011-07-21 15:27:50 -07:00
Alex Huang 392c03ce6f propagated db connection savings from master 2011-07-18 14:22:49 -07:00
Kelven Yang 11527ad914 bug 10699: log on listener registration 2011-07-12 16:58:55 -07:00
Kelven Yang 40145b0b8b add logging to clustering notification 2011-07-12 16:14:58 -07:00
Kelven Yang 6d8eb45bad add logging to clustering notification 2011-07-11 17:16:23 -07:00
Kelven Yang 72cbd65db2 bug 10668: add DB upgrade scripts for 2.2.7 to 2.2.8 upgrade 2011-07-08 18:12:13 -07:00
Alex Huang ea48d40e5f connection conierge to deal with connections that are not returned to pools 2011-07-08 18:04:57 -07:00
Alex Huang f28a2b40a3 bug 10501: This is really Kelven's bug but I'll fix it for him anyways. DAO code already have a way to extract the DB connection from a transaction that is stored in the TLS. There's no real reason for the DAO code to add special semantics to use a different DB connection. That can be done by simply switching the transaction before it even reached the dao code. Think about it. Why would anyone want to call one dao function, switch transaction, and then switch back. The right thing is for the caller to switch transaction, call a series of dao codes, and switch it back. That's the semantics I changed to. By doing this, it also eliminates the number of debug messages in this bug. 2011-07-01 11:03:37 -07:00
Alex Huang cfc25d01be bug 10501: This is really Kelven's bug but I'll fix it for him anyways. DAO code already have a way to extract the DB connection from a transaction that is stored in the TLS. There's no real reason for the DAO code to add special semantics to use a different DB connection. That can be done by simply switching the transaction before it even reached the dao code. Think about it. Why would anyone want to call one dao function, switch transaction, and then switch back. The right thing is for the caller to switch transaction, call a series of dao codes, and switch it back. That's the semantics I changed to. By doing this, it also eliminates the number of debug messages in this bug. 2011-07-01 11:03:12 -07:00
Alex Huang c8c84af109 bug 10322: integrated into cluster management 2011-06-29 12:03:36 -07:00
Alex Huang 27809e651e bug 10322: arrival of the next generation Merovingians 2011-06-29 12:02:53 -07:00
Alex Huang 63f552995f bug 10322: integrated into cluster management 2011-06-29 12:01:43 -07:00