Skip to content

Commit 6a23177

Browse files
Merge pull request #2551 from DougAnsonAustinTX/puppet_LP_review
updates and fixes for this LP
2 parents 6bb63bd + b5db571 commit 6a23177

File tree

6 files changed

+86
-37
lines changed

6 files changed

+86
-37
lines changed

content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/baseline.md

Lines changed: 38 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,31 @@ In this guide, you will perform baseline testing of Puppet on a GCP SUSE Arm64 V
1212
### Verify Puppet Installation
1313
Verify that Puppet and Facter are correctly installed and respond to version checks:
1414

15+
Version Check:
1516
```console
1617
puppet --version
18+
```
19+
Output:
20+
```output
21+
8.10.0
22+
```
23+
Version Check:
24+
```console
1725
facter --version
26+
```
27+
Output:
28+
```output
29+
4.10.0
30+
```
31+
Version Check:
32+
```console
1833
ruby -v
1934
```
35+
Output:
36+
```output
37+
ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [aarch64-linux]
38+
```
39+
2040
### Run a Simple Puppet Command
2141
Check that Puppet responds to commands by running puppet help. If the help menu appears, Puppet is working correctly.
2242

@@ -65,6 +85,7 @@ Puppet v8.10.0
6585
Create and run a basic Puppet script to make sure Puppet can apply configurations. If it successfully creates the test file, your Puppet agent functions as expected.
6686

6787
```bash
88+
cd ~
6889
cat <<EOF > test.pp
6990
file { '/tmp/puppet_test.txt':
7091
ensure => file,
@@ -78,7 +99,8 @@ puppet apply test.pp
7899

79100
You should see an output similar to:
80101
```output
81-
Notice: Compiled catalog for lpprojectsusearm64.c.imperial-time-463411-q5.internal in environment production in 0.01 seconds
102+
Notice: Compiled catalog for danson-puppet-2.c.arm-deveco-stedvsl-prd.internal in environment production in 0.01 seconds
103+
Notice: /Stage[main]/Main/File[/tmp/puppet_test.txt]/ensure: defined content as '{sha256}bcf972b61979afe69626549b3f3f30798aeb50b359e76603a36e96b2abbe73c0'
82104
Notice: Applied catalog in 0.01 seconds
83105
```
84106

@@ -98,12 +120,10 @@ Hello from Puppet on SUSE ARM64!
98120
### Check Facter Integration
99121
Run `facter` commands to verify that it collects accurate system details like OS and CPU type. This ensures Puppet can gather the facts it needs for automation decisions.
100122

123+
OS Check:
101124
```console
102125
facter os
103-
facter architecture
104-
facter processors
105126
```
106-
107127
Output:
108128
```output
109129
{
@@ -130,9 +150,21 @@ Output:
130150
enabled => false
131151
}
132152
}
133-
$ facter architecture
153+
```
154+
Architecture Check:
155+
```console
156+
facter architecture
157+
```
158+
Output:
159+
```output
134160
aarch64
135-
$facter processors
161+
```
162+
Processors Check:
163+
```console
164+
facter processors
165+
```
166+
Output:
167+
```output
136168
{
137169
cores => 4,
138170
count => 4,
@@ -147,5 +179,4 @@ $facter processors
147179
threads => 1
148180
}
149181
```
150-
151182
With these checks complete, proceed to the Puppet benchmarking section to run workload‑focused tests on the GCP SUSE VMs.

content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/benchmarking.md

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,16 @@ Ensure that Puppet is installed and functioning correctly:
1919
```console
2020
puppet --version
2121
```
22+
Output:
23+
```output
24+
8.10.0
25+
```
2226

2327
### Create a Benchmark Manifest
2428
Create a directory and a simple manifest file:
2529

2630
```console
31+
cd ~
2732
mkdir -p ~/puppet-benchmark
2833
cd ~/puppet-benchmark
2934
vi benchmark.pp
@@ -51,16 +56,16 @@ This executes the manifest locally and outputs timing statistics.
5156

5257
You should see an output similar to:
5358
```output
54-
Notice: Compiled catalog for ########arm64.c.imperial-time-463411-q5.internal in environment production in 0.01 seconds
59+
Notice: Compiled catalog for danson-puppet-2.c.arm-deveco-stedvsl-prd.internal in environment production in 0.01 seconds
5560
Info: Using environment 'production'
56-
Info: Applying configuration version '1762160712'
61+
Info: Applying configuration version '1763407825'
5762
Notice: Running Puppet standalone benchmark.
5863
Notice: /Stage[main]/Main/Notify[Benchmark Test]/message: defined 'message' as 'Running Puppet standalone benchmark.'
5964
Notice: Applied catalog in 0.01 seconds
6065
61-
real 0m1.175s
62-
user 0m0.779s
63-
sys 0m0.385s
66+
real 0m1.054s
67+
user 0m0.676s
68+
sys 0m0.367s
6469
```
6570

6671
### Benchmark Metrics Explanation
@@ -71,34 +76,22 @@ sys 0m0.385s
7176
- **user** → CPU time spent in user-space.
7277
- **sys** → CPU time spent in system calls.
7378

