Commit Graph

1867 Commits

Author SHA1 Message Date
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
Digimer
911f7cfb6a This is another big commit with a lot of DB work. Getting closer to sorting out the frequent resyncs.
* Changes Database->connect to always use the first DB connected to, not the local one if that applies. This treats the first DB (sorted by UUID) as "primary" and the second (or third...) as more of a backup.
* Moved db_in_use and lock_request to use the 'states' table instead of the variables table. These are set and removed so often that it was messing up things with resync's when the data is transient anyway. Fixed multiple bugs with both to better set and clear properly.
* Created Database->read_state() to assist with the above changes.
* Updated Database->refresh_timestamp() to specifically check that the returned time stamp differs from the previously used one, looping until they differ if needed.
* Disabled striker-manage-install-target when called to update the repos, as the Install Target function doesn't work at this point.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-16 20:10:43 -04:00
Digimer
24f5d39dff This is a set of changes all stemming from trying to debug frequent resyncs. More bugs still to be fixed.
* Updated Database->get_host_from_uuid() to cache results.
* Fixed a bug in Database->get_storage_group_data where a DELETE wasn't deleting from the history schema as well.
* In Database->resync_databases(), references to the old 'host_uuid' that we used to use to resync just the local host's data was removed. Added also a check where two or more entries in a given history schema had the same modified_date and, when found, the newest entry is preserved and the rest are deleted. Before this, a resync where two+ records had the same modified_time would only sync the last record, leaving a mismatch in history schema entries triggering repeated resyncs.
* Fixed a bug in Email->send_alerts() where the 'alerts' table was being updated without a modified_date being set.
* Fixed a bug in System->test_ipmi() where the 'hosts' table was being updated without a modified_date being set.
* Updated scan-network to clear up old deleted ip_addresses, bonds and bridges. Also fixed bugs where public schema records were being deleted without history records being deleted.
* Updated anvil-update-states to fix bugs where DELETEs were happening without setting the modified_date.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-12 23:14:49 -04:00
Digimer
1770e9e0e0 * Fixed a bug where Database resync's where trying to resync tables without history schema entries.
* Updated fence_delay to move the log filehandle close to a saner spot.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-06-08 21:27:41 -04:00
Digimer
e6dcff1cf1 * Added a missing modified_date to ip_addresses in Database->get_ip_addresses().
* Updated scan-network to purge old historical ip_addresses when clearing duplicates now.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-05-21 15:52:25 -04:00
Digimer
aa64b0f7fa
Merge pull request #231 from ClusterLabs/anvil-tools-dev
* Updated anvil-provision-server to handle human-readable sizes for d…
2022-05-20 15:14:05 -04:00
Digimer
1b70b49cf8 * Updated Network->find_matches() to try to populate the first and second parameters if they're not passed in.
* Updated Network->load_ips() to load extra information about the interfaces.
* Updated ocf:alteeve:server to not check libvirtd daemon state on server start.
* Updated scan-hardware to check for duplicate entries and purge if found.
* Updated scan-network to check for the 'default' virbr0 interface by checking if the config file exists instead of calling virsh.
* Updated scan-server to have better logging.
* Created the new (and incomplete) anvil-test-alerts tool
* Updated scancore to support --purge to pass to all agents and then exit.
* Updated ScanCore->call_scan_agents() to no longer use 'timeout' as it was causing issues with virsh calls.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-05-20 10:28:21 -04:00
Digimer
572167d034 * Updated Database->get_storage_group_data() to record the VG name for a given host's VG in a given storage group.
* Updated anvil-provision-server to fix more bugs related to --ci-test.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-05-10 18:00:37 -04:00
Digimer
d26a16e711 * Updated anvil-provision-server to handle human-readable sizes for disk and ram.
* Updated Database->get_anvils() to make it possible to translate a file name to a file UUID.
* Updated System->test_ipmi() to quote passwords properly. Also dropped the timeouts to 2 seconds.
* Updated anvil-provision-server to support pure CLI switch server provisioning using the --ci-test (and optional --options {--machine}) to allow CI tests.
* Continued work of anvil-manage-server.
* Fixed a bug in striker-prep-database to fix a bug in writing the pg_hba.conf file.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-05-10 00:42:40 -04:00
Digimer
d59ce5e677
Merge pull request #230 from ClusterLabs/anvil-tools-dev
Created the new anvil-show-local-ips that shows the IPs on the host i…
2022-04-26 23:02:59 -04:00
Digimer
929544bb90 Removed the '--' gateway holder to make it more consistent with the rest of the output.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-26 20:29:37 -04:00
Digimer
7ec4cee143 Created the new anvil-show-local-ips that shows the IPs on the host in an easier to read format, compared to 'ip addr list'.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-26 20:24:15 -04:00
Digimer
240c9b5061
Merge pull request #229 from ClusterLabs/anvil-tools-dev
Updated resync to no longer be tied to a host_uuid.
2022-04-26 11:07:49 -04:00
Digimer
e9a9e0dd4b * Finished (but needs more testing) the new 'anvil-report-usage' tool.
* Updated System->_check_anvil_conf() to create the 'admin' user in a more normal way (old way caused the 'admin' group to be a system GID.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-25 23:56:58 -04:00
Digimer
d2973e603b Updated anvil-update-states to make the speed of links to 10000 when they are virtio interfaces.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-13 10:55:35 -04:00
Digimer
1dbca79dde * Created Network->get_ip_from_mac() which takes a MAC address and returns an IP address.
* Updated ocf:alteeve:server to always try to bring up the peer's DRBD resource, even when the local resource is up.
* Fixed a bug in scan-network where purging duplicate bridges failed in some cases.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-08 23:09:34 -04:00
Digimer
142be7674e * Fixed a bug in striker-scan-network where the scan wasn't running properly when no network was specifically given.
* Updated DRBD->get_devices() to store information about the nodes for each resource.
* Got more work done on anvil-report-usage.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-08 18:54:55 -04:00
Digimer
4751c6e747 Updated DRBD->get_devices() and Server->parse_definition() to take 'anvil_uuid' so that server data can be parsed from anywhere.
Created, but not finished, tools/anvil-report-usage that will print a report of server resource allocation and Anvil! resource availability.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-06 00:16:32 -04:00
Digimer
3ad1793c23 Made scan-network more robust at determining when an interface is a virtio device.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-04 18:51:28 -04:00
Digimer
c9633aa3b0 * Updated Database->_find_behind_databases() to not run unless it's on a Striker.
* Updated scan_network to properly mark virtio network interfaces as being full duplex. Also updated it to purge interfaces flagged as 'DELETED'.
* Updated the VM OS list.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-04 16:38:14 -04:00
Digimer
ce4d6cdcf0 Updated striker-parse-os-list to now take '--all' and '--xml' to show the list of OSes available to optmize VMs for in a simple machine-parsable format or XML, and to show only the OSes not in the words file yet, or all OSes.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-01 17:34:34 -04:00
Digimer
dd9d5e6ba0 Updated resync to no longer be tied to a host_uuid.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-04-01 17:04:54 -04:00
digimer-bot
1036235585
Merge pull request #228 from ClusterLabs/anvil-tools-dev
Reworked Database->_find_behind_databases to loop through tables, the…
2022-03-31 22:42:44 -04:00
Digimer
0b41029db2 Reworked Database->_find_behind_databases to loop through tables, then databases when evaluating for resync. This is still racy but should be less racy as the time between counts of columns for a given table should be a lot shorter. Also re-enabled triggering resyncs based on the age of the most recent record.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-03-31 21:19:32 -04:00
digimer-bot
875aa4fea3
Merge pull request #227 from ClusterLabs/anvil-tools-dev
* Created the new anvil-manage-host that can check/set if a host is c…
2022-03-29 18:43:10 -04:00
Digimer
7212ea1c2f Fixed a bug where reaping db_in_use states wasn't restricted to the caller's host_uuid.
Signed-off-by: Digimer <digimer@alteeve.ca>
2022-03-29 17:12:26 -04:00
Digimer
aa7d9bdf14 * Fixed a bug where resync'ing the database was missing tables.
* Updated Network->find_matches() to take 'source' and 'line' parameters to help identify the source of issues with missing hashes.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-03-29 17:12:26 -04:00
Digimer
74b7719cf5 * Created the new anvil-manage-host that can check/set if a host is configured. On Strikers, it can age out data, resync data, and check/set if the local database is active.
* Updated striker-prep-database to again enable the postgresql service.

Signed-off-by: Digimer <digimer@alteeve.ca>
2022-03-29 17:12:26 -04:00
Digimer
b575b1ebc1
Merge pull request #226 from ClusterLabs/dependabot/npm_and_yarn/striker-ui-api/minimist-1.2.6
build(deps): bump minimist from 1.2.5 to 1.2.6 in /striker-ui-api
2022-03-29 13:38:23 -04:00
Digimer
7e956da196
Merge branch 'main' into dependabot/npm_and_yarn/striker-ui-api/minimist-1.2.6 2022-03-24 12:17:13 -04:00
Digimer
c58573a1de
Merge pull request #225 from ClusterLabs/dependabot/npm_and_yarn/striker-ui/minimist-1.2.6
build(deps): bump minimist from 1.2.5 to 1.2.6 in /striker-ui
2022-03-24 12:16:50 -04:00
dependabot[bot]
0c37c36cea
build(deps): bump minimist from 1.2.5 to 1.2.6 in /striker-ui-api
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-23 19:33:45 +00:00
dependabot[bot]
9fff0cebf1
build(deps): bump minimist from 1.2.5 to 1.2.6 in /striker-ui
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-23 19:32:37 +00:00
Digimer
a16e626ede
Merge pull request #223 from Tsu-ba-me/fs-page
Web UI: add File Manager page
2022-03-22 18:07:29 -04:00
Tsu-ba-me
3f929bf8f5 chore: rebuild web UI 2022-03-18 22:50:41 -04:00
Tsu-ba-me
072680f9b3 style(striker-ui): re-run prettier across all sources 2022-03-18 22:50:41 -04:00
Tsu-ba-me
8c60aaaf5f chore(striker-ui): revise scripts for lint and quick-fix 2022-03-18 22:50:41 -04:00
Tsu-ba-me
9d4ab524a5 chore(striker-ui): remove eslint-plugin-prettier 2022-03-18 22:50:41 -04:00
Tsu-ba-me
3ef676304a build(striker-ui-api): include file-manager page in distribution 2022-03-18 22:50:41 -04:00
Tsu-ba-me
f7cf9fda06 fix(units): correct nodejs executable path in striker-ui-api service 2022-03-18 22:50:41 -04:00
Tsu-ba-me
30302410ad build(striker-ui-api): remove version requirement on nodejs 2022-03-18 22:50:41 -04:00
Tsu-ba-me
10c0d7a144 build(striker-ui-api): use webpack + babel (transpile) to generate output for nodejs 10 2022-03-18 22:50:41 -04:00
Tsu-ba-me
8de0d73778 build: re-add nodejs as anvil-striker package dependency 2022-03-18 22:50:41 -04:00
Tsu-ba-me
c9bf7bdfd2 build: summarize attempt #3 nodejs-as-dependency 2022-03-18 22:50:41 -04:00
Tsu-ba-me
671a8617f2 build: try #3 nodejs-as-dependency syntax in spec file 2022-03-18 22:50:41 -04:00
Tsu-ba-me
8a15ce6117 build: try #2 nodejs-as-dependency syntax in spec file 2022-03-18 22:50:41 -04:00
Tsu-ba-me
1192d775c0 build: include striker API data dir in spec file 2022-03-18 22:50:41 -04:00