New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement support for frictionless agent installation #92
Merged
Conversation
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 commit adds a new guest capability, `pebuild_facts`, which loads facts from guest VMs. If Facter is installed, it will be used to generate a full list of facts. If Facter is not installed, a basic set of info is computed about the `os` and `architecture`, which should be sufficient to drive a PE installation.
This commit switches fact retrieval from using `facter` to `puppet facts`. This smooths over any differences between Facter versions and allows us to capture things like the Puppet version number and agent certname in addition to custom facts.
The `vagrant pe-build facts` command prints facts for fact info for every running VM, or an optional list of target running VMs.
The new `pe_agent` provisioner performs a [Simplified Agent install][1] for PE 2015.x and newer. [1]: http://docs.puppetlabs.com/pe/2015.2/install_agents.html#using-the-puppet-agent-package-installation-script
This patch adds a `master_vm` setting to the configuration of the `pe_agent` provisioner. If set, this setting will be interpreted as the name of another Vagrant machine which hosts the PE master. Setting `master_vm` will enable the following tasks during agent installation: - The `hostname` of the master machine will be used as a default for the `master` setting of the `pe_agent` provisioner. - The `pe_agent` provisioner will be able to ensure the correct `pe_repos` are configured on the master before attempting agent installation.
This patch updates the acceptance suite to provision CentOS PE 2015.x masters with `pe_bootstrap` and Ubuntu 2015.x agents with `pe_agent`. Acceptance setup is also expanded to include support for both CentOS and Ubuntu agent platforms. Because of the expanded platform support, other tests are also updated to reflect the change in Vagrant box names.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR brings in frictionless agent support along with new guest capabilities to retrieve facts. This functionality will re-enable agent installation for PE 2015.x and sets the stage for future improvements in the
pe_bootstrap
provisioner.Basic functionality is implemented, ad there are some remaining TODO items:
version
setting undefined when usingpe_agent
.pe_bootstrap
when provisioning Windows agents.This will be ticketed separately and may ship in later versions.