[katello-devel] Modelling of environments, products, etc in Katello (related to renaming of environments)
Cliff Perry
cperry at redhat.com
Thu Aug 9 16:37:02 UTC 2012
On 08/09/2012 04:51 PM, Dmitri Dolguikh wrote:
> Since uuids got no love, let's replace uuids with immutable
> human-readable labels.
> -d
Hmm... random thoughts here.
How often will rename of an environment actually happen?
- Continue to do not allow rename of an environment. If you really do
not want to continue using an environment, I would think that:
- Would it be easier to allow customers to 'clone' an environment
into a new Environment, then move systems from one environment to another.
- They would then retire (or delete) the old environment, when no
longer used/needed.
If you do wish to allow to rename an Environment.
- How will any proposed solution be impacted by upgrades? Can what you
propose be implemented sanely to allow a current katello 1.0 user to
consume/upgrade smoothly to this new model.
- I would vote for a unique immutable human-readable (assuming you
have a latin based/derived alphabet) label. Or a numberic ID.
- I agree with Justin, that there was almost zero negative feedback
in Satellite for customers wanting to change the label, as long as they
could modify the description/name of the object.
I know this could be its own thread... but IMHO using/feeding
environment name/label into a yum URL is a bit limiting, if we have to
restrict it and would propose that Environment name/label is not used
but an arbitrary numeric ID, thus allowing Japanese, etc languages to be
used in creation of an Environment name. (unless I am mistaken on how
this works today).
If something else pops into my head, I'll reply again :)
Cliff
>
> On 09/08/12 12:34 PM, 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)
>>
>>
>> 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
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> katello-devel mailing list
>> katello-devel at redhat.com
>> https://www.redhat.com/mailman/listinfo/katello-devel
>
>
>
>
> _______________________________________________
> katello-devel mailing list
> katello-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/katello-devel
More information about the katello-devel
mailing list