Project

General

Profile

Refactor #1173

remove legacy query interface

Added by Ohad Levy almost 8 years ago. Updated 8 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Search
Target version:
Difficulty:
Triaged:
No
Bugzilla link:
Pull request:
Team Backlog:
Fixed in Releases:
Found in Releases:

Description

with the introduction of the api, the query interface is no longer needed.


Related issues

Related to Hammer CLI - Feature #945: foreman CLIClosed2011-05-26
Has duplicate Foreman - Refactor #818: refactor example scripts to use foreman json api instead of the legacy query codeClosed2011-04-01

Associated revisions

Revision 17637a75 (diff)
Added by Ohad Levy over 7 years ago

fixes #1173 - remove legacy query interface

Revision 5ff42807 (diff)
Added by Ohad Levy over 7 years ago

refs #1173 - remove unneed files

Revision 4edaa78b (diff)
Added by Ohad Levy over 7 years ago

refs #1173 - another leftover

History

#1 Updated by Brian Gupta over 7 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

#2 Updated by Brian Gupta over 7 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??

#3 Updated by Brian Gupta over 7 years ago

Just realized that you probably have this functionality in the search API, I just can't find documentation for it.

#4 Updated by Brian Gupta over 7 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?

#5 Updated by Brian Gupta over 7 years ago

And facts might be a problem as the GUI returned this when I started with Facts =":

Field 'facts' not recognized for searching!

#6 Updated by Brian Gupta over 7 years ago

Ah it's facts.fact = blah. Testing API now..

#7 Updated by Brian Gupta over 7 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.)

#8 Updated by Brian Gupta over 7 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

#9 Updated by Brian Gupta over 7 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.

#10 Updated by Brian Gupta over 7 years ago

Reminder to update http://theforeman.org/projects/foreman/wiki/Query_Interface once we make these changes.

#11 Updated by Ohad Levy over 7 years ago

  • Category set to 19
  • Assignee changed from Brian Gupta to Ohad Levy
  • Target version set to 1.0

#12 Updated by Ohad Levy over 7 years ago

  • Status changed from New to Closed
  • % Done changed from 10 to 100

#13 Updated by Tomer Brisker 8 months ago

  • Category changed from 19 to Search

Also available in: Atom PDF