Bug 613773

Summary: mergeErrata causes ConstraintViolationException
Product: Red Hat Satellite 5 Reporter: Stephan Dühr <stephan.duehr>
Component: APIAssignee: Tomas Lestach <tlestach>
Status: CLOSED DEFERRED QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: medium Docs Contact:
Priority: low    
Version: 530CC: cperry, dherrman, pablo.iranzo, schlegel, slukasik
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: 2015-05-29 20:12:25 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:
Bug Depends On:    
Bug Blocks: 462714    
Attachments:
Description Flags
Script for reproducing the error none

Description Stephan Dühr 2010-07-12 19:33:04 UTC
Created attachment 431246 [details]
Script for reproducing the error

Description of problem:

When using the channel.software.mergeErrata() API call on a channel cloned by the API call client.channel.software.clone() with the original_state=False option, a org.hibernate.exception.ConstraintViolationException is logged in /var/log/tomcat5/catalina.out

Version-Release number of selected component (if applicable):

Satellite 5.3.0 all updates installed

How reproducible:

always

Steps to Reproduce:
1. run the attached script, for example
./mergeErrata-test.py rhel-i386-client-5 clone-test-rhel-i386-client-5
2.
3.
  
Actual results:

The data returned by mergeErrata contains all errata when the channel was recently cloned. But when removing some errata from the target (cloned) channel before calling mergeErrata again, the same result is returned, but the errata do not appear in the target channel. On channels with a higher number of errata like rhel-i386-server-5, I've seen "500 Internal Server Error".

Expected results:

mergeErrata should work like mergePackages, it should add the missing errata to the target channel.

Additional info:

As a workaround, it works to determine the latest update_date of source and target channel and then use mergeErrata with start and end date (each +1), which works.

Comment 1 Jan Pazdziora 2012-03-15 13:53:43 UTC
Could you please work with your Red Hat support to investigate the problem? In general, going through the support channel will ensure proper attention and triaging of the issues.

Thank you,

Jan