Skip to content

Language and terminology updates #153

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

Merged
merged 21 commits into from
Jun 2, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
55ecc6d
(SOLARCH-376) Updating master_host to primaary_host
davidsandilands May 19, 2021
1b5da5b
(SOLARCH-376) replacing master_replica_host with primary_replica_host
davidsandilands May 19, 2021
c5df919
(SOLARCH-376) master_target to primary_target
davidsandilands May 19, 2021
a9a208c
(SOLARCH-376) removed use of master_replica_target
davidsandilands May 19, 2021
0f894cf
(SOLARCH-376) removed use of master_replica_target
davidsandilands May 19, 2021
c89355a
(SOLARCH-376) removed use of master_certname
davidsandilands May 19, 2021
65cc0f0
(SOLARCH-376) renamed classification groups to primart
davidsandilands May 19, 2021
66ba8e4
(SOLARCH-376) changed peadm_role master to primary
davidsandilands May 19, 2021
b2c5d36
(SOLARCH-376) changed documentation refrences from master to primary
davidsandilands May 19, 2021
8e65c28
(SOLARCH-376) renamed master_pe_conf to primary_pe_conf
davidsandilands May 19, 2021
417daa5
(SOLARCH-376) changed documentation refrences from master to primary
davidsandilands May 19, 2021
cdd0cf6
(SOLARCH-376) missed this parallelize step
davidsandilands May 21, 2021
52b3a05
(SOLARCH-376) error renaming node group
davidsandilands May 24, 2021
11206ce
(SOLARCH-376) removing master from replication task
davidsandilands May 25, 2021
d50e0c7
(SOLARCH-376) removing HA and high-availability for DR and disaster-r…
davidsandilands May 25, 2021
29fd649
(SOLARCH-376) updated PE deployment to PE cluster and deployment to c…
davidsandilands May 25, 2021
1046174
(SOLARCH-376) removed mention of HA
davidsandilands May 25, 2021
6151e79
(SOLARCH-376) updating docker documentation to reflect DR and missing…
davidsandilands May 26, 2021
7f739fe
(SOLARCH-376) updating image name to no DR
davidsandilands May 26, 2021
f9e9066
(SOLARCH-376) updating diagrams
davidsandilands Jun 1, 2021
85eefb3
(SOLARCH-376) changing the role to puppet/server to avoid confusion w…
davidsandilands Jun 2, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ As a services-led tool, Puppet Enterprise customers who are advised to start usi
The normal usage pattern for peadm is as follows.

1. Users set up a Bolt host from which they can run peadm plans. The Bolt host can be any machine that has ssh access to all of the PE nodes.
2. Users run the `peadm::provision` plan to bootstrap a new PE deployment. Depending on the architecture chosen, peadm may create some node groups in the classifier to set parameters on the built-in `puppet_enterprise` module, tuning it for large or extra large architectures.
3. Users use and operate their PE deployment as normal. The peadm module is not used again until the next upgrade.
2. Users run the `peadm::provision` plan to bootstrap a new PE cluster. Depending on the architecture chosen, peadm may create some node groups in the classifier to set parameters on the built-in `puppet_enterprise` module, tuning it for large or extra large architectures.
3. Users use and operate their PE cluster as normal. The peadm module is not used again until the next upgrade.
4. When it is time to upgrade, users run the `peadm::upgrade` plan from their Bolt host to accelerate and aid in the upgrade process.

### What peadm affects
Expand All @@ -44,8 +44,8 @@ The normal usage pattern for peadm is as follows.

### What peadm does not affect

* The peadm module is not required to exist or be present outside of the point(s) in time it is used to create a new PE deployment, or upgrade an existing deployment. No new Puppet classes or other persistent content not provided out-of-box by PE itself is applied to PE infrastructure nodes by the peadm module.
* Having used the peadm module to provision or to upgrade a PE deployment is not known to affect or curtail the ability to use any normal, documented PE procedures, e.g. failover to a replica, or manual upgrade of a deployment.
* The peadm module is not required to exist or be present outside of the point(s) in time it is used to create a new PE cluster, or upgrade an existing cluster. No new Puppet classes or other persistent content not provided out-of-box by PE itself is applied to PE infrastructure nodes by the peadm module.
* Having used the peadm module to provision or to upgrade a PE cluster is not known to affect or curtail the ability to use any normal, documented PE procedures, e.g. failover to a replica, or manual upgrade of a cluster.

