In python3 the platform.linux_distribution() function does not display
content for Clear Linux. In addition the linux_distribution function
is due to be deprecated in python 3.7 (the next minor release, see
https://bugs.python.org/issue1322). In anticipation of this, switch to
sourcing the os-release file in the waagent.service and reading the
distribution information from the environment instead.
* 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
+ Depending on the order of the found available packages the wrong rdma
package may be installed. Use the proper variable to identify the
package version to install
* 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"