74-
### Benchmark summary on x86_64
75-
To compare the benchmark results, the following results were collected by running the same benchmark on a `x86 - c4-standard-4` (4 vCPUs, 15 GB Memory) x86_64 VM in GCP, running SUSE:
76-
77-
| Metric | Result |
78-
|---------|---------|
79-
| Compiled catalog | 0.01 seconds |
80-
| Environment | production |
81-
| Applied catalog | 0.01 seconds |
82-
| real | 0m1.072s |
83-
| user | 0m0.834s |
84-
| sys | 0m0.213s |
85-
86-
### Benchmark summary on Arm64
87-
Results from the earlier run on the `c4a-standard-4` (4 vCPU, 16 GB memory) Arm64 VM in GCP (SUSE):
79+
### Benchmark results
80+
The above results were executed on a `c4a-standard-4` (4 vCPU, 16 GB memory) Axiom Arm64 VM in GCP running SuSE:
8881

8982
| **Metric / Log** | **Output** |
9083
|-------------------|------------|
9184
| Compiled catalog | 0.01 seconds |
9285
| Environment | production |
9386
| Applied catalog | 0.01 seconds |
94-
| real | 0m1.175s |
95-
| user | 0m0.779s |
96-
| sys | 0m0.385s |
87+
| real | 0m1.054s |
88+
| user | 0m0.676s |
89+
| sys | 0m0.367s |
9790

98-
### Puppet benchmarking comparison on Arm64 and x86_64
91+
### Puppet benchmarking summary
9992

10093
- **Catalog compilation:** Completed in just **0.01 seconds**, showing excellent processing speed on **Arm64**.
10194
- **Environment:** Executed smoothly under the **production** environment.
102-
- **Configuration version:** Recorded as **1762160712**, confirming successful version tracking.
95+
- **Configuration version:** Recorded as **1763407825**, confirming successful version tracking.
10396
- **Catalog application:** Finished in **0.01 seconds**, demonstrating very low execution latency.
104-
- **Real time:** Total runtime of **1.175 seconds**, reflecting efficient end.
97+
- **Real time:** Total runtime of **1.054 seconds**, reflecting efficient end.
22.3 KB
Loading
12.5 KB
Loading

content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/installation.md

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,21 @@ This guide walks you through installing Puppet on a **Google Cloud Platform (GCP
1212
### Install build dependencies and Ruby from source
1313
Installs all required tools and builds Ruby 3.1.4 from source to ensure compatibility with Puppet.
1414

15+
First we install the prerequisites for ruby:
1516
```console
16-
sudo zypper install -y gcc make openssl-devel libyaml-devel zlib-devel readline-devel gdbm-devel ncurses-devel
17-
cd /usr/local/src
17+
sudo zypper install git curl gcc make patch libyaml-devel libffi-devel libopenssl-devel readline-devel zlib-devel gdbm-devel bzip2 bzip2-devel
18+
```
19+
20+
NOTE:
21+
```note
22+
Due to changing version dependencies, you may receive a message in the "zypper"
23+
command above that ncurses-devel is not the correct version. If so, please select the
24+
option that permits downgrading of the installed ncurses-devel package to the required
25+
version (normally "Solution 1"), followed by confirmation with "y".
26+
```
27+
Then, we will install ruby itself:
28+
```console
29+
cd ~
1830
sudo wget https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.4.tar.gz
1931
sudo tar -xzf ruby-3.1.4.tar.gz
2032
cd ruby-3.1.4
@@ -43,8 +55,9 @@ Installs essential Puppet libraries (`semantic_puppet, facter, hiera`) needed fo
4355
- **hiera** – Key-value lookup tool that manages configuration data outside of Puppet manifests for flexible data separation.
4456

4557
```console
46-
wget https://github.com/puppetlabs/puppet/archive/refs/tags/8.10.0.tar.gz
47-
tar -xvf 8.10.0.tar.gz
58+
cd ~
59+
sudo wget https://github.com/puppetlabs/puppet/archive/refs/tags/8.10.0.tar.gz
60+
sudo tar -xvf 8.10.0.tar.gz
4861
cd ~/puppet-8.10.0
4962
sudo /usr/local/bin/gem install semantic_puppet -v "~> 1.0"
5063
sudo gem install facter -v "~> 4.0"

content/learning-paths/servers-and-cloud-computing/puppet-on-gcp/instance.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,18 @@ To create a virtual machine based on the C4A instance type:
2626

2727
![Create a Google Axion C4A Arm virtual machine in the Google Cloud Console with c4a-standard-4 selected alt-text#center](images/gcp-vm.png "Creating a Google Axion C4A Arm virtual machine in Google Cloud Console")
2828

29-
- Under **OS and Storage**, select **Change**, then choose an Arm64-based OS image. For this Learning Path, use **SUSE Linux Enterprise Server**. Pick the preferred version for your Operating System. Ensure you select the **Arm image** variant. Click **Select**.
29+
30+
- Under **OS and Storage**, select **Change**, then choose an Arm64-based OS image. For this Learning Path, use **SUSE Linux Enterprise Server**.
31+
- If using use **SUSE Linux Enterprise Server**. Select "Pay As You Go" for the license type.
32+
- Once appropriately selected, please Click **Select**.
3033
- Under **Networking**, enable **Allow HTTP traffic**.
3134
- Click **Create** to launch the instance.
35+
- Once created, you should see a "SSH" option to the right in your list of VM instances. Click on this to launch a SSH shell into your VM instance:
36+
37+
![Invoke a SSH session via your browser alt-text#center](images/gcp-ssh.png "Invoke a SSH session into your running VM instance")
38+
39+
- A window from your browser should come up and you should now see a shell into your VM instance:
40+
41+
![Terminal Shell in your VM instance alt-text#center](images/gcp-shell.png "Terminal shell in your VM instance")
42+
43+
Next, let's install puppet!

0 commit comments

Comments
 (0)