Bug 880852 - "recipe no longer has access" is not committed to the database
Summary: "recipe no longer has access" is not committed to the database
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Beaker
Classification: Retired
Component: scheduler
Version: 0.10
Hardware: Unspecified
OS: Unspecified
urgent
unspecified
Target Milestone: 0.10.3
Assignee: Dan Callaghan
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-11-27 22:30 UTC by Dan Callaghan
Modified: 2018-02-06 00:41 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2012-12-03 06:56:00 UTC
Embargoed:


Attachments (Terms of Use)

Description Dan Callaghan 2012-11-27 22:30:41 UTC
In beakerd's queued_recipes routine there is code to check whether a system's permissions have changed since it was originally added as a candidate for the recipe, and if so to remove it. But the transaction is not committed in that case.

This is a regression in 0.10. I broke it in commit 7e690c1e.

This will need a hot fix since any recipe which reaches that code will never progress beyond the Queued state without manual intervention.

Comment 2 Dan Callaghan 2012-11-27 22:36:40 UTC
Workaround is to delete the offending rows from system_recipe_map manually:

DELETE FROM system_recipe_map
USING system_recipe_map
INNER JOIN system
    ON system_recipe_map.system_id = system.id
WHERE system.fqdn = '<fqdn>'
    AND recipe_id IN (<id>, <id>, ...);

Comment 3 Dan Callaghan 2012-11-28 01:11:02 UTC
On Gerrit: http://gerrit.beaker-project.org/1519

Comment 4 Dan Callaghan 2012-12-03 06:56:00 UTC
Fixed in beaker-server-0.10.5-1.


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