Refactor #1173
closed
Updated by Brian Gupta almost 13 years ago
- Assignee set to Brian Gupta
Ohad,
I want to make sure what needs to be done here. Are we looking at refactoring ssh_using_foreman, or foreman.rb (or both) to work with the API? Or maybe you are thinking we can just get rid of both since foremancli now can do everything it can?
Thanks,
Brian
Updated by Brian Gupta almost 13 years ago
Ohad, looking at the API docs, I'm not sure if there is a way to query the API for a list of hosts with certain puppetclasses http://theforeman.org/projects/foreman/wiki/API Am I missing something?
The other piece where you query for a list of hosts that match certain facts, seems to be implemented in the REST API as "/facts/<factname>/values"
However the ssh_using_foreman scriptallows ONE OR MORE facts in the query: "-f, --facts fact=x,fact=y.. one or more facts to filter the host list" I am not aware of how to do this in the API either.
Thoughts??
Updated by Brian Gupta almost 13 years ago
Just realized that you probably have this functionality in the search API, I just can't find documentation for it.
Updated by Brian Gupta almost 13 years ago
I ended up using the GUI to generate a query, and tailed the production log to find how the searches are encoded, and found this as an example: https://foreman/hosts?search=+class++%3D++base%3A%3Amonitor-only++or++class++%3D++apache2%3A%3Agb
You don't have this more cleanly documented somewhere or a code example, do you?
Updated by Brian Gupta almost 13 years ago
And facts might be a problem as the GUI returned this when I started with Facts =":
Field 'facts' not recognized for searching!
Updated by Brian Gupta almost 13 years ago
Ah it's facts.fact = blah. Testing API now..
Updated by Brian Gupta almost 13 years ago
- % Done changed from 0 to 10
There may be some weird behavior with "OR" that I think is a bug, but "AND" seems to be working. (For future reference the search I did that triggered the bug was facts.hostname=redmine or facts.hostname=dev1, I will be doing further testing and open a bug report.)
Updated by Brian Gupta almost 13 years ago
Ohad,
Nevermind about the "OR" issue. It was already discovered and closed. One question about how ssh_using_foreman is supposed to work filtering multiple puppetclasses or facts, is it an AND or an OR?
Thanks,
Brian
Updated by Brian Gupta almost 13 years ago
Note to self /usr/bin/ruby is hardcoded, should replace with /usr/bin/env ruby. Also, gem net-ssh-multi is required.. thinking that might not be in the list of required gems for foreman.
Updated by Brian Gupta almost 13 years ago
Reminder to update http://theforeman.org/projects/foreman/wiki/Query_Interface once we make these changes.
Updated by Ohad Levy over 12 years ago
- Category set to 19
- Assignee changed from Brian Gupta to Ohad Levy
- Target version set to 1.0
Updated by Ohad Levy over 12 years ago
- Status changed from New to Closed
- % Done changed from 10 to 100
Applied in changeset 17637a7526a033678ccad9fc65748525e44de13d.