2016-10-04 Mahlon E. Smith * lib/arborist/node.rb: State transition cleanup: Only nodes in a 'down' state can transition to 'acked'. [eed40468bb5e] [tip] 2016-10-03 Mahlon E. Smith * lib/arborist/command/config.rb: Require the manager when generating a default configuration file. [d0c5ef20e6fd] 2016-09-28 Michael Granger * TODO.md, lib/arborist/node.rb, spec/arborist/node_spec.rb: Fix the unknown => disabled transition when updating with an ACK [30d2548e1308] [github/master] * lib/arborist/manager.rb, spec/arborist/manager_spec.rb: Flatten the config into one namespace This fixes the manager's defaults, which were never actually used. [ae18e761d06f] 2016-09-21 Michael Granger * TODO.md, lib/arborist/manager.rb, lib/arborist/node.rb, spec/arborist/node_spec.rb: Fix consequential event propagation/publication [cdf3fb9d63c8] * lib/arborist/dependency.rb, spec/arborist/dependency_spec.rb: Clarify dependency "down reason" to not seem like a node state [1f8f703940cb] * lib/arborist/manager/tree_api.rb: Stripped spammier debugging [dc594799b7dc] * Events.md: Add description of event movement to Events.md [bfee2016aa79] 2016-09-21 Mahlon E. Smith * .rvmrc, lib/arborist/node.rb: Add an event handler for disabled events, so nodes are properly quieted when their secondary dependencies are disabled. [d032e1820965] 2016-09-06 Michael Granger * arborist.gemspec, lib/arborist/monitor/socket.rb, spec/arborist/monitor/socket_spec.rb: Fix up the specs for getpeername socket monitor change [f8c5bbc611b2] * lib/arborist/monitor/socket.rb: Make socket check use getpeername for testing non-blocking connect [9715a6d9903f] 2016-08-31 Michael Granger * Protocol.md, TODO.md, lib/arborist/client.rb, lib/arborist/event.rb, lib/arborist/event/node.rb, lib/arborist/event/node_delta.rb, lib/arborist/manager.rb, lib/arborist/manager/tree_api.rb, lib/arborist/monitor.rb, lib/arborist/monitor/socket.rb, lib/arborist/node.rb, lib/arborist/observer.rb, lib/arborist/subscription.rb, spec/arborist/event/node_delta_spec.rb, spec/arborist/event/node_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/observer_spec.rb, spec/arborist/subscription_spec.rb: Add exclusion to subscriptions [23b84af1ebb4] * arborist.gemspec, lib/arborist/manager/tree_api.rb, lib/arborist/monitor/socket.rb, lib/arborist/node.rb, spec/arborist/manager/tree_api_spec.rb: Include all operational values in fetched nodes. Also error more gracefully about non-eachable updates. [a72fc8d43adc] * lib/arborist/client.rb: Rearrange some methods in the client [106b17e27a3a] 2016-08-29 Michael Granger * Rakefile, arborist.gemspec, certs/ged.pem: Add public cert [a7c6232586ad] * Manifest.txt, arborist.gemspec: Update the manifest with spec changes, rebuild gemspec. [aec9f5ec88de] * spec/data/nodes/duir.rb: Merge with a5a6e5092024 [c961355d10c8] 2016-08-29 Mahlon E. Smith * lib/arborist/loader/file.rb, spec/data/nodes/duir.rb, spec/data/nodes/sub/duir.rb: Fix the file loader so it correctly crawls subdirectories. [a5a6e5092024] 2016-08-03 Michael Granger * lib/arborist/event/sys_node_added.rb, lib/arborist/event/sys_node_removed.rb, lib/arborist/event/sys_reloaded.rb, lib/arborist/event/sys_shutdown.rb: Remove system event node classes [a34a23ef095e] 2016-08-02 Michael Granger * Manifest.txt, TODO.md, lib/arborist/mixins.rb, lib/arborist/monitor.rb, lib/arborist/monitor_runner.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/service.rb, spec/arborist/node/service_spec.rb, spec/arborist/node_spec.rb, spec/arborist/subscription_spec.rb: - Update the TO-DO list - Factor out some network functions into a common mixin - Add Arborist::Monitor#inspect - Restore ack+status of serialized nodes - Allow services to set their own address when not bound to INADDR_ANY - Finish separating node events from system events [f853508dba8c] * lib/arborist/monitor/socket.rb: Fix race to calculate select timeout in socket monitor [56a6dd2a8e40] 2016-07-20 Michael Granger * TODO.md: Update the To-Do file [53ca09b4d50e] 2016-07-20 Mahlon E. Smith * lib/arborist/node/resource.rb, spec/arborist/node/resource_spec.rb: Add a `category` attribute to the resource node type. [ae3aa8435e15] 2016-07-20 Michael Granger * .gems, .tm_properties, Events.md, TODO.md, arborist.gemspec, lib/arborist.rb, lib/arborist/command/watch.rb, lib/arborist/event/sys_shutdown.rb, lib/arborist/manager.rb, lib/arborist/manager/event_publisher.rb, lib/arborist/manager/tree_api.rb, lib/arborist/node.rb, lib/arborist/observer_runner.rb, spec/arborist/client_spec.rb, spec/arborist/manager/event_publisher_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/observer_runner_spec.rb, spec/spec_helper.rb: Send system events from the manager for status changes [4cc9924e6b0c] 2016-06-15 Michael Granger * spec/arborist/observer_spec.rb, spec/data/observers/auditor.rb: Fix signature of observer actions in specs [196443e52d87] * lib/arborist/node.rb, lib/arborist/node/host.rb, spec/arborist/node_spec.rb: Add a config hash to node operational metadata [196223da8ba4] 2016-05-19 Mahlon E. Smith * lib/arborist/node/resource.rb, spec/arborist/node/resource_spec.rb: Resource nodes should also inherit addressing from their parent hosts (as service nodes do). This gives resource monitors a path to gathering information -- an obvious example being load or disk checks over SNMP. Something that isn't a service with a protocol and port, but a necessary piece of information for overall host and service health, that should be monitored (and potentially ack'ed/disabled) independently. [b4324ab8853e] 2016-05-18 Mahlon E. Smith * lib/arborist/cli.rb: Remove the default log level from the arborist command line client. [39338420aaa0] 2016-05-04 Michael Granger * Protocol.md, README.md, lib/arborist/dependency.rb, lib/arborist/node.rb, spec/arborist/dependency_spec.rb, spec/arborist/node_spec.rb: Fix the way nodes' dependency state is restored [325443abe6df] 2016-04-27 Michael Granger * README.md: Remove the link to the "tutorial" until there is one [650c1e0a0628] * lib/arborist/client.rb, spec/arborist/client_spec.rb: Add fetch with depth to the client [96b36155fad0] 2016-04-20 Michael Granger * arborist.gemspec: Update the gemspec [1cd5199203f9] * lib/arborist/command/start.rb: Don't default to profiling the start command [8f480f46c441] * Manifest.txt, lib/arborist/node/resource.rb, spec/arborist/node/resource_spec.rb, spec/arborist/node/service_spec.rb: Add a `resource` host subnode type. [880c4d370508] * Protocol.md, TODO.md, lib/arborist/manager.rb, lib/arborist/manager/tree_api.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb: Add a depth argument to the tree API "list" command. [e319210e26cb] * lib/arborist/monitor/socket.rb: Use an empty string for the send in the UDP socket monitor [4a43736bba05] * Manifest.txt: Update the manifest [15f5c789b17c] * spec/arborist/event/node_spec.rb: Add specs for the node event base class [d9b8715427c3] * spec/data/observers/webservices.rb: Fix the observer setup in spec data [a990ba28f0a8] * lib/arborist/monitor/socket.rb: Add a to-do comment for a race condition [7aab38ffd06a] 2016-04-18 Michael Granger * lib/arborist/cli.rb, lib/arborist/command/start.rb: Add profiling to the `start` command, clean up cli code a bit [7117040136c4] 2016-04-18 Mahlon E. Smith * TODO.md: Update TODO with some additional ideas. [f81ee9253773] 2016-04-14 Mahlon E. Smith * lib/arborist/monitor/socket.rb, lib/arborist/node.rb: Checkpoint commit. - Add UDP checking, based on the TCP checker. - Fix logging for quieted nodes. - Start updating the status_changed node attribute on status transitions. [527fafd7c668] * TODO.md: Add a quick blurb to the TODO. [6f93cc30a5e1] 2016-04-14 Michael Granger * .hgignore, .hoerc, lib/arborist/monitor_runner.rb, spec/arborist/manager_spec.rb: Fix the monitor running after adding negative criteria. [46d6c436174c] 2016-04-13 Michael Granger * lib/arborist/client.rb, lib/arborist/event/node.rb, lib/arborist/manager.rb, lib/arborist/manager/tree_api.rb, lib/arborist/monitor_runner.rb, spec/arborist/client_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb: Implement exclude for node matching/monitors [99d5e31791a3] * lib/arborist/monitor.rb, spec/arborist/monitor_spec.rb: Handle system call errors while running the monitor command [b4ca615e0b32] * lib/arborist/node.rb, lib/arborist/node/ack.rb, spec/arborist/node/ack_spec.rb: Fix the status description during state changes with ack set. [40c91d7c3131] * Manifest.txt, TODO.md, arborist.gemspec, lib/arborist/node.rb, lib/arborist/node/ack.rb, spec/arborist/node/ack_spec.rb: Break node acks out into a class, fix serialization issues [d9d01450a189] * lib/arborist/node.rb, spec/arborist/node_spec.rb: Fix node ack-clearing [b6694a5b8368] 2016-04-12 Mahlon E. Smith * lib/arborist/client.rb: Add acknowledgement helpers for Arborist::Client. [98dae44fa322] 2016-04-11 Michael Granger * Manifest.txt, lib/arborist/event/node_delta.rb, lib/arborist/node/host.rb, spec/arborist/node_spec.rb: Add an override to node.delta events The change to include node attributes in all `node.*` events broke the delta event, and changed what the `node.ack` events look like. This fixes `node.delta` events to look like they did before (only including the diff in their payload), and updates the specs for the `node.ack` event to expect the new-style payload. [af21efce26e3] * .tm_properties, lib/arborist/event/node.rb, lib/arborist/event/node_update.rb, spec/arborist/event/node_down_spec.rb, spec/arborist/event/node_update_spec.rb: Include node payload in all node events [8257c7337a2b] * TODO.md: Update TODO [fca1215eee50] * lib/arborist/manager/tree_api.rb: Log client api commands at debug instead of info [a497308b8723] 2016-04-06 Michael Granger * TODO.md, lib/arborist/manager.rb, lib/arborist/node.rb, spec/arborist/manager_spec.rb: Don't cross quieted nodes in default traversal [92756b2da807] * TODO.md: Update TO DO list [7a24db395228] * lib/arborist/node.rb: Don't log dependency state on every node.up event [8585c6dd3240] * lib/arborist/node/service.rb: Don't restore addresses for marshalled services [1665d36ffadd] * lib/arborist/cli.rb: Fix logging in the cli [25e09c2f43a9] * Manifest.txt, Nodes.md, TODO.md, arborist.gemspec, lib/arborist.rb, lib/arborist/cli.rb, lib/arborist/command/client.rb, lib/arborist/command/start.rb, lib/arborist/dependency.rb, lib/arborist/event.rb, lib/arborist/event/node.rb, lib/arborist/event/node_acked.rb, lib/arborist/event/node_delta.rb, lib/arborist/event/node_disabled.rb, lib/arborist/event/node_down.rb, lib/arborist/event/node_matching.rb, lib/arborist/event/node_quieted.rb, lib/arborist/event/node_unknown.rb, lib/arborist/event/node_up.rb, lib/arborist/event/node_update.rb, lib/arborist/event/sys_node_added.rb, lib/arborist/event/sys_node_removed.rb, lib/arborist/exceptions.rb, lib/arborist/manager.rb, lib/arborist/manager/event_publisher.rb, lib/arborist/manager/tree_api.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/service.rb, lib/arborist/subscription.rb, spec/arborist/dependency_spec.rb, spec/arborist/event/node_delta_spec.rb, spec/arborist/event/node_update_spec.rb, spec/arborist/event_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/monitor_spec.rb, spec/arborist/node/host_spec.rb, spec/arborist/node/service_spec.rb, spec/arborist/node_spec.rb, spec/arborist/subscription_spec.rb: Add ability to express secondary dependencies * * * Experimental sexps using a Struct [ed4f0655b4b6] 2016-03-02 Michael Granger * TODO.md: Update the to-do list [5ff19d1aefbd] * arborist.gemspec, lib/arborist/cli.rb, lib/arborist/event.rb, lib/arborist/event/node_delta.rb, lib/arborist/mixins.rb, lib/arborist/node.rb, spec/arborist/event/node_delta_spec.rb: Fix matching for node delta events [c3ad32bd54a2] * lib/arborist/manager.rb: Remove unused Manager constant [8079f5cdaecb] * .hoerc: Don't include state files in the manifest [72aa5a4204b5] * .hgignore, lib/arborist.rb, lib/arborist/manager.rb, lib/arborist/node.rb, lib/arborist/node/root.rb, spec/arborist/manager_spec.rb, spec/arborist/node_spec.rb: Save and restore tree state across restarts * * * fold this [f002d3b7cb8b] 2016-02-24 Michael Granger * TODO.md: Update the TODO list [47ef6bc4fe24] 2016-02-22 Michael Granger * TODO.md, lib/arborist/client.rb, lib/arborist/manager/tree_api.rb, spec/arborist/client_spec.rb, spec/arborist/manager/tree_api_spec.rb: Add MODIFY to the tree api/client. [6cfcaabc4a68] * lib/arborist/node.rb, spec/arborist/node_spec.rb: Fix Node tags modification [7ede931a8214] 2016-02-10 Michael Granger * TODO.md, lib/arborist/client.rb, lib/arborist/exceptions.rb, lib/arborist/manager.rb, lib/arborist/manager/tree_api.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/service.rb, spec/arborist/client_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/node/service_spec.rb, spec/arborist_spec.rb, spec/spec_helper.rb: Added GRAFT to the tree API [9c41353696cb] * Protocol.md, TODO.md, lib/arborist/client.rb, lib/arborist/manager/tree_api.rb, spec/arborist/client_spec.rb, spec/arborist/manager/tree_api_spec.rb: Added PRUNE to the tree API. [43af5daf67a7] * TODO.md: Updated the TODO list [b30a77db11dd] * LICENSE, Manifest.txt, Rakefile, arborist.gemspec: Build system cleanup [5fe75989da8e] 2016-02-08 Michael Granger * lib/arborist.rb, lib/arborist/monitor.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/service.rb, lib/arborist/observer.rb, spec/arborist/node/host_spec.rb, spec/arborist/node_spec.rb, spec/spec_helper.rb: Add subnode declarations and add the infrastructure for graft/modify [bfcbe35fc82f] 2016-02-03 Michael Granger * TODO.md: Add some more stuff to the TODO doc [593114f4d409] * Protocol.md: Add the node operations to the Protocol doc [250d32bc3eb6] * Merge with 84af7642624c [d795d8884afa] 2016-02-02 Mahlon E. Smith * .gems, Rakefile, arborist.gemspec: oop, highline also needs to be a dependency. [84af7642624c] * .gems, Rakefile: Add GLI dependency. [d73277230ec2] 2016-02-03 Michael Granger * lib/arborist/node.rb: Add API docs for the state_machines generated methods [00d6b23ff90a] 2016-01-28 Michael Granger * README.md, Rakefile, arborist.gemspec: Fix the link list in the README, 'docs' rake target. [6479be826ccc] * Manifest.txt, README.md, Tutorial.md: Update the README and add a stub for the Tutorial mentioned in it. [f020438be6d9] * spec/arborist/client_spec.rb, spec/spec_helper.rb: Skip the spec that requires the ZMQ workaround under CI - The ZMQ registration bug workaround never works in Semaphore's environment, so just skip that spec there. [3ec418f69498] * Manifest.txt, lib/arborist/cli.rb, spec/arborist_spec.rb: Fix leaking the root node singleton between specs. - Also silences some noisy logging from the config specs. [570a00a9311d] * lib/arborist.rb, lib/arborist/node.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/monitor_spec.rb, spec/arborist_spec.rb, spec/spec_helper.rb: Fix some specs; still an order-dependent failure for seed 46570 [e23d2b9f8f31] * bin/amanagerd, bin/amonitord, bin/aobserverd, bin/arborist, lib/arborist/cli.rb, lib/arborist/client.rb, lib/arborist/command/client.rb, lib/arborist/command/config.rb, lib/arborist/command/start.rb, lib/arborist/command/watch.rb, lib/arborist/event/node_matching.rb, lib/arborist/observer.rb, spec/data/monitors/pings.rb: Add a CLI and consolidate daemons into a "start" command [8180949a5e2c] * lib/arborist.rb, lib/arborist/loader.rb, lib/arborist/loader/file.rb, lib/arborist/manager.rb, lib/arborist/monitor.rb, lib/arborist/node.rb, lib/arborist/observer.rb: Add a loader-plugin system instead of assuming files [6871a50affeb] 2016-01-20 Michael Granger * lib/arborist/node.rb: Whitespace fix [4ad9a2f6dd09] * spec/arborist/node_spec.rb, spec/data/monitors/port_checks.rb: Remove a note from the port checks example after discussion [e41ae3591da2] * TODO.md: Add some more TODO stuff [cf1ef68d637d] * Rakefile: Fix license copypasta in the Rakefile [83ab92cd92b1] * TODO.md, arborist.gemspec, lib/arborist/manager.rb, lib/arborist/node.rb, spec/arborist/manager_spec.rb, spec/arborist/node_spec.rb: Add 'disabled' node state. [747e81edf7e4] * .hgignore, Rakefile, arborist.gemspec, lib/arborist/node/service.rb: Updates for the gem build. [de06b562b8bd] 2015-12-31 Michael Granger * alerts/host_down.rb, images/Leaf.sketch, monitoring_featureset.txt: Removing some miscellanous files [a2f8b47a4b2a] 2015-12-30 Michael Granger * .gems, .hoerc, Manifest.txt, Observers.md, Rakefile, arborist.gemspec, lib/arborist/observer/action.rb, lib/arborist/observer/summarize.rb, spec/arborist/observer/summarize_spec.rb: Add scheduling to observers. [55599200bf56] 2015-12-16 Michael Granger * Observers.md, bin/amonitord, bin/aobserverd, lib/arborist/observer.rb, lib/arborist/observer/action.rb, lib/arborist/observer/summarize.rb, lib/arborist/observer_runner.rb, spec/arborist/observer/action_spec.rb, spec/arborist/observer/summarize_spec.rb, spec/arborist/observer_spec.rb, spec/data/observers/auditor.rb: Add Observer#summarize actions * * * Hook Action and Summary into Observers [335823f98550] 2015-12-14 Michael Granger * lib/arborist/manager/event_publisher.rb: Break the #register retry loop [d784b06e615d] 2015-12-11 Michael Granger * .hgignore, Observers.md, Protocol.md, TODO.md, lib/arborist/manager.rb, lib/arborist/observer.rb, lib/arborist/observer/action.rb, lib/arborist/observer_runner.rb, spec/arborist/observer/action_spec.rb: Implement count and time thresholds on Observer actions [88e5b037232f] 2015-12-09 Michael Granger * Observers.md, bin/aobserverd, lib/arborist.rb, lib/arborist/client.rb, lib/arborist/event.rb, lib/arborist/event/node_acked.rb, lib/arborist/event/node_delta.rb, lib/arborist/event/node_matching.rb, lib/arborist/event/node_update.rb, lib/arborist/manager.rb, lib/arborist/manager/event_publisher.rb, lib/arborist/monitor/socket.rb, lib/arborist/node.rb, lib/arborist/node/service.rb, lib/arborist/observer.rb, lib/arborist/observer_runner.rb, lib/arborist/subscription.rb, spec/arborist/client_spec.rb, spec/arborist/event/node_update_spec.rb, spec/arborist/event_spec.rb, spec/arborist/manager/event_publisher_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/observer_spec.rb, spec/arborist/subscription_spec.rb, spec/data/nodes/localhost.rb, spec/data/observers/auditor.rb, spec/data/observers/webservices.rb, spec/spec_helper.rb: Add Observer class * * * Refactor publication responsibility into Subscription [fddcbace9b6d] 2015-12-07 Michael Granger * lib/arborist/node.rb: Allow single filename arguments to Node.each_in as with Monitor et. al. [b675468ea2d3] * lib/arborist/monitor.rb: Fix a constant name in monitor.rb. [3fc70d8200e5] * lib/arborist/monitor/socket.rb, spec/arborist/monitor/socket_spec.rb: Fix the update data and error handling in the socket monitor [a552217db04b] 2015-12-05 Michael Granger * lib/arborist/monitor/socket.rb, spec/arborist/monitor/socket_spec.rb, spec/data/monitors/port_checks.rb: Add initial TCP socket monitor logic class [a93e4f9cc81c] 2015-12-03 Michael Granger * lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/service.rb, spec/arborist/node/host_spec.rb, spec/arborist/node/service_spec.rb, spec/arborist/node_spec.rb, spec/spec_helper.rb: Fix some node filtering issues and improve Node#inspect [9f03e5ab6b67] * lib/arborist/mixins.rb, spec/arborist/mixins_spec.rb: Add future? and past? to TimeRefinements [5395744f5005] 2015-12-02 Michael Granger * Monitors.md, lib/arborist/monitor.rb, spec/arborist/monitor_spec.rb: Make Monitor#exec accept any object that implements #run [38cf9a76d080] * .hgignore, Monitors.md, lib/arborist/monitor.rb, spec/arborist/monitor_spec.rb: Allow monitor exec to take a Module too [f9b1e2534a0b] 2015-11-16 Michael Granger * .gems, .tm_properties, Monitors.md, Protocol.md, bin/amonitord, experiments/modcontext-instance-eval.rb, experiments/pipe-cat.rb, lib/arborist/client.rb, lib/arborist/monitor.rb, spec/arborist/manager_spec.rb, spec/arborist/monitor_spec.rb, spec/data/monitors/pings.rb, spec/data/monitors/web_services.rb, spec/spec_helper.rb: Rewrote monitor strategy [1c67662ec4f3] 2015-10-14 Michael Granger * .gems, Monitors.md, Protocol.md, lib/arborist/manager.rb, lib/arborist/monitor.rb, spec/data/monitors/pings.rb, spec/data/observers/webservices.rb: Change the execution strategy used for monitors/observers. Update docs/examples with the new mechanism [979179fac69a] 2015-10-07 Mahlon E. Smith * .gems, Rakefile, experiments/arborist.schema, experiments/nodes- from-ldap.rb, lib/arborist/manager.rb: Checkpoint a LDAP sourced node builder. [0bdf779138c4] 2015-09-10 Michael Granger * lib/arborist/node.rb, spec/arborist_spec.rb, spec/spec_helper.rb: Only use the `spec/data/nodes` directory for loading test nodes [43882cef9f1f] 2015-09-09 Michael Granger * Observers.md, lib/arborist/client.rb, lib/arborist/event.rb, lib/arborist/event/sys_reloaded.rb, lib/arborist/manager.rb, lib/arborist/manager/tree_api.rb, lib/arborist/node.rb, lib/arborist/subscription.rb, spec/arborist/client_spec.rb, spec/arborist/event_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/node_spec.rb, spec/arborist/subscription_spec.rb, spec/data/nodes/sidonie.rb, spec/data/observers/webservices.rb: Checkpoint commit [2e629096ee55] 2015-08-20 Michael Granger * Rakefile, arborist.gemspec: Add missing author to the gemspec. [013f9be18f9f] * Events.md, Manifest.txt, Observers.md, Rakefile, arborist.gemspec, lib/arborist.rb, lib/arborist/event.rb, lib/arborist/event/node_acked.rb, lib/arborist/event/node_delta.rb, lib/arborist/event/node_update.rb, lib/arborist/manager.rb, lib/arborist/manager/event_publisher.rb, lib/arborist/manager/tree_api.rb, lib/arborist/node.rb, lib/arborist/node/root.rb, lib/arborist/subscription.rb, spec/arborist/event/node_update_spec.rb, spec/arborist/event_spec.rb, spec/arborist/manager/event_publisher_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/node/root_spec.rb, spec/arborist/node_spec.rb, spec/arborist/subscription_spec.rb, spec/spec_helper.rb: Add basic subscriptions, flesh out events. [6c8636097d37] 2015-07-20 Michael Granger * Events.md, Manifest.txt, Observers.md, lib/arborist.rb, lib/arborist/event.rb, lib/arborist/manager.rb, lib/arborist/manager/tree_api.rb, lib/arborist/node.rb, spec/arborist/client_spec.rb, spec/arborist/manager/event_publisher_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/node_spec.rb: Start work on adding node update events - Simplify event class (no need for pluggability yet) - Refactor some of the tree API code with too much intimate knowledge of the manager and nodes up into the manager. This is also how the manager will be able to do event propagation from Tree API calls. - Add event-generation to Node#update. - Make the Tree API fetch always return Hash values for consistency [af63d56deafa] 2015-07-15 Michael Granger * lib/arborist.rb, lib/arborist/manager.rb, spec/arborist/client_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/monitor_runner_spec.rb, spec/arborist_spec.rb: Fix a spec problem with trying to use two ZMQ contexts [ee2875d38797] 2015-07-08 Michael Granger * Manifest.txt, bin/amonitord, lib/arborist.rb, lib/arborist/monitor_runner.rb, monitors/pings.rb, monitors/system_resources.rb, monitors/web_services.rb, spec/arborist/manager_spec.rb, spec/arborist/monitor_runner_spec.rb, spec/arborist_spec.rb, spec/data/monitors/pings.rb, spec/data/monitors/system_resources.rb, spec/data/monitors/web_services.rb: Add a monitor runner. [cd9a1a9cb61a] 2015-07-06 Michael Granger * monitors/pings.rb: Only ping "down" nodes from the downed host pinger [874a2816d0d5] 2015-07-03 Michael Granger * spec/data/nodes/duir.rb: Make the testing data work on hosts with no 'nat-pmp' /etc/services entry. [25bdee773318] * Rakefile, arborist.gemspec, bin/amanagerd: Add timecop developer dep [682cf0904237] * Rakefile, arborist.gemspec: Fix rbczmq version. [337d4ddc2c41] * Rakefile, arborist.gemspec: Fix deps: add rbczmq, remove rgl. [00aed09c231c] * Manifest.txt, Nodes.md, arborist.gemspec: Update manifest, gemspec. [905f639ef8c2] * Rakefile: Rebuild the gemspec before checkin [6ac865dc47c1] 2015-07-02 Michael Granger * experiments/run_monitors.rb, lib/arborist.rb, lib/arborist/client.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/root.rb, spec/arborist/client_spec.rb: Add a spike of a ZMQ::Loop-based monitor runner. [c32fc2af7e33] * lib/arborist/manager.rb, lib/arborist/manager/event_publisher.rb, spec/arborist/manager/event_publisher_spec.rb: Add registration/deregistration for event publisher to avoid spinning. [fd304df012d4] * Monitors.md, lib/arborist/monitor.rb, monitors/pings.rb, monitors/system_resources.rb, monitors/web_services.rb, spec/arborist/monitor_spec.rb: Add initial implementation of the monitor class. [9fe5a028d82a] 2015-07-01 Michael Granger * experiments/fping_wrapper.sh, experiments/fping_wrapper_data.txt: Adding experimental fping shell wrapper [97321e2a97fd] 2015-06-19 Michael Granger * README.md: Fix spelling of the project in the README. [f0ffaa9a81b8] 2015-06-18 Michael Granger * Monitors.md, Protocol.md: Renamed Monitors.md to Protocol.md [05ab00e422c5] 2015-06-17 Michael Granger * bin/amanagerd, experiments/make_dot.rb, lib/arborist.rb, lib/arborist/client.rb, lib/arborist/manager.rb, lib/arborist/manager/tree_api.rb, lib/arborist/mixins.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/service.rb, spec/arborist/client_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/node_spec.rb, spec/spec_helper.rb: Finish up work on the Tree API, add a simple client class [6e4b8b2e9692] * Monitors.md, lib/arborist/manager.rb, lib/arborist/manager/event_publisher.rb, lib/arborist/manager/tree_api.rb, lib/arborist/mixins.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/service.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/node/service_spec.rb, spec/arborist/node_spec.rb, spec/data/nodes/sidonie.rb, spec/data/nodes/yevaud.rb: Checkpoint commit [53f8c46273b7] 2015-05-28 Michael Granger * .tm_properties, lib/arborist/manager.rb, lib/arborist/manager/tree_api.rb, lib/arborist/node.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb: Checkpoint of work from Wednesday [c17020a7fb2a] 2015-05-27 Mahlon E. Smith * .gems, experiments/make_dot.rb: Add some dependencies to the .gems file. Add a simplistic .dot generator. [3e66ce756411] 2015-05-25 Michael Granger * .gems, .hgignore, Manifest.txt, Monitors.md, Observers.md, Rakefile, experiments/manager-sockets.rb, experiments/yay-client.rb, lib/arborist.rb, lib/arborist/exceptions.rb, lib/arborist/manager.rb, lib/arborist/manager/event_publisher.rb, lib/arborist/manager/tree_api.rb, lib/arborist/node/host.rb, lib/arborist/node/service.rb, lib/arborist/node/webservice.rb, spec/arborist/manager/event_publisher_spec.rb, spec/arborist/manager/tree_api_spec.rb, spec/arborist/manager_spec.rb, spec/arborist/node/service_spec.rb, spec/arborist_spec.rb, spec/data/nodes/duir.rb, spec/data/nodes/sidonie.rb, spec/data/nodes/test1.rb, spec/data/nodes/yevaud.rb, spec/spec_helper.rb, tree/duir.rb, tree/sidonie.rb, tree/yevaud.rb: Start implementing the Tree API - Document the protocol - Start specs for the API handler. - Add MessagePack lib dependency - Add manager server stuff (startup, shutdown, signal-handling, etc.) - Resolve some problems with the Service node type. [c6fb156530cc] 2015-05-06 Michael Granger * ChangeLog, Manifest.txt, Monitors.md, experiments/monitor-client.rb, experiments/monitor-service.rb, lib/arborist.rb, lib/arborist/mixins.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/service.rb, monitors/pings.rb, spec/arborist/node/host_spec.rb, spec/arborist/node/root_spec.rb, spec/arborist/node/service_spec.rb, spec/arborist/node_spec.rb, spec/arborist_spec.rb: Checkpoint of work from today and last week. - Added acknowlegements to Arborist::Node - Fixed address code for host nodes, port code for service nodes. - Better spec coverage all around. [c94494647182] 2015-04-22 Michael Granger * .pryrc: Load all node types in .pryrc [7366a03c490e] * lib/arborist.rb: Fix a bug in `Arborist.manager_for` [4c9abee5b344] * lib/arborist/node.rb, lib/arborist/node/webservice.rb, spec/arborist/node_spec.rb: Add properties/status API to Arborist::Node. [98f3f332b5a3] * experiments/monitor-client.rb, experiments/monitor-service.rb: Add spike of REQ/REP socket use [0126d248b0f6] 2015-04-15 Michael Granger * .tm_properties, Monitors.md, Rakefile, experiments/hash-add.rb, lib/arborist.rb, lib/arborist/manager.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/root.rb, spec/arborist/manager_spec.rb, spec/arborist/node_spec.rb, spec/data/nodes/test1.rb, spec/spec_helper.rb: Add basic node graph functionality [e653b1bafeb7] 2015-03-22 Michael Granger * .gems, .pryrc, .rvm.gems, README.md, images/Leaf.sketch, lib/arborist.rb, lib/arborist/collector.rb, lib/arborist/manager.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, spec/arborist/collector_spec.rb, spec/arborist/manager_spec.rb, tree/duir.rb, tree/sidonie.rb, tree/yevaud.rb: Snapshot of today's spike work [203aed65712a] 2015-03-18 Michael Granger * .document, .hgignore, .pryrc, .rvm.gems, .rvmrc, .simplecov, ChangeLog, Gemfile, History.md, LICENSE, Manifest.txt, Observers.md, README.md, Rakefile, alerts/host_down.rb, arborist.gemspec, lib/arborist.rb, lib/arborist/collector.rb, lib/arborist/event.rb, lib/arborist/mixins.rb, lib/arborist/node.rb, lib/arborist/node/host.rb, lib/arborist/node/root.rb, lib/arborist/node/service.rb, monitoring_featureset.txt, monitors/pings.rb, monitors/system_resources.rb, monitors/web_services.rb, spec/arborist/collector_spec.rb, spec/arborist/mixins_spec.rb, spec/arborist_spec.rb, spec/spec_helper.rb, tree/duir.rb, tree/sidonie.rb, tree/yevaud.rb: Spikes and notes [0999d72c1a9f]