<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Thanks Jay/Kennan/Adrian for chiming in!<br>
    <br>
    From this, I conclude that we have enough consensus to have 'magnum
    service-list' and 'magnum coe-service-list' segregated. I will
    capture extract of this discussion at the blueprint and start
    implementation of the same.<br>
    <br>
    Kennan,<br>
    I would request you to submit a different bp/bug to address the
    staleness of the state of pod/rc.<br>
    <br>
    <br>
    <pre class="moz-signature" cols="72">Regards,
SURO
irc//freenode: suro-patz
</pre>
    <div class="moz-cite-prefix">On 8/3/15 5:33 PM, Kai Qiang Wu wrote:<br>
    </div>
    <blockquote
cite="mid:OF3945814A.852DF4A9-ON48257E97.00021353-48257E97.00031925@cn.ibm.com"
      type="cite">
      <p><font face="sans-serif" size="2">Hi Suro and Jay,</font><br>
        <br>
        <font face="sans-serif" size="2">I checked discussion below, and
          I do believe we also need service-list(for just magnum-api and
          magnum-conductor), but not so emergent requirement.</font><br>
        <br>
        <font face="sans-serif" size="2">I also think service-list
          should not bind to k8s or swarm etc. (can use coe-service
          etc.)</font><br>
        <br>
        <br>
        <font face="sans-serif" size="2">But I have more for below:</font><br>
        <br>
        <font face="sans-serif" size="2">1) For k8s or swarm or mesos,
           I think magnum can expose through the coe-service-list.</font><br>
        <font face="sans-serif" size="2">But if right now, we fetched
          status from DB for pods/rcs status, It seems not proper to do
          that, as DB has old data. We need to fetch that through
          k8s/swarm API endpoints.</font><br>
        <br>
        <br>
        <font face="sans-serif" size="2">2)  It can also expose that
          through k8s/swarm/mesos client tools. If users like that.</font><br>
        <br>
        <br>
        <font face="sans-serif" size="2">Thanks</font><br>
        <br>
        <font face="sans-serif" size="2">Best Wishes,</font><br>
        <font face="sans-serif" size="2">--------------------------------------------------------------------------------</font><br>
        <font face="sans-serif" size="2">Kai Qiang Wu (吴开强  Kennan)<br>
          IBM China System and Technology Lab, Beijing<br>
          <br>
          E-mail: <a class="moz-txt-link-abbreviated" href="mailto:wkqwu@cn.ibm.com">wkqwu@cn.ibm.com</a><br>
          Tel: 86-10-82451647<br>
          Address: Building 28(Ring Building), ZhongGuanCun Software
          Park,  <br>
                  No.8 Dong Bei Wang West Road, Haidian District Beijing
          P.R.China 100193</font><br>
        <font face="sans-serif" size="2">--------------------------------------------------------------------------------</font><br>
        <font face="sans-serif" size="2">Follow your heart. You are
          miracle! </font><br>
        <br>
        <img src="cid:part1.09030600.01060005@gmail.com" alt="Inactive
          hide details for Jay Lau ---08/04/2015 05:51:33 AM---Hi Suro,
          Yes, I did not see a strong reason for adding "service-l"
          height="16" border="0" width="16"><font face="sans-serif"
          color="#424282" size="2">Jay Lau ---08/04/2015 05:51:33
          AM---Hi Suro, Yes, I did not see a strong reason for adding
          "service-list" to show all of</font><br>
        <br>
        <font face="sans-serif" color="#5F5F5F" size="1">From: </font><font
          face="sans-serif" size="1">Jay Lau
          <a class="moz-txt-link-rfc2396E" href="mailto:jay.lau.513@gmail.com"><jay.lau.513@gmail.com></a></font><br>
        <font face="sans-serif" color="#5F5F5F" size="1">To: </font><font
          face="sans-serif" size="1">"OpenStack Development Mailing List
          (not for usage questions)"
          <a class="moz-txt-link-rfc2396E" href="mailto:openstack-dev@lists.openstack.org"><openstack-dev@lists.openstack.org></a></font><br>
        <font face="sans-serif" color="#5F5F5F" size="1">Date: </font><font
          face="sans-serif" size="1">08/04/2015 05:51 AM</font><br>
        <font face="sans-serif" color="#5F5F5F" size="1">Subject: </font><font
          face="sans-serif" size="1">Re: [openstack-dev]
          [magnum][blueprint] magnum-service-list</font><br>
      </p>
      <hr style="color:#8091A5; " align="left" size="2"
        noshade="noshade" width="100%"><br>
      <br>
      <br>
      <font face="serif" size="3">Hi Suro,<br>
      </font><br>
      <font face="serif" size="3">Yes, I did not see a strong reason for
        adding "service-list" to show all of magnum system services, but
        it is nice to have.<br>
      </font><br>
      <font face="serif" size="3">But I did see a strong reason to
        rename "service-list" to "coe-service-list" or others which
        might be more meaningful as I was often asked by someone why
        does "magnum service-list" is showing some services in
        kubernetes but not magnum system itself? This command always
        make people confused.<br>
      </font><br>
      <font face="serif" size="3">Thanks!</font><br>
      <br>
      <font face="serif" size="3">2015-08-03 15:36 GMT-04:00 SURO <</font><a
        moz-do-not-send="true" href="mailto:suro.patz@gmail.com"
        target="_blank"><font face="serif" color="#0000FF" size="3"><u><a class="moz-txt-link-abbreviated" href="mailto:suro.patz@gmail.com">suro.patz@gmail.com</a></u></font></a><font
        face="serif" size="3">>:</font>
      <ul style="padding-left: 9pt">
        <font face="serif" size="3">Hi Jay, <br>
          <br>
          Thanks for clarifying the requirements further.<br>
          <br>
          I do agree with the idea of having 'magnum service-list' and
          'magnum coe-service-list' to distinguish that coe-service is a
          different concept. BUT, in openstack space, I do not see
          'service-list' as a standardized function across other APIs -</font>
        <ul style="padding-left: 18pt">
          <font face="sans-serif" size="2">1. </font><font face="serif"
            size="3"> 'nova service-list' => Enlists services like
            api, conductor etc. </font><br>
          <font face="sans-serif" size="2">2. </font><font face="serif"
            size="3"> neutron does not have this option.</font><br>
          <font face="sans-serif" size="2">3. </font><font face="serif"
            size="3"> 'heat service-list' => Enlists available
            engines.</font><br>
          <font face="sans-serif" size="2">4. </font><font face="serif"
            size="3"> 'keystone service-list' => Enlists
            services/APIs who consults keystone.</font>
        </ul>
        <font face="serif" size="3">Now in magnum, we may choose to
          model it after nova, but nova really has a bunch of backend
          services, viz. nova-conductor, nova-cert, nova-scheduler,
          nova-consoleauth, nova-compute[x N], whereas magnum not.<br>
          <br>
          For magnum, at this point creating 'service-list' only for
          api/conductor - do you see a strong need?<br>
        </font><br>
        <tt><font size="3">Regards,<br>
            SURO<br>
            irc//freenode: suro-patz<br>
          </font></tt><br>
        <font face="serif" size="3">On 8/3/15 12:00 PM, Jay Lau wrote:</font>
        <ul style="padding-left: 36pt">
          <font face="serif" size="3">Hi Suro and others, comments on
            this? Thanks.</font><br>
          <br>
          <font face="serif" size="3">2015-07-30 5:40 GMT-04:00 Jay Lau
            <</font><a moz-do-not-send="true"
            href="mailto:jay.lau.513@gmail.com" target="_blank"><font
              face="serif" color="#0000FF" size="3"><u>jay.lau.513@gmail.com</u></font></a><font
            face="serif" size="3">>:</font>
          <ul style="padding-left: 9pt">
            <font face="serif" size="3">Hi Suro,<br>
            </font><br>
            <font face="serif" size="3">In my understanding, even other
              CoE might have service/pod/rc concepts in future, we may
              still want to distinguish the "magnum service-list" with
              "magnum coe-service-list".<br>
            </font><br>
            <font face="serif" size="3">service-list is mainly for
              magnum native services, such as magnum-api,
              magnum-conductor etc.</font><br>
            <font face="serif" size="3">coe-service-list mainly for the
              services that running for the CoEs in magnum.<br>
            </font><br>
            <font face="serif" size="3">Thoughts? Thanks.</font><br>
            <br>
            <font face="serif" size="3">2015-07-29 17:50 GMT-04:00 SURO
              <</font><a moz-do-not-send="true"
              href="mailto:suro.patz@gmail.com" target="_blank"><font
                face="serif" color="#0000FF" size="3"><u>suro.patz@gmail.com</u></font></a><font
              face="serif" size="3">>:</font>
            <ul style="padding-left: 9pt">
              <font face="serif" size="3">Hi Hongbin,<br>
                <br>
                What would be the value of having COE-specific magnum
                command to go and talk to DB? As in that case, user may
                use the native client itself to fetch the data from COE,
                which even will have latest state.<br>
                <br>
                In a pluggable architecture there is always scope for
                common abstraction and driver implementation. I think it
                is too early to declare service/rc/pod as specific to
                k8s, as the other COEs may very well converge onto
                similar/same concepts.<br>
              </font><br>
              <tt><font size="3">Regards,<br>
                  SURO<br>
                  irc//freenode: suro-patz<br>
                </font></tt><br>
              <font face="serif" size="3">On 7/29/15 2:21 PM, Hongbin Lu
                wrote:</font>
              <ul style="padding-left: 36pt">
                <br>
                <font face="Calibri" color="#1F497D" size="2">Suro,</font>
                <p><font face="Calibri" color="#1F497D" size="2"> </font>
                </p>
                <p><font face="Calibri" color="#1F497D" size="2">I think
                    service/pod/rc are k8s-specific. +1 for Jay’s
                    suggestion about renaming COE-specific command,
                    since the new naming style looks consistent with
                    other OpenStack projects. In addition, it will
                    eliminate name collision of different COEs. Also, if
                    we are going to support pluggable COE, adding prefix
                    to COE-specific command is unavoidable.</font>
                </p>
                <p><font face="Calibri" color="#1F497D" size="2"> </font>
                </p>
                <p><font face="Calibri" color="#1F497D" size="2">Best
                    regards,</font>
                </p>
                <p><font face="Calibri" color="#1F497D" size="2">Hongbin</font>
                </p>
                <p><font face="Calibri" color="#1F497D" size="2"> </font>
                </p>
                <p><font face="Tahoma" size="2"><b>From:</b></font><font
                    face="Tahoma" size="2"> SURO [</font><a
                    moz-do-not-send="true"
                    href="mailto:suro.patz@gmail.com" target="_blank"><font
                      face="Tahoma" color="#0000FF" size="2"><u><a class="moz-txt-link-freetext" href="mailto:suro.patz@gmail.com">mailto:suro.patz@gmail.com</a></u></font></a><font
                    face="Tahoma" size="2">] </font><font face="Tahoma"
                    size="2"><b><br>
                      Sent:</b></font><font face="Tahoma" size="2"> July-29-15
                    4:03 PM</font><font face="Tahoma" size="2"><b><br>
                      To:</b></font><font face="Tahoma" size="2"> Jay
                    Lau</font><font face="Tahoma" size="2"><b><br>
                      Cc:</b></font><font face="Tahoma" size="2"> </font><a
                    moz-do-not-send="true"
                    href="mailto:suro@yahoo-inc.com" target="_blank"><font
                      face="Tahoma" color="#0000FF" size="2"><u><a class="moz-txt-link-abbreviated" href="mailto:suro@yahoo-inc.com">suro@yahoo-inc.com</a></u></font></a><font
                    face="Tahoma" size="2">; OpenStack Development
                    Mailing List (not for usage questions)</font><font
                    face="Tahoma" size="2"><b><br>
                      Subject:</b></font><font face="Tahoma" size="2"> Re:
                    [openstack-dev] [magnum][blueprint]
                    magnum-service-list</font>
                </p>
                <p><font face="serif" size="3"> </font>
                </p>
                <p><font face="serif" size="3">Hi Jay,<br>
                    <br>
                    'service'/'pod'/'rc' are conceptual abstraction at
                    magnum level. Yes, the abstraction was inspired from
                    the same in kubernetes, but the data stored in DB
                    about a 'service' is properly abstracted and not
                    k8s-specific at the top level. <br>
                    <br>
                    If we plan to change this to 'k8s-service-list', the
                    same applies for even creation and other actions.
                    This will give rise to COE-specific command and
                    concepts and which may proliferate further. Instead,
                    we can abstract swarm's service concept under the
                    umbrella of magnum's 'service' concept without
                    creating k8s-service and swarm-service.<br>
                    <br>
                    I suggest we should keep the concept/abstraction at
                    Magnum level, as it is. <br>
                  </font>
                </p>
                <p><tt><font size="3">Regards,</font></tt><br>
                  <tt><font size="3">SURO</font></tt><br>
                  <tt><font size="3">irc//freenode: suro-patz</font></tt>
                </p>
                <p><font face="serif" size="3">On 7/28/15 7:59 PM, Jay
                    Lau wrote:</font>
                </p>
                <ul style="padding-left: 36pt">
                  <font face="serif" size="3">Hi Suro,</font>
                  <p><font face="serif" size="3">Sorry for late. IMHO,
                      even the "magnum service-list" is getting data
                      from DB, but the DB is actually persisting some
                      data for Kubernetes service, so my thinking is it
                      possible to change "magnum service-list" to
                      "magnum k8s-service-list", same for pod and rc.</font>
                  </p>
                  <p><font face="serif" size="3">I know this might bring
                      some trouble for backward compatibility issue, not
                      sure if it is good to do such modification at this
                      time. Comments?</font>
                  </p>
                  <p><font face="serif" size="3">Thanks</font>
                  </p>
                  <p><font face="serif" size="3"> </font>
                  </p>
                  <p><font face="serif" size="3">2015-07-27 20:12
                      GMT-04:00 SURO <</font><a
                      moz-do-not-send="true"
                      href="mailto:suro.patz@gmail.com" target="_blank"><font
                        face="serif" color="#0000FF" size="3"><u><a class="moz-txt-link-abbreviated" href="mailto:suro.patz@gmail.com">suro.patz@gmail.com</a></u></font></a><font
                      face="serif" size="3">>:</font>
                  </p>
                  <p><font face="serif" size="3">Hi all,<br>
                      As we did not hear back further on the requirement
                      of this blueprint, I propose to keep the existing
                      behavior without any modification.<br>
                      <br>
                      We would like to explore the decision on this
                      blueprint on our next weekly IRC meeting[1].<br>
                        </font>
                  </p>
                  <p><tt><font size="3">Regards,</font></tt><br>
                    <tt><font size="3">SURO</font></tt><br>
                    <tt><font size="3">irc//freenode: suro-patz</font></tt><br>
                    <tt><font size="3"> </font></tt><br>
                    <tt><font size="3">[1] - </font></tt><a
                      moz-do-not-send="true"
                      href="https://wiki.openstack.org/wiki/Meetings/Containers"
                      target="_blank"><tt><font color="#0000FF" size="3"><u><a class="moz-txt-link-freetext" href="https://wiki.openstack.org/wiki/Meetings/Containers">https://wiki.openstack.org/wiki/Meetings/Containers</a></u></font></tt></a>
                    <table border="0" cellpadding="0" cellspacing="0">
                      <tbody>
                        <tr valign="top">
                          <td valign="middle" width="110"><font
                              face="serif" size="3">2015-07-28 </font></td>
                          <td valign="middle" width="170"><font
                              face="serif" size="3">UTC 2200 Tuesday </font></td>
                        </tr>
                      </tbody>
                    </table>
                    <tt><font size="3"> </font></tt>
                  </p>
                  <p><font face="serif" size="3">On 7/21/15 4:54 PM,
                      SURO wrote: </font>
                  </p>
                  <ul style="padding-left: 36pt">
                    <font face="serif" size="3">Hi all, [special
                      attention: Jay Lau] The bp[1] registered, asks for
                      the following implementation - </font>
                    <ul style="padding-left: 36pt" type="disc">
                      <li><font face="serif" size="3">'magnum
                          service-list' should be similar to 'nova
                          service-list'</font>
                      </li>
                      <li><font face="serif" size="3">'magnum
                          service-list' should be moved to be ' magnum
                          k8s-service-list'. Also similar holds true for
                          'pod-list'/'rc-list'</font></li>
                    </ul>
                    <br>
                    <font face="serif" size="3">As I dug some details, I
                      find - </font>
                    <ul style="padding-left: 36pt" type="disc">
                      <li><font face="serif" size="3">'magnum
                          service-list' fetches data from OpenStack
                          DB[2], instead of the COE endpoint. So
                          technically it is not k8s-specific. magnum is
                          serving data for objects modeled as 'service',
                          just the way we are catering for 'magnum
                          container-list' in case of swarm bay.</font>
                      </li>
                      <li><font face="serif" size="3">If magnum provides
                          a way to get the COE endpoint details, users
                          can use native tools to fetch the status of
                          the COE-specific objects, viz. 'kubectl get
                          services' here.</font>
                      </li>
                      <li><font face="serif" size="3">nova has lot more
                          backend services, e.g. cert, scheduler,
                          consoleauth, compute etc. in comparison to
                          magnum's conductor only. Also, not all the
                          api's have this 'service-list' available. </font></li>
                    </ul>
                    <br>
                    <font face="serif" size="3">With these arguments in
                      view, can we have some more
                      explanation/clarification in favor of the ask in
                      the blueprint? [1] - </font><a
                      moz-do-not-send="true"
                      href="https://blueprints.launchpad.net/magnum/+spec/magnum-service-list"
                      target="_blank"><font face="serif" color="#0000FF"
                        size="3"><u><a class="moz-txt-link-freetext" href="https://blueprints.launchpad.net/magnum/+spec/magnum-service-list">https://blueprints.launchpad.net/magnum/+spec/magnum-service-list</a></u></font></a><font
                      face="serif" size="3"> [2] - </font><a
                      moz-do-not-send="true"
