Bug 781914

Summary: Beaker should provision systems directly, rather than through Cobbler
Product: [Retired] Beaker Reporter: Dan Callaghan <dcallagh>
Component: lab controllerAssignee: Dan Callaghan <dcallagh>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 0.8CC: bpeck, dcallagh, mcsontos, rmancy, stl
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
: 784165 (view as bug list) Environment:
Last Closed: 2012-06-26 06:40:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 784165    
Bug Blocks: 781918    

Description Dan Callaghan 2012-01-16 05:01:32 UTC
Beaker needs some code which runs on the lab controller to configure netboot and control power for systems when needed. It needs to support:

* provisioning a system for the start of a recipe
* performing the appropriate release action (such as "power off") at the end of a recipe
* provisioning a system when manually requested by a user in the web UI
* controlling power for a system when manually request by a user in the web UI

Comment 1 Dan Callaghan 2012-01-16 05:04:43 UTC
When setting up netboot configuration, we need the boot images to exist in the TFTP root directory. We could either rely on the distro import to copy these to the local filesystem (see bug 781913), or this provisioning step could include fetching the images and potentially caching them.

Comment 2 Dan Callaghan 2012-01-16 05:08:04 UTC
We could expand the beaker-watchdog daemon to provision the appropriate system every time it sees a new watchdog. This would require extending the watchdog info to include distro details. However this does not cover manual provisioning and manual power commands triggered by users.

Alternatively, we could expand the existing power command queue to include provisioning commands. We could introduce a new daemon on the lab controller, similar to beaker-watchdog, which processes commands from the command queue and acts on them.

Comment 3 Bill Peck 2012-01-16 14:59:14 UTC
(In reply to comment #1)
> When setting up netboot configuration, we need the boot images to exist in the
> TFTP root directory. We could either rely on the distro import to copy these to
> the local filesystem (see bug 781913), or this provisioning step could include
> fetching the images and potentially caching them.


I was thinking caching would be nice..  but Jeff Burke commented that if we did caching then it could break the pxe menu for when you boot a system outside of beaker.

This isn't a feature we actively support, but it would be a shame to lose it.  

I'm not even sure what would be the best way to generate that pxe menu..  During the same import process?

When a distro is deleted from beaker it will need to send a delete request to the lab controller to delete it from tftpboot and remove it from the pxe menu as well.

Comment 4 Dan Callaghan 2012-04-19 03:50:20 UTC
PXE menu is bug 814028.

Comment 7 Dan Callaghan 2012-06-26 06:40:42 UTC
Beaker 0.9.0 has been released.