-
Notifications
You must be signed in to change notification settings - Fork 57
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(BKR-1058) Implement a simpler monolithic install method
Currently, the `do_install` method is a mega-method responsible for installing and upgrading every version, layout, and platform of PE. It knows how to handle masterless installs, legacy agent installs, and extremely old versions of PE. Because of that legacy, it has some inefficiencies and is inflexible. Since the most common case by far is a simple monolithic or split PE install with a set of frictionless agents, we can dramatically simplify and therefore speed up the basic case. This commit implements a determine_install_type method that will detect whether the task being asked of it is one of those simple cases. The `do_install` method now branches based on the type of install, calling `simple_monolithic_install` for a basic monolithic + agents install, or `generic_install` for everything else. Simple split installs are currently detected, but not handled specially (they still fall back to the generic install). Doing away with some of the legacy concerns allows this method to be much simpler and more efficient. In particular, because the method has a defined task (mono master + agents, rather than a generic list of hosts), it can be optimized around that task. This is accomplished now by first installing the master, and then installing all the agents in parallel. This method also removes an extra agent run that hasn't been necessary since PE 3.3. For a monolithic master with four frictionless agents, this new method takes ~6 min 30 sec, compared to ~11 minutes before.
- Loading branch information
Showing
2 changed files
with
245 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters