Bug 1077223
| Summary: | Application Error: 32000 searching for certification via hwcert-client "hwcert" | |||
|---|---|---|---|---|
| Product: | [Retired] Red Hat Hardware Certification Program | Reporter: | Greg Nichols <gnichols> | |
| Component: | Hardware Catalog | Assignee: | hwcert-catalog | |
| Status: | CLOSED DUPLICATE | QA Contact: | ||
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 1.6.5 | CC: | gbai, gnichols, hwcert-catalog, hzhang, rlandry | |
| Target Milestone: | --- | |||
| Target Release: | --- | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1080458 (view as bug list) | Environment: | ||
| Last Closed: | 2014-04-01 02:02:34 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1052374 | |||
|
Description
Greg Nichols
2014-03-17 14:06:25 UTC
Hi Greg, Which fields does hwcert-client use for the search? Thanks for reporting. Huan After I re-built catalog on web2, the 500 error was gone. Greg, Could you try again to see if the issue is still there? I retried it just now, same failure.
For parameters, I'm using:
Searching for certification:
parameters = {
"product":rhelProduct,
"vendor":resultsDocument.getHardware(Tags.vendor),
"make":resultsDocument.getHardware(Tags.make),
"model":resultsDocument.getHardware(Tags.model),
"release":rhelVersion,
"arch":arch
}
Searching for specification:
parameters = {
"vendor":resultsDocument.getHardware(Tags.vendor),
"make":resultsDocument.getHardware(Tags.make),
"product":"Hardware Layer",
"model":resultsDocument.getHardware(Tags.model)
}
Both calls add:
parameters["login"] = self.login
parameters["password"] = self.password
Note that vendor, make and model may not match up to any known by the catalog.
An example run (some debug printing added):
Please verify the hardware product information:
Vendor:Intel Corporation
Make:S2600CP
Model:S2600CP
Product URL:
Specification URL:
Support URL:
category (Desktop/Workstation|Laptop|Component/Peripheral|Server) Server
Is this system being tested for certification? (y|n) y
response: y
Red Hat Catalog User Name: gnichols
response: gnichols
Password:
Search Parameters:
product:Red Hat Enterprise Linux
vendor:Intel Corporation
make:S2600CP
release:7
model:S2600CP
password:****
arch:x86_64
login:gnichols
Searching...Error: searching for certification:
Fault code: -32000
Fault string: Application error
Continue? (y|n)
My guess is that this error happens when the certification is found, since I don't see it the first time I run a new system.
(In reply to Greg Nichols from comment #4) > An example run (some debug printing added): > > Please verify the hardware product information: > Vendor:Intel Corporation > Make:S2600CP > Model:S2600CP > Product URL: > Specification URL: > Support URL: > category (Desktop/Workstation|Laptop|Component/Peripheral|Server) Server > > Is this system being tested for certification? (y|n) y > response: y > Red Hat Catalog User Name: gnichols > response: gnichols > Password: > > Search Parameters: > product:Red Hat Enterprise Linux > vendor:Intel Corporation > make:S2600CP > release:7 > model:S2600CP > password:**** > arch:x86_64 > login:gnichols > > Searching...Error: searching for certification: > Fault code: -32000 > Fault string: Application error > Continue? (y|n) > > My guess is that this error happens when the certification is found, since I > don't see it the first time I run a new system. Greg, Thank you for the detailed reproducing information. The example is very helpful, I reproduced it directly using xmlrpc call. I will troubleshot this today. Will let this bug updated, when I get any progress. Thanks! curl -d "<?xml version='1.0'?><methodCall><methodName>Search.simple</methodName><params><param><value><struct><member><name>product</name><value><string>Red Hat Enterprise Linux</string></value></member><member><name>vendor</name><value><string>Intel Corporation</string></value></member><member><name>make</name><value><string>S2600CP</string></value></member><member><name>model</name><value><string>S2600CP</string></value></member><member><name>release</name><value><string>7</string></value></member><member><name>arch</name><value><string>x86_64</string></value></member><member><name>login</name><value><string>hzhang</string></value></member><member><name>password</name><value><string>******</string></value></member></struct></value></param></params></methodCall>" -H "Content-Type: text/xml" http://hwcert-web2-test.devel.redhat.com/xmlrpc.cgi Run with the about xmlrpc call the second time, I got the following error: <?xml version="1.0" encoding="UTF-8"?><methodResponse><fault><value><struct><member><name>faultString</name><value><string>Application error</string></value></member><member><name>faultCode</name><value><int>-32000</int></value></member></struct></value></fault></methodResponse> Hi Greg, Debugging on the web2 server, I have gotten the root cause of this error. This error is caused by the timeout of bugzilla search. To let you understand this, I will introduce the workflow of Simple.search briefly: When we call the catalog xmlrpc Simple.search, Catalog calls bugzilla xmlrpc Bug.search to search bugs with the given params. Bucause the bugzilla server is not very stable and sometimes its xmlrpc call gets timeout or some unexpected error, catalog retries at most 4 times to get the search results from bugzilla. The problem is that, if the bugzilla search takes too long time(more than 60 secs), catalog xmlrpc call will be killed upexpected. The upexpected termination of xmlrpc call will cause an application error return. To avoid this issue, I suggest you also using a retry mechanism in v7 to do Simple.search. Thanks, Huan The timeout happens more frequently especially when doing bugs searching. Are you saying that searching for a spec or cert will typically take several minutes? If so, I don't think we can implement this feature in the hwcert-client. Searches either take 2 seconds, or 60, and there seems to me no pattern I can discern. This is true for both unsuccessful and successful searches.
I wrote a test driver and here's an example output:
Search Parameters:
product:Hardware Layer
vendor:Intel Corporation
make:S2600CP
model:S2600CP
password:****
login:gnichols
Searching...Search took 0:01:02.244012
Error: searching for specification:
Fault code: -32000
Fault string: Application error
Continue? (y|n) y
response: y
Try: 1, id=0
Searching:
Search Parameters:
product:Hardware Layer
vendor:Intel Corporation
make:S2600CP
model:S2600CP
password:****
login:gnichols
Searching...Search took 0:00:02.913702
done.
Could not find any matching specification
Try: 2, id=0
Searching:
Search Parameters:
product:Hardware Layer
vendor:Intel Corporation
make:S2600CP
model:S2600CP
password:****
login:gnichols
Searching...Search took 0:01:01.883766
Error: searching for specification:
Fault code: -32000
Fault string: Application error
Continue? (y|n) y
response: y
Try: 3, id=0
Searching:
Search Parameters:
product:Hardware Layer
vendor:Intel Corporation
make:S2600CP
model:S2600CP
password:****
login:gnichols
Searching...Search took 0:01:01.917852
Error: searching for specification:
Fault code: -32000
Fault string: Application error
Continue? (y|n)
Searches that succeede show the same problem:
Search Parameters:
product:Hardware Layer
vendor:Intel Corporation
make:Unknown
model:S2600CP
password:****
login:gnichols
Searching...Search took 0:01:01.924612
Error: searching for specification:
Fault code: -32000
Fault string: Application error
Continue? (y|n) y
response: y
Try: 1, id=0
Searching:
Search Parameters:
product:Hardware Layer
vendor:Intel Corporation
make:Unknown
model:S2600CP
password:****
login:gnichols
Searching...Search took 0:00:02.787530
done.
Found specification ID 990406
See http://hwcert-web2-test.devel.redhat.com/show.cgi?id=990406
Is this correct? (y|n) y
response: y
Error: searching for specification:
global name 'certificationIDs' is not defined
Try: 2, id=0
Searching:
Search Parameters:
product:Hardware Layer
vendor:Intel Corporation
make:Unknown
model:S2600CP
password:****
login:gnichols
Searching...Search took 0:01:01.857345
Error: searching for specification:
Fault code: -32000
Fault string: Application error
At a minimum, the catalog's fault string should indicate that the search timed-out. In addition, I don't understand why the search should take more than a minute, except in rare cases, and it seems to happen most of the time.
@Rob, Search without make, I still got timeout and -32000 error returned. *** This bug has been marked as a duplicate of bug 1080479 *** The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days |