Bug 896622 - [BUG] fail to import job if <packages><package name="foo"/></packages> defined..
[BUG] fail to import job if <packages><package name="foo"/></packages> defined..
Status: CLOSED CURRENTRELEASE
Product: Beaker
Classification: Community
Component: web UI (Show other bugs)
0.11
Unspecified Unspecified
unspecified Severity unspecified (vote)
: HOTFIX
: ---
Assigned To: Dan Callaghan
:
: 896664 901784 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-01-17 11:11 EST by Bill Peck
Modified: 2013-04-14 23:50 EDT (History)
9 users (show)

See Also:
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: ---


Attachments (Terms of Use)

  None (edit)
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.

Note You need to log in before you can comment on or make changes to this bug.