[katello-devel] Modelling of environments, products, etc in Katello (related to renaming of environments)
Justin Sherrill
jsherril at redhat.com
Thu Aug 9 12:41:14 UTC 2012
On 08/09/2012 08:20 AM, James Bowes wrote:
> On Thu, Aug 09, 2012 at 12:34:57PM +0100, Dmitri Dolguikh wrote:
>> 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)
>>
> -1 to UUIDs, for the same reason as has been discussed wrt pulp
> repo labels. a url like:
-1 for me too. Much prefer labels.
>
> https://my-cdn.local/content/dev/rhel-server/i386/
>
> is way more useful than:
>
> https://my-cdn.local/content/abc123213-23423423-aaa123/rhel-server/i386/
>
> not to mention, far more handsome!
>
> I'd rather see either immutable labels, or supporting renaming labels,
> too.
>
> To clarify, UUIDs are fine imo as an internal canonical id for envs
> within katello as a whole, but once the env is exposed on the cli or in
> a url, label should be used.
>
>> 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?
Repository-ProductContent is not 1-1. For example there is a singe
content object for RHEL 6.1 i386 RPMs as for RHEL 6.2 x86_64 RPMS.
WIthin the RHEL product its many-to-one for sure. For custom
repositories currently its 1-1.
-Justin
>>
>> Thoughts, concerns, opinions?
>> -d
>>
>>
>>
>>
>> _______________________________________________
>> katello-devel mailing list
>> katello-devel at redhat.com
>> https://www.redhat.com/mailman/listinfo/katello-devel
>
> -James
>
>
> _______________________________________________
> katello-devel mailing list
> katello-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/katello-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/katello-devel/attachments/20120809/2025f78c/attachment.htm>
More information about the katello-devel
mailing list