Commit Graph

838 Commits

Author SHA1 Message Date
Digimer
296556328b * Fixed a bug in Convert->bytes_to_human_readable() to handle being passed in bytes (with the size units of 'b' ot 'bytes').
* Fixed a bug in Database->_find_behind_databases() _find_behind_databases() where the logic to figure out which column was the host_uuid reference was too liberal, causing the wrong column to be selected in some cases. Also added a check to not look for host_uuid columns on specific tables where a match would be made, but the column is allowed to be null (like server_host_uuid that indicates the host of the server).
* Started work on the scan-filesystems scan agent, which is needed to record the data that the file system UI endpoints will need.
* Removed the 'not null' constraint from 'servers' -> 'server_host_uuid'.
* Fixed a bug in 'anvil-provision-server' where the driver ISO being 'none' caused the provision script to use the driver ISO switch.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-18 00:37:17 -04:00
Digimer
5536e8ff47 * Updated Cluster->assemble_storage_groups() and Cluster->anvil_name_from_uuid() and ->available_resources() to try to detect the anvil_uuid if not passed in.
* Updated Database->insert_or_update_storage_group_members() to use the host_uuid when trying to find existing members.
* Added the skeleton of a bunch of new json endpoints for the new UI features.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-16 02:40:50 -04:00
Fabio M. Di Nitto
ea051e7916
Merge pull request #52 from ClusterLabs/fix-deps
anvil-daemon: fix Requires:
2021-03-14 05:19:32 +01:00
Fabio M. Di Nitto
bc571ce53e anvil-daemon: fix Requires:
Signed-off-by: Fabio M. Di Nitto <fabbione@fabbione.net>
2021-03-14 05:15:55 +01:00
Fabio M. Di Nitto
9da24c08a6
Merge pull request #51 from ClusterLabs/files
build: move striker-auto-initialize-all to proper location
2021-03-13 15:08:36 +01:00
Fabio M. Di Nitto
a2e2b5b235 build: move striker-auto-initialize-all to proper location
Signed-off-by: Fabio M. Di Nitto <fabbione@fabbione.net>
2021-03-13 15:04:46 +01:00
Fabio M. Di Nitto
2164a4b038
Merge pull request #50 from ClusterLabs/add-ci-tools
testing: distribute striker auto setup tool outside of normal PATH
2021-03-12 07:00:59 +01:00
Fabio M. Di Nitto
6709efe33b testing: distribute striker auto setup tool outside of normal PATH
Signed-off-by: Fabio M. Di Nitto <fabbione@fabbione.net>
2021-03-12 06:56:41 +01:00
digimer-bot
f07f77d060
Merge pull request #49 from ClusterLabs/auto-build-anvil
* Removed debug logging from tools.
2021-03-10 21:18:43 -05:00
Digimer
5e9e7e4dde * Removed debug logging from tools.
Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-10 21:14:56 -05:00
digimer-bot
350de4e97f
Merge pull request #48 from ClusterLabs/auto-build-anvil
* Added a check to Database->get_ip_addresses() to check is a hash is…
2021-03-10 20:46:32 -05:00
Digimer
b308199856
Merge branch 'master' into auto-build-anvil 2021-03-10 20:41:22 -05:00
Digimer
54496cbeb0 * Added a check to Database->get_ip_addresses() to check is a hash is set before using it, to help avoid unitialized variable messages.
* Updated Remote->test_access() to not used cached SSH access.
* Updated anvil-configure-host to abort if the host is in a cluster.
* Updated anvil-join-anvil to clean up some variable checks to help avoid unitialized variable messages.
* Updated striker-initialize-host to check if an anvil RPM is installed and, if so, not install the Anvil! repo.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-10 20:35:05 -05:00
digimer-bot
5d5cb0158e
Merge pull request #47 from ClusterLabs/auto-build-anvil
* Updated anvil-join-anvil to actively call a cluster start once per …
2021-03-10 14:24:57 -05:00
Digimer
a12a144d71
Merge branch 'master' into auto-build-anvil 2021-03-10 14:20:08 -05:00
Digimer
5db09f565d * Updated anvil-join-anvil to actively call a cluster start once per minute while waiting for initial startup.
* Added a check to striker-initialize-host the see if anvil-X RPM is already installed. If so, it will not install the Alteeve repo, even if it's not found.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-10 14:14:04 -05:00
digimer-bot
66ef8af014
Merge pull request #46 from ClusterLabs/auto-build-anvil
* Updated Log->entry() to prefix log lines with the short 'job-uuid',…
2021-03-10 02:34:50 -05:00
Digimer
3733220b50 * Updated Log->entry() to prefix log lines with the short 'job-uuid', when the log entry is coming from a program running as a job. This is meant to make it easier to break up what log lines belong to what jobs, if multiple jobs are running at the same time (ie: when initializing multiple nodes / dr hosts in parallel).
* Updated Remote->call() to return ('!!error!!', '!!error!!', 9999) when an error hits. Made Remote->test_access() explicitely check for '1' to be returned in order to confirm access, fixing a bug where bad target value caused false positives. Updated ->_check_known_hosts_for_target() to no longer explicitely check for 'ssh-rsa' so that machine keys using different cyphers are detected as being in known_hosts properly.
* Updated striker-auto-initialize-all to initialize nodes and DR hosts networks before trying to form them into an Anvil!. Fixed several other bugs as well. More testing is needed, but it works now.
* Updated striker-initialize-host to check for the alteeve repo and, it not found, check for accress to alteeve.com. If access, it will install our repo now.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-10 02:26:09 -05:00
digimer-bot
560c8da4c2
Merge pull request #45 from ClusterLabs/auto-build-anvil
Auto build anvil
2021-03-09 11:12:55 -05:00
Digimer
55ff964d0e
Merge branch 'master' into auto-build-anvil 2021-03-09 11:09:30 -05:00
Digimer
53eefee56c * Re-enabling tools/striker-auto-initialize-all.
Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-09 11:04:25 -05:00
Digimer
426b5f58f7 * Finished (but not yet tested) tools/striker-auto-initialize-all. Expect many bugs if used.
Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-09 00:49:09 -05:00
Digimer
e71c7d4966 * Finished getting tools/striker-auto-initialize-all to merge the built Strikers.
* Fixed a bug in Remote->call() where the output of the call not ending in a newline wasn't having the return code parsed off properly.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-04 23:28:39 -05:00
Digimer
15fd0e5ce8 * Updated anvil-daemon (and Database->insert_or_update_jobs) to now recognize jobs with the job_status of 'scancore_startup' to run only when ScanCore starts.
* Finished initial Striker setup in tools/striker-auto-initialize-all. Started working on peering.
* Cleaned up the handling of converting UIDs to user names in Remote->add_target_to_known_hosts() and ->_call_ssh_keyscan().
* Did a bunch of white-space/alignment cleanup.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-04 01:41:33 -05:00
Digimer
0fb191c00f * Made more progress on tools/striker-auto-initialize-all, now to the point where it loads the variables needed to initialize Striker dashboard.
* Cleaned up / added some logging in various locations.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-03-02 01:18:18 -05:00
digimer-bot
1a10f2ddd9
Merge pull request #44 from ClusterLabs/auto-build-anvil
* Fixed a bug introduced in the last commit that made Get->os_type() …
2021-02-23 02:08:54 -05:00
Digimer
45a9cb04b0 * Fixed a bug introduced in the last commit that made Get->os_type() fail when called locally.
* Made the error reported by Remote->call() more verbose when called without 'target' being set.
* Updated anvil-daemon to not call jobs more that once per minute.
* Started work on striker-auto-initialize-all, still very far from complete.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-02-23 01:56:12 -05:00
Digimer
ba8afe4adb
Merge pull request #43 from ClusterLabs/auto-build-anvil
* Remove host-health from the 'hosts' table as it wasn't needed, give…
2021-02-22 19:39:23 -05:00
digimer-bot
7283857ebb
Merge branch 'master' into auto-build-anvil 2021-02-22 19:36:28 -05:00
Digimer
1b65f53faa * Remove host-health from the 'hosts' table as it wasn't needed, given the 'health' table. Bumped the SQL version to 0.0.2
* Updated Get->os_type() to use 'cat' instead of Storage->read_file() because 'rsync' may not be available when it is called during striker-initialize-host calls.
* Updated Database methods to skip 'oui' and 'state' during resync.
* Updatedb striker-initialize-host to detect when it's initializing a CentOS Stream Node / DR Host and enable the HA repo.
* Created the tools/striker-auto-initialize-all tool, which is very much incomplete, that will allow for the rapid creation of a full Anvil! from freshly installed machines autonomously.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-02-22 19:22:47 -05:00
kronosnet CI bot
e6c45dacff
Merge pull request #42 from ClusterLabs/mock-fixes
Fix make srpm/make rpm BuildRequires for mock based environments
2021-02-17 13:41:01 +01:00
Fabio M. Di Nitto
cec7beaf7c Fix make srpm/make rpm BuildRequires for mock based environments
Signed-off-by: Fabio M. Di Nitto <fabbione@fabbione.net>
2021-02-17 13:30:12 +01:00
Digimer
2a1fa6891e
Merge pull request #41 from ClusterLabs/install-target-uefi
* The work on PXE / UEFI support is broken, and will be set aside for…
2021-02-16 18:47:24 -05:00
Digimer
1f8312e5fd
Merge branch 'master' into install-target-uefi 2021-02-16 18:41:48 -05:00
Digimer
e8efbab343 * The work on PXE / UEFI support is broken, and will be set aside for the time being. The commit here is working to getting things fixed, but it's taking too much time away from more pressing issues.
* This commit includes two unrelated test files for UI work, cgi-bin/get_anvil_status and cgi-bin/get_anvils.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-02-16 17:32:43 -05:00
Fabio M. Di Nitto
95340bb514
Merge pull request #40 from ClusterLabs/firewalld
Make sure that firewalld is started before trying to opening ports
2021-02-12 22:50:41 +01:00
Fabio M. Di Nitto
5043b8a778 Make sure that firewalld is started before trying to opening ports
Signed-off-by: Fabio M. Di Nitto <fabbione@fabbione.net>
2021-02-11 13:52:32 +01:00
digimer-bot
af389a114c
Merge pull request #39 from ClusterLabs/install-target-uefi
* Got UEFI booting working up to the grub menu, though files formerly…
2021-02-10 23:52:44 -05:00
Digimer
2937afad26 * Got UEFI booting working up to the grub menu, though files formerly provided by anvil-striker-extra still need to be added to the main anvil-striker to work properly.
* Signed-off-by: Digimer <digimer@alteeve.ca>
2021-02-10 23:49:11 -05:00
digimer-bot
ae0873c790
Merge pull request #38 from ClusterLabs/webui_anvil_page
* This adds two new files; cgi-bin/get_anvils and cgi-bin/get_anvil_s…
2021-02-09 22:51:31 -05:00
Digimer
bfe5fe2281 * This adds two new files; cgi-bin/get_anvils and cgi-bin/get_anvil_status, that will form the foundation of the new interactive web UI.
* Added the new 'json_headers' template to shared.html
* Updated Database->get_anvils() to store 'anvils::anvil_uuid::<anvil_uuid>::query_time' to aid in JSON clients to know the data is coming from the server. Also fixed a bug where the normal 'modified_date' column wasn't being loaded from the database properly.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-02-09 22:45:40 -05:00
digimer-bot
60cc90bec9
Merge pull request #37 from ClusterLabs/schema_work
* Updated the 'hosts' table and relevant Database methods to add colu…
2021-02-09 21:43:20 -05:00
Digimer
be942cea49
Merge branch 'master' into schema_work 2021-02-09 21:40:24 -05:00
Digimer
26f268a4aa * Updated the 'hosts' table and relevant Database methods to add columns for 'host_status' and 'host_health'. These will simplify tracking a node's (power) status and overall health.
Signed-off-by: Digimer <digimer@alteeve.ca>
2021-02-09 21:35:58 -05:00
digimer-bot
7373bca1e6
Merge pull request #36 from ClusterLabs/install-target-uefi
* Fixed initial UEFI PXE booting (doesn't work yet, but UEFI clients …
2021-02-09 17:03:49 -05:00
Digimer
25aa46c359 * Fixed initial UEFI PXE booting (doesn't work yet, but UEFI clients get an IP properly and get the boot image)
Signed-off-by: Digimer <digimer@alteeve.ca>
2021-02-09 16:59:51 -05:00
digimer-bot
604bbc636e
Merge pull request #35 from ClusterLabs/install-target-uefi
Install target uefi
2021-02-08 22:45:49 -05:00
Digimer
6f8f97b184 * Updated Get->os_type() to support detection of CentOS Stream separate from CentOS.
* Updated pxe.txt to start support for UEFI boot target.
* Updated update_install_source to be smarter about moving html and tftp directory names to better reflect the host OS, and to make it support converting OSes on the fly. Also added support to the package list for CentOS Stream.

Signed-off-by: Digimer <digimer@alteeve.ca>
2021-02-08 22:37:27 -05:00
Digimer
64a87d84f2 * Removed 'anvil-striker-extra' as a dependency for anvil-striker in preparation for its retirement.
Signed-off-by: Digimer <digimer@alteeve.ca>
2021-02-08 15:48:01 -05:00
digimer-bot
93d0648ef5
Merge pull request #34 from ClusterLabs/distro-support
* Updated the os_type regex to detect CentOS Stream properly.
2021-02-08 15:32:34 -05:00