Convert signing of CSRs to a task
The main motivation behind doing this right now is to help customers who need to know precisely what command(s) Bolt will run as sudo. The task can be made into a predictable, constant invocation.
Fix precheck.sh script for RHEL
In RHEL, VERSION_ID can be something like "7.3", rather than just "7". So for EL os's strip out the minor version when calculating the platform tag.
Small improvements and corrections to README.md
This is not a full overhaul of the docs, but it at least clarifies the basic introductory text of the README file.
Ensure Puppet stopped after upgrade script
Otherwise, errant agent runs could interfere with other aspects of the upgrade process
To consolidate, and to better reflect current state of module
This commit allows you to manage the license key file associated with PE. This file is managed in the same way the r10k private key file is currently managed in this tool per the request of @reidmv
* When copying private key and license, flatten and compact target list - Bolt doesn't play well with undef as a target * Because the file/content pattern is being used twice now, relegate details to a function (DRY)
Merge pull request #61 from abrader/serveng-24-license-file
Manage license file
Eliminate default private key parameter value
We have observed setting r10k_private_key by default can cause conflicts with advanced code manager configuration keys passed in by pe_conf_data. To avoid the need to zero-out the r10k_private_key value, if the top-level r10k_private_key settings are not given to peadm::provision, do not set a pe.conf value for r10k_private_key.
Merge pull request #62 from puppetlabs/eliminate-privkey-default
Eliminate default private key parameter value
Merge pull request #66 from bwilcox/fix_file_or_content
Update function to accept either string or undef data type.
Address issue where group B wasn't created when a master replica was …
…present without a standalone puppetdb replica.
To try and avoid dealing with the complexity of PuppetDB database host picking at the end of the manifest, see if having a sane class parameter default solves the problem cleanly. If it does, we can do a simple switch on replica/no-replica to create the B groups.
Fix for PDK validate, add parameter comments
It doesn't like having an optional parameter come before a non-optional one. Since parameters are moving around a bit, add some comments to clarify their intended usage.
Merge pull request #64 from bwilcox/node_manager_switch
Node manager switch
updated the agent_install.sh file sed statement for installation flag…
…s when installing an agent
Merge pull request #70 from chlawren/agent-install-flags
updated the agent_install.sh file sed statement for installation flag…
Set explicit certname when using curl|bash install
This is because the curl|bash installer overrides certname and server settings when installing. In the event a server needs to use a certname which is NOT the same as the system's configured hostname, the certname must be set manually at agent install time.
Set the certname for PE installer hosts
The only way to set the certname right now for hosts configured with the PE installer is to pre-stage a puppet.conf file with the certname value set. This commit does that for PE installer hosts in order to allow all infrastructure nodes to have their certnames set for them, based on the Bolt target name. If the target name is different from the IP address used to reach the host, then an inventory file should be used.
Do not require target/certname == hostname
This commit removes the hard check that target names be equal to hostnames. This commit is in support of other changes added to allow the use of certnames which are not the hostname.
Merge pull request #72 from puppetlabs/preserve-certnames
Set certnames to target names
Update documentation for inventory/hostname note
Include some notes on how to use an inventory file to specify a target certname that is different from the uri used to access the target.
Update sample inventory to inventory v2
The key "nodes" was deprecated in favor of "targets" in later versions of Bolt 1.x, and obsoleted/replaced in Bolt 2.x. Updating docs to be current, valid inventory file sytnax.
Fail peadm::pe_install task when installer fails
The peadm::pe_install task as written will probably never technically fail, even when the puppet-enterprise-installer script exits non-zero. This commit updates the task to exit with whatever exit code the puppet-enterprise-installer script exited with. Not a perfect fix but a step in the right direction. Fixes #71
Merge pull request #75 from puppetlabs/GH-71
Fail peadm::pe_install task when installer fails
Update provision docs for hostname/certname change
It is no longer required that the hostname of a system match the target name for the system given to Bolt. This commit is an additional update to the docs to reflect that.
Rework upgrade sequence to support Standard arch
Previously, when upgrading a standard architecture deployment, after the master runs the puppet-enterprise-installer script auth for compilers needs to be restored by a puppet agent run. However, the upgrade plan only performed a run on the dedicated database host, which doesn't exist in a standard install (the databases are all on the master). This commit reworks the upgrade sequence such that the master and replica recieve puppet runs at the appropriate points, along with the database targets, to ensure that regardless of which node the database(s) are located on the node will have a Puppet run to finalize its config before upgrade moves on to the compilers. Fixes #73
Merge pull request #77 from puppetlabs/GH-73
Rework upgrade sequence to support Standard arch
Use custom OIDs for peadm role and avil. group
Previously, peadm used pp_application and pp_cluster for this purpose. This conflicted with some existing customer's usage of those attributes. In order to avoid collision with customer OID usage, this commit modifies peadm to use custom OIDs.
Preserve existing csr_attributes data
In the event a csr_attributes.yaml file is already present, don't overwrite it; instead, merge in the values we need to any values already present.