<p dir="ltr"><a href="mailto:vemana.kanakadurgarao@gmail.com">vemana.kanakadurgarao@gmail.com</a></p>
<br><div class="gmail_quote"><div dir="ltr">On Tue, 7 Jul 2015 10:24 Filip Blaha <<a href="mailto:filip.blaha@hp.com">filip.blaha@hp.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    Hi all,<br>
    <br>
    there is related blueprint [1]. Once it will be implemented it could
    support this usecase. So policy defined in congress modifies
    environment prior deployment. I think this mechanism could be used
    to enforce placement to region/AZ.<br>
    <br>
    [1]
<a href="https://blueprints.launchpad.net/murano/+spec/policy-based-env-modification" target="_blank">https://blueprints.launchpad.net/murano/+spec/policy-based-env-modification</a><br>
    <br>
    Regards</div><div bgcolor="#FFFFFF" text="#000000"><br>
    Filip</div><div bgcolor="#FFFFFF" text="#000000"><br>
    <br>
    <br>
    <div>On 07/06/2015 08:40 PM, Georgy
      Okrokvertskhov wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">Hi Tim,
        <div><br>
        </div>
        <div>Thank you for the comprehensive information.</div>
        <div><br>
        </div>
        <div>From Murano standpoint each OpenStack region is a separate
          Heat endpoint. So once Murano has a decision about placement
          it will just use proper Heat endpoint to initiate stack
          creation process.</div>
        <div><br>
        </div>
        <div>Murano does not expect that Congress will do actual
          placement. Murano has a way to do this by itself as it just
          pushes stack template to the Heat.</div>
        <div><br>
        </div>
        <div>As I see in your reply there is a clear way to define such
          policies which is really great. It sounds like there is
          nothing we need to change in the Congress itself which is also
          great.</div>
        <div>I think we have explicit Congress call in Murano, at least
          it was discussed in Paris. I will check if we have someone in
          Murano team who can draft a spec for this feature and use case
          in Murano. Sounds like we have enough information for that.</div>
        <div><br>
        </div>
        <div>Once again, thank you for the information. </div>
        <div><br>
        </div>
        <div>Regards,</div>
        <div>Gosha </div>
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Mon, Jul 6, 2015 at 9:13 AM, Tim
          Hinrichs <span dir="ltr"><<a href="mailto:tim@styra.com" target="_blank">tim@styra.com</a>></span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr"><br>
              <span style="font-size:13.1999998092651px;line-height:19.7999992370605px">Sorry--hit
                the Send button by accident.</span><br>
              <br>
              <div class="gmail_quote">
                <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                  <div dir="ltr"><span><br>
                      Hi Gosha,<br>
                      <br>
                      This definitely sounds like an interesting use
                      case for Congress.  Keep in mind that Congress
                      doesn't itself do placement (though we did some
                      experimentation with that [1][2]).  Some thoughts.
                      <div><br>
                      </div>
                      <div>1. Let's suppose Murano/Congress/etc. allow
                        us to figure out which app should be deployed in
                        which region.  Is there a separate Nova for each
                        region that can do the actual scheduling?  If
                        not, how would Murano force the app to be
                        deployed in the proper region?</div>
                      <div><br>
                      </div>
                    </span>
                    <div>2. Let's assume Murano can force the app to the
                      proper region.  One option for using Congress to
                      compute the proper region would be to write policy
                      statements that enumerate the permitted regions
                      for a given application, and then ask Congress for
                      one of those regions.  For your suggested policies
                      above, we could write the following datalog
                      statements</div>
                  </div>
                  <div dir="ltr">
                    <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px"></span></div>
                  </div>
                </blockquote>
                <div> </div>
                <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>
                    <div dir="ltr">
                      <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px">"Solaris
                          is required then select Region_Solaris. "</span><br>
                      </div>
                      <div><br>
                      </div>
                    </div>
                  </span>
                  <div dir="ltr">
                    <div>permitted_region(app, "region_solaris") :- </div>
                    <div>    murano:app_requires(app, "solaris")</div>
                  </div>
                </blockquote>
                <div><br>
                </div>
                <div>A. If Solaris is required then select
                  region_solaris</div>
                <div><br>
                </div>
                <div>permitted_region(app, "region_solaris") :-</div>
                <div>    murano:app_requires(app, "solaris") </div>
                <div>       </div>
                <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px">B.
                    If Solaris is required then select less loaded
                    regions from [Region_Solaris1, Region_Solaris2]</span><br>
                </div>
                <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
                  </span></div>
                <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px">This
                    one requires additional expressiveness in the
                    language than we currently have (because it asks to
                    minimize over several options).  But it would be
                    something like...</span></div>
                <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
                  </span></div>
                <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px">best_region(app,
                    min(y)) :-</span></div>
                <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px"> 
                      permitted_region(app, x),</span></div>
                <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px"> 
                      ceilometer:region_load(x, y) </span></div>
                <span>
                  <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px"><br>
                    </span></div>
                  <div><span style="font-size:13.1999998092651px;line-height:19.7999992370605px"> 
                        </span></div>
                  <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    <div dir="ltr">
                      <div>
                        <div><br>
                        </div>
                        <div>[1] Design doc: <a href="https://docs.google.com/document/d/1ksDilJYXV-5AXWON8PLMedDKr9NpS8VbT0jIy_MIEtI/edit" target="_blank">https://docs.google.com/document/d/1ksDilJYXV-5AXWON8PLMedDKr9NpS8VbT0jIy_MIEtI/edit</a><br>
                          <div>[2] Slides: <a href="https://drive.google.com/a/styra.com/file/d/0ByDz-eYOtswScUFUc1ZrVVhmQlk/view" target="_blank">https://drive.google.com/a/styra.com/file/d/0ByDz-eYOtswScUFUc1ZrVVhmQlk/view</a></div>
                          <div><br>
                          </div>
                        </div>
                      </div>
                    </div>
                    <br>
                  </blockquote>
                  <div><br>
                  </div>
                </span><span><font color="#888888">
                    <div>Tim</div>
                  </font></span>
                <div>
                  <div>
                    <div> </div>
                    <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                      <div class="gmail_quote">
                        <div dir="ltr">On Thu, Jul 2, 2015 at 7:36 AM
                          Georgy Okrokvertskhov <<a href="mailto:gokrokvertskhov@mirantis.com" target="_blank">gokrokvertskhov@mirantis.com</a>>
                          wrote:<br>
                        </div>
                        <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                          <div dir="ltr">Hi,
                            <div><br>
                            </div>
                            <div>All applications are monolithic so they
                              don't need to be split over multiple
                              regions. It is necessary to have an
                              ability to select a region based on
                              requirements and for now I don't care how
                              they are placed inside the region.  </div>
                            <div>I am not sure how region's capabilities
                              will be stored and actually this is a
                              reason why I am asking if Congress will
                              solve this. I can imagine a policy which
                              says if Solaris is required then select
                              Region_Solaris. Or more complex If Solaris
                              is required then select less loaded
                              regions from [Region_Solaris1,
                              Region_Solaris2]</div>
                            <div><br>
                            </div>
                            <div>In this use case Murano will deploy
                              complex environment which consist of
                              multiple atomic applications with
                              different requirements, so deployment will
                              be across clouds but for whole
                              environment. Imagine IBM MQ on AIX and
                              PowerPC + Oracle DB on Solaris + Microsoft
                              IIS on Windows 2012 & HyperV +
                              WebSphere on RHEL & KVM.</div>
                            <div><br>
                            </div>
                            <div>Thanks</div>
                            <div>Gosha</div>
                            <div><br>
                            </div>
                            <div><br>
                            </div>
                          </div>
                          <div class="gmail_extra"><br>
                            <div class="gmail_quote">On Wed, Jul 1, 2015
                              at 10:17 PM, <span dir="ltr"><<a href="mailto:ruby.krishnaswamy@orange.com" target="_blank">ruby.krishnaswamy@orange.com</a>></span>
                              wrote:<br>
                              <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                                <div link="blue" vlink="purple" lang="FR">
                                  <div>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black">Hi</span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black"> </span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black" lang="EN-US">Did you mean
                                        placement at “two levels”. First
                                        to select the region and then
                                        within each region, Nova
                                        scheduler will place on hosts.</span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black" lang="EN-US"> </span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black" lang="EN-US">But where will the
                                        capabilities of each region
                                        (based on which placement
                                        decision will be made) be
                                        stored? Will each region be
                                        queried to obtain this
                                        information?</span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black" lang="EN-US"></span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black" lang="EN-US">Will a single
                                        application need to be placed
                                        (split across) different
                                        regions?</span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black" lang="EN-US"> </span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black" lang="EN-US"></span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black" lang="EN-US">Ruby</span></p>
                                    <p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial","sans-serif";color:black" lang="EN-US"> </span></p>
                                    <p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">De :</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">
                                        Georgy Okrokvertskhov [mailto:<a href="mailto:gokrokvertskhov@mirantis.com" target="_blank">gokrokvertskhov@mirantis.com</a>]
                                        <br>
                                        <b>Envoyé :</b> mercredi 1
                                        juillet 2015 21:26<br>
                                        <b>À :</b> OpenStack Development
                                        Mailing List<br>
                                        <b>Objet :</b> [openstack-dev]
                                        [Murano][Congress] Application
                                        placement use case</span></p>
                                    <p class="MsoNormal"> </p>
                                    <div><span>
                                        <p style="margin:0cm;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black">Hi,</span></p>
                                        <p class="MsoNormal"> </p>
                                        <p style="margin:0cm;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black">I
                                            would like to share with the
                                            community one of the real
                                            use case which we saw while
                                            working with one of the
                                            Murano customer and ask an
                                            advice. This customer has
                                            multiple OpenStack regions
                                            which are serving for
                                            different hypervisors. The
                                            reason for that is Oracle
                                            OpenStack which is used to
                                            work with Solaris on top of
                                            SPARC architecture. There
                                            are other hypervisors KVM
                                            and VMWare which are used.</span></p>
                                        <p style="margin:0cm;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black">There
                                            are multiple applications
                                            which should be placed to
                                            different regions based on
                                            their requirements (OS,
                                            Hypervisor, networking
                                            restrictions). As there is
                                            no single cloud, Nova
                                            scheduler can’t be used (at
                                            least in my understanding)
                                            so we need to have some
                                            placement policies to put
                                            applications properly. And
                                            obviously we don’t want to
                                            ask end user about the
                                            placement.</span></p>
                                        <p class="MsoNormal"> </p>
                                        <p style="margin:0cm;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black">Right
                                            now in Murano we can do this
                                            by:</span></p>
                                      </span>
                                      <p style="margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt;vertical-align:baseline"><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black"><span>1.<span>   
                                            </span></span></span><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black">Hardcoding
                                          placement inside application.
                                          This approach will work and
                                          does not require any
                                          significant change in Murano.
                                          But there are obvious
                                          limitations like if we have
                                          two options for placement
                                          which one should be hardcoded.
                                        </span></p>
                                      <p style="margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt;vertical-align:baseline"><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black"><span>2.<span>   
                                            </span></span></span><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black">Create
                                          special placement scheduler
                                          application\class in Murano
                                          which will use some logic to
                                          place applications properly.
                                          This is better approach as
                                          nothing is hard coded in
                                          applications except their
                                          requirements. Applications
                                          will just have a workflow to
                                          ask placement scheduler for a
                                          decision and then will just
                                          use this decision.</span></p>
                                      <p style="margin-right:0cm;margin-bottom:0cm;margin-left:36.0pt;margin-bottom:.0001pt;vertical-align:baseline"><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black"><span>3.<span>   
                                            </span></span></span><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black">Use
                                          some external tool or
                                          OpenStack component for
                                          placement decision. This is a
                                          very generic use case which we
                                          saw multiple times. Tools like
                                          CIRBA are often used for this.
                                          Murano will need an interface
                                          to ask these tools. I think
                                          about this solution as an
                                          extension of 2.</span></p>
                                      <span>
                                        <p class="MsoNormal"> </p>
                                        <p style="margin:0cm;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black">I
                                            am aware that Murano is
                                            working on integration with
                                            Congress and I am looking
                                            for an opportunity here to
                                            address real use case of
                                            Murano usage in real
                                            customer environment. It
                                            will be great to know if
                                            OpenStack can offer
                                            something here without
                                            involving 3rd party tools. I
                                            suspect that this is a good
                                            use case for Congress, but I
                                            would like to see how it
                                            might be implemented.
                                          </span></p>
                                        <p class="MsoNormal"> </p>
                                        <p style="margin:0cm;margin-bottom:.0001pt"><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black">Thanks</span></p>
                                        <p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Arial","sans-serif";color:black">Gosha</span><br clear="all">
                                        </p>
                                        <div>
                                          <p class="MsoNormal"> </p>
                                        </div>
                                        <p class="MsoNormal">-- </p>
                                        <div>
                                          <div>
                                            <p class="MsoNormal"><span style="color:#999999;background:white">Georgy
                                                Okrokvertskhov<br>
                                                Architect,<br>
                                              </span><span style="font-family:"Arial","sans-serif";color:#999999;background:white">OpenStack
                                                Platform Products,</span><span style="color:#999999;background:white"><br>
                                                Mirantis</span><span style="color:#999999"><br>
                                                <a href="http://www.mirantis.com/" target="_blank">http://www.mirantis.com</a><br>
                                                Tel. <a href="tel:%2B1%20650%20963%209828" value="+16509639828" target="_blank">+1
                                                  650 963 9828</a><br>
                                                Mob. <a href="tel:%2B1%20650%20996%203284" value="+16509963284" target="_blank">+1
                                                  650 996 3284</a></span></p>
                                          </div>
                                        </div>
                                      </span></div>
                                  </div>
                                  <pre>_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.
