Can Katello content views manage installing new packages?

Problem:
I am using Katello and it’s content views for first time. I have created a content view with a filter for specific versions of RPMs, and published and promoted it. My content hosts see that there are applicable updates for packages that are already installed and an older version, but it does not see installing a new package as applicable. Is it not able to do that? Is it only for updating existing packages?

Expected outcome:
The content host would see a new package as applicable for being installed.

Distribution and version:
Foreman 2.1 and Katello 3.16RC4

Hi @dgs,

Do you mean “Will Katello show packages as applicable to my system if there is currently no version of it installed them my content host?” Katello only shows applicable packages based on what’s currently installed on your content hosts.

@Jonathon_Turel Yes that is what I mean. I understand, thanks. Would just like to say, I think that would be a nice feature :relaxed:

I don’t think this makes much sense. Anything in the repositories not installed would be applicable then. That would be thousands or tens of thousands of packages. What would be the benefit of that?

You can create a filter in content view for specific packages and versions, so it doesn’t have to be tens of thousands of packages.

eg. I can create a content view with a filter for 3 packages and their specified versions

And then I can promote these into the lifecycle environments, and I was hoping these 3 packages can be installed on the hosts, regardless if the old version is installed or not.

Maybe there could be a setting like a checkbox “Install packages that are not already present”

But that content view only contains those three packages then. You cannot install anything else. You won’t get any updates for anything else installed on that server.

I still don’t see the purpose in that.

Yes, I’m hoping to manage a list of certain packages and versions I would like installed on a server. Sometimes I don’t want to install the latest updates for a package, as they can break things or introduce new bugs in my applications that use them. The 3 is just an example, I can create a content view with 50-100 packages or more.

Still doesn’t makes a lot of sense to me. Even a minimal CentOS 7 installation has some 400 or 500 packages installed. Any of those may get important security updates at any time. Any update may possibly have a new dependency requiring other new packages. If you remove everything but a small selection, even 100 packages, and for those you specifically want to pin version or delay newest updates, you will black out a lot of important updates.

If you want to pin a version for specific packages I’d rather set up an exclusion filter to filter out anything newer than the version you want. In my opinion, an inclusion filter doesn’t really work for standard CentOS base and updates repositories. Thus, you will always have a large number of packages available for installation and that number would be pretty meaningless in the list of content hosts.

Either way, applicable means packages installed on a content host for which there are updates available in the library.

Installable counts the packages which are available to the content host in the current content view.

I guess it’s just a difference of opinion, to me it seems pretty intuitive that you can select what versions of packages you want in a content view, and then all those chosen packages can be installed on your hosts - even if you filter it out to be only a single package. In a securely isolated environment, having the latest security updates is not as important as stability. If a specified package has a dependency, that is fine and expected that all dependencies are installed.

Of course I realize not everyone has the same use case, and was just suggesting that this be an option the user can select.

I am not saying that it is not useful to be able to choose of all packages available for a content host for installation. But I don’t think the way you want to use content views won’t work. It’s not necessarily about security updates but any updates. Many are bug fixes. And even if it works for your environment in which you usually don’t do general OS updates, that is not the environment of most people. And removing many of the packages (and their updates) from the content view is definitively not good idea for most.

I would definitively be useful if you could see a list of available packages for installation on the content host package action page. For updating it’s there. You can remove packages from the installed page. But for installation there is nothing. There is a more general feature request which should include that.

A install package action page which lists all available packages for installation in the beginning could have a search filter and bookmarks. You could use those bookmarks to only list those packages which are of interest for use. Of course, if you use your “stripped” content views you don’t need that.

But in my opinion those “stripped” content views of yours are not what content views are designed for. They are snapshots of the Library content for a specific set of hosts. Most people don’t want to remove most of the base and updates rpms and only provide a very limited set of rpms. Thus I wouldn’t expect any features to be implemented for your isolated way to use content views…