Commit Graph

1913 Commits

Author SHA1 Message Date
Digimer
9675ebf986 * Added --remove support to anvil-manage-dr, completing all the features for this tool.
* Updated DRBD.pm to move the logic to wipe and delete an LV into a new method called 'remove_backing_lv'.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-24 22:08:48 -04:00
Digimer
af41c40a65
Merge pull request #239 from ClusterLabs/anvil-tools-dev
Anvil tools dev
2022-08-22 14:48:19 -04:00
Digimer
93e6a59841 * Added 'vnc-server' to the list of firewall services enabled on strikers.
* Created the anvil-manage-dr man page.
* Reworked anvil-manage-dr's --protect logic to search for which network works with the DR host, instead of assuming it's the SN.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-22 13:38:46 -04:00
Digimer
29a28ee97a * Fixed a bug with anvil-provision-server where running the command line menu from a Striker would not assign the job to the target Anvil!.
* Updated Server->parse_definition() to check if a failed 'virsh list' output was passed in. Also changed it to not exit if the XML can't be parsed.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-16 19:01:36 -04:00
Digimer
069fab6a69
Merge pull request #238 from ClusterLabs/anvil-tools-dev
Anvil tools dev
2022-08-16 11:36:15 -04:00
Digimer
cbb441759e * Fixed a couple bugs in anvil-manage-files where a file moved from incoming to files or definitions wasn't having the directory updated properly in the database. Also made an explicit check when looking for missing files to check to see if the file exists in another managed directory and, if so and if a striker, update the DB.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-15 23:27:40 -04:00
Digimer
7b1771e498 Updated anvil-provision-server to wait until the local machine is a full cluster member before proceeding.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-15 13:59:35 -04:00
Digimer
4ecc6097d3 * Cleaned up some old 'die' calls with better nice_exit() calls to help avoid dangling db_in_use flags.
* Reworked Network->bridge_info() to use 'ip' to get the list of bridges, and 'bridge' to find interfaces connected to the bridge.
* Added 'test' messages to Words->string().
* Fixed a bug in scan-lvm where mdadm based PVs didn't read the sector size properly.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-12 16:32:20 -04:00
Digimer
ef3ac86162 * Fixed a bug where setting the db_in_use flag without a valid $ENV{_}.
* Added a nice_exit call to tools/striker-access-database

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-09 15:45:10 -04:00
Digimer
21738ab0d4 Added a bit more logging to the Database->mark_active method.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-09 01:02:59 -04:00
Digimer
a81478f2bc * Updated 'db_in_use' state to add the caller's name to the state name. This is pulled out when logging stale locks that are being reaped, to help debug where stale locks are coming from.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-09 00:29:03 -04:00
Digimer
e7cf8ac789 * Got more work done on anvil-manage-files. It now picks up new files on nodes/dr hosts in an Anvil! and downloads them if needed.
* Updated anvil-daemon to call anvil-manage-files on a per-minute basis to handle files added outside of the WebUI.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-09 00:08:19 -04:00
Digimer
be84a23924 * There were still references in anvil-manage-files to 'file_locations' -> 'file_location_host_uuid'. Had to rework some logic to get things working. More testing needed, but so far at least the "missing file" function is working again.
* Added missing always-available switchs in Get->switches
* Create Storage->_wait_if_changing() to check to see if a file's size is changing and, if so, not return until it stops.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-08 21:31:56 -04:00
Digimer
e2a42870e5
Merge pull request #236 from ClusterLabs/anvil-tools-dev
* There is a fix in this commit to resolve a race condition where, wh…
2022-08-05 10:09:43 -04:00
Fabio M. Di Nitto
7decdb2887 scan-network: fix path to script
Signed-off-by: Fabio M. Di Nitto <fabbione@fabbione.net>
2022-08-04 19:52:46 +02:00
Digimer
ddd28de112 * Fixed a couple typos that broke compilation.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-04 09:45:34 -04:00
Digimer
15aadc3a4e * Updated scan-network to check for inactive or activating interfaces and manually bring them up, if the uptime is less than 10 minutes.
* Fixed a bug in scancore-agents/Makefile.am where scan-network was missing.
* Started work on anvil-delete-server.8. Incomplete at this time.
* Updated Network->get_ips() to record the interface status.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-03 23:38:56 -04:00
Digimer
55dd28e7f1 * Added the anvil-configure-host man page.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-02 22:38:04 -04:00
Digimer
7eff8f0801 * Added the man page for anvil-check-memory
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-02 20:26:54 -04:00
Digimer
5fea8ff46a * Adds the anvil-boot-server man page.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-02 19:09:57 -04:00
Digimer
d8f31d9d84 * Added the anvil-boot-server man page.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-02 17:25:28 -04:00
Digimer
b3b185a43c * Added the alteeve-repo-setup man page and updated it to show that when called with '-h'.
* Updated scancore to use the new Get->switches() list parameter.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-08-02 14:31:46 -04:00
Digimer
d9910fc951 Finished the man page for anvil-daemon.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-29 17:43:53 -04:00
Digimer
be612ff878 * Updated Get->switches() to take 'list' and 'man' parameters. With list, the passed in switches can be checked to ensure they're valid. With 'man', if set to the name of a man page (usually $THIS_FILE) will be displayed if --help, -h or -? are used.
* Disabled striker-parse-oui until it can be reworked to store the the OUI data in a flat file instead of in the database.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-29 16:56:40 -04:00
Digimer
cd220e97dc Disabled striker-prep-databas and set Database->configure_pgsql() calls to use debug => 2.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-20 20:32:18 -04:00
Digimer
cf8198ac9a Fixed a typo causing a compilation error.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-20 15:05:27 -04:00
Digimer
3343ecaf9f * Added check to disable/stop firewalld if running when anvil-daemon starts.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-19 21:21:48 -04:00
Digimer
508e278359 Added the new 'anvil-network-profiler' tool.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-19 21:16:46 -04:00
Digimer
e025f5b927 Fixed line wraps
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-09 19:53:58 -04:00
Digimer
7fd6185445 * Disabled firewalling for now. There appears to be an issue starting up with DRBD.
* Updated Convert->time() to return whatever was passed in instead of '#!error!#'.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-09 19:46:38 -04:00
Digimer
171ea74000 * There is a fix in this commit to resolve a race condition where, when reconfiguring the network, the request to set a job to reboot would fail because the connections to all Strikers could be lost, causing Database->_test_access() would error out, blocking the reboot. When restarted, the network would not be changed, so no reboot would be requested, leaving the machine in an innaccesible state.
* Updated anvil-boot-server when called with '--all' to honour boot ordering, delays and condtions.
* Updated Database->get_servers() to collect the server's XML as well as data from the 'servers' table.
* Updated anvil-provision-server to make a new DRBD resource 'secondary' after forcing it to primary to begin the initial sync.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-06 19:22:28 -04:00
Digimer
64458198b3
Merge pull request #235 from ClusterLabs/anvil-tools-dev
Anvil tools dev
2022-07-06 09:11:58 -04:00
Digimer
0b3d282a2c * Updated Network->manage_firewall() to restore a debug level set to 1 for testing.
* Added firewall config rules for DR hosts.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-02 18:23:20 -04:00
Digimer
bce9e2caaf This is the first attempt at enabling firewalld completely. There is a decent chance that problems exist, so it won't be a surprise if a few more commits are needed to this branch before things work.
* Added multiple new private methods to Network that help in managing the firewall.
* Updated Server->boot_server to manage the firewall after the server boots. Updated ->migrate_server to create a job, if a database connection exists, for the migration target to update it's firewall as soon after the server appears as possible.
* Updated ocf:server:alteeve to manage the firewall when called post-migration, in case there was no DB connection and the job above didn't run. Fixed a bug where the disk state wasn't being evaluated properly.
* Updated scan-server to check that the firewall is managed when a server state has changed.
* Updated anvil-daemon to run Network->manage_firewall on startup.
* Heavily reworked 'anvil-manage-server' to either just run 'Network->manage_firewall', or if passed '--server X', to wait for the server to appear for up to 1 minute, then to check that the firewall is managed (to capture servers being migrated to the host.)
* Removed firewall management from striker-prep-database.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-07-02 17:06:04 -04:00
Digimer
9028611afb * Fixed a bug in Get->bridges were the bridge was not marked as found when parsing json output, breaking ocf:alteeve:server
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-30 14:09:12 -04:00
Digimer
f55d605270 * Disabled the new firewall management to prepare for a new merge with main. Needed to resolve in-field client issues.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-30 10:04:55 -04:00
Digimer
b2ea4f9adc * Moved System->manage_firewall() to Network->manage_firewall(). Started working on actually implementing it, which involves basically fully rewritting it.
* Updated tools/Makefile.am and scancore-agents/Makefile.am to add missing files.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-30 00:01:50 -04:00
Digimer
f2d06fa9b1 * Updated striker-parse-oui to only run if/when the system has been running for at least one hour.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-23 21:21:38 -04:00
Digimer
b4362eb643
Merge pull request #233 from ClusterLabs/anvil-tools-dev
Anvil tools dev
2022-06-22 14:18:35 -04:00
Digimer
5c7b174683
Merge branch 'main' into anvil-tools-dev 2022-06-22 08:41:48 -04:00
Fabio M. Di Nitto
5e5fc7fcdc
Merge pull request #234 from ClusterLabs/centos9
[spec] drop unnecessary Requires
2022-06-22 07:35:10 +02:00
Fabio M. Di Nitto
476b35d712 [spec] drop unnecessary Requires
fix installation on c9s and does not break earlier versions