</pre>
                                </div>
                                <br>
__________________________________________________________________________<br>
                                OpenStack Development Mailing List (not
                                for usage questions)<br>
                                Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
                                <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
                                <br>
                              </blockquote>
                            </div>
                            <br>
                            <br clear="all">
                            <div><br>
                            </div>
                            -- <br>
                            <div>
                              <div dir="ltr"><font color="#999999"><span style="background-color:rgb(255,255,255)">Georgy Okrokvertskhov<br>
                                    Architect,<br>
                                    <span style="font-family:arial;font-size:small">OpenStack
                                      Platform Products,</span><br>
                                    Mirantis</span><br>
                                  <a href="http://www.mirantis.com/" target="_blank">http://www.mirantis.com</a><br>
                                  Tel. <a href="tel:%2B1%20650%20963%209828" value="+16509639828" target="_blank">+1
                                    650 963 9828</a><br>
                                  Mob. <a href="tel:%2B1%20650%20996%203284" value="+16509963284" target="_blank">+1
                                    650 996 3284</a></font><br>
                              </div>
                            </div>
                          </div>
__________________________________________________________________________<br>
                          OpenStack Development Mailing List (not for
                          usage questions)<br>
                          Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
                          <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
                        </blockquote>
                      </div>
                    </blockquote>
                  </div>
                </div>
              </div>
            </div>
            <br>
__________________________________________________________________________<br>
            OpenStack Development Mailing List (not for usage questions)<br>
            Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
            <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
            <br>
          </blockquote>
        </div>
        <br>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        <div>
          <div dir="ltr"><font color="#999999"><span style="background-color:rgb(255,255,255)">Georgy
                Okrokvertskhov<br>
                Architect,<br>
                <span style="font-family:arial;font-size:small">OpenStack
                  Platform Products,</span><br>
                Mirantis</span><br>
              <a href="http://www.mirantis.com/" target="_blank">http://www.mirantis.com</a><br>
              Tel. +1 650 963 9828<br>
              Mob. +1 650 996 3284</font><br>
          </div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: <a href="mailto:OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </div>

__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div>