Re: [jgroups-users] suggestions for working with OpenStack (NAT question)

Questions/problems related to using JGroups <[email protected]> Fri, 17 Apr 2020 10:19:51 -0400
Newsgroups gmane.comp.java.javagroups.general
Message-ID <mailman.5971.1587134941.1839.javagroups-users@lists.sourceforge.net>
--===============8912907966329502795==
Content-Type: multipart/alternative; boundary="0000000000003b17fb05a37d40a1"

--0000000000003b17fb05a37d40a1
Content-Type: text/plain; charset="UTF-8"

Hi,

Finally getting to this in our planning, and it looks like it's working
just fine. Our POC had some issues due to network woes of someone's laptop
talking to remote OpenStack installation, but I believe the problem is
solved without all that. If I can get nodes to communicate where each node
only knows the floating IP of the others, that's the task. And, not to
belabor the point, you already have code to handle it!

Cheers,
Bobby


On Tue, Jan 21, 2020 at 9:53 AM Questions/problems related to using JGroups
<[email protected]> wrote:

>
>
> On 21.01.20 15:49, Questions/problems related to using JGroups wrote:
> > Thanks for this.
> >
> > I didn't know about the external_addr field (I need to take some time
> > off and go through all the jgroups manuals again....). I think that
> > could solve the problem for us very easily.
>
> Keeping my fingers crossed.
>
> Note that 5.0.0.Alpha1 will be released very soon, as soon as I have the
> manual finished...
>
> > Will hopefully get a chance to try this soon so we at least have a plan
> > for the customer asking about it.
>
> Let me know whether/how this works,
> Cheers,
>
> > Thanks!
> > Bobby
> >
> >
> > On Tue, Jan 21, 2020 at 7:21 AM Questions/problems related to using
> > JGroups <[email protected]
> > <mailto:[email protected]>> wrote:
> >
> >
> >
> >     On 20.01.20 18:55, Questions/problems related to using JGroups wrote:
> >      > Hi,
> >      >
> >      > A customer wants to use our product on OpenStack, which (I assume
> >     you know)
> >
> >     I know it by name, but I've never used it
> >
> >      > has private addresses for every node and then a floating IP
> >      > address which can be reached everywhere. So they have nodes "not
> >     on the
> >      > same network, on different cloud providers / zones with
> incompatible
> >      > addresses scheme."
> >      >
> >      > We're using a tcp stack, jgroups 4.1.8, and TCP#bind_addr has to
> >     be set
> >      > to the local, private, address or else jgroups can't bind to it.
> But
> >      > then other nodes can't reach that node. Do you have suggestions
> >     about
> >      > how to make this work?
> >
> >     Yes, you could bind JGroups to the private IP address and set
> >     external_addr to the public IP address. This means JGroups will bind
> to
> >     bind_addr:bind_port, but expose its address (in the discovery
> process)
> >     as external_addr:(external_port). Note that if the latter is not
> >     set, it
> >     will be the same value as bind_port (even if it is 0; then the
> >     ephemeral
> >     port will be used).
> >
> >     In TCPPING.initial_hosts, you'd list the *public* (external_addr) IP
> >     addresses:ports
> >
> >      > I don't have access to an OpenStack setup like this to test; I
> >     can only
> >      > test in one region, so I don't know if using floating IPs for
> >      > TCPPING#initial_hosts should work or not for the nodes to find
> each
> >      > other. (If so, that's great, but would mean a lot of work for us
> >     to have
> >      > the nodes carry around a 2nd IP address to pass to each other for
> >     other
> >      > reasons.)
> >
> >     That should work, and I don't think you need to pass around a second
> IP
> >     address, as all nodes are only known by their public IPs.
> >
> >     As an alternative, which works across different cloud regions and
> cloud
> >     providers, you could use the TUNNEL/GossipRouter combo, see [1] fpr
> >     details.
> >     Cheers,
> >
> >     [1]
> >
> http://belaban.blogspot.com/2019/12/spanning-jgroups-kubernetes-based.html
> >
> >      > Thanks,
> >      > Bobby
> >      >
> >      >
> >      >
> >      > _______________________________________________
> >      > javagroups-users mailing list
> >      > [email protected]
> >     <mailto:[email protected]>
> >      > https://lists.sourceforge.net/lists/listinfo/javagroups-users
> >      >
> >
> >     --
> >     Bela Ban | http://www.jgroups.org
> >
> >
> >
> >     _______________________________________________
> >     javagroups-users mailing list
> >     [email protected]
> >     <mailto:[email protected]>
> >     https://lists.sourceforge.net/lists/listinfo/javagroups-users
> >
> >
> >
> > _______________________________________________
> > javagroups-users mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/javagroups-users
> >
>
> --
> Bela Ban | http://www.jgroups.org
>
>
>
> _______________________________________________
> javagroups-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/javagroups-users
>