Signed-off-by: Fabio M. Di Nitto <fabbione@fabbione.net>
2022-06-22 04:56:07 +02:00
Digimer
ab9b00a2f7 * Updated anvil-daemon, in its daily checks, to disable ksm and ksmtuned daemons.
* Updated scan-drbd to purge peer records that no longer have corresponding LVM data.
* Updated System->{en,dis}able-service to take the 'now' paramter which, when passed, causes the action to take immediate effect.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-21 22:25:07 -04:00
Digimer
1580ffbb24 Added the 'oui' table to the resync list again.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-20 22:49:01 -04:00
Digimer
b154ec816a * Added network_interfaces, bonds, bridges and ip_addresses tables to the age-out list.
* Confirmed that striker-purge-target works again.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-20 21:21:44 -04:00
Digimer
b77bb81343 * Found a bug where, if a record was deleted from the public schema but not from the history schema, and then later a resync was performed, the record would be added to the peer database's public schema (while still not existing locally). This condition should never occur as data in history should only exist to track the public record. This update checks for this condition and purges those records prior to resync'ng a database table.
* Continued work on fixing issues with striker-purge-target (which led the the discovery of the above bug). Added expliit checks to purge file_location and storage_group data when purging an sub-anvil from the database.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-20 20:52:07 -04:00
Digimer
6ea8365067
Merge pull request #232 from ClusterLabs/anvil-tools-dev
* Added a missing modified_date to ip_addresses in Database->get_ip_a…
2022-06-18 23:44:09 -04:00
Digimer
3caf43ed42 Updated striker-purge-target to check for problems on write of DELETEs.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-18 10:57:50 -04:00
Digimer
cdc23ad490 Small logging fix to striker-auto-initialize-all.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-17 16:43:50 -04:00
Digimer
6c5f48e8ca * Fixed a bug (I think) where initial synchronization was failing because the new locking system tried to register a lock against the peer striker before the peer striker was in the DB.
* Added an 'eval' wrapper around 'Database->write()' where it calls the given DB so that failures log properly instead of crash the program.
* Updated Database->_find_column() to no longer restrict to 'not null' calumn types.
* Fixed a couple typos in Database->read_state().

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-17 13:41:26 -04:00