href="https://github.com/openstack/magnum/blob/master/magnum/objects/service.py#L114"
                      target="_blank"><font face="serif" color="#0000FF"
                        size="3"><u><a class="moz-txt-link-freetext" href="https://github.com/openstack/magnum/blob/master/magnum/objects/service.py#L114">https://github.com/openstack/magnum/blob/master/magnum/objects/service.py#L114</a></u></font></a><font
                      face="serif" size="3"> </font>
                    <p><tt><font size="3">-- </font></tt><br>
                      <tt><font size="3">Regards,</font></tt><br>
                      <tt><font size="3">SURO</font></tt><br>
                      <tt><font size="3">irc//freenode: suro-patz</font></tt></p>
                  </ul>
                  <br>
                  <font face="serif" size="3"><br>
                    <br>
                    <br>
                    -- </font>
                  <p><font face="serif" size="3">Thanks,</font>
                  </p>
                  <p><font face="serif" size="3">Jay Lau (Guangya Liu)</font></p>
                </ul>
                <br>
                <font face="serif" size="3"> </font>
                <p><font face="serif" size="3"><br>
                  </font><br>
                  <tt><font size="3">__________________________________________________________________________<br>
                      OpenStack Development Mailing List (not for usage
                      questions)<br>
                      Unsubscribe: </font></tt><a
                    moz-do-not-send="true"