--0000000000003b17fb05a37d40a1
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>Finally getting to this in our plan=
ning, and it looks like it&#39;s working just fine. Our POC=C2=A0had some i=
ssues due to network woes of someone&#39;s laptop talking to remote OpenSta=
ck installation, but I believe the problem is solved without all that. If I=
 can get nodes to communicate where each node only knows the floating IP of=
 the others, that&#39;s the task. And, not to belabor the point, you alread=
y have code to handle it!</div><div><br></div><div>Cheers,</div><div>Bobby<=
/div><div><br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" c=
lass=3D"gmail_attr">On Tue, Jan 21, 2020 at 9:53 AM Questions/problems rela=
ted to using JGroups &lt;<a href=3D"mailto:[email protected]=
ge.net">[email protected]</a>&gt; wrote:<br></div><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
On 21.01.20 15:49, Questions/problems related to using JGroups wrote:<br>
&gt; Thanks for this.<br>
&gt; <br>
&gt; I didn&#39;t know about the=C2=A0external_addr field (I need to take s=
ome time <br>
&gt; off and go through all the jgroups manuals again....). I think that <b=
r>
&gt; could solve the problem for us very easily.<br>
<br>
Keeping my fingers crossed.<br>
<br>
Note that 5.0.0.Alpha1 will be released very soon, as soon as I have the <b=
r>
manual finished...<br>
<br>
&gt; Will hopefully get a chance to try this soon so we at least have a pla=
n <br>
&gt; for the customer asking about it.<br>
<br>
Let me know whether/how this works,<br>
Cheers,<br>
<br>
&gt; Thanks!<br>
&gt; Bobby<br>
&gt; <br>
&gt; <br>
&gt; On Tue, Jan 21, 2020 at 7:21 AM Questions/problems related to using <b=
r>
&gt; JGroups &lt;<a href=3D"mailto:[email protected]" =
target=3D"_blank">[email protected]</a> <br>
&gt; &lt;mailto:<a href=3D"mailto:[email protected]" t=
arget=3D"_blank">[email protected]</a>&gt;&gt; wrote:<=
br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0On 20.01.20 18:55, Questions/problems related to us=
ing JGroups wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; Hi,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; A customer wants to use our product on OpenSt=
ack, which (I assume<br>
&gt;=C2=A0 =C2=A0 =C2=A0you know)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0I know it by name, but I&#39;ve never used it<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; has private addresses for every node and then=
 a floating IP<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; address which can be reached everywhere. So t=
hey have nodes &quot;not<br>
&gt;=C2=A0 =C2=A0 =C2=A0on the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; same network, on different cloud providers / =
zones with incompatible<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; addresses scheme.&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; We&#39;re using a tcp stack, jgroups 4.1.8, a=
nd TCP#bind_addr has to<br>
&gt;=C2=A0 =C2=A0 =C2=A0be set<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; to the local, private, address or else jgroup=
s can&#39;t bind to it. But<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; then other nodes can&#39;t reach that node. D=
o you have suggestions<br>
&gt;=C2=A0 =C2=A0 =C2=A0about<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; how to make this work?<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0Yes, you could bind JGroups to the private IP addre=
ss and set<br>
&gt;=C2=A0 =C2=A0 =C2=A0external_addr to the public IP address. This means =
JGroups will bind to<br>
&gt;=C2=A0 =C2=A0 =C2=A0bind_addr:bind_port, but expose its address (in the=
 discovery process)<br>
&gt;=C2=A0 =C2=A0 =C2=A0as external_addr:(external_port). Note that if the =
latter is not<br>
&gt;=C2=A0 =C2=A0 =C2=A0set, it<br>
&gt;=C2=A0 =C2=A0 =C2=A0will be the same value as bind_port (even if it is =
0; then the<br>
&gt;=C2=A0 =C2=A0 =C2=A0ephemeral<br>
&gt;=C2=A0 =C2=A0 =C2=A0port will be used).<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0In TCPPING.initial_hosts, you&#39;d list the *publi=
c* (external_addr) IP<br>
&gt;=C2=A0 =C2=A0 =C2=A0addresses:ports<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; I don&#39;t have access to an OpenStack setup=
 like this to test; I<br>
&gt;=C2=A0 =C2=A0 =C2=A0can only<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; test in one region, so I don&#39;t know if us=
ing floating IPs for<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; TCPPING#initial_hosts should work or not for =
the nodes to find each<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; other. (If so, that&#39;s great, but would me=
an a lot of work for us<br>
&gt;=C2=A0 =C2=A0 =C2=A0to have<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; the nodes carry around a 2nd IP address to pa=
ss to each other for<br>
&gt;=C2=A0 =C2=A0 =C2=A0other<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; reasons.)<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0That should work, and I don&#39;t think you need to=
 pass around a second IP<br>
&gt;=C2=A0 =C2=A0 =C2=A0address, as all nodes are only known by their publi=
c IPs.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0As an alternative, which works across different clo=
ud regions and cloud<br>
&gt;=C2=A0 =C2=A0 =C2=A0providers, you could use the TUNNEL/GossipRouter co=
mbo, see [1] fpr<br>
&gt;=C2=A0 =C2=A0 =C2=A0details.<br>
&gt;=C2=A0 =C2=A0 =C2=A0Cheers,<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0[1]<br>
&gt;=C2=A0 =C2=A0 =C2=A0<a href=3D"http://belaban.blogspot.com/2019/12/span=
ning-jgroups-kubernetes-based.html" rel=3D"noreferrer" target=3D"_blank">ht=
tp://belaban.blogspot.com/2019/12/spanning-jgroups-kubernetes-based.html</a=
><br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; Thanks,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; Bobby<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; _____________________________________________=
__<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; javagroups-users mailing list<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; <a href=3D"mailto:[email protected]=
ceforge.net" target=3D"_blank">[email protected]</a><b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0&lt;mailto:<a href=3D"mailto:javagroups-users@lists=
.sourceforge.net" target=3D"_blank">[email protected]<=
/a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt; <a href=3D"https://lists.sourceforge.net/list=
s/listinfo/javagroups-users" rel=3D"noreferrer" target=3D"_blank">https://l=
ists.sourceforge.net/lists/listinfo/javagroups-users</a><br>
&gt;=C2=A0 =C2=A0 =C2=A0 &gt;<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0-- <br>
&gt;=C2=A0 =C2=A0 =C2=A0Bela Ban | <a href=3D"http://www.jgroups.org" rel=
=3D"noreferrer" target=3D"_blank">http://www.jgroups.org</a><br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0_______________________________________________<br>
&gt;=C2=A0 =C2=A0 =C2=A0javagroups-users mailing list<br>
&gt;=C2=A0 =C2=A0 =C2=A0<a href=3D"mailto:[email protected]=
e.net" target=3D"_blank">[email protected]</a><br>
&gt;=C2=A0 =C2=A0 =C2=A0&lt;mailto:<a href=3D"mailto:javagroups-users@lists=
.sourceforge.net" target=3D"_blank">[email protected]<=
/a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0<a href=3D"https://lists.sourceforge.net/lists/list=
info/javagroups-users" rel=3D"noreferrer" target=3D"_blank">https://lists.s=
ourceforge.net/lists/listinfo/javagroups-users</a><br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; _______________________________________________<br>
&gt; javagroups-users mailing list<br>
&gt; <a href=3D"mailto:[email protected]" target=3D"_b=
lank">[email protected]</a><br>
&gt; <a href=3D"https://lists.sourceforge.net/lists/listinfo/javagroups-use=
rs" rel=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/list=
s/listinfo/javagroups-users</a><br>
&gt; <br>
<br>
-- <br>
Bela Ban | <a href=3D"http://www.jgroups.org" rel=3D"noreferrer" target=3D"=
_blank">http://www.jgroups.org</a><br>
<br>
<br>
<br>
_______________________________________________<br>
javagroups-users mailing list<br>
<a href=3D"mailto:[email protected]" target=3D"_blank"=
>[email protected]</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/javagroups-users" r=
el=3D"noreferrer" target=3D"_blank">https://lists.sourceforge.net/lists/lis=
tinfo/javagroups-users</a><br>
</blockquote></div>

--0000000000003b17fb05a37d40a1--


--===============8912907966329502795==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============8912907966329502795==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
javagroups-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/javagroups-users

--===============8912907966329502795==--