You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by ku...@gmail.com,
ku...@gmail.com on 2019/05/03 15:27:52 UTC
Optimal way to deploy osgi bundles in karaf cellar (without artifact repository)
Hi:
In my Karaf Cellar setup, I am not able to make use of the features provided by cellar, especially for bundle/feature synchronization.
I have the following configuration and it is intentional to set it disabled.
default.bundle.sync=disabled
default.config.sync=disabled
default.feature.sync=disabled
default.obr.urls.sync=disabled
default.balanced.servlet.sync=disabled
The nodes are allocated in a different group called workers. The sync policies of all components for this group are disabled as well. But, for the bundle, I have set it to `cluster`.
workers.bundle.sync = cluster
Ideally, when a bundle is deployed manually to Node A(copied jars into deploy folder), I was expecting it to broadcast this event to the cluster, and Node B to automatically receive the event and install the bundle. Although this behaviour is available with the local bundle listener, instructions as seen in the cellar manual made me aware that I cannot strongly rely on it.
Thus, I tried cluster:sync command. First on the producer node, and then executed it on the consumer node. The command is itself confusing that ended up deleting my deployed bundles time and again.
I do not have an artifact repository for my deployment. Rather, I have set of osgi bundle jars, which I can deploy to the deploy folder.
How would I be able to deploy my osgi jar bundles, and broadcast it to specific member nodes (e.g. a group), and without artfact repository?
Thanks,
Cooshal.
Re: Optimal way to deploy osgi bundles in karaf cellar (without
artifact repository)
Posted by Kushal Gautam <ku...@gmail.com>.
Hi JB,
thank you for this tip. Just tried this out, and it works for me, as I had
expected.
Regards,
Cooshal.
On Sat, May 4, 2019 at 8:16 AM Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
> Hi,
>
> If you have all nodes on same host, you can simply do:
>
> cluster:bundle-install file://...
>
> Then, the file location will be spread on the cluster.
>
> Regards
> JB
>
> On 04/05/2019 07:57, Kushal Gautam wrote:
> > Hi JB,
> >
> > thank you for the response.
> >
> > But, ideally, this should work if all the nodes are on the same host,
> > right? Currently, I have all the nodes on the same host.
> >
> > I will try this out with Cave once.
> >
> > Regards,
> > Cooshal.
> >
> > On Sat, May 4, 2019 at 6:45 AM Jean-Baptiste Onofré <jb@nanthrax.net
> > <ma...@nanthrax.net>> wrote:
> >
> > Hi,
> >
> > Cellar doesn't transport the artifact (bundle) itself, just the
> location
> > of the artifact.
> >
> > That's why the artifact has to be available between the cluster
> nodes.
> >
> > You need a share location between the nodes (NFS, http server, Karaf
> > cave, ...).
> >
> > cluster:bundle-install will the take the location and spread the
> > deployment on all nodes.
> >
> > Using cluster:sync is not require (sync is to force the resync of the
> > cluster). I would use cluster:bundle-install with Cave for instance.
> >
> > The deploy folder don't work as it is, or it has to be on a shared
> > filesystem.
> >
> > Regards
> > JB
> >
> > On 03/05/2019 17:27, kushal.gautam@gmail.com
> > <ma...@gmail.com> wrote:
> > > Hi:
> > >
> > > In my Karaf Cellar setup, I am not able to make use of the
> > features provided by cellar, especially for bundle/feature
> > synchronization.
> > >
> > > I have the following configuration and it is intentional to set it
> > disabled.
> > > default.bundle.sync=disabled
> > > default.config.sync=disabled
> > > default.feature.sync=disabled
> > > default.obr.urls.sync=disabled
> > > default.balanced.servlet.sync=disabled
> > >
> > > The nodes are allocated in a different group called workers. The
> > sync policies of all components for this group are disabled as well.
> > But, for the bundle, I have set it to `cluster`.
> > >
> > > workers.bundle.sync = cluster
> > >
> > > Ideally, when a bundle is deployed manually to Node A(copied jars
> > into deploy folder), I was expecting it to broadcast this event to
> > the cluster, and Node B to automatically receive the event and
> > install the bundle. Although this behaviour is available with the
> > local bundle listener, instructions as seen in the cellar manual
> > made me aware that I cannot strongly rely on it.
> > >
> > > Thus, I tried cluster:sync command. First on the producer node,
> > and then executed it on the consumer node. The command is itself
> > confusing that ended up deleting my deployed bundles time and again.
> > >
> > > I do not have an artifact repository for my deployment. Rather, I
> > have set of osgi bundle jars, which I can deploy to the deploy
> folder.
> > >
> > > How would I be able to deploy my osgi jar bundles, and broadcast
> > it to specific member nodes (e.g. a group), and without artfact
> > repository?
> > >
> > > Thanks,
> > > Cooshal.
> > >
> >
> > --
> > Jean-Baptiste Onofré
> > jbonofre@apache.org <ma...@apache.org>
> > http://blog.nanthrax.net
> > Talend - http://www.talend.com
> >
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
Re: Optimal way to deploy osgi bundles in karaf cellar (without
artifact repository)
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,
If you have all nodes on same host, you can simply do:
cluster:bundle-install file://...
Then, the file location will be spread on the cluster.
Regards
JB
On 04/05/2019 07:57, Kushal Gautam wrote:
> Hi JB,
>
> thank you for the response.
>
> But, ideally, this should work if all the nodes are on the same host,
> right? Currently, I have all the nodes on the same host.
>
> I will try this out with Cave once.
>
> Regards,
> Cooshal.
>
> On Sat, May 4, 2019 at 6:45 AM Jean-Baptiste Onofré <jb@nanthrax.net
> <ma...@nanthrax.net>> wrote:
>
> Hi,
>
> Cellar doesn't transport the artifact (bundle) itself, just the location
> of the artifact.
>
> That's why the artifact has to be available between the cluster nodes.
>
> You need a share location between the nodes (NFS, http server, Karaf
> cave, ...).
>
> cluster:bundle-install will the take the location and spread the
> deployment on all nodes.
>
> Using cluster:sync is not require (sync is to force the resync of the
> cluster). I would use cluster:bundle-install with Cave for instance.
>
> The deploy folder don't work as it is, or it has to be on a shared
> filesystem.
>
> Regards
> JB
>
> On 03/05/2019 17:27, kushal.gautam@gmail.com
> <ma...@gmail.com> wrote:
> > Hi:
> >
> > In my Karaf Cellar setup, I am not able to make use of the
> features provided by cellar, especially for bundle/feature
> synchronization.
> >
> > I have the following configuration and it is intentional to set it
> disabled.
> > default.bundle.sync=disabled
> > default.config.sync=disabled
> > default.feature.sync=disabled
> > default.obr.urls.sync=disabled
> > default.balanced.servlet.sync=disabled
> >
> > The nodes are allocated in a different group called workers. The
> sync policies of all components for this group are disabled as well.
> But, for the bundle, I have set it to `cluster`.
> >
> > workers.bundle.sync = cluster
> >
> > Ideally, when a bundle is deployed manually to Node A(copied jars
> into deploy folder), I was expecting it to broadcast this event to
> the cluster, and Node B to automatically receive the event and
> install the bundle. Although this behaviour is available with the
> local bundle listener, instructions as seen in the cellar manual
> made me aware that I cannot strongly rely on it.
> >
> > Thus, I tried cluster:sync command. First on the producer node,
> and then executed it on the consumer node. The command is itself
> confusing that ended up deleting my deployed bundles time and again.
> >
> > I do not have an artifact repository for my deployment. Rather, I
> have set of osgi bundle jars, which I can deploy to the deploy folder.
> >
> > How would I be able to deploy my osgi jar bundles, and broadcast
> it to specific member nodes (e.g. a group), and without artfact
> repository?
> >
> > Thanks,
> > Cooshal.
> >
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org <ma...@apache.org>
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com
Re: Optimal way to deploy osgi bundles in karaf cellar (without
artifact repository)
Posted by Kushal Gautam <ku...@gmail.com>.
Hi JB,
thank you for the response.
But, ideally, this should work if all the nodes are on the same host,
right? Currently, I have all the nodes on the same host.
I will try this out with Cave once.
Regards,
Cooshal.
On Sat, May 4, 2019 at 6:45 AM Jean-Baptiste Onofré <jb...@nanthrax.net> wrote:
> Hi,
>
> Cellar doesn't transport the artifact (bundle) itself, just the location
> of the artifact.
>
> That's why the artifact has to be available between the cluster nodes.
>
> You need a share location between the nodes (NFS, http server, Karaf
> cave, ...).
>
> cluster:bundle-install will the take the location and spread the
> deployment on all nodes.
>
> Using cluster:sync is not require (sync is to force the resync of the
> cluster). I would use cluster:bundle-install with Cave for instance.
>
> The deploy folder don't work as it is, or it has to be on a shared
> filesystem.
>
> Regards
> JB
>
> On 03/05/2019 17:27, kushal.gautam@gmail.com wrote:
> > Hi:
> >
> > In my Karaf Cellar setup, I am not able to make use of the features
> provided by cellar, especially for bundle/feature synchronization.
> >
> > I have the following configuration and it is intentional to set it
> disabled.
> > default.bundle.sync=disabled
> > default.config.sync=disabled
> > default.feature.sync=disabled
> > default.obr.urls.sync=disabled
> > default.balanced.servlet.sync=disabled
> >
> > The nodes are allocated in a different group called workers. The sync
> policies of all components for this group are disabled as well. But, for
> the bundle, I have set it to `cluster`.
> >
> > workers.bundle.sync = cluster
> >
> > Ideally, when a bundle is deployed manually to Node A(copied jars into
> deploy folder), I was expecting it to broadcast this event to the cluster,
> and Node B to automatically receive the event and install the bundle.
> Although this behaviour is available with the local bundle listener,
> instructions as seen in the cellar manual made me aware that I cannot
> strongly rely on it.
> >
> > Thus, I tried cluster:sync command. First on the producer node, and then
> executed it on the consumer node. The command is itself confusing that
> ended up deleting my deployed bundles time and again.
> >
> > I do not have an artifact repository for my deployment. Rather, I have
> set of osgi bundle jars, which I can deploy to the deploy folder.
> >
> > How would I be able to deploy my osgi jar bundles, and broadcast it to
> specific member nodes (e.g. a group), and without artfact repository?
> >
> > Thanks,
> > Cooshal.
> >
>
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>
Re: Optimal way to deploy osgi bundles in karaf cellar (without
artifact repository)
Posted by Jean-Baptiste Onofré <jb...@nanthrax.net>.
Hi,
Cellar doesn't transport the artifact (bundle) itself, just the location
of the artifact.
That's why the artifact has to be available between the cluster nodes.
You need a share location between the nodes (NFS, http server, Karaf
cave, ...).
cluster:bundle-install will the take the location and spread the
deployment on all nodes.
Using cluster:sync is not require (sync is to force the resync of the
cluster). I would use cluster:bundle-install with Cave for instance.
The deploy folder don't work as it is, or it has to be on a shared
filesystem.
Regards
JB
On 03/05/2019 17:27, kushal.gautam@gmail.com wrote:
> Hi:
>
> In my Karaf Cellar setup, I am not able to make use of the features provided by cellar, especially for bundle/feature synchronization.
>
> I have the following configuration and it is intentional to set it disabled.
> default.bundle.sync=disabled
> default.config.sync=disabled
> default.feature.sync=disabled
> default.obr.urls.sync=disabled
> default.balanced.servlet.sync=disabled
>
> The nodes are allocated in a different group called workers. The sync policies of all components for this group are disabled as well. But, for the bundle, I have set it to `cluster`.
>
> workers.bundle.sync = cluster
>
> Ideally, when a bundle is deployed manually to Node A(copied jars into deploy folder), I was expecting it to broadcast this event to the cluster, and Node B to automatically receive the event and install the bundle. Although this behaviour is available with the local bundle listener, instructions as seen in the cellar manual made me aware that I cannot strongly rely on it.
>
> Thus, I tried cluster:sync command. First on the producer node, and then executed it on the consumer node. The command is itself confusing that ended up deleting my deployed bundles time and again.
>
> I do not have an artifact repository for my deployment. Rather, I have set of osgi bundle jars, which I can deploy to the deploy folder.
>
> How would I be able to deploy my osgi jar bundles, and broadcast it to specific member nodes (e.g. a group), and without artfact repository?
>
> Thanks,
> Cooshal.
>
--
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com