nstrug / ansible-satellite6

Inventory script to use Red Hat Satellite 6 as an inventory for Ansible - DEPRECATED
16 stars 6 forks source link

Doesn't list all hosts in Satellite 6 #4

Open dagwieers opened 8 years ago

dagwieers commented 8 years ago

We discovered that the api/hosts call only returns the Puppet hosts (i.e. same as in the Web GUI), but not all the systems in Satellite 6 (Content Hosts in GUI). So in our case only 63 hosts of the total 111 hosts are being returned.

What's worse, the Satellite 6 API does not even have a simple ReST call for getting a list of all content hosts. It requires several calls to the katello API, one for the list, one for each host to translate the system id into a proper hostname, etc... From a user-perspective the Satellite 6 ReST API is a disaster. Especially compared to Satellite 5.

What's worse is that the complete ReST API is very hard to understand because there is a lack of documentation and no online documentation as most other ReST API's offer. So one has to rely on trial-and-error to get understand what is possible and what options are required. Sigh...

nstrug commented 8 years ago

Hi Dag, I'm not really working on this, it was a quick and dirty demo written in an hour after attending Ansible training. The dynamic inventory that will be shipped with Ansible 3 is this one: https://github.com/theforeman/foreman_ansible_inventory/ However, my understanding is that it doesn't use the Sat6 API at all, but just uses the foreman one - therefore you will have the same issue of only reporting puppet hosts and not content hosts. Additionally, it does not group by Katello concepts such as Host Collection, Lifecycle Environment etc. Wish I could help out but I'm assigned to other work now.

dagwieers commented 8 years ago

@nstrug Thanks for your feedback. I have implemented my own Satellite 6 inventory script, it does support host_collections and life cycle environment. But it also does support a lot more that is specific to $CUSTOMER, incl. network inventory support, DNS facts and OS/hostname-based grouping.

However the remarks regarding Satellite 6 ReST API still stand ;-)