[openstack-dev] [Murano][Congress] Application placement use case

Tim Hinrichs tim at styra.com
Mon Jul 6 16:13:32 UTC 2015


Sorry--hit the Send button by accident.


> Hi Gosha,
>
> 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.
>
> 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?
>
> 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
>


> "Solaris is required then select Region_Solaris. "
>
> permitted_region(app, "region_solaris") :-
>     murano:app_requires(app, "solaris")
>

A. If Solaris is required then select region_solaris

permitted_region(app, "region_solaris") :-
    murano:app_requires(app, "solaris")

B. If Solaris is required then select less loaded regions from
[Region_Solaris1, Region_Solaris2]

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

best_region(app, min(y)) :-
    permitted_region(app, x),
    ceilometer:region_load(x, y)



>
> [1] Design doc:
> https://docs.google.com/document/d/1ksDilJYXV-5AXWON8PLMedDKr9NpS8VbT0jIy_MIEtI/edit
> [2] Slides:
> https://drive.google.com/a/styra.com/file/d/0ByDz-eYOtswScUFUc1ZrVVhmQlk/view
>
>
>
Tim


> On Thu, Jul 2, 2015 at 7:36 AM Georgy Okrokvertskhov <
> gokrokvertskhov at mirantis.com> wrote:
>
>> Hi,
>>
>> 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.
>> 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]
>>
>> 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.
>>
>> Thanks
>> Gosha
>>
>>
>>
>> On Wed, Jul 1, 2015 at 10:17 PM, <ruby.krishnaswamy at orange.com> wrote:
>>
>>>  Hi
>>>
>>>
>>>
>>>
>>>
>>> Did you mean placement at “two levels”. First to select the region and
>>> then within each region, Nova scheduler will place on hosts.
>>>
>>>
>>>
>>> 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?
>>>
>>>  Will a single application need to be placed (split across) different
>>> regions?
>>>
>>>
>>>
>>>  Ruby
>>>
>>>
>>>
>>> *De :* Georgy Okrokvertskhov [mailto:gokrokvertskhov at mirantis.com]
>>> *Envoyé :* mercredi 1 juillet 2015 21:26
>>> *À :* OpenStack Development Mailing List
>>> *Objet :* [openstack-dev] [Murano][Congress] Application placement use
>>> case
>>>
>>>
>>>
>>> Hi,
>>>
>>>
>>>
>>> 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.
>>>
>>> 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.
>>>
>>>
>>>
>>> Right now in Murano we can do this by:
>>>
>>> 1.    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.
>>>
>>> 2.    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.
>>>
>>> 3.    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.
>>>
>>>
>>>
>>> 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.
>>>
>>>
>>>
>>> Thanks
>>>
>>> Gosha
>>>
>>>
>>>
>>> --
>>>
>>> Georgy Okrokvertskhov
>>> Architect,
>>> OpenStack Platform Products,
>>> Mirantis
>>> http://www.mirantis.com
>>> Tel. +1 650 963 9828
>>> Mob. +1 650 996 3284
>>>
>>> _________________________________________________________________________________________________________________________
>>>
>>> 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.
>>>
>>>
>>>
>>> __________________________________________________________________________
>>> OpenStack Development Mailing List (not for usage questions)
>>> Unsubscribe:
>>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>>
>>>
>>
>>
>> --
>> Georgy Okrokvertskhov
>> Architect,
>> OpenStack Platform Products,
>> Mirantis
>> http://www.mirantis.com
>> Tel. +1 650 963 9828
>> Mob. +1 650 996 3284
>>
>> __________________________________________________________________________
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20150706/d3745e1f/attachment.html>


More information about the OpenStack-dev mailing list