Bug 800687 - Distro schema needs to be expanded for native provisioning
Summary: Distro schema needs to be expanded for native provisioning
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Beaker
Classification: Retired
Component: scheduler
Version: 0.8
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Dan Callaghan
QA Contact:
URL:
Whiteboard:
: 602917 732328 (view as bug list)
Depends On:
Blocks: 781917
TreeView+ depends on / blocked
 
Reported: 2012-03-06 23:17 UTC by Dan Callaghan
Modified: 2019-05-22 13:41 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-06-26 06:40:52 UTC
Embargoed:


Attachments (Terms of Use)

Description Dan Callaghan 2012-03-06 23:17:35 UTC
Beaker's database schema for representing distros needs to be expanded to store some details which currently live in Cobbler.

In particular, Beaker will need to know the location of distro repos and images (kernel/initrd). We will also need to support setting install options at the distro level (this is currently done directly in Cobbler).

It makes sense to introduce at the same time a new "layer" in the schema, which groups together all the arch-variant combinations for a particular distro. What Beaker currently refers to as a "distro" would become a "distro tree" (e.g. RHEL6.2 Server x86_64). All the "distro trees" for RHEL6.2 would be grouped together as the "distro" RHEL6.2.

Comment 1 Dan Callaghan 2012-03-06 23:24:35 UTC
After some discussion the proposed schema is as follows:

    distro
	id PK
	name UNIQUE
        osversion_id
        date_created

    distro_tree
        id PK
	distro_id
        arch_id
        variant
        date_created
        UNIQUE(distro_id, arch_id, variant)

    distro_tree_repo
        distro_tree_id
        repo_id
        repo_type
        path
        PK(distro_tree_id, repo_id)

    distro_tree_image
        distro_tree_id
        image_type
        path
        PK(distro_tree_id, image_type)??

    distro_tree_lab_controller_map # this replaces distro_lab_controller_map
        id PK
	distro_tree_id
        lab_controller_id
        url
        UNIQUE(distro_tree_id, lab_controller_id, url)

The new "distro tree" would be equivalent to "distros" in Beaker at present. Recipes would pick a distro tree, which is then provisioned. However in the web UI we would present "distros" to the user, with some new UI to display all the trees for each distro. Tags and install options would be set at the distro level. (We will probably need to support overriding install options at the distro_tree level as well.)

Comment 2 Dan Callaghan 2012-03-06 23:26:52 UTC
(In reply to comment #1)

For some reason my whitespace was ruined. Hopefully the meaning is still clear.

Comment 5 Dan Callaghan 2012-06-07 01:04:54 UTC
*** Bug 732328 has been marked as a duplicate of this bug. ***

Comment 6 Dan Callaghan 2012-06-07 02:08:00 UTC
*** Bug 602917 has been marked as a duplicate of this bug. ***

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


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