Yes, We should have python based agent in 4.1.0 release.

On Tue, May 20, 2014 at 6:14 PM, Akila Ravihansa Perera
<raviha...@wso2.com>wrote:

> Hi all,
>
> AFAIK, the Stratos community has decided to put effort in writing a
> new cartridge-agent using Python. In that case, Java based agent will
> become deprecated and all DevOps level extensions will have to be done
> using Python. But until then we can use this shell script based model.
>
> I'll update the thread once I've finished writing documentation for
> agent extension points.
>
> Thanks.
>
> On Tue, May 20, 2014 at 6:07 PM, Akila Ravihansa Perera
> <raviha...@wso2.com> wrote:
> > Hi Shaheed,
> >
> > On Mon, May 19, 2014 at 2:55 AM, Shaheedur Haque (shahhaqu)
> > <shahh...@cisco.com> wrote:
> >> Is there any documentation on how this works form the scripter's point
> of view? Specifically:
> >
> > I'm working on writing documentation content for cartridge-agent
> > extension points. Also planning to publish some articles on cartridge
> > deployment use cases (for eg - clustering MongoDB) in which these
> > extensions are being used.
> >
> >>
> >> - For the old events (i.e. the non-toplogy events hooked via the
> /extensions directory), is the new code backwards compatible with scripts
> using the /extensions mechanism?
> >
> > There will be no changes done for previous non-topology events. The
> > new code will use the same /extensions directory mechanism. Only the
> > shell scripts' file names for each extension point will be passed as
> > parameters to the cartridge-agent.
> >
> >>
> >> - Specifically,  (I'm not familiar with the JavaProcessBuilder), can
> you confirm if environment variables set before the JVM is invoked will
> still be visible to the shell scripts?
> >
> > I've tested and confirmed that environment variables set before the
> > JVM is invoked are visible to the shell scripts. On the side note, the
> > JavaProcessBuilder will only append our custom parameters to the shell
> > script process environment block. This is same as writing to
> > /proc/<pid>/environ (pid - shell script process pid) in Linux. Pl note
> > that these env variables set by the cartridge-agent are *not* shared
> > globally across other processes.
> >
> >
> >>
> >> Thanks, Shaheed
> >>
> >>
> >> -----Original Message-----
> >> From: Akila Ravihansa Perera [mailto:raviha...@wso2.com]
> >> Sent: 07 May 2014 05:24
> >> To: dev@stratos.incubator.apache.org
> >> Cc: Sajith Kariyawasam; Reka Thirunavukkarasu
> >> Subject: Re: Cartridge Agent Extension Points
> >>
> >> Pl note that patch is against the master branch (as of yesterday).
> >>
> >> Following are the list of event listeners that it will subscribe to 1.
> MemberActivatedEventListener 2. MemberTerminatedEvent 3.
> MemberSuspendedEventListener 4. CompleteTopologyEventListener 5.
> SubscriptionDomainsAddedEventListener
> >> 6. SubscriptionDomainsRemovedEventListener
> >> 7. CompleteTenantEvent
> >> 8. ArtifactUpdateEventListener (only locally) 9.
> InstanceCleanupMemberEventListener (only locally) 10.
> InstanceCleanupClusterEventListener (only locally) 11. Instance Started
> Event (only locally) 12. Start Servers event (only locally) 13. Instance
> Activated Event (only locally)
> >>
> >> These event handlers are called through an interface
> (ExtensionHandler). Therefore someone else can easily implement this
> interface and customize extensions from code level. The main purpose is
> however to extend the cartridge agent through shell scripts without
> changing the code.
> >>
> >> PS - Is there an on-going development effort to develop the cartridge
> agent in Python or Google GO? If so I would like to get involved :)
> >>
> >> Thanks.
> >>
> >> On Wed, May 7, 2014 at 9:44 AM, Akila Ravihansa Perera <
> raviha...@wso2.com> wrote:
> >>> Hi,
> >>>
> >>> I've developed cartridge agent extension points feature for Stratos
> >>> cartridge agent. This will work by listening to event messages
> >>> published by CC, ADC and agents running on instances.
> >>>
> >>> Once an event is received it will execute a shell script (system
> >>> command) with parameters passed to it as environment variables through
> >>> Java ProcessBuilder class. These environment variables are visible
> >>> only to that process so there is no risk of dirty read/write.
> >>>
> >>> These script names can be set from stratos.sh and these are not
> >>> hard-coded. Puppet templates can be used to set script names for each
> >>> event type. This can be useful when dealing with different platforms
> >>> (For eg - Linux, Windows, OS X etc)
> >>>
> >>> I had to make some changes to the core messaging component to get
> >>> LBClusterID from Member Activated event. This is because it is
> >>> necessary for LBs to identify which members belong to their LB cluster
> >>> when they receive a member activated event. If someone can tell a
> >>> workaround, please do share.
> >>>
> >>> I have attached the patch in [1] as a JIRA issue.
> >>>
> >>> Thanks.
> >>>
> >>> [1] - https://issues.apache.org/jira/browse/STRATOS-642
> >>>
> >>>
> >>> --
> >>> Akila Ravihansa Perera
> >>> Software Engineer
> >>> WSO2 Inc.
> >>> http://wso2.com
> >>>
> >>> Phone: +94 77 64 154 38
> >>> Blog: http://ravihansa3000.blogspot.com
> >>
> >>
> >>
> >> --
> >> Akila Ravihansa Perera
> >> Software Engineer
> >> WSO2 Inc.
> >> http://wso2.com
> >>
> >> Phone: +94 77 64 154 38
> >> Blog: http://ravihansa3000.blogspot.com
> >
> >
> >
> > --
> > Akila Ravihansa Perera
> > Software Engineer
> > WSO2 Inc.
> > http://wso2.com
> >
> > Phone: +94 77 64 154 38
> > Blog: http://ravihansa3000.blogspot.com
>
>
>
> --
> Akila Ravihansa Perera
> Software Engineer
> WSO2 Inc.
> http://wso2.com
>
> Phone: +94 77 64 154 38
> Blog: http://ravihansa3000.blogspot.com
>



-- 
Lakmal Warusawithana
Director - Cloud Architecture; WSO2 Inc.
Mobile : +94714289692
Blog : http://lakmalsview.blogspot.com/

Reply via email to