* Updated Database->query() to track when a specific DB to read from is
passed. If so, and that is lost, return an error. If not, and another
DB is available, switch to it.
* Updated Database->write() to skip trying to write to a lost DB.
Signed-off-by: Madison Kelly <mkelly@alteeve.com>
* Added a sync call to Tools->nice_exit() to ensure logs are flushed.
* Updated Database->quote() to be in an eval block to better handle
cases where the DB handle is lost.
* Added an hourly check to anvil-daemon and moved the memory in use
check to run only once per hour.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Added an explicit 'sync' call when writing to logs. TO BE REMOVED!
* Disabled anvil-monitor-daemons and anvil-monitor-performance in case
this is somehow trigging program exits.
* Converted prints to Log->entry calls in anvil-change-password
* Added PID state info logging for running jobs.
Signed-off-by: digimer <mkelly@alteeve.ca>
* This is meant to deal with a case where, when a DB is added to
anvil.conf but that new entry is not yet in hosts, the program crashes
because of a duplicate key when calling insert_or_update_hosts for all
DBs.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Added the 'up' parameter to Network->collect_data() that will bring up
an interface we configured that is down.
* Updated scan-network to call Network->collect_data() with 'up' if the
uptime is less than ten minutes.
Signed-off-by: digimer <mkelly@alteeve.ca>
loading deprecated options causes switches to be overwritten during
xml parsing, generating incorrect pacemaker configs
Closes: https://github.com/ClusterLabs/anvil/issues/636
Signed-off-by: Fabio M. Di Nitto <fabbione@fabbione.net>
* Created Convert->to_ipmi_password() which takes a password string,
strips special characters, and shortens the results to 16 characters
long. This should work with all v1.5, v2 and newer IPMI BMCs.
* Updated System->configure_ipmi() to remove the attempts to step-down
the password to find one that fits the current IPMI host, now simply
using the Convert->to_ipmi_password() password.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Related to https://issues.redhat.com/browse/RHEL-29680
* Updated Storage->manage_lvm_conf() to be stricter about when to add
the filter to lvm.conf
Signed-off-by: digimer <mkelly@alteeve.ca>
* Created Database->get_mac_to_ip()
* Updated Database->insert_or_update_mac_to_ip() to find an entry using
both the IP and MAC address.
* Updated Network->get_ips() to store only the first IP it finds on an
interface as the main IP (for use in /etc/hosts, etc) and to store it
and any other IPs in a new hash.
* Updated scan-network to use the new hash above to record them in the
'mac_to_ip' table. Similarly, before marking an IP as removed, it
checks to see if it's an alternate IP.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Renamed the old ->wait_for_networks() to be ->wait_for_nm_online().
* The new ->wait_for_networks() waits for all interfaces we manage to be
'activated' before returning.
Signed-off-by: digimer <mkelly@alteeve.ca>