href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
                    target="_blank"><tt><font color="#0000FF" size="3"><u><a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a></u></font></tt></a><tt><font
                      size="3"><br>
                    </font></tt><a moz-do-not-send="true"
                    href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
                    target="_blank"><tt><font color="#0000FF" size="3"><u>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</u></font></tt></a><tt><font
                      size="3"><br>
                    </font></tt></p>
              </ul>
              <br>
              <font face="serif" size="3"><br>
__________________________________________________________________________<br>
                OpenStack Development Mailing List (not for usage
                questions)<br>
                Unsubscribe: </font><a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
                target="_blank"><font face="serif" color="#0000FF"
                  size="3"><u>OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</u></font></a><font
                face="serif" color="#0000FF" size="3"><u><br>
                </u></font><a moz-do-not-send="true"
                href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
                target="_blank"><font face="serif" color="#0000FF"
                  size="3"><u>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</u></font></a><font
                face="serif" size="3"><br>
              </font>
            </ul>
            <font face="serif" size="3"><br>
              <br>
              <br>
              -- </font><br>
            <font face="serif" size="3">Thanks,<br>
            </font><br>
            <font face="serif" size="3">Jay Lau (Guangya Liu)</font>
          </ul>
          <font face="serif" size="3"><br>
            <br>
            <br>
            -- </font><br>
          <font face="serif" size="3">Thanks,<br>
          </font><br>
          <font face="serif" size="3">Jay Lau (Guangya Liu)</font><br>
          <font face="serif" size="3"><br>
          </font><br>
          <tt><font size="3">__________________________________________________________________________<br>
              OpenStack Development Mailing List (not for usage
              questions)<br>
              Unsubscribe: </font></tt><a moz-do-not-send="true"
