Bug 621328

Summary: Bug.search() missing?
Product: [Community] Bugzilla Reporter: Will Woods <wwoods>
Component: WebServiceAssignee: PnT DevOps Devs <hss-ied-bugs>
Status: CLOSED WORKSFORME QA Contact:
Severity: medium Docs Contact:
Priority: low    
Version: 3.6CC: j
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-08-05 21:01:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Will Woods 2010-08-04 18:58:22 UTC
The API docs on partner-bugzilla mention Bug.search, and Bug.search is what python-bugzilla is using for queries - but attempting python-bugzilla queries against partner-bugzilla throws a Fault:

[wwoods@metroid ~]$ bugzilla --bugzilla https://partner-bugzilla.redhat.com/xmlrpc.cgi query --bug_id 1 

Server error: <Fault -32601: "The requested method 'Bug.search' was not found.">

Expected output is more like:
[wwoods@metroid ~]$ bugzilla --bugzilla https://bugzilla.redhat.com/xmlrpc.cgi query --bug_id 1 
#1   CLOSED - Red Hat Bugzilla Maintenance - test bug

Comment 1 David Lawrence 2010-08-05 19:04:01 UTC
I am not able to get this to fail with my perl test script (attaching).

[dkl@localhost xmlrpc]$ perl bugSearch_xmlrpc.pl dkl eepx3qzt 1
Successfully logged in.
$VAR1 = {
          'sql' => 'SELECT bugs.bug_id AS bug_id, map_products.name AS product, bugs.bug_severity AS bug_severity, bugs.priority AS priority, bugs.op_sys AS op_sys, map_assigned_to.login_name AS assigned_to, bugs.bug_status AS bug_status, bugs.resolution AS resolution, bugs.short_desc AS short_desc FROM bugs  INNER JOIN profiles AS map_assigned_to ON (bugs.assigned_to = map_assigned_to.userid) INNER JOIN products AS map_products ON (bugs.product_id = map_products.id) LEFT JOIN bug_status ON (bug_status.value = bugs.bug_status) LEFT JOIN priority ON (priority.value = bugs.priority) LEFT JOIN bug_group_map  ON bug_group_map.bug_id = bugs.bug_id  LEFT JOIN cc ON cc.bug_id = bugs.bug_id AND cc.who = 6 WHERE (( bugs.bug_id IN (\'1\') )) AND bugs.creation_ts IS NOT NULL AND ((bug_group_map.group_id IS NULL) OR (bug_group_map.group_id IN (-1))  OR (bugs.reporter_accessible = 1 AND bugs.reporter = 6) OR (bugs.cclist_accessible = 1 AND cc.who IS NOT NULL) OR (bugs.assigned_to = 6) OR (bugs.qa_contact = 6) ) GROUP BY bugs.bug_id ORDER BY bug_status.sortkey,bug_status.value,priority.sortkey,priority.value,assigned_to,bug_id',
          'displaycolumns' => [
                              'bug_severity',
                              'priority',
                              'op_sys',
                              'assigned_to',
                              'bug_status',
                              'resolution',
                              'short_desc'
                            ],
          'bugs' => [
                    {
                      'priority' => 'low',
                      'bug_status' => 'CLOSED',
                      'bug_id' => '1',
                      'assigned_to' => 'bugzilla-maint',
                      'resolution' => 'NOTABUG',
                      'short_desc' => 'test bug',
                      'product' => 'Red Hat Enterprise Linux 5',
                      'bug_severity' => 'low',
                      'op_sys' => 'Linux'
                    }
                  ]
        };

Would it be possible to see the code segment from python-bugzilla which is making the actual call?

Dave

Comment 2 Will Woods 2010-08-05 21:01:32 UTC
It seems to be working fine now - may have just been a transient problem, I suppose?

Here's a simple test case:

#!/usr/bin/python
import bugzilla
bz = bugzilla.Bugzilla(url='https://partner-bugzilla.redhat.com/xmlrpc.cgi')
b = bz.getbug(1)
print b
q = {'product':'Bugzilla',
     'component':'WebService',
     'short_desc':'missing',
     'short_desc_type':'allwordssubstr'}
bugs = bz.query(q)
for b in bugs:
    print b

Works for both partner-bugzilla and regular bugzilla, at least in my testing. I'm going to go ahead and close this.

tibbs, if you can reproduce the problem, feel free to reopen - with some test code, so we can investigate further.

Comment 3 Jason Tibbitts 2010-08-11 15:43:30 UTC
Well, my stuff still fails but now it fails differently (with an ExpatError about a mismatched tag), so I suppose that's a different bug.

Comment 4 David Lawrence 2010-08-11 15:54:18 UTC
partner-bugzilla.redhat.com is undergoing a database refresh right now so it may be related to that. Please try your testing again later today. 

Dave

Comment 5 Jason Tibbitts 2010-08-11 18:56:02 UTC
Now that partner-bugzilla's back again, I've tested my tools with both python-bugzilla 0.5.1 and 0.6.1 and all seems to be well.

Comment 6 David Lawrence 2010-08-11 19:17:33 UTC
(In reply to comment #5)
> Now that partner-bugzilla's back again, I've tested my tools with both
> python-bugzilla 0.5.1 and 0.6.1 and all seems to be well.    

That is good news. Thanks for testing!

Dave