Added the call to Network->wait_for_network to pause scancore and
anvil-daemon startups until NetworkManager says it's up and running.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Added a default timeout of 180 seconds, and updated
anvil-configure-host to reduce this to 60 seconds while configuring
the host.
* Added a check for interfaces configured under a bond. If none are
found, the bond is ignored.
* Updated Storage->update_config() to take the new 'append' attribute to
allow adding a variable if it wasn't found already in the config.
* Added the new 'network::wait_for_bonds::timeout' variable to enable
changing the default timeout for Network->wait_for_bonds().
Signed-off-by: digimer <mkelly@alteeve.ca>
booting an unexpectedly off host and only update it's power state if the
boot actually succeeded.
* Started work on a new anvil-manage-daemons tool and
anvil-monitor-daemons systemd unit.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Updated anvil-provision-server to only call add_server_to_cluster() if
it's NOT the peer.
* Added the new 'ok_if_exists' parameter to Cluster->add_server() to
return 0 if the server already existed in pacemaker as a resource.
Signed-off-by: digimer <mkelly@alteeve.ca>
This is required as we need to be able to ssh into peer strikers and
into nodes and DR hosts during initialization.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Updated Job->update_progress() to log and return if there are not DB
connections.
* Bumped some logging in Database->connect().
* Deleted ifcfg code from anvil-configure-host.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Network->find_matches() was trying to compare two IPs when the second
IP wasn't actually defined.
* Disabled scancore's blocking of running before the host is configured.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Database->get_ip_addresses() was marking IPs that weren't on a network
we managed, the IP would be marked as DELETEd, which caused problems
with initializing targets, and it generated a lot of repeat alerts.
* Updated logging in Network.pm to help with debugging.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Network->collect_data() wasn't deleting old data before rescans.
* anvil-configure-host wasn't checking links that should be in a bond if
the bond already existed.
Signed-off-by: digimer <mkelly@alteeve.ca>
* It's technically done, but I know bugs remain.
* Updated Jobs->update_progress() to take 'file' and 'line' to make it
easier in the logs to see the origin of the message, when logging the
update.
* Created Network->modify_connection() to update network manager
variables. Created ->reset_connection() to take an interface down and
bring it back up again.
* Fixed a bug in scan-network where the device_to_uuid hash wasn't being
stored.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Also fixed problems with scan-network related to the new network
naming / NM system.
* Updated Database->insert_or_update_network_interfaces() to better
search for a network_interface_uuid when not specified.
* Updated Network->collect_data() to take the new 'start' parameter
which, when set, brings up unconfigured connections/devices.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Updated Network->collect_data() to find the GENERAL.DEVICES and
GENERAL.IP-IFACE from match.interface-name when the link is down.
* More work done on anvil-configure-host.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Created new anvil-monitor-network daemon to trigger scan-server via
anvil-monitor-network on network events.
* Moved functionality into scan-network
Signed-off-by: digimer <mkelly@alteeve.ca>
* Added the 'hostname' and 'hostnamectl --transient' to
Get->host_name().
* Updated Database->insert_or_update_hosts() to log when no host_name,
host_type or host_uuid is not passed.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Updated Cluster->parse_cib() to store DRBD fence node restrictions by
server/node. Also updated to make it easier to get the server's
preferred node.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Updated System->maintenance_mode() to take 'host_uuid' so that the
maintenance mode of remote machines can be checked/set.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Updated Get->available_resources() to record the maximum cores that
can be allocated to a server. This is N-1 for hosts with 4 or less
cores, or N-2 cores otherwise.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Updated Database->insert_or_update_servers() to error if the RAM being
recorded is less than 640 KiB. This is because, somewhere yet
undiscovered, the RAM is being recorded in KiB which breaks things.
Signed-off-by: digimer <mkelly@alteeve.ca>
* Updated Database->get_hosts() to store hosts in a host_type hash.
* Updated Database->get_servers() to store servers by name, regardless
of host Anvil! node.
Signed-off-by: digimer <mkelly@alteeve.ca>