public
Description: The 3.0 rewrite of our agent software.
Homepage: http://scoutapp.com/
Clone URL: git://github.com/highgroove/scout_agent.git
scout_agent / CHANGELOG
100644 186 lines (134 sloc) 6.403 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
== 3.2.6
 
* Upgraded to JSON 1.1.7
* Added a guard to skip loading JSON when Rails has already done it for us
 
== 3.2.6
 
* Upgraded to Amalgalite 0.10.0
* Added an extra Timeout.timeout() loop to all API requests in an attempt to
  avoid Net::HTTP hanging on server errors
 
== 3.2.5
 
* Added a workaround for an issue in RestClient 1.0 (an incorrect error)
 
== 3.2.4
 
* Fixed a bug with Symbol keys when queuing Marshal data
 
== 3.2.3
 
* Upgraded to JSON 1.1.6
* Upgraded to RestClient 1.0 for improved SSL support
* Added SSL certificate verification to the agent so it will only communicate
  with the trusted Scout server
* Added support for Marshal data when queuing reports or messages
* Switched the API to use Marshal to avoid JSON conflicts with Rails
* Improved mission error messages where possible
* Fixed a bug where certain API requests could die with a networking Exception
* Fixed a bug where the API would fail to recognize certain valid plugin ID's
* Fixed core extension tests
 
== 3.2.2
 
* Fixed a bug where older versions of the standard timeout library could kill
  the lifeline monitoring process
 
== 3.2.1
 
* Fixed a bug where log shifting failures could cause the agent to crash
 
== 3.2.0
 
* Fixed a bug where the API would require the wrong version of the JSON library
 
== 3.1.9
 
* Restoring some error handling code that was accidentally disabled
* Fixed an issue where the agent could accidentally launch a duplicate process
* Fixed an issue that prevented the agent from forcing a stop when a process
  would timeout on a signal response
 
== 3.1.8
 
* Switching XMPP default to off until we enable that feature
* Added a queue_for_plugin() alias to the API for queue_for_mission()
* Added some examples to the API documentation
 
== 3.1.7
 
* Reverting DNS changes due to other severe issues they caused (you can switch
  to Ruby's resolv with `ruby -r resolv-replace scout_agent start`, if needed)
 
== 3.1.6
 
* Fixed a bug that would cause blank errors to show up in the Web application
 
== 3.1.5
 
* Fixed a bug that could cause the agent to crash when shutting down if running
  with --no-daemon
* Switched DNS strategies so slow DNS resolving doesn't kill our background
  threading for process monitoring
* Relaxed the process monitoring timeout to ten seconds
* Relaxed TERM to KILL timeouts to five seconds
* Unwound some metaprogramming magic so some missing methods would show up in
  the documentation
 
== 3.1.4
 
* Modified the API to no longer load the JSON gem if we already have JSON
  capabilities (for example, ActiveSupport provides it in Rails)
 
== 3.1.3
 
* Modified file modes to match lock types to get the file locking code running
  on Solaris
* Fixed a variable name conflict
* Cleaned up some of the mission error catching code
 
== 3.1.2
 
* Fixed a bug that caused the mission tester to error out when trying to update
  the mission memory
 
== 3.1.1
 
* Switched the default URL to the production server
 
== 3.1.0
 
* Fixed a bug where the monitor might not properly signal all subprocesses
* Made the master agent forward shutdown requests to running missions
* Enhanced the stop command to ensure all processes exit and to skip the waits
  on KILL signals since they cannot be responded to
* Improved the error message for forced stops to give next steps
* Fixed a bug that would prevent the agent from daemonizing itself at start-up
  if it had to clean out a stale PID file first
* Added status database and log file maintenance to the snapshot and queue
  commands
* Completed full code documentation and clean-up pass
 
== 3.0.7
 
* Added a log() method (with a logger() alias) plugins can access to add
  messages to the log as needed
* Added JSON hooks for the Time class so they will be converted back to Ruby
  objects when loaded
* Added a `scout_agent test` command for plugin developers
* Switched to the default URL of https://beta.scoutapp.com
* Improved the error handling in the communications agent for connection failure
  scenarios like blocked ports (fixes a CPU pegging bug)
* Loosened error checking when killing processes to improve monitor stability
* Loosened the check-in timeout a touch as the monitor seemed to kill off
  processes a little too quickly
* Enhanced the monitor to kill off mission processes after killing the mission
  runner
* Made the stop command hunt for stray processes after stopping the monitor
  process
 
== 3.0.6
 
* The new `sudo scout_agent update` command can be used to update your
  configuration file
* Made it possible to disable XMPP for a smaller memory footprint
* Restricted XMPP commands to a white list for added security
* Added an optional "force" argument for `scout_agent snapshot` that clears
  command run times before running to ensure a full snapshot
* Modified XMPP snapshots to use the new force option for snapshots to ensure
  requests from users via the Web interface are always honored
* Added a periodic_snapshots configuration option that defaults to true and will
  cause the agent to attempt a snapshot before each check-in (though command
  intervals will usually only allow them to be run every few check-ins)
* Fixed a bug that could cause snapshots to temporarily orphan a process and/or
  to unnecessarily delay API requests
* Fixed a bug that could cause the agent to crash if it had trouble killing off
  a spawned process
 
== 3.0.5
 
* Added support for XMPP message SHA, instead of just an ID
 
== 3.0.4
 
* Upgraded to Arrayfields 4.7.3 to silence a warning on Ruby 1.9
* Added HTTP proxy support
* Added replies to acknowledge received messages from XMPP when a message ID is
  included in the command
* Turned XMPP on and aimed it at the real Scout server
* Greatly improved error handling for the XMPP process
* Added logging and status tracking for the XMPP operations
 
== 3.0.3
 
* Upgraded to JSON 1.1.4 for Ruby 1.9 compatibility
 
== 3.0.2
 
* Added xmpp4r gem dependency
* Locked gem version numbers at load time
* Upgraded to Amalgalite 0.9.0 for Ruby 1.9 compatibility
* Upgraded to RestClient 0.9.2 to remove a couple of bug workarounds
* Changed the API to always shell out to the same version of Ruby it is running
  under
* Made a first pass at Ruby 1.9 support
 
== 3.0.1
 
* Added more error protection to the server wrapper so thinks like
  OpenSSL::SSL::SSLError and SocketError don't kill the agent
* Switched to the beta URL
 
== 3.0.0
 
* Initial release