href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
            target="_blank"><tt><font color="#0000FF" size="3"><u>OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</u></font></tt></a><tt><font
              size="3"><br>
            </font></tt><a moz-do-not-send="true"
            href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
            target="_blank"><tt><font color="#0000FF" size="3"><u>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</u></font></tt></a><tt><font
              size="3"><br>
            </font></tt>
        </ul>
        <br>
        <font face="serif" size="3"><br>
__________________________________________________________________________<br>
          OpenStack Development Mailing List (not for usage questions)<br>
          Unsubscribe: </font><a moz-do-not-send="true"
href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe"
          target="_blank"><font face="serif" color="#0000FF" size="3"><u>OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</u></font></a><font
          face="serif" color="#0000FF" size="3"><u><br>
          </u></font><a moz-do-not-send="true"
          href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
          target="_blank"><font face="serif" color="#0000FF" size="3"><u>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</u></font></a><font
          face="serif" size="3"><br>
        </font>
      </ul>
      <font face="serif" size="3"><br>
        <br>
        <br>
        -- </font><br>
      <font face="serif" size="3">Thanks,<br>
      </font><br>
      <font face="serif" size="3">Jay Lau (Guangya Liu)</font><tt><font
          size="2">__________________________________________________________________________<br>
          OpenStack Development Mailing List (not for usage questions)<br>
          Unsubscribe:
          <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
        </font></tt><tt><font size="2"><a moz-do-not-send="true"
            href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a></font></tt><tt><font
          size="2"><br>
        </font></tt><br>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>