<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>