Should we define a minimum set of OpenStack services that are required for ManageIQ operation?
For example, The ManageIQ “Smart State Analysis” feature (fleecing) requires the Glance Image service. If Glance is not available, the Image functionality available through Nova does not provide the functionality we need to implement the feature. So, If Glance is optional, then fleecing must be optional too, and code must be added to ManageIQ to conditionally enable/disable the feature accordingly.
There are similar issues surrounding the refresh/discovery feature. For example, the metadata items returned for a Volume by Cinder, differs from those returned through Nova. So, if Cinder is optional, then the data items collected per volume would vary as well - unless we only support the least common set of data.
There are other issues as well, but the above is enough to illustrate the need to explicitly define the set of OpenStack services ManageIQ can assume will always be available.