Problem:
Ran a check across our 1 master and 4 proxies. 2 of the proxies do not have the candlepin RPM installed
Curious how this can be as everything has been up and running for years and stepped upgrades have taken place at the same time for all. Will this be causing any problems?
Well, before you remove it you should probably check if it’s running, i.e. if tomcat is running. If it is, you should check why it’s running.
To know, why it has been installed, run
# dnf history list candlepin
Updating Subscription Management repositories.
subscription-manager plugin disabled 6 system repositories with respect of configuration in /etc/dnf/plugins/subscription-manager.conf
ID | Command line | Date and time | Action(s) | Altered
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
568 | -y update | 2026-01-09 07:50 | Upgrade | 2 <
557 | -y update --cacheonly | 2025-12-15 07:38 | I, U | 61 ><
404 | -y update --cacheonly | 2024-11-27 07:18 | Upgrade | 15 >E
403 | -y update | 2024-11-22 07:22 | C, E, I, U | 18 E<
375 | -y update | 2024-10-04 15:20 | Upgrade | 2 ><
353 | update | 2024-08-07 16:23 | I, O, U | 217 ><
304 | -y update --cacheonly | 2024-03-12 14:05 | I, O, U | 332 ><
243 | update | 2023-10-13 15:14 | I, O, U | 81 ><
168 | -y update | 2023-02-25 17:02 | Upgrade | 6 ><
125 | update | 2022-11-02 09:34 | I, U | 150 ><
51 | -d 0 -e 1 -y install katello-selinux | 2022-07-13 17:33 | Install | 89 >
to see a list of dnf transaction which installed/updated the candlepin package. The earliest one would be the one which installed it initially (unless you have removed it again later). In my example above which I ran on my main foreman server where I have candlepin installed it would be ID 51.
# dnf history info 51
...
This would give you more details on the specific transaction or run
# dnf history info candlepin
...
to see the details of all transactions involving candlepin.
Also this parameters are a good hint for an automated installation as you will likely not add them manually, but Puppet uses it to silence the install while being able to catch an error.
Thanks, yeah I ran this yesterday and found that it got installed in 2023
Just katello-4.8.2-1.el8.noarch was installed
I can only assume this was part of some install testing by someone before I followed the setup guide.
Anyway, it sounds like not needed on the proxies, so will remove
This while thing came about because Qualys has detected a vulnerability in the version of Apache Artemis which is part of Candlepin, see my other thread.
Unfortunately that thread hasn’t had a response yet
Well in that case you should remove katello instead of candlepin. That should remove it with all dependencies which are not required. But if you remove candlepin instead it should also remove katello and the dependent packages.
Looked at this and attempts to remove Candlepin also includes katello, foreman, tomcat, java and rubygem from the proxy.
I can run it with --noautoremove so it ignores the “unwanted” dependencies and just removes katello/Candlepin but still a bit worried, given we installed foreman with --scenario katello on all servers, so I’m paranoid it’s needed
Yup certain, it’s how we installed it years ago and works fine. The upgrade notes also confirm katello RPM is on the proxies
Create a backup of your Smart Proxy server. The backup can be a virtual machine (VM) snapshot or a regular full backup. For more information, see Backing up Foreman server and Smart Proxy server in Administering Foreman.
That’s the repository package for katello, not the katello rpm. The katello repository packages contains the repository configuration for pulpcore which is needed for the content proxy. You install katello-repos-latest (i.e. katello-repos) but not the katello rpm from the katello repository.
I can only ask again: are you sure you have installed the proxy with foreman-installer --scenario katello? That is not how you install a proxy. That would install a fully functioning main server.
The dependency list of the packages to be removed looks about right to me. The developers probably can confirm but most of those packages are part of the main server. You may want to keep some packages like postfix or net-tools if you use them. But otherwise, all those should go, if you have installed the proxy with the foreman-proxy-content scenario.
Ah you are right- I’ve just checked - it was foreman-installer --scenario foreman-proxy-content (which is the output from the master instance to use on the proxy during setup. Sorry, long day
As for the depencies it doesn’t matter too much - we just need to get rid of candlepin and katello as Qualys shows them containing an Apache Aertemis vulnerability (see other thread). Removing the rpm’s on the 2 proxies clears them, but the master server still flags vulnerable. need to prove this is a false positive or hear from the devs about a fix
Then I would highly recommend to clean up all the dependencies which are not required. There is no purpose leaving all those rpms around which are not used. Worst, more of them are flagged vulnerable in the future.
Clean up all the unnecessary packages. dnf autoremove should do that if you have already removed katello and candlepin. As long as foreman-proxy-content.noarch remains installed everything the proxy requires is there.
Run foreman-installer after that. If anything is actually missing, foreman-installer will install it again.
Then you should have a system which only contains the rpms necessary to operate the proxy.