On Mon, Jul 27, 2015 at 12:32 PM, Alexey Goncharuk <
alexey.goncha...@gmail.com> wrote:

> I like the idea, however I do not like the API.
>
> Why do we need to limit deployment process to a list of files or GIT
> repositories? What if I want to build artifacts from Mercurial using
> gradle? I think the entity that provides artifacts should be an interface
> and Ignite should provide an out-of-the-box set of builders that can fetch
> files or Maven artifacts or build GIT repos with pom files.
>
>
Agree. deploy() method should take smth like DeploymentProvider interface
with getArtifacts() method. We can also add it as a configuration property
to apply automatically on startup.

I'm also not sure about -deploy option for ignite.sh. It seems to me that
deployment should be used by an application that deployed it. What can a
standalone node do with it?


> Besides the API, we should describe how the deployment process interacts
> with other Ignite subsystems. For example, once artifacts are deployed,
> they should be made available on joining nodes on early stages of
> discovery, so that dynamic cache start feature can use those classes to
> instantiate cache store. Should we provide a method to undeploy artifacts?
> If yes, we should gracefully clean up all components that may have used
> deployed code: stop caches, distributed services, tasks. Looks like
> deploy() should return an instance of Ignite which has a deployment
> context, and deployed classes should be made available only for method
> invocations made on that particular Ignite instance.
>

I think ability to redeploy (and therefore undeploy) is a must here.
Otherwise you will need to restart the cluster each time you have changes.
This makes the feature useless.


>
> --AG
>
> 2015-07-27 11:49 GMT-07:00 Valentin Kulichenko <
> valentin.kuliche...@gmail.com>:
>
> > +1 for the feature. Looks like really good usability enhancement.
> >
> > -Val
> >
> > On Sun, Jul 26, 2015 at 10:31 PM, Dmitriy Setrakyan <
> dsetrak...@apache.org
> > >
> > wrote:
> >
> > > Igniters,
> > >
> > > So far Ignite deployment process left it up to a user to deploy all the
> > > libraries on all the nodes manually, before a node can even be started
> > up.
> > >
> > > What about adding *Ignite.deploy(...)* method that could do the
> > deployment
> > > automatically? As parameters to this method, it could receive either a
> > URI
> > > of the user archives, a GIT repository, or Maven repositories and
> > > artifacts.
> > >
> > > I have described the design here:
> > > https://issues.apache.org/jira/browse/IGNITE-1160
> > >
> > > Please provide comments on whether you think this functionality is
> useful
> > > or sufficient.
> > >
> > > D,
> > >
> >
>

Reply via email to