[RFC] Categories/Columns for hosts index page

Hello everyone,

I’m working on a feature that allows users to select columns to be displayed on hosts index page (/hosts). Currently, it only allows to hide some default columns, but in the future we want extend this table with additional columns that can be shown/hidden per user preference.

So, this post is about to collect some ideas regarding which columns all of you would like to have available. For example, if you have Foreman Puppet plugin installed, you will see new column Puppet Environment.

Please, share with us, what you would like to see in the table on host index page.

P.S. If we finish this feature, it can be applied for other index pages as well :slight_smile:

3 Likes

Would this make foreman_column_view obsolete? It would probably not be compatible, but that may also serve as some inspiration of what people have done in the past.

Yes. AFAIK it’s not maintained and I’m not even sure if it still works.

Actually, this feature should be replacement for this plugin, but I can’t find any examples or info about what columns were added with this plugin :confused:

Just take a look at the plugins Readme. :wink:

It is quite simple to display columns as you define a hash which contains an identifier, a title, the order by using after and a content which is a method of the host (typically a fact from facts_hash or a parameter). My use case for my local machine is show the ipaddress as DNS is not configured, but I have seen here many different information users wanted to be visible (or needed for their manager).

Another option the plugin provides is adding to some other views like the host properties, where you could add some simple information but also (conditional) links. This I used for some direct links to the hosts like BMC or SSH or to some kind of documentation.

Thanks Oleh, that’s a great work! Few ideas (none of them necessary in the first implementation)

Core:
I’d love to be able to use this to hide power status - currently there’s a setting for that, we could eliminate one more setting :slight_smile:
Also for each host substatus I’d love to be able to tell, which of them I want to see, e.g. last
ipv4, ipv6, mac
from the reported data facet - boot time, virtual (vm/pm), sockets, cores, ram, disk total space

Katello:
I’d love to see the counters from Katello’s content hosts list under the “Installable Updates” column. Each counter could be separate column so I can say I want to see # of applicable security fixes.
Also last checkin columns would be great.

REX:
last job (could be replaced with last rex status)

Ansible/Puppet:
last report at, clickable leading to the last config report

I think that @Dirk’s idea about showing facts and parameters is also interesting. While I can imagine some complications with this and users should not be encouraged to consume fact values directly, it would help in many scenarios, before we implement proper reported data value for that. Having ability to see e.g. parameter - disable_firewall or ansible_roles_check_mode would be great, but it would need to take into consideration also the whole inheritance. Hopefully it wouldn’t cause significant performance drops.

I’ve been testing a few different instances of Foreman and each one has its own set of task and reporting requirements that would benefit from having both the host index and host details pages be configurable.

I started playing around with the foreman_column_view plugin to see if I can get this working with Foreman 3.4 as it allows me to display fields that would be useful to have visible in the host list rather than searching through each host detail page. This path though requires a bit of knowledge that may exceed the capabilities of many people.

What would be better is to have these pages templated. Similar to how you could define a provisioning template, would it be possible to move these pages to be generated based on a template? I’ve read there are improvements coming to the new host details UI but I’m not sure what the plan is and what capabilities it will bring and how configurable it will be.

Just my two cents! Thanks!