brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aled Sage <aled.s...@gmail.com>
Subject Re: Patching existing applications
Date Tue, 19 Jul 2016 22:24:55 GMT
Hi Graham,

There are many ways to tackle this problem - the general philosophy in 
Brooklyn is to do it in the way that is best practice for the software 
under management (sorry that's a bit vague!).

Are these "replicated components" stateless, which need upgraded?

If you can entirely replace individual servers within the composite app 
to achieve the upgrade, then that is the "most cloudy way". You'd want 
to use a policy to replace nodes N at a time (or an effector that would 
loop through the members of the cluster doing this).

---
Alternatively, you might need to upgrade the VM in-place. If there is no 
first-class support for this in the given blueprint (i.e. no existing 
effector to perform the upgrade), then you could invoke new scripts on 
the VM (e.g. via an effector) to make the change. And over time you 
could add first-class support for this upgrade process to the blueprint.

If upgrading in-place, you'll want to carefully follow the upgrade 
instructions in the software's admin guide. You'll also want to do it 
incrementally to the nodes that need upgraded.

---
If you can let us know a little more about your use-case and the 
blueprint, and which approach is most suitable for you then we can try 
to give more guidance as to how this would be done in Brooklyn.

Aled


On 19/07/2016 22:44, Mike Zaccardo wrote:
> Hi Graham,
>
> I don't have a complete answer for you now as this isn't my particular area
> of expertise, but I can get you started and will ask around for more
> information in order to provide a fuller answer.
>
> I believe this functionality can be achieved using a combination of an
> effector and the `ServiceReplacer` policy.  Here are two examples[1][2] of
> this policy in use.  My understanding is that the service could be replaced
> with a new instance running an upgraded version, on demand.  I will confirm
> this.
>
> I hope this helps for starters.
>
> Cheers,
> Mike
>
> [1] https://brooklyn.apache.org/v/latest/start/policies.html
> [2] https://brooklyn.apache.org/v/latest/java/topology-dependencies.html
>
> On Tue, Jul 19, 2016 at 2:20 PM Graham Ashby <Graham.Ashby@ca.ibm.com>
> wrote:
>
>> I've been investigating using Brooklyn with our product.  I've been
>> impressed with the out of box capabilities, plus the ease of extending it.
>>
>> However, one thing I haven't seen addressed in the documentation is how
>> you patch running systems.  Say I have a composite application that has a
>> number of subsidiary applcations.  Now of those, there are a number of
>> replicated components tat all need upgrading.  How do I do this?  I would
>> have the blueprint for the entire system.  How do I indicate that certain
>> parts need updating?  I don't want to have to tear down the existing
>> system, and rebuild a new one.
>>
>> Sorry if this is muddled -- I'm new to Brooklyn.
>>
>> Thanks
>> Graham Ashby
>> IBM Canada
>>
>>


Mime
View raw message