* hotfix to remove purge; update version to 2.2.20
* update test data
* update test data
* update purge; pep8 fixes
* unit tests
* readability, unit tests
* Use cached extension version if available
* Pass etag to get_ext_handler_pkgs
* Fix failing stale goal state test
* On a stale goalstate, restart extension handling
Also, simplify the fetch manifest logic which identifies a stale
goal state
* Address first round of PR comments.
* Get rid of stopgap loop for stale goal states
* Use previous pattern to populate ext manifest cache
* Simplify get_ext_manifest
* Report prolonged report status failures
The agent report transient failures, but this is not very indicative of
customer failures. The transient failures generally resolve themselves, so the
transients are not very useful for a dashboard. This change tracks failures
that repeat for 15 minutes, and then report them. If an operation fails and
succeeds within 15 minutes, the timer resets. It must be a continual stream of
errors for 15 minutes for this telemetry event to trigger.
* default ErrorState's min_timedelta to a const
* Bug fix for upgrade GUID change
Reduce log spam from skipping an upgrade based on the GUID staying the same.
Ensure that the Agent reports the correct extension version and its state as enabled in cases where the GUID is the same.
Fix unit testing for the upgrade GUID feature
* Log same upgrade guid on each new goal state
* Rename "guid" variables to "upgrade_guid"
Adjust delay and retry values for failed HTTP requests
Ensure current agent is not removed from disk
Add operation to extension error events
Improve tracking of child agent exceptions
Signed-off-by: Brendan Dixon <brendandixon@me.com>
[#896] -- End of Line Comments are Not Supported nor Handled
[#891] -- Create a Telemetry Event to Track Custom Data Execution
[#884] -- Cleanup Old Goal State and Extension Cache
[#876] -- The agent should use a scaling back-off when retrying HTTP requests
[#869] -- The agent should report OS information in the correct JSON format.
Updated version to 2.2.18.1
Replaced errno.EREMOTEIO with fixed value (since the constant is not present in all Python 2.7 versions)
Signed-off-by: Brendan Dixon <brendandixon@me.com>
[#906] -- Hardcoded value for sshd's ClientAliveInterval (180)
[#899] -- Improve HeartBeat Event
[#898] -- Send dummy status if extension fails to write a #.status file
Signed-off-by: Brendan Dixon <brendandixon@me.com>
[#875] -- The agent should include the incarnation number in ProcessGoalState events
[#874] -- The interval allowed before forcibly terminating the child process is too long
Signed-off-by: Brendan Dixon <brendandixon@me.com>