Skip to content

Commit 32eec9a

Browse files
committed
Update to Foreman 3.9 and Katello 4.11
1 parent 17f98e6 commit 32eec9a

25 files changed

+442
-393
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ In addition to the sources you can find the rendered material on
1818
[netways.github.io](https://netways.github.io/foreman-training)
1919

2020
* [Presentation](https://netways.github.io/foreman-training)
21-
* [Handouts](https://github.com/NETWAYS/foreman-training/releases/download/v1.7/foreman-training-handouts.pdf)
22-
* [Exercises](https://github.com/NETWAYS/foreman-training/releases/download/v1.7/foreman-training-exercises.pdf)
23-
* [Solutions](https://github.com/NETWAYS/foreman-training/releases/download/v1.7/foreman-training-solutions.pdf)
21+
* [Handouts](https://github.com/NETWAYS/foreman-training/releases/download/v1.8/foreman-training-handouts.pdf)
22+
* [Exercises](https://github.com/NETWAYS/foreman-training/releases/download/v1.8/foreman-training-exercises.pdf)
23+
* [Solutions](https://github.com/NETWAYS/foreman-training/releases/download/v1.8/foreman-training-solutions.pdf)
2424

2525
## Provide your own training
2626

2727
Feel free to use this material as it is to provide your own training.
2828

29-
To run the presentation you will need [showoff 0.19.6](https://rubygems.org/gems/showoff/versions/0.19.6).
29+
To run the presentation you will need [showoff 0.20.4](https://rubygems.org/gems/showoff/versions/0.20.4).
3030
After installing it simply run showoff serve to get presenter mode with additional notes and display window to present to your students.
3131

3232
For creating the rendered documents on your own run `showoff static print` (handouts),
-52.8 KB
Loading

configmanagement/02_remote_execution.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ It also allows to schedule jobs or reoccurring execution.
3737
3838
With the OpenSCAP plugin installed in addition an option to run scans on demand is added.
3939
40-
More details on: https://docs.theforeman.org/3.5/Managing_Hosts/index-katello.html#Configuring_and_Setting_Up_Remote_Jobs_managing-hosts
40+
More details on: https://docs.theforeman.org/3.9/Managing_Hosts/index-katello.html#Configuring_and_Setting_Up_Remote_Jobs_managing-hosts
4141
4242
~~~ENDSECTION~~~
4343
@@ -191,7 +191,7 @@ The default templates provided depend on the installed plugins and have evolved
191191
192192
### Create a Job Template to run ping with default values for count and target and input field for target
193193
194-
Navigate to "Hosts > Job templates" and click "New Job Templates". As a template use something like this:
194+
Navigate to "Hosts > Templates > Job templates" and click "New Job Templates". As a template use something like this:
195195
196196
ping -c 10 <%= input("ping_target").blank? ? "8.8.8.8" : input("ping_target") %>
197197
@@ -272,7 +272,7 @@ On Debian/Ubuntu:
272272
273273
# apt install -y cockpit-system
274274
275-
The websocket and access to it is not required, so installting this subpackage is enough, but you can add others for more features.
275+
The websocket and access to it is not required, so installing this subpackage is enough, but you can add others for more features.
276276
277277
### Access the webconsole from the host view
278278

configmanagement/03_puppet.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ for a not already existing system. Also Foreman is integrated as a reporting tar
140140
141141
* Enable Puppet and install the Foreman and Smart Proxy plugins to integrate it
142142
* Place Puppet modules found in "/home/training" on host.localdomain into "/etc/puppetlabs/code/environments/production" on foreman.localdomain
143-
* Import the Puppet classes in Foreman using "Configure > Classes"
143+
* Import the Puppet classes in Foreman using "Configure > Puppet ENC > Classes"
144144
145145
#### Optional:
146146
@@ -167,7 +167,6 @@ All this can be done using the Foreman installer, but as Katello's certificates
167167
# foreman-installer --enable-foreman-plugin-puppet \
168168
--foreman-proxy-puppet true \
169169
--foreman-proxy-puppetca true \
170-
--foreman-proxy-content-puppet true \
171170
--enable-puppet \
172171
--puppet-server true \
173172
--puppet-server-foreman-ssl-ca /etc/pki/katello/puppet/puppet_client_ca.crt \
@@ -180,9 +179,9 @@ All this can be done using the Foreman installer, but as Katello's certificates
180179
# cd /etc/puppetlabs/code/environments/production/modules
181180
# tar xvzf /tmp/puppetmodules.tar.gz
182181
183-
### Import the Puppet classes in Foreman using "Configure > Classes"
182+
### Import the Puppet classes in Foreman using "Configure > Puppet ENC > Classes"
184183
185-
Navigate to "Configure > Classes" in the WebGUI and click on "Import from foreman.localdomain".
184+
Navigate to "Configure > Puppet ENC > Classes" in the WebGUI and click on "Import from foreman.localdomain".
186185
It will query you to select the changes you want to realize, so select the Environment "production" which should show you
187186
classes and press "Update". If you want to do the optional step press "Cancel" instead!
188187
@@ -279,7 +278,7 @@ from unprivileged users.
279278
280279
### Set defaults to the Smart class parameters provided by the imported class
281280
282-
Navigate to "Configure > Classes" and select the class "training::user". In the "Smart Class Parameter" tab
281+
Navigate to "Configure > Puppet ENC > Classes" and select the class "training::user". In the "Smart Class Parameter" tab
283282
insert your name as Default Value for the id of the user, add a ssh public key as Default Value for ssh_pub_key,
284283
for the parameter sudo set the parameter type to boolean and the default to true.
285284
All this requires you to check the box next to Override!

configmanagement/04_ansible.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ includes the callback to upload facts and reports.
6363
On a separate Ansible control machine a callback plugin can be activated to upload facts and reports to Foreman, if you still want to use Ansible
6464
independent from Foreman. Forthermore a script could be deployed to use Foreman as dynamic inventory.
6565
66-
For more information have a look at the plugin documentation: https://docs.theforeman.org/3.5/Managing_Configurations_Ansible/index-katello.html
66+
For more information have a look at the plugin documentation: https://docs.theforeman.org/3.9/Managing_Configurations_Ansible/index-katello.html
6767
6868
~~~ENDSECTION~~~
6969
@@ -152,16 +152,16 @@ You can run this on the commandline or use the Job "Ansible Roles - Install from
152152
153153
### Import roles and assign them
154154
155-
Navigate to "Configure > Roles" and import using "Import from foreman.localdomain".
156-
Afterwards navigate to the host and edit them to assign the roles in the new "Ansible Roles" tab.
155+
Navigate to "Configure > Ansible > Roles" and import using "Import from foreman.localdomain".
156+
Afterwards navigate to the host and edit them to assign the roles in the new tab group "Ansible" on the tab "Roles".
157157
158158
### Play roles using the webinterface
159159
160160
Navigate to the host and press "Run Ansible roles" from the "Schedule Remote Job" selection. It is also available as action from the Host overview for bulk requests.
161161
162162
### Optional: Import variables and overwrite values
163163
164-
Navigate to "Configure > Variables" and import using "Import from foreman.localdomain".
164+
Navigate to "Configure > Ansible > Variables" and import using "Import from foreman.localdomain".
165165
After the import set "ntp_manage_config" to "true" and "ntp_area" to your country code, e.g. "de" for Germany.
166166
167167
!SLIDE smbullets small
@@ -234,13 +234,13 @@ The setup module gathers facts about the system and via callback uploads them to
234234
235235
****
236236
237-
### Install Ansible using yum
237+
### Install Ansible using dnf
238238
239-
# dnf install ansible-core python39-requests -y
239+
# dnf install ansible-core python3.12-requests -y
240240
241241
### Configure callback plugin
242242
243-
# dnf config-manager --add-repo http://yum.theforeman.org/plugins/3.5/el8/x86_64/
243+
# dnf config-manager --add-repo http://yum.theforeman.org/plugins/3.9/el8/x86_64/
244244
# dnf install ansible-collection-theforeman-foreman -y
245245
# vi /etc/ansible/ansible.cfg
246246
[defaults]

global/Post/03_Contributors.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ David Okon
1515
Dirk G&ouml;tz
1616
Julien Pivotto
1717
Mark Hlawatschek
18+
Markus Opolka
1819
Markus Waldm&uuml;ller
1920
Simon H&ouml;nscheid
2021
Tobias Bauriedel

installation/01_requirements.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Some plugins especially Katello will limit the available plattform.
2929
!SLIDE smbullets small
3030
# Requirements - Puppet & Facter
3131
32-
* Only All-in-one packaging model from Puppet is supported for Puppet 7
32+
* Only All-in-one packaging model from Puppet is supported for Puppet 7 and 8
3333
* Puppet 6 is technically still supported, but EOL
3434
* Older Puppet versions are not supported
3535
* Puppet Enterprise is not supported
@@ -40,7 +40,7 @@ Some plugins especially Katello will limit the available plattform.
4040
4141
****
4242
43-
Puppet 7 is supported with current versions for All-in-one packaging standard by Puppet.
43+
Puppet 7 and 8 is supported with current versions for All-in-one packaging standard by Puppet.
4444
Support for Puppet 6 was not dropped yet, but this version has reached end of life, older versions are no longer supported.
4545
Puppet Enterprise is not supported, but can work with manual tweaking of the setup.
4646

installation/04_installation.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Command: dnf config-manager --set-enabled powertools
4646
* Make Foreman and Katello repository available
4747

4848
Install the release packages provided by the Foreman and Katello repository to make it available for package
49-
installation of Foreman and its components. We use Foreman 3.5 and Katello 4.7.
49+
installation of Foreman and its components. We use Foreman 3.9 and Katello 4.11.
5050

5151
URL: http://yum.theforeman.org
5252

@@ -103,17 +103,17 @@ You can simply use the dnf config-manager, but editing the configuration directl
103103

104104
Install the release packages provided by the Foreman and Katello repository to make it available for package
105105
installation of Foreman, Katello and its components. Taking the matching combination is required, for example
106-
Foreman 3.5 and Katello 4.7 form one release.
106+
Foreman 3.9 and Katello 4.11 form one release.
107107

108-
# dnf install http://yum.theforeman.org/releases/3.5/el8/x86_64/foreman-release.rpm \
109-
http://yum.theforeman.org/katello/4.7/katello/el8/x86_64/katello-repos-latest.rpm -y
108+
# dnf install http://yum.theforeman.org/releases/3.9/el8/x86_64/foreman-release.rpm \
109+
http://yum.theforeman.org/katello/4.11/katello/el8/x86_64/katello-repos-latest.rpm -y
110110

111111
### Enable the modules for katello and pulpcore
112112

113113
Enabling the modules will enable module dependencies. If you see errors about conflicts with the default modules,
114114
you can ignore them as this will be solved after module activation.
115115

116-
# dnf module enable katello:el8 pulpcore:el8
116+
# dnf module enable katello:el8 -y
117117

118118
### Install foreman-installer-katello
119119

@@ -162,7 +162,7 @@ Install the package "foreman-installer-katello" from the now available repositor
162162
163163
#### Notes:
164164
165-
TFTP can use its default configuration.
165+
TFTP should explizitly set the servername to its IP address.
166166
167167
DNS should be enabled and configured with the following parameters:
168168
@@ -203,6 +203,7 @@ To install run the following command:
203203
# foreman-installer \
204204
--scenario katello \
205205
--foreman-proxy-tftp=true \
206+
--foreman-proxy-tftp-servername 10.0.0.2 \
206207
--foreman-proxy-dns=true \
207208
--foreman-proxy-dns-interface=enp1s0 \
208209
--foreman-proxy-dns-zone=localdomain \
@@ -221,9 +222,11 @@ This will output on success something similar:
221222
Success!
222223
* Foreman is running at https://foreman.localdomain
223224
Initial credentials are admin / PASSWORD
224-
* Foreman Proxy is running at https://foreman.localdomain:8443
225-
* Puppetmaster is running at port 8140
226-
* The full log is at /var/log/foreman-installer/foreman-installer.log
225+
* To install an additional Foreman proxy on separate machine continue by running:
226+
227+
foreman-proxy-certs-generate --foreman-proxy-fqdn "$FOREMAN_PROXY" --certs-tar "/root/$FOREMAN_PROXY-certs.tar"
228+
* Foreman Proxy is running at https://foreman.localdomain:9090
229+
227230
228231
With the provided credentials login to 'https://foreman.localdomain' using your browser.
229232

plugins/02_templates.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,12 @@ Additional templates are available in the WebGUI.
8282
8383
Change the settings on the "TemplateSync" tab of "Administer > Settings" to point to the new location.
8484
The repo is the clone URL of the project "https://github.com/theforeman/foreman.git" and the dirname is "/app/views/unattended".
85-
The branch can be set to the current version of Foreman like "3.5-stable" if you want to be sure to not get incompatible versions.
85+
The branch can be set to the current version of Foreman like "3.9-stable" if you want to be sure to not get incompatible versions.
8686
Filter and prefix can also help to manage the templates.
8787
8888
### Run the synchronisation job with (using UI, with Rake job or an API call)
8989
90-
Navigate to "Hosts > Sync Templates" and use the wizard to sync or as an alternative use one of the following commands.
90+
Navigate to "Hosts > Templates > Sync Templates" and use the wizard to sync or as an alternative use one of the following commands.
9191
9292
# foreman-rake templates:import
9393
# curl -H "Accept:application/json,version=2" -H "Content-Type:application/json" \

plugins/04_hooks.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ VMs which is only available after the creation but are required before starting
3434
This plugin is a new solution replacing another one called Hooks, with some other design decisions
3535
like having it not blocking and rolling back the action in Foreman.
3636
37-
More details on: https://docs.theforeman.org/3.5/Administering_Project/index-katello.html#Using_Webhooks_admin
37+
More details on: https://docs.theforeman.org/3.9/Administering_Project/index-katello.html#Using_Webhooks_admin
3838
3939
~~~ENDSECTION~~~
4040
@@ -65,7 +65,7 @@ More details on: https://docs.theforeman.org/3.5/Administering_Project/index-kat
6565
* Install the Foreman plugin Webhooks and Smart Proxy plugin Shellhooks using the foreman-installer
6666
* Configure a Webhook to trigger the Shellhook print_args
6767
68-
Configuration is done at "Administer > Webhooks".
68+
Configuration is done at "Administer > Webhook > Webhooks".
6969
You can find the URL of your Smart Proxy using the WebUI at "Infrastructure > Smart Proxies", selecting the Smart Proxy on the tab "Overview".
7070
The Shellhooks plugin can accessed at `/shellhook/` followed by the hook and requires Proxy Authorization.
7171
The Shellhook print_args uses an empty payload and prints arguments via HTTP headers in the format "X-Shellhook-Arg-1".
@@ -95,7 +95,7 @@ You will see the execution of and output generated by the shellhook in the log.
9595
9696
### Configure a Webhook to trigger the Shellhook print_args
9797
98-
Navigate to "Administer > Webhooks" and press the "Create New" button.
98+
Navigate to "Administer > Webhook > Webhooks" and press the "Create New" button.
9999
In the form select "Build entered" to subscribed to, name the Webhook, add the target URL "https://foreman.localdomain:9090/shellhook/print_args",
100100
select the template "Empty Payload", keep the HTTP method "POST" and it enabled on the tab "General". On the tab "Credentials" keep everything
101101
except checking the Proxy Authorization. On the tab "Additional" add the headers:

0 commit comments

Comments
 (0)