No installed packages appear as applicable or upgradable

Problem:
No packages appear as applicable or upgradable. For example, the package list reports bash-4.4.20-4.el8_6.x86_64 as installed on 49 hosts, but applicable to 0 hosts.

As a test, I downgraded bash on one of the hosts to 4.4.20-3. After that, Foreman reports bash-4.4.20-3.el8_6.x86_64 as installed on 1 host, but applicable to 0 hosts and upgradable on 0 hosts.

I’m new to Foreman so it’s possible that I’m misunderstanding what “applicable” means, but if a package is installed shouldn’t it be definition also be applicable?

Expected outcome:

All installed packages appear as applicable, and out-of-date packages appear as upgradable.

Foreman and Proxy versions:

Foreman 3.1.3

Foreman and Proxy plugin versions:

Katello 4.5.1

Distribution and version:

CentOS 7.9

Applicable means “upgradable to” or “could be installed.” In other words, the newer version should be applicable. So, if you dnf upload-profile on the host that has the 4.4.20-3 version, I’d expect the 4.4.20-4 to be applicable to that host.

That’s correct. You have to check the newer version. The installed version is never applicable or upgradable because it’s already installed. (As is any version below the installed version).

bash-4.4.20-4.el8_6.x86_64 should be applicable and upgradable. If you check the host for upgradable rpms it should list bash-4.4.20-4.el8_6.x86_64. Only newer versions than currently installed can be applicable (aka “could be applied to the client”) or upgradable to (aka “can be updated to this version”).

The difference between applicable and upgradable is whether the rpm is actually available for installation on the client or not. For example, if you are using content views and lifecycle environments a new package synced into a repository (e.g. a new version of bash) will become applicable to all clients which have that repository enabled. However, because of content views and lifecycle environments it’s not yet visible for the client, i.e. it’s not upgradable, yet. Once you publish a new content view version and promote it to the client’s lifecycle environment it becomes visible and thus upgradable.

1 Like

Got it, thanks! It’s all clear now.