### Requirements

Expand Down
40 changes: 20 additions & 20 deletions documentation/classification.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Overview

This reference implementation uses four non-default node classification groups to implement the Extra Large HA architecture. Intentionally, classification of default, out-of-box node groups is not modified. This allows normal commands such as `puppet infrastructure enable replica` to behave more or less exactly as they would in Standard or Large architecture deployments.
This reference implementation uses four non-default node classification groups to implement the Extra Large DR architecture. Intentionally, classification of default, out-of-box node groups is not modified. This allows normal commands such as `puppet infrastructure enable replica` to behave more or less exactly as they would in Standard or Large architecture clusters.

This image shows a fully expanded view of the PE Infrastructure node group, highlighting the new additions made to support the Extra Large architecture.

Expand All @@ -12,37 +12,37 @@ This image shows a fully expanded view of the PE Infrastructure node group, high

The new groups are:

* PE Master A
* PE Master B
* PE Primary A
* PE Primary B
* PE Compiler Group A
* PE Compiler Group B

The configuration applied in each group looks as follows:

### PE Master A
### PE Primary A

![PE Master A group](images/pe-master-a.png)
![PE Primary A group](images/pe-master-a.png)

Notes for PE Master A:
Notes for PE Primary A:

* The (initial) Master is the only member of this node group
* The (initial) Primary is the only member of this node group
* Sets as data two parameters
* `puppet_enterprise::profile::master_replica::database_host_puppetdb`
* `puppet_enterprise::profile::puppetdb::database_host`
* Sets both parameters to the name of the PuppetDB PostgreSQL node paired with this master
* Uses a different PuppetDB PostgreSQL node than PE Master B
* Sets both parameters to the name of the PuppetDB PostgreSQL node paired with this primary
* Uses a different PuppetDB PostgreSQL node than PE Primary B

### PE Master B
![PE Master B group](images/pe-master-b.png)
### PE Primary B
![PE Primary B group](images/pe-master-b.png)

Notes for PE Master B:
Notes for PE Primary B:

* The (initial) Master Replica is the only member of this node group
* The (initial) Primary Replica is the only member of this node group
* Sets as data two parameters
* `puppet_enterprise::profile::master_replica::database_host_puppetdb`
* `puppet_enterprise::profile::puppetdb::database_host`
* Sets both parameters to the name of the PuppetDB PostgreSQL node paired with this master
* Uses a different PuppetDB PostgreSQL node than PE Master A
* Uses a different PuppetDB PostgreSQL node than PE Primary A

### PE Compiler Group A
![PE Compiler Group A group](images/pe-compiler-group-a.png)
Expand All @@ -52,10 +52,10 @@ Notes for PE Compiler Group A:
* Half of the compilers are members of this group
* Applies the `puppet_enterprise::profile::puppetdb` class
* Sets the `puppet_enterprise::profile::puppetdb::database_host` parameter
* Should be set to `"pdb-pg-a"`, where "pdb-pg-a" is the name of the PuppetDB PostgreSQL database host paired with the (initial) Master
* Should be set to `"pdb-pg-a"`, where "pdb-pg-a" is the name of the PuppetDB PostgreSQL database host paired with the (initial) Primary
* Modifies the `puppet_enterprise::profile::master::puppetdb_host` parameter
* Should be set to `[${clientcert}, "master-b"]`, where "master-b" is the name of the (initial) Master Replica.
* If you have a load balancer for the compilers in PE Compiler Group B port 8081, you should use that load balancer address instead of "master-b"
* Should be set to `[${clientcert}, "primary-b"]`, where "primary-b" is the name of the (initial) Primary Replica.
* If you have a load balancer for the compilers in PE Compiler Group B port 8081, you should use that load balancer address instead of "primary-b"
* Modifies the `puppet_enterprise::profile::master::puppetdb_port` parameter
* Should be set to `[8081]`

