[katello-devel] Modelling of environments, products, etc in Katello (related to renaming of environments)
Dmitri Dolguikh
dmitri at redhat.com
Thu Aug 9 11:34:57 UTC 2012
Please see https://bugzilla.redhat.com/show_bug.cgi?id=795928 for
description of an issue with environment renaming.
The immediate problems around environments: using of environment names
and environment ids for identification of environments interchangeably.
Using db ids for environment identification when not using environment
names.
To resolve these:
- introduce environment uuids
- update katello/katello cli to use uuids for environment identification
- update repository naming to use environment uuids
- update candlepin (this will include updates to schema, and resource
controller)
The larger problem: Katello and Candlepin modelling of products/product
content/environments lost coherency.
Candlepin's view of the above trifecta (use of a monospaced font is
encouraged for the content below):
+-------------+ +--------------------+
| Environment | 1 <--- * | EnvironmentContent |
+-------------+ +--------------------+
^
| *
| 1
+---------+ +----------------+
| Product | 1 ---> * | ProductContent |
+---------+ +----------------+
same thing in Katello (with added pulp repositories):
+-------------+
| Pulp::Repos |<-----------------------+
+-------------+ |
^ |
| uses |
+----------------------------------+ | +-------------+
| Candlepin::Product | | | Environment |
| (uses Candlepin::ProductContent) | | +-------------+
+----------------------------------+ | ^
| ^ | | 1
|uses | uses | |
| | | | *
+---------+ +--------------------+
| Product | 1 ---------------> * | EnvironmentProduct |
+---------+ +--------------------+
| |1
| |*
| V
| uses +------------+
+------| Repository |
+------------+
I propose:
- Rename EnvironmentProduct to ProductContent
- make it use Candlepin::ProductContent
- remove use of Pulp::Repos from Product
- delegate responsibility of generation of environment uuids to
Candlepin (should cp folks agree on this)
resulting in:
+-------------+
| Environment |
+-------------+
^
| 1
| *
+---------+ +----------------+
| Product | 1 ---> * | ProductContent |
+---------+ +----------------+
|1 | uses
| | +---------------------------+
|1 +-> | Candlepin::ProductContent |
V +---------------------------+
+-------------+ uses +------------+
| Pulp::Repos |<-----| Repository |
+-------------+ +------------+
I don't think many-1 relation is required on Repository-ProductContent,
it's 1-1?
Thoughts, concerns, opinions?
-d
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/katello-devel/attachments/20120809/16d6c5bc/attachment.htm>
More information about the katello-devel
mailing list