79 Commits (3733220b50432600d69a4ed83f19d1817b6faefc)

Author SHA1 Message Date
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. 4 years ago
Digimer 45a9cb04b0 * Fixed a bug introduced in the last commit that made Get->os_type() fail when called locally. 4 years ago
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 4 years ago
Digimer 6f8f97b184 * Updated Get->os_type() to support detection of CentOS Stream separate from CentOS. 4 years ago
Digimer 983e3ad114 * Updated the os_type regex to detect CentOS Stream properly. 4 years ago
Digimer 8d0f873912 * Updated scan-storcli to check if a MegaRAID controlled exists and neither storcli64 or perccli64 exist. If a controller is found but no RPM is installed, it checks to see if the host is Dell and then decides to try and install perccli or storcli. 4 years ago
Digimer 3d7ce84c38 * Fixed a bug in Get->host_from_ip_address() where hosts that are no longer used are returned, meaning 2+ results could be returned after a node was replaced, meaning no host name was returned. 4 years ago
Digimer 413a4f73c2 * Updated Tools->_anvil_version() and Get->anvil_version() to now pick up a SchemaVersion from anvil.sql. This will change only when the schema changes and is used when Database->connect() is checking compatibility with other anvil database hosts. This will make it only break connection when there is a reason to do so. The anvil_version still remains as an informational version that will help when supporting users later. 4 years ago
Digimer 549dbad635 * Created Cluster->delete_server(), which deletes a server resource from pacemaker (stopping it first, if needed). 4 years ago
Digimer 056f8edf48 * Moved the scan-drbd function 'gather_drbd_date' and moved it into DRBD->gather_date(). 4 years ago
Digimer a7f0676a0f * Got the 'anvil-provision-server' script to the point where it actually saves the new server job. 4 years ago
Digimer 7002c6f7cf * Fixed a bug in Get->available_resources() where re-calling it caused the available space on storage groups kept dropping. Also added recordings in the hash for the space reserved for the host and allocated to existing servers. 4 years ago
Digimer f30cce3c5a * Created the new tools/anvil-provision-server tool which will handle provisioning new servers, as well as having an interactive menu system to provision servers from the command line. 4 years ago
Digimer ddffc9d782 * Finished refining Get->available_resources(). It's now complete and can be used to show a user what is available and to validate new server creation commands (up next). 4 years ago
Digimer 1ca695ff1b * Renamed Database->storage_group_data() to ->get_storage_group_data(). 4 years ago
Digimer 8f823d3b86 * Switched out the static list of core table to use the array generated by Database->get_tables_from_schema(). 4 years ago
Digimer 4f33eeef2e * This commit introduces a new concept called "Storage Groups". Given that LVs back DRBD resources in M3, there needed to be a way to determine which VGs would be used when creating the backing DRBD resources, and how large those LVs could be (based on the minimum free space of the VGs in a group). A new, as yet incomplete Get->available_resources() method will handle determining what resources are available to grow exist 4 years ago
Digimer 1d03a386d3 * Created Database->get_bridges() that, surprise, loads data from the 'bridges' table. 4 years ago
Digimer 51de6c721f * Created scan-ipmitool (needs more testing but seems to work now). Logical straight port from M2. 4 years ago
Digimer 7e6e345513 * Updated tools/striker-manage-install-target to now check to see if the striker is a RHEL host. If not, the packages in the RHEL High Availability add-on are merged into the main package list. If it is RHEL though, a search is made for nodes that it can access and once one is found that is a matching RHEL version / arch, and has Internet access, it is used as a proxy to download the packages in the HA add on and then pulls those packages to the local repo. 4 years ago
Digimer 713f77bc78 * Finally finished scan-apc-ups! Proved way harder than anticipated... (over a solid week of work!) In M3, this agent is no longer host-bound, and the UPSes to scan based on entries in 'upses' using this scan agent. 4 years ago
Digimer 33101f969a * Fixed several bugs related to tracking server boots, migrations and shut downs in the anvil database. The 'ocf:alteeve:server' now has (mostly?) safe integration with the Anvil! database. This was mostly done by updating Servers->boot_virsh(), ->shutdown_virsh() and ->migrate_server(). 4 years ago
Digimer 262cbccb35 * Finished scan-server, though lots of testing needed. 4 years ago
Digimer 46f1a05789 * Got the code in scan-server to the point where it _should_ now gracefully and automatically detect changes to a server's definition originatin from the database (via Striker), directly editing the on-disk definition file, or editing via libvirt tools (like virt-manager). Still needs to be tested though. 4 years ago
Digimer 0f7267eae1 * Moved the '_host_name', '_short_host_name', and '_domain_name' private methods in Tools.pm over to Get.pm (removing the leading '_' in the method names). 4 years ago
Digimer fe7cdb18fb * Updated all methods to add (or fix) logging the method entry. 4 years ago
Digimer 1498e1b53c * Got server migration working using ocf:alteeve:server in a test environment! 4 years ago
Madison Kelly 30f2b3fa8e * Switched all hash 'local' keys to be the host's short user name. Untested, likely bugs to be fixed in the next commit. 4 years ago
Digimer e35800c413 * Fixed up (though more testing/work needed) to ocf:alteeve:server to get it working with DRBD resources referenced using '/dev/drbd/by-res/...'. 4 years ago
Digimer 3c2f25a860 * Added 'fence_delay' fence agent to handle the corner cases where an IPMI BMC had crashed until a power cycle, and PDU fencing was effected, but failed to report as such. 4 years ago
Digimer 99afd2e936 * Fixed a bug in Database->manage_anvil_conf() where initializing a host set the DB information with the wrong DB port and password. 4 years ago
Digimer de43ea3ac1 * Renamed all Validate->is_X to Validate->X. Also created Validate->ipv6() to validate IPv6 addresses using Data::Validate::IP (and added it as a requirement to the .spec base RPM). 5 years ago
digimer 42c9099033 * Renamed all Validate->is_X to Validate->X. Also created Validate->ipv6() to validate IPv6 addresses using Data::Validate::IP (and added it as a requirement to the .spec base RPM). 5 years ago
Digimer 76b6550ac6 * Created Database->get_ip_addresses() that pulls the IPs out and stores them in a hash that allows for easy referencing to associated interfaces and networks. 5 years ago
Digimer 453f5c6223 * Fixed a bug where $anvil->nice_exit() was being passed 'exit' instead of 'exit_code' as a parameter. 5 years ago
Digimer 0b2eb88f39 * Fixed a bug where Get->os_type() wasn't renamed when it was moved from System. 5 years ago
Digimer 726a4374d1 * Renamed the database table 'host_keys' to 'ssh_keys' to better represent what it stores. 5 years ago
Digimer d3bb350668 * Filtered out 'delay' and 'plug' options from Striker->get_fence_data()'s options parsing. 5 years ago
Digimer 530d379f59 * Started work on caching network state change in tools/anvil-update-states. 5 years ago
Digimer 32bcdbe6d3 * Removed Network->is_remote, standardized on Network->is_local, and flipped calls to it to be more sensible (is_local -> local call -> else remote call). Also fixed a deep recursion issue with ->is_local where, given that it logs (which calls Storage methods which have local/remote invocations), would loop. 5 years ago
Digimer b57546e663 * Fixed a bug in Database->manage_anvil_conf() where the wrong password and port was being set. 5 years ago
Digimer b9a0cc4d56 * Finished the initial tools/striker-initialize-host! 5 years ago
Digimer badaa39b7a * Got the node/dr host initialization form to the point where it can test access and decide if it should show the Red Hat account form. Decided that for M3, node/dr host setup will now be a four-stage process; initial install (over PXE), initialization (install the proper anvil-{node,dr} RPM and connect to the database), setup/map the network, and then add to an Anvil! pair. 5 years ago
Digimer b8816382b8 * Created Log->is_secure() to more cleanly handle conditional logging of strings with passwords or passwords directly. Updated log entries that could benefit from this method to use it. 5 years ago
Digimer b51f87bdcc * Figured out a way to prevent browsers (for now, at least) from treating the node/host login form from saving passwords or pre-filling passwords. 5 years ago
Digimer 324ef351fe * Updated DRBD->get_devices() to properly identify the peer node, when run on an actual node in the cluster (not DR or Striker). 5 years ago
Digimer 7e4a170382 * Fixed a bug where Tools.pm->_anvil_version() and Get->host_uuid() were storing values in the wrong $anvil hash. 6 years ago
Digimer 9c0f6b8f79 * Added automatic 'echo return_code:$?' to System->call and Remote->call which is parsed out and returned automatically on all calls. 6 years ago
Digimer c41adb17ff * Finished converting Remote->call() to use Net::OpenSSH. Also updated all calls to this method to expect the output as a single (sometimes multi-line) string instead of an array reference. Also updated all calles to expect 'output' first, 'error' second. 6 years ago
Digimer 27ba3dcbb9 * Created Database->read() to store and return the handle to whichever database is used for read operations. Also created Database->quote that uses ->read to access the DBI 'quote' method more cleanly. Updated all calls to use these new methods. 6 years ago