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
[#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>
[#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>
* Add initial support for the OpenBSD operating system
There are some differences between FreeBSD, OpenBSD, and Linux.
Notes:
- OpenBSD ships LibreSSL, but WALinuxAgent needs OpenSSL for CMS, so
use the openssl port and the "eopenssl" binary instead.
- Don't run the custom DHCP client but parse /var/db/dhclient.leases.hvn0.
OpenBSD's lease file uses a modified syntax.
- OpenBSD does not have /proc. WALinuxAgent should never assume that
the /proc filesystem is available.
- OpenBSD does not have sudo, but its replacement doas. The OpenBSD
class implements support for modifying the doas.conf file.
- Unlike FreeBSD, OpenBSD supports and mounts UDF DVDs just fine.
- Create a swap partition instead of a swap file on the resource disk.
- Many other minor changes for OpenBSD
TODO:
- The /proc checks needs to be replaced with pgrep/ps etc. checks for
OpenBSD. For now it just checks if /proc is available or returns
without error.
Make sure to install waagent with --register-service as setuptools
will not set the permissions of /etc/rc.d/waagent correctly (the file
has to be executable to be used by OpenBSD's rc system).
* Remove debug statement that was use to fix mount_dvd on OpenBSD.
* I accidentally replaced the FreeBSD resource disk handler.
The OpenBSD disk handler is an addition, not a replacement.
Found by jonathangray
* pylint
pylint found one bug in setting the password; other changes are just
for the style.
* strip newline from generated password hash.
Issue reported by Lili Deng.
* Keep AutoUpdate enabled, it was disabled for initial porting.
Pointed out by @hglkrijger
* Use a wildcard and delete all DHCP lease files on *BSD.
Requested by @hglkrijger
* when hostname record is missing, assume current
* version update to 2.2.4.1
* minor cleanup; reduce duplicate http logging
* update the incarnarnation file after all caches
* remove http proxy logging unless proxy set
* force goalstate update when host plugin call fails
* update version to 2.2.5
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.