* 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
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>
[#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>
[#811] -- Comments inline in /etc/waagent.conf cause config to not be read
[#812] -- Agent fails and isn't recoverable if an extension's log directory is not present anymore
Signed-off-by: Brendan Dixon <brendandixon@me.com>
[#764] -- waagent -configuration-path:/path -start not take effect
[#761] -- MetadataProtocol has no client object
[#757] -- deprovision is executed even if input 'n'
[#754] -- /etc/resolv.conf is removed if create a VM base on an specialized image
[#746] -- Agent WALinuxAgent-2.2.12 is blacklisted - skipping download
[#740] -- Duplicate logging on RHEL/CentOS
Signed-off-by: Brendan Dixon <brendandixon@me.com>
* log the device list when finding dvd
* improve logging for get_dvd_device
* improve logging for mount_dvd
* more granular logging for copy_ovf_env
* provisioning logging and error cleanup
* ubuntu provisioning logging cleanup
* improve Ubuntu provisioning logging
* ubuntu provision cleanup
* debugging for cloud-init
* add validation method and logging for cloud-init
* error cleanup, fix mount
* minor cleanup
* add validate cloud-init logging
* unit test fixes
F5's products do not use the common /etc/product-release format for
platform version information. A different method is needed via parsing
the /VERSION file.
I was not sure if /VERSION was too broad of a thing to check for (for
instance if it might crop up in other platforms) so instead I check
for the /shared/vadc which is definitely an F5-ism.
This patch adds a small method to parse the relevant content from that
file and put it in a list that is returned for later use by the rest
of the version.py lib.
* update loopback detection to use SIOCGIFFLAGS and IFF_LOOPBACK; add unit tests
* adds a check for the wireserver ip, and if it does exist then skip the dhcp lookup and route manipulation; adds unit tests
* ensure the first selected interface is the primary, which is that with the default route; adds unit tests
* parse the wireserver from the dhcp leases file on disk; distro-specific, this is the ubuntu implementation; adds unit tests
* unit test fixes, python 3 changes
* code review feedback