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>
* Make sure the initial device is a valid disc, and fallback if not
This is the same check the fallback code uses, and is necessary as on
later FreeBSD 11 versions the disc are retruned in reverse order. Thus
the original function returns 'pass1' instead of 'da1' which fails. This
fixes the issue and allows the resource disc to be mounted again, though
relying on the fallback is not the cleanest solution.
* Skip 'pass' devices when looking for the resource disk
This fixes the error introduced in FreeBSD 11 where the order of
outout from camcontrol changed from da1,pass1 to pass1,da1 and thus
waagent misidentified the disc as 'pass1'. Instead of taking the
first device, we now split the string at ',' and return the first
device which does not begin 'pass'.
* 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
* 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
* 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