Bug 800687 - Distro schema needs to be expanded for native provisioning
Distro schema needs to be expanded for native provisioning
Status: CLOSED CURRENTRELEASE
Product: Beaker
Classification: Community
Component: scheduler (Show other bugs)
0.8
Unspecified Unspecified
unspecified Severity unspecified (vote)
: 0.9.0
: ---
Assigned To: Dan Callaghan
:
: 602917 732328 (view as bug list)
Depends On:
Blocks: 781917
  Show dependency treegraph
 
Reported: 2012-03-06 18:17 EST by Dan Callaghan
Modified: 2012-06-26 02:40 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-06-26 02:40:52 EDT
Type: ---
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 Dan Callaghan 2012-03-06 18:17:35 EST
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 18:24:35 EST
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 18:26:52 EST
(In reply to comment #1)

For some reason my whitespace was ruined. Hopefully the meaning is still clear.
Comment 5 Dan Callaghan 2012-06-06 21:04:54 EDT
*** Bug 732328 has been marked as a duplicate of this bug. ***
Comment 6 Dan Callaghan 2012-06-06 22:08:00 EDT
*** Bug 602917 has been marked as a duplicate of this bug. ***
Comment 7 Dan Callaghan 2012-06-26 02:40:52 EDT
Beaker 0.9.0 has been released.

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