This looks great, I'll take a look as soon as I get a chance. -leo
On Thu, Nov 17, 2011 at 7:16 AM, Matthieu Morel (Commented) (JIRA) < [email protected]> wrote: > > [ > https://issues.apache.org/jira/browse/S4-24?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13152094#comment-13152094] > > Matthieu Morel commented on S4-24: > ---------------------------------- > > After getting valuable feedback from Kishore, I added some improvements to > the deployment manager. > > I also added support for fetching S4Rs through HTTP (implemented with > Netty). > > Updates are published here : > https://github.com/matthieumorel/s4-piper/tree/deployment-manager > > Leo, note that I kept an intermediate step through a temporary file when > fetching S4Rs. Indeed, passing around file streams is possible but > complexifies the code for maintaining and closing those streams. In > addition, this module is just for loading applications and it has no impact > on the performance of the applications, thus I don't see a strong need for > skipping that intermediate step, at least for now. > > > > Dynamic deployment of S4 applications from a remote repository > > -------------------------------------------------------------- > > > > Key: S4-24 > > URL: https://issues.apache.org/jira/browse/S4-24 > > Project: Apache S4 > > Issue Type: Sub-task > > Affects Versions: 0.5 > > Reporter: Matthieu Morel > > Assignee: Matthieu Morel > > Fix For: 0.5 > > > > > > Use case: > > - at startup or during runtime, s4 nodes are notified of new > applications available. The code for these applications is fetched from a > remote repository, installed on S4 nodes, and the applications are started > automatically. > > How does it work? > > - Zookeeper is used for coordination: when a new app is available, it > creates a new znode under /s4-cluster-name/apps/app1 > > - S4 nodes are notified of this new znode, which contains the s4r URI as > metadata > > - S4 nodes can then fetch the s4r, copy it to a local directory and > start it > > - we also need a facility to create the app into Zookeeper, along with > required metadata > > For a first milestone, I suggest: > > - a simple file system based repository (can be a distributed file > system) > > - deployment only, no unloading > > Later we can add extensions: > > - We could provide various repository clients, depending on the protocol > specified, and on the level of trust of the repository (although for a > first version, we would just provide a simple mechanism and assume a > trustworthy environment). > > - more metada in the application znode, in order to control the state of > the app, a time to start / stop, a number of nodes, nodes requirements > etc... > > I'll start working on a first implementation, and I'm eager to receive > suggestions. > > -- > This message is automatically generated by JIRA. > If you think it was sent incorrectly, please contact your JIRA > administrators: > https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa > For more information on JIRA, see: http://www.atlassian.com/software/jira > > > -- Leo Neumeyer (@leoneu)
