<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Since uuids got no love, let's replace
      uuids with immutable human-readable labels.<br>
      -d<br>
      <br>
      On 09/08/12 12:34 PM, Dmitri Dolguikh wrote:<br>
    </div>
    <blockquote cite="mid:5023A061.40507@redhat.com" type="cite">
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      <meta http-equiv="content-type" content="text/html;
        charset=ISO-8859-1">
      Please see <a moz-do-not-send="true"
        href="https://bugzilla.redhat.com/show_bug.cgi?id=795928">https://bugzilla.redhat.com/show_bug.cgi?id=795928</a>
      for description of an issue with environment renaming.<br>
      <br>
      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.<br>
      <br>
      To resolve these: <br>
       - introduce environment uuids<br>
       - update katello/katello cli to use uuids for environment
      identification<br>
       - update repository naming to use environment uuids<br>
       - update candlepin (this will include updates to schema, and
      resource controller)<br>
      <br>
      <br>
      The larger problem: Katello and Candlepin modelling of
      products/product content/environments lost coherency. <br>
      <br>
      Candlepin's view of the above trifecta (use of a monospaced font
      is encouraged for the content below):<br>
      +-------------+          +--------------------+<br>
      | Environment | 1 <--- * | EnvironmentContent |<br>
      +-------------+          +--------------------+<br>
                                      ^<br>
                                      | *<br>
                                      | 1<br>
          +---------+          +----------------+ <br>
          | Product | 1 ---> * | ProductContent | <br>
          +---------+          +----------------+<br>
      <br>
      <br>
      same thing in Katello (with added pulp repositories):<br>
      <br>
         +-------------+<br>
         | Pulp::Repos |<-----------------------+<br>
         +-------------+                        |<br>
             ^                                  |<br>
             | uses                             |<br>
          +----------------------------------+  |  +-------------+<br>
          | Candlepin::Product               |  |  | Environment |<br>
          | (uses Candlepin::ProductContent) |  |  +-------------+<br>
          +----------------------------------+  |          ^ <br>
             |       ^                          |          | 1<br>
             |uses   | uses                     |          | <br>
             |       |                          |          | *<br>
            +---------+                      +--------------------+ <br>
            | Product | 1 ---------------> * | EnvironmentProduct | <br>
            +---------+                      +--------------------+<br>
                                                |          |1<br>
                                                |          |*<br>
                                                |          V<br>
                                                | uses +------------+<br>
                                                +------| Repository |<br>
                                                       +------------+<br>
                                       <br>
      <br>
      I propose: <br>
       - Rename EnvironmentProduct to ProductContent<br>
         - make it use Candlepin::ProductContent<br>
         - remove use of Pulp::Repos from Product<br>
         - delegate responsibility of generation of environment uuids to
      Candlepin (should cp folks agree on this) <br>
      <br>
      resulting in:<br>
      <br>
                              +-------------+<br>
                              | Environment |<br>
                              +-------------+<br>
                                     ^ <br>
                                     | 1<br>
                                     | *<br>
        +---------+          +----------------+ <br>
        | Product | 1 ---> * | ProductContent |<br>
        +---------+          +----------------+      <br>
                                 |1  | uses<br>
                                 |   |    +---------------------------+<br>
                                 |1  +->  | Candlepin::ProductContent
      |<br>
                                 V        +---------------------------+<br>
          +-------------+ uses +------------+<br>
          | Pulp::Repos |<-----| Repository |<br>
          +-------------+      +------------+<br>
                                       <br>
      I don't think many-1 relation is required on
      Repository-ProductContent, it's 1-1? <br>
      <br>
      <br>
      Thoughts, concerns, opinions?<br>
      -d<br>
      <br>
      <br>
      <br>
      <br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
katello-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:katello-devel@redhat.com">katello-devel@redhat.com</a>
<a class="moz-txt-link-freetext" href="https://www.redhat.com/mailman/listinfo/katello-devel">https://www.redhat.com/mailman/listinfo/katello-devel</a></pre>
    </blockquote>
    <br>
    <br>
  </body>
</html>