summaryrefslogtreecommitdiff
path: root/mobmonitor
AgeCommit message (Collapse)Author
2015-07-08mobmonitor: Implement the Mob* Monitor RPCs.Matthew Sartori
This CL implements the GetServiceList, GetStatus and RepairService RPCs. BUG=chromium:493318,chromium:493319,chromium:493320 TEST=Unittests and manually testing with the mobmoncli script. Change-Id: I0bc7f2a4a0bea27201a4ad7938b6b3d034a02115 Reviewed-on: https://chromium-review.googlesource.com/282827 Tested-by: Matthew Sartori <msartori@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Commit-Queue: Matthew Sartori <msartori@chromium.org>
2015-07-01mobmonitor: Correction for flaky test.Matthew Sartori
The Mob* Monitor has a unittest that verifies restart behaviour when source files change. The unittest attempts to spawn the monitor as a subprocess inside of a thread. The flakiness seems to arise when the thread attempts to join but the subprocess hasn't terminated. This CL adds additional checks to make sure the subprocess is dead before joining. BUG=chromium:505918 TEST=Unittests. Change-Id: I82aecd86656a7c5845277e4353c130d7bc9df961 Reviewed-on: https://chromium-review.googlesource.com/282762 Tested-by: Matthew Sartori <msartori@chromium.org> Reviewed-by: David James <davidjames@chromium.org> Commit-Queue: Matthew Sartori <msartori@chromium.org>
2015-06-30mobmonitor: Mob* Monitor Action Files.Matthew Sartori
This CL implements a re-design of how we want to handle repair actions. Previously, actions were tied to particular health checks which was difficult to work with when multiple health checks required the same action for repair. This CL allows for check writers to write action files. All repair functions are specified in an action file. Further, a directory structure is enforced for each service, so that actions are service-centric. Please see the README for information on the new directory layout. BUG=chromium:503706 TEST=Unittests and tested on local machine with real files. Change-Id: Ibd2b36b88af4ea573ae4a5af233ff2b3191e204d Reviewed-on: https://chromium-review.googlesource.com/281965 Tested-by: Matthew Sartori <msartori@chromium.org> Reviewed-by: Paul Hobbs <phobbs@google.com> Commit-Queue: Matthew Sartori <msartori@chromium.org>
2015-06-19mobmonitor: Mob* Monitor Checkfile ExecutionMatthew Sartori
This CL implements the execution of the Check and Diagnose functions that are defined in health check classes. This bug assumes that Check functions are fast. Handling long health checks will be the focus of crbug.com/501959. It is assumed that executing Diagnose is fast as it simply maps a failure code to a description and set of repair actions. BUG=chromium:490798,chromium:490801 TEST=Unittests and tested on local machine. Change-Id: If82e8663e14ef3e3872b7ff8b677a56ffb5e22fa Reviewed-on: https://chromium-review.googlesource.com/280387 Tested-by: Matthew Sartori <msartori@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Commit-Queue: Matthew Sartori <msartori@chromium.org>
2015-06-12mobmonitor: Mob* Monitor Checkfile CollectionMatthew Sartori
This CL implements a recurring background task using cherrypy plugins that will periodically collect checkfiles from the specified directory. BUG=chromium:490788 TEST=Unittests and tested collection on local machine. Change-Id: Ia92a755e4712fd26fa9215b760ecb759b72df35b Reviewed-on: https://chromium-review.googlesource.com/276241 Tested-by: Matthew Sartori <msartori@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Commit-Queue: Matthew Sartori <msartori@chromium.org>
2015-06-11mobmonitor: Mob* Monitor System InformationMatthew Sartori
This CL implements functionality for collecting basic CPU, disk and memory information. This CL implements functionality so that: - Common system information will (eventually) be accessible to check files for the Mob* Monitor. - Basic information for memory load, cpu load, disk partitions and usage can be gathered. - Collections are stored with a period of validity so the system will not be stressed with repeated checks. BUG=chromium:490786 TEST=Tested with unittests and by running on local machine. Change-Id: Iab006b4966a91e44bcfc5a71e44523c0d8d258c0 Reviewed-on: https://chromium-review.googlesource.com/275273 Reviewed-by: Dan Shi <dshi@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Tested-by: Matthew Sartori <msartori@chromium.org> Commit-Queue: Matthew Sartori <msartori@chromium.org>
2015-06-03mobmonitor: Basic Mob* Monitor architectureMatthew Sartori
This CL sets up the basic web, rpc, cli architecture for the Mob* Monitor. BUG=chromium:490820,chromium:490816,chromium:490813 TEST=Tested starting the Mob* Monitor on my local machine and executing the mobmon command line script to test the stubbed RPCs. Not yet tested/deployed to moblab. Change-Id: Ibd3e2b0aaf7a1c879406cb1be810000dcbfb194f Reviewed-on: https://chromium-review.googlesource.com/272957 Tested-by: Matthew Sartori <msartori@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Commit-Queue: Aviv Keshet <akeshet@chromium.org>
2015-05-22[mobmonitor] Create a home for the Mob* monitor projectMatthew Sartori
This CL does nothing more than establish a home for the Mob* Monitor project under chromite. BUG=chromium:490775 TEST=None Change-Id: Ia45c25cbf620105223ba666a308d3a3a3167196f Reviewed-on: https://chromium-review.googlesource.com/272654 Tested-by: Matthew Sartori <msartori@chromium.org> Reviewed-by: Simran Basi <sbasi@chromium.org> Commit-Queue: Matthew Sartori <msartori@chromium.org>