Expand All @@ -67,9 +67,9 @@ Notes for PE Compiler Group B:
* The other half of the compilers (those not in the PE Compiler Group A node group) are members of this group
* Applies the `puppet_enterprise::profile::puppetdb` class
* Sets the `puppet_enterprise::profile::puppetdb::database_host` parameter
* Should be set to `"pdb-pg-b"`, where "pdb-pg-b" is the name of the PuppetDB PostgreSQL database host paired with the (initial) Master Replica
* Should be set to `"pdb-pg-b"`, where "pdb-pg-b" is the name of the PuppetDB PostgreSQL database host paired with the (initial) Primary Replica
* Modifies the `puppet_enterprise::profile::master::puppetdb_host` parameter
* Should be set to `[${clientcert}, "master-a"]`, where "master-a" is the name of the PuppetDB PostgreSQL node paired with the (initial) Master Replica.
* If you have a load balancer for the compilers in PE Compiler Group A port 8081, you should use that load balancer address instead of "master-a"
* Should be set to `[${clientcert}, "primary-a"]`, where "primary-a" is the name of the PuppetDB PostgreSQL node paired with the (initial) Primary Replica.
* If you have a load balancer for the compilers in PE Compiler Group A port 8081, you should use that load balancer address instead of "primary-a"
* Modifies the `puppet_enterprise::profile::master::puppetdb_port` parameter
* Should be set to `[8081]`
4 changes: 2 additions & 2 deletions documentation/convert.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ Prepare to run the plan against all servers in the PE infrastructure, using a pa

```json
{
"master_host": "pe-xl-core-0.lab1.puppet.vm",
"master_replica_host": "pe-xl-core-1.lab1.puppet.vm",
"primary_host": "pe-xl-core-0.lab1.puppet.vm",
"primary_replica_host": "pe-xl-core-1.lab1.puppet.vm",
"compiler_hosts": [
"pe-xl-compiler-0.lab1.puppet.vm",
"pe-xl-compiler-1.lab1.puppet.vm"
Expand Down
9 changes: 5 additions & 4 deletions documentation/docker_examples.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Docker Based Examples
This module provides docker compose files for the various architectures for experimentation purposes. This gives you the ability to stand up an entire PE stack in order to learn how this module and HA works. If you have docker and docker-compose you can start up a full Puppet architecture with a single command. Please note that Puppet does not support PE on containers in production.
This module provides docker compose files for the various architectures for experimentation purposes. This gives you the ability to stand up an entire PE stack in order to learn how this module and DR works. If you have docker and docker-compose you can start up a full Puppet architecture with a single command. Please note that Puppet does not support PE on containers in production.

In order to decouple Bolt from a dev system, a special bolt container is created that will run all the bolt commands. This is
required to achieve maximum portability. Should you want to run bolt commands against the PE stack you must
Expand All @@ -10,9 +10,10 @@ Example: `docker-compose run --entrypoint=/bin/bash bolt`
### Requirements
To run the container based examples you will need the following requirements:

2. Docker
3. Docker compose
4. 16GB memory, 24GB+ for XL and XL-HA architectures
1. Docker
2. Docker compose
3. realpath (brew install coureutils on mac)
4. 16GB memory, 24GB+ for XL and XL-DR architectures
5. CPU with many cores (Tested with Core i7 6700)

### Starting the example
Expand Down
Binary file removed documentation/images/pe-master-a.png
Binary file not shown.
Binary file removed documentation/images/pe-master-b.png
Binary file not shown.
Binary file added documentation/images/pe-primary-a.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added documentation/images/pe-primary-b.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified documentation/images/pe-xl-classification.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions documentation/pre_post_checks.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Note that if you are using Litmus against a host once the agent is installed (no
groups:
- name: peserver
nodes:
- master.puppet.example.net
- primary.puppet.example.net
features: ['puppet-agent']
config:
transport: ssh
Expand All @@ -60,7 +60,7 @@ groups:
private-key: "~/.ssh/example.pem"
- name: ha
nodes:
- ha-master.puppet.example.net
- ha-primary.puppet.example.net
features: ['puppet-agent']
config:
transport: ssh
Expand Down
42 changes: 21 additions & 21 deletions documentation/provision.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,27 +6,27 @@ The peadm provisioning plan creates base reference implementation. Once a base s

## Reference Architectures

When provisioning a new PE stack using peadm, there are several different host parameters which can be specified. At a minimum, you must always specify the master parameter. Depending on which architecture you are deploying, other host parameters may be needed as well. The following is a list of the architectures peadm can provision and the required parameters.
When provisioning a new PE stack using peadm, there are several different host parameters which can be specified. At a minimum, you must always specify the primary parameter. Depending on which architecture you are deploying, other host parameters may be needed as well. The following is a list of the architectures peadm can provision and the required parameters.

* Standard
- master
* Standard with HA
- master
- master-replica
- primary
* Standard with DR
- primary
- primary-replica
* Large
- master
- primary
- compilers
* Large with HA
- master
- master-replica
* Large with DR
- primary
- primary-replica
- compilers
* Extra Large
- master
- primary
- pdb-database
- compilers (optional)
* Extra Large with HA
- master
- master-replica
* Extra Large with DR
- primary
- primary-replica
- pdb-database
- pdb-database-replica
- compilers (optional)
Expand All @@ -38,7 +38,7 @@ Supplying a combination of host parameters which does not match one of the suppo
### Bolt 3 usage
We will name the bolt project `large_ha_peadm` in this example but the project name can be anything.

1. Install Bolt on a jumphost. This can be the master, or any other system. (via package)
1. Install Bolt on a jumphost. This can be the primary, or any other system. (via package)
2. Run `mkdir large_ha_peadm && cd large_ha_peadm && bolt project init large_ha_peadm --modules puppetlabs-peadm`
4. Create an inventory file with connection information. Example included below.
5. Create a parameters file. Example included below.
Expand All @@ -47,7 +47,7 @@ We will name the bolt project `large_ha_peadm` in this example but the project n

### Bolt 2 usage

1. Install Bolt on a jumphost. This can be the master, or any other system.
1. Install Bolt on a jumphost. This can be the primary, or any other system.
2. Download or git clone the peadm module and put it somewhere on the jumphost. e.g. ~/modules/peadm.
3. Download or git clone the module dependencies, and put them somewhere on the jumphost. e.g. ~/modules/stdlib, ~/modules/node\_manager, etc.
4. Create an inventory file with connection information. Example included below.
Expand Down Expand Up @@ -83,13 +83,13 @@ groups:
uri: 10.234.14.131
```

Example params.json Bolt parameters file (shown: Extra Large with HA):
Example params.json Bolt parameters file (shown: Extra Large with DR):

```json
{
"master_host": "pe-xl-core-0.lab1.puppet.vm",
"primary_host": "pe-xl-core-0.lab1.puppet.vm",
"puppetdb_database_host": "pe-xl-core-1.lab1.puppet.vm",
"master_replica_host": "pe-xl-core-2.lab1.puppet.vm",
"primary_replica_host": "pe-xl-core-2.lab1.puppet.vm",
"puppetdb_database_replica_host": "pe-xl-core-3.lab1.puppet.vm",
"compiler_hosts": [
"pe-xl-compiler-0.lab1.puppet.vm",
Expand Down Expand Up @@ -146,8 +146,8 @@ A parameters JSON file can then reference the target names, which will become th

```json
{
"master_host": "pe-xl-core-0.lab1.puppet.vm",
"master_replica_host": "pe-xl-core-1.lab1.puppet.vm",
"primary_host": "pe-xl-core-0.lab1.puppet.vm",
"primary_replica_host": "pe-xl-core-1.lab1.puppet.vm",

"console_password": "puppetlabs",
"dns_alt_names": [ "puppet", "puppet.lab1.puppet.vm" ],
Expand All @@ -165,5 +165,5 @@ Besides getting Puppet Enterprise installed, the key configuration supporting La
* [classification.md](classification.md)
* [peadm::setup::node\_manager class](../manifests/setup/node_manager.pp)

The reference implementation uses trusted facts to put nodes in the right groups. Because the important puppet\_enterprise::\* class parameters and data are specified in the console, it should also be safe to have a pe.conf present on both the master, and the master replica nodes.
The reference implementation uses trusted facts to put nodes in the right groups. Because the important puppet\_enterprise::\* class parameters and data are specified in the console, it should also be safe to have a pe.conf present on both the primary, and the primary replica nodes.

2 changes: 1 addition & 1 deletion documentation/recovery.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ This procedure uses the following placeholder references.
curl -k https://<primary-server-fqdn>:8140/packages/current/install.bash \
| bash -s -- \
main:certname=<replacement-replica-fqdn> \
extension_requests:1.3.6.1.4.1.34380.1.1.9812=puppet/master \
extension_requests:1.3.6.1.4.1.34380.1.1.9812=puppet/server \
extension_requests:1.3.6.1.4.1.34380.1.1.9813=<replacement-avail-group-letter>

puppet agent -t
Expand Down
Loading