Rohit Yadav
7c41a1184c
agent: don't investigate if host is null, send alert instead
...
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 16:42:13 +05:30
Rohit Yadav
61dfb2d625
AgentAttache: allow checkonhost command in maintenance, cancel if only allowed
...
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 16:29:03 +05:30
Rohit Yadav
664186f483
CLOUDSTACK-8160: use preferable protocols
...
(cherry picked from commit debfcdef78 )
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-01-21 18:04:45 +05:30
Laszlo Hornyak
3577423da9
removed executable flags from java classes
...
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:49:01 +01:00
Santhosh Edukulla
ef6ec7b276
Fixed few coverity issues like invalid boxing unboxing issues, resource leaks, null dereferences
2014-11-13 17:26:24 +05:30
Anthony Xu
4a13f81485
when host is pingtimeout and CCP can not determine the host status, put the host to Alert status , no VM HA.
2014-10-22 15:14:46 -07:00
Anthony Xu
70112bd145
CLOUDSTACK-7761:
...
Revert "when system VM ping times out, stop system VM"
This reverts commit ee23be1942 .
2014-10-21 17:19:57 -07:00
Santhosh Edukulla
31a42d2b7a
Fixed few coverity patches
...
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-10-09 11:45:26 +05:30
Anthony Xu
847e1e47ae
when system VM ping times out, stop system VM
2014-09-30 12:35:44 -07:00
Devdeep Singh
55b4ead495
CLOUDSTACK-7598: When a vm deployed by cloudstack is stopped on the hypervisor
...
(outside cloudstack), the state of the vm is not updated in cloudstack db. The
ping task was not checking for resource (host) status by default. The power
state of the vms is returned as part of the resource status. Fixed the issue by
making sure ping task atleast tries once to get the resource status.
2014-09-25 13:13:56 +05:30
Hugo Trippaers
8a13f44b44
Remove duplicate field in constructor
2014-09-18 16:02:26 +02:00
Daan Hoogland
7f440854f7
CLOUDSTACK-7184 retry-wait loop config to deal with network glitches
...
(cherry picked from commit a29f954a26 )
Conflicts:
engine/orchestration/src/com/cloud/agent/manager/DirectAgentAttache.java
2014-09-18 12:55:05 +02:00
Rohit Yadav
2cd99e3e72
CID-1116245: Lock for getting answers from SynchronousListener
...
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-18 11:56:29 +02:00
Rohit Yadav
3640c61207
CID-1116248: Synchornize method in SynchronousListener
...
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-18 11:54:31 +02:00
Anthony Xu
e5a91e40dd
in tagCommand, AsyncJobExecutionContext doesn't need to be created if it doesn't exist
2014-09-17 18:15:41 -07:00
Min Chen
d5a8f1d875
CLOUDSTACK-7553: Clean up cached agentMap and pingMap in case of agents
...
connecting back to a different MS.
2014-09-15 17:37:51 -07:00
Likitha Shetty
8ce6eba549
CLOUDSTACK-7415. Host remains in Alert after vCenter restart.
...
Management server PingTask should update PingMap entry for an agent only if it is already present in the Management Server's PingMap.
2014-08-25 13:24:28 +05:30
Santhosh Edukulla
e4d6cd8e6a
Fixed coverity reported concurrency issues
...
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
2014-08-05 12:16:08 +05:30
Santhosh Edukulla
b7d3f1bd30
Fixed few coverity issues for resource synchronization
2014-08-04 16:09:26 +05:30
Anthony Xu
330c4ba578
completed the new vmsync TODOs in the code.
...
removed old vmsync logic
2014-07-28 12:51:37 -07:00
Hugo Trippaers
e78bb1d225
Switch the catch to Throwable. Uncaught exceptions in a scheduled
...
threadpool executor will not report or log uncaught exceptions but will
kill the thread causing unexplained timeouts in CS.
2014-07-16 16:24:55 +02:00
Santhosh Edukulla
97d296bfbd
Fixed Coverity reported performance issues like inefficient string concatenations, wrong boxing or unboxing types, inefficent map element retrievals
...
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-07-01 22:06:25 +02:00
Kelven Yang
f756d4aa33
Make job info universally available across management server and resource agents
2014-06-24 16:28:22 -07:00
Koushik Das
d5754d9101
CLOUDSTACK-6740: Direct agent command throttling improvements
...
List of changes:
1. Created a separate thread pool for handling cron and ping tasks. The size of the pool is based on direct.agent.pool.size. The existing direct agent pool will run all commands other than cron and ping.
2. For normal tasks (generated as part of user/admin API calls), if throttle limit is reached then tasks get queued up for subsequent execution once threads are available.
3. For cron and ping tasks (internally generated by MS like ping, VM sync etc.), if throttle limit is reached then these gets rejected. Since these are internally generated these can be rejected without any issues.
2014-05-22 14:15:42 +05:30
Anthony Xu
b3491bcbac
removed unused command ClusterSyncCommand
2014-05-01 11:45:19 -07:00
Ding Yuan
c031eb7d38
CLOUDSTACK-6242: exception handling improvements
...
Signed-off-by: Daan Hoogland <daan@onecht.net>
2014-04-15 08:07:15 +02:00
Koushik Das
54e9a98e8b
CLOUDSTACK-6362: Parallel VM deployment - direct.agent.thread.cap needs to default to 1.0 (currently 0.1) to allow for parallel Vm deployments.
2014-04-09 12:28:01 +05:30
Alex Huang
4ebb92c492
Fixed some warnings about using a deprecated constructor
2014-03-25 16:48:27 -07:00
Alex Huang
f445274ed3
Added a config to enable checking whether a db transaction is wrapped around communications with the agent. If it is, an exception is thrown. This assert has actually been there because it is part of CloudStack's design principle to not use db transactions as a way to enforce atomicity in executing things on hardware resources. However, the assert has been ignored since the move to maven which is not good with enabling asserts. Since then, there's been a lot of commands added that actually runs within db transaction. This is a big no no as the problem is that the remote operation may take a long time and the db can actually close the connection, causing a rollback of the transaction. We should not depend on transactions to enforce the atomicity anyways.
2014-03-25 16:35:49 -07:00
Anthony Xu
370554e9d9
only ping timeout trigger host HA, otherwise there may be two threads try to HA the same VM
2014-03-05 16:50:33 -08:00
Kelven Yang
90262a81ec
Do not do investigation for SSVM/CPVM agent host upon disconnect.
2014-02-28 15:36:00 -08:00
wrodrigues
3a7e4103fc
FindBugs findings: fixing equals() methods in 2 classes; commenting out dead variable in 1 class; adding 5 tests to cover the changes in the equals() methods.
...
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2014-02-25 15:18:16 +01:00
Hugo Trippaers
26b32141a8
Findbugs : Fixes for several findings
...
Made a comment on the use of ConcurrentHashMap for _agent
Conflicts:
engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
2014-02-14 18:37:45 +01:00
Daan Hoogland
9778481d85
findbugs: handling of long values and wrappers
2014-02-03 20:19:11 +01:00
Devdeep Singh
c75f8bcc06
CLOUDSTACK-5420: The agent manager wasn't transitioning the host to maintenance
...
mode if their are no vms running on the host. Made the change to do so.
2013-12-26 11:15:51 +05:30
Alex Huang
be5e5cc641
All Checkstyle problems corrected
2013-12-12 12:26:07 -08:00
Alena Prokharchyk
bd6f706b72
CLOUDSTACK-5261: added support for Alert publishing via ROOT Admin API
...
Conflicts:
engine/orchestration/src/com/cloud/agent/manager/AgentManagerImpl.java
engine/orchestration/src/com/cloud/vm/VirtualMachineManagerImpl.java
engine/storage/image/src/org/apache/cloudstack/storage/image/TemplateServiceImpl.java
engine/storage/volume/src/org/apache/cloudstack/storage/datastore/provider/DefaultHostListener.java
engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java
plugins/hypervisors/hyperv/src/com/cloud/hypervisor/hyperv/discoverer/HypervServerDiscoverer.java
plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/VmwareServerDiscoverer.java
plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java
server/src/com/cloud/alert/AlertManagerImpl.java
server/src/com/cloud/alert/ConsoleProxyAlertAdapter.java
server/src/com/cloud/alert/SecondaryStorageVmAlertAdapter.java
server/src/com/cloud/configuration/ConfigurationManagerImpl.java
server/src/com/cloud/ha/HighAvailabilityManagerExtImpl.java
server/src/com/cloud/ha/HighAvailabilityManagerImpl.java
server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
server/src/com/cloud/resourcelimit/ResourceLimitManagerImpl.java
server/src/com/cloud/storage/snapshot/SnapshotManagerImpl.java
server/src/com/cloud/vm/UserVmManagerImpl.java
usage/src/com/cloud/usage/UsageAlertManagerImpl.java
usage/src/com/cloud/usage/UsageManagerImpl.java
listAlerts: introduced new parameter "name" to the alertResponse
Conflicts:
api/src/org/apache/cloudstack/api/command/admin/resource/ListAlertsCmd.java
server/src/com/cloud/alert/AlertManagerImpl.java
usage/src/com/cloud/usage/UsageAlertManagerImpl.java
Added new Admin API - generateAlert. Available to ROOT admin only
Conflicts:
api/src/org/apache/cloudstack/alert/AlertService.java
api/src/org/apache/cloudstack/api/BaseCmd.java
usage/src/com/cloud/usage/UsageAlertManagerImpl.java
listAlerts: implemented search by alert name
Conflicts:
api/src/org/apache/cloudstack/alert/AlertService.java
api/src/org/apache/cloudstack/api/command/admin/resource/ListAlertsCmd.java
engine/schema/src/com/cloud/alert/AlertVO.java
2013-12-04 10:05:46 -08:00
Alena Prokharchyk
e8ec75a2b5
Removed unused agent lb timer
2013-11-21 14:29:40 -08:00
Alex Huang
d620df2bdd
Reformatted all of the code.
2013-11-21 06:15:26 -08:00
Alex Huang
224f479974
Removed trailing spaces
2013-11-21 04:08:01 -08:00
Alex Huang
8d62744681
Reformat all source code. Added checkstyle to check the source code
2013-11-20 07:26:53 -08:00
Laszlo Hornyak
6f3688d13d
Fill the creationMonitors based on priority
...
If not priotity, append to the end of the list.
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2013-11-08 21:51:04 +01:00
Koushik Das
269a4ef11e
CLOUDSTACK-4855: Throttle based on the # of outstanding requests to the directly managed HV host (direct agents)
...
Cloudstack sends requests to directly managed HV hosts (direct agents) using the direct agent thread pool. The size of the pool is determined by global config direct.agent.pool.size defaulted to 500.
Currently there is no restriction on the number of threads a direct agent can use from this shared thread pool to send requests to the host. This is fine as long as the host is responding to requests
in a reasonable amount of time. But if there is a considerable delay in getting response, the thread remain blocked for that much time. As more commands are send to the slow host threads keep getting
blocked. This can eventually lead to a situation where requests to healthy hosts cannot be processed as there are not enough free threads.
The problem being addressed here is to localize the impact of few bad hosts, so that entire management server is not affected.
One such way is to throttle based on the # of outstanding requests on per host basis. The outstanding requests to a host will be a % of direct agent pool size. This is configurable based on
direct.agent.thread.cap. The default value is 0.1 or 10%, a value of 1 would mean the old behavior where there is no upper cap. This will ensure that the impacted host will be bound by a upper cap on the number of threads it can use to process requests and not the entire pool.
2013-11-04 14:52:26 +05:30
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
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
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
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