Bug 896622

Summary: [BUG] fail to import job if <packages><package name="foo"/></packages> defined..
Product: [Community] Beaker Reporter: Bill Peck <bpeck>
Component: web UIAssignee: Dan Callaghan <dcallagh>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 0.11CC: asaha, dcallagh, gbai, jdornak, mishin, ncoghlan, qwan, rglasz, rmancy
Target Milestone: HOTFIX   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugzilla.redhat.com/show_bug.cgi?id=869455
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-20 18:35:56 EST Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Bill Peck 2013-01-17 11:11:12 EST
Description of problem:
I have a job that imported Yesterday but after the 0.11 upgrade it fails to import Today.  I was able to work around it by removing the <packages> node from the job.   The strange thing is I did a bunch of test jobs and I am able to submit them with <packages> nodes.  Something about my job beaker doesn't like.  I guess it's mad at me for leaving it. :-)

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

How reproducible:
Everytime

Steps to Reproduce:
1. Clone the job in comment number 2
  
Actual results:
Failed to import job because of: (OperationalError) (1048, "Column 'recipe_id' cannot be null") 'INSERT INTO recipe_ksappend (recipe_id, ks_append) VALUES (%s, %s)' (None, '\n\ncat <<EOF >/etc/sysconfig/network-scripts/ifcfg-eth1\nDEVICE=eth1\nONBOOT=yes\nTYPE="Ethernet"\nHOTPLUG=no\nIPADDR=192.168.2.1\nNETMASK=255.255.255.0\nEOF\n\t\t\t\t\t\t\t\t\t\t')
Comment 2 Dan Callaghan 2013-01-17 19:32:59 EST
Seems like yet another variation of bug 869455. :-(

In this case the triggering factor seems to be having a job with more than one recipe (including guestrecipes), with ks_appends in one recipe and packages in the other. You can probably trigger it by having repos or ks_appends in the second recipe as well, but I haven't checked that yet.
Comment 3 Dan Callaghan 2013-01-17 19:49:17 EST
*** Bug 896664 has been marked as a duplicate of this bug. ***
Comment 4 Dan Callaghan 2013-01-17 19:51:45 EST
Bug 896664 is essentially the same problem with a slightly different trigger (repos instead of ks_appends).
Comment 5 Dan Callaghan 2013-01-17 20:03:38 EST
Workaround: convert all <repo/> and <package/> into ks_appends:

<package name="kernel" />

becomes:

<ks_append>
%post
yum install -y kernel
{{ end }}
</ks_append>

And:

<repo name="reponame" url="http://example.com/" />

becomes:

<ks_append>
%post
cat >/etc/yum.repos.d/reponame.repo <<"EOF"
[reponame]
name=reponame
baseurl=http://example.com/
enabled=1
gpgcheck=0
EOF
{{ end }}
</ks_append>

On RHEL7 and Fedora you can also add

repo --name=reponame --baseurl="http://example.com/"

at the bottom of the ks_append to make the repo available during installation. This does not work on RHEL6 and below.
Comment 6 Dan Callaghan 2013-01-17 20:12:45 EST
On Gerrit: http://gerrit.beaker-project.org/1657
Comment 7 Dan Callaghan 2013-01-20 15:48:14 EST
*** Bug 901784 has been marked as a duplicate of this bug. ***
Comment 8 Dan Callaghan 2013-01-20 16:14:58 EST
This will be released as hot fix 0.11.1, hopefully today.
Comment 9 Dan Callaghan 2013-01-20 18:35:56 EST
Beaker 0.11.1 has been released.