<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi Kris,<br>
    Please see my answers and questions below.<br>
    Thanks<br>
    Gary<br>
    <br>
    On 06/13/2012 07:31 AM, Kris zhang wrote:
    <blockquote
cite="mid:CAAskrmHB61c+X+P39za85nQndN3j6YZ8O7uqX=p5TeQiOUmWCQ@mail.gmail.com"
      type="cite">
      <div>Hi Kotton,</div>
      <div><br>
      </div>
      <div>In the file ovirt.sh, there is a line:</div>
    </blockquote>
    <br>
    A bit of background regarding the script. The purpose of the POC was
    to show that Quantum can be run in oVirt. It would have been ideal
    to write a REST client that could interface with the Quantum
    service. Due to the fact that I was not familiar with the oVirt code
    I felt that a quicker and more productive means was to invoke a bash
    script from the oVirt engine code. The script would invoke the
    quantum cli (this is a client that configures the quantum server).
    In addition to this I did not want to make any changes to the
    database schema. The result was a script that does the following:<br>
    1. Logical Network Management:<br>
    &nbsp;&nbsp;&nbsp; Create:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ovirt.sh network create &lt;name&gt;<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - the name is the name of the logical network (in the
    POC this is prefixed by "Q_"<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - this invokes the cli to create a network called
    &lt;name&gt;<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - the UUID returned by the quantum service will be save
    in /tmp/network.&lt;name&gt;<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - the above UUID is read when this logical network is
    used (this in the future will be save in the oVirt data base)<br>
    &nbsp;&nbsp;&nbsp; Delete:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ovirt.sh network remove &lt;name&gt;<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - the name is the name of the logical network (in the
    POC this is prefixed by "Q_"<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - this invokes the cli to delete a network called
    &lt;name&gt;<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - the file /tmp/network.&lt;name&gt; is deleted<br>
    2. VM Port management<br>
    &nbsp;&nbsp;&nbsp; Create:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ovirt.sh port create &lt;net_name&gt; &lt;vmid&gt;<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - the network name and the vm id are input (the VM id is
    a key to be able to delete it all :))<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - the script does the following:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - creates a port on the network. saves the port id
    in /tmp/network.&lt;name&gt;.&lt;vmid&gt;.port<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - sets the state of the port to ACTIVE<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - creates an attachment ID (this is the line that
    you had problems with). This is saved in
    /tmp/network.&lt;name&gt;.&lt;vmid&gt;.attachment<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - saves the network name in a file
    /tmp/network.&lt;vmid&gt;<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - the UUID's are read when the VM is started so that
    they can be passed to VDSM<br>
    &nbsp;&nbsp;&nbsp; Delete:<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ovirt.sh port remove &lt;vmid&gt;<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - using the vmid the network name is read =&gt; enables
    us to get all of the ID's to delete port in quantum<br>
    &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; - cleans all of the files<br>
    The script is called from the ovirt engine. Sorry for the long
    winded explanation.<br>
    <br>
    <blockquote
cite="mid:CAAskrmHB61c+X+P39za85nQndN3j6YZ8O7uqX=p5TeQiOUmWCQ@mail.gmail.com"
      type="cite">
      <div>
        <div>quantum update_port default $NET_UUID $PORT_UUID
          state=ACTIVE</div>
        <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; uuidgen &gt; /tmp/network.$3.$4.port.attach</div>
        <div><span class="Apple-tab-span" style="white-space: pre;"> </span>ATTACH_UUID=`cat
          /tmp/network.$3.$4.port.attach`</div>
      </div>
    </blockquote>
    <br>
    In Quantum the attachment ID is generated by the user. The code
    above generates the attachment ID for the port. <br>
    <blockquote
cite="mid:CAAskrmHB61c+X+P39za85nQndN3j6YZ8O7uqX=p5TeQiOUmWCQ@mail.gmail.com"
      type="cite">
      <div><br>
      </div>
      <div><br>
      </div>
      <div>But i run this command, i found there is no any uuid
        generated, so what's the value of the ATTACH_UUID?</div>
    </blockquote>
    Do you run the script from the shell or is this run via oVirt? <br>
    There is a log of all of the script command - can you please look in
    /tmp/ovirt.txt - this may give us some clues.<br>
    You can run the script commands as described above. This may also
    help.<br>
    Thanks<br>
    Gary<br>
    <blockquote
cite="mid:CAAskrmHB61c+X+P39za85nQndN3j6YZ8O7uqX=p5TeQiOUmWCQ@mail.gmail.com"
      type="cite">
      <div>Best regards,</div>
      <div>Kris</div>
      <br>
      <br>
      <div class="gmail_quote">On Tue, Jun 12, 2012 at 7:15 PM, Gary
        Kotton <span dir="ltr">&lt;<a moz-do-not-send="true"
            href="mailto:gkotton@redhat.com" target="_blank">gkotton@redhat.com</a>&gt;</span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">
          <div class="HOEnZb">
            <div class="h5">On 06/12/2012 12:36 PM, Itamar Heim wrote:<br>
              <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
                0.8ex; border-left: 1px solid rgb(204, 204, 204);
                padding-left: 1ex;">
                On 06/12/2012 11:47 AM, Gary Kotton wrote:<br>
                <blockquote class="gmail_quote" style="margin: 0pt 0pt
                  0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204);
                  padding-left: 1ex;">
                  Hi Kris,<br>
                  Thanks for the questions. Please see my inline
                  answers. I have also<br>
                  cc'ed the ovirt arch mailing list.<br>
                  Thanks<br>
                  Gary<br>
                  <br>
                  On 06/12/2012 11:21 AM, Kris zhang wrote:<br>
                  <blockquote class="gmail_quote" style="margin: 0pt 0pt
                    0pt 0.8ex; border-left: 1px solid rgb(204, 204,
                    204); padding-left: 1ex;">
                    Hi Gkotton,<br>
                    <br>
                    I have some questions:<br>
                    <br>
                    1) In the file "ovirt.sh", i found the command
                    quantum always use the<br>
                    tenant "default", so if the ovirt don't support
                    multi-tenant?<br>
                  </blockquote>
                  oVirt does not support multi tenancy at the moment.
                  Maybe there are<br>
                  people on the list who can provide more details about
                  this. The initial<br>
                  plan was to use the "default" tenant.<br>
                </blockquote>
                <br>
                ovirt supports multiple users and an RBAC model for
                permissions between these users.<br>
                what exactly are you looking for?<br>
              </blockquote>
            </div>
          </div>
          Quantum support multi tenancy. The integration with oVirt was
          done with the "default" tenant. This is a different model to
          that of oVirt.<br>
          Thanks<span class="HOEnZb"><font color="#888888"><br>
              Gary<br>
            </font></span></blockquote>
      </div>
      <br>
    </blockquote>
    <br>
  </body>
</html>