<tt><font size=2>Scott Lowe <scott.lowe@scottlowe.org> wrote on
04/08/2015 09:56:40 PM:<br>
<br>
> Please see my responses inline, prefixed by [SL].<br>
> <br>
> Mike Spreitzer <mspreitz@us.ibm.com> wrote:<br>
> <br>
> > Oops, my original email did not contain all of the constraints.
Each<br>
> > compute instance gets only one network interface, only one IP
address.<br>
> > Does Juno Neutron have a way to solve this problem?<br>
> <br>
> <br>
> [SL] Use James' approach as described below, except with a single
network<br>
> interface on each instance. The OS inside the instance will see a
single IP<br>
> address (a private address from the tenant network), but a floating
IP<br>
> address can be associated with the instance. You'll probably need
to<br>
> implement split DNS (so that instances on the tenant network will
resolve<br>
> the address from the tenant network's subnet while external systems
will<br>
> resolve the floating IP address).<br>
> <br>
> Even so, you could run into problems if the application running on
those<br>
> instances needs to report an IP address to other systems; it will
report the<br>
> private address, which may not be accessible by the other system.<br>
> <br>
> <br>
> > Thanks,<br>
> > Mike <br>
> > <br>
> > <br>
> > <br>
> >> From: James Denton <james.denton@rackspace.com> <br>
> >> To: Mike Spreitzer/Watson/IBM@IBMUS, openstack <br>
> <openstack@lists.openstack.org> <br>
> >> Date: 04/08/2015 07:04 PM <br>
> >> Subject: Re: [Openstack] [neutron] how to use multiple external
networks? <br>
> >> <br>
> >> <br>
> >> <br>
> >> Hi Mike, <br>
> >> <br>
> >> With those requirements, I think dual-homing the instances
may be the<br>
> >> best approach.<br>
> >> <br>
> >> In my mind, you would have 5 networks: <br>
> >> <br>
> >> A - External Network 1 <br>
> >> B - External Network 2 <br>
> >> C - Tenant Network 1 <br>
> >> D - Tenant Network 2 <br>
> >> E - Shared Tenant Network (No gateway) <br>
> >> <br>
> >> Because routers can only connect to one external network
at a time, and a<br>
> >> tenant network can only be connected to one router at a time,
you would<br>
> >> need two routers:<br>
> >> <br>
> >> Router 1 <br>
> >> Router 2 <br>
> >> <br>
> >> You would connect them as follows: <br>
> >> <br>
> >> External Network 1 <-> Router 1 <-> Tenant Network
1 <br>
> >> External Network 2 <-> Router 2 <-> Tenant Network
2 <br>
> >> <br>
> >> The VMs would then connect as follows: <br>
> >> <br>
> >> Tenant Network 1 <-> VM1 <-> Shared Network <br>
> >> Tenant Network 2 <-> VM2 <-> Shared Network <br>
> >> <br>
> >> With no gateway set on the shared network, you won't have
to worry about<br>
> >> multiple default routes, nor do you need to worry about terminating
that<br>
> >> network off a router. It's simply isolated.<br>
> >> <br>
> >> Hope that helps, <br>
> >> James<br>
> >> <br>
> >> <br>
> >>> From: Mike Spreitzer <mspreitz@us.ibm.com><br>
> >>> Sent: Wednesday, April 8, 2015 12:28 PM<br>
> >>> To: openstack<br>
> >>> Subject: [Openstack] [neutron] how to use multiple external
networks? <br>
> >>>   <br>
> >>> Supposing there are two external provider networks, and
a tenant wants<br>
> >>> (a) some of his Compute Instances to have floating IP
addresses on one<br>
> >>> of those external networks, (b) some other of his Compute
Instances to<br>
> >>> have floating IP addresses on the other external network,
and (c) all of<br>
> >>> his Compute Instances to be able to talk to each other
using only tenant<br>
> >>> private networking, what arrangement of tenant networks
and routers<br>
> >>> would accomplish this? In Juno, if it matters.<br>
> >>> <br>
> >>> Thanks,<br>
> >>> Mike <br>
> <br>
> <br>
</font></tt>
<br><tt><font size=2>(sorry for top-posting the first time, I am switching
to the usual convention now.)</font></tt>
<br>
<br><tt><font size=2>Thanks Scott and James.  What I was trying to
say about all the tenant's Compute Instances communicating with only tenant
private networking is that the tenant does not want to have to use floating
IP addresses for that intra-tenant communication.  After all, public
IPv4 addresses are scarce; as an operator I am looking for a way that a
tenant of mine can wire up all his compute instances without using external
addresses for internal communication.  I guess I should have explicitly
added to my original (a) and (b) a third category: some of the tenant's
Compute Instances do not need to accept any inbound connections from outside
the tenant's network (and thus do not really need a floating IP address).
 As an operator, I am looking at the general case for how my tenants
(which happen to be constrained in the one way I mentioned) can efficiently
work in an environment with two external networks.</font></tt>
<br>
<br><tt><font size=2>I was wondering if the following variant on James'
topology would work: put the Shared Network between Router 1 and Router
2.  Is there a way to do that without even attempting to make Router
1 and Router 2 be gateways for the  Shared Network?  After all,
the Shared Network only needs to pass traffic between Tenant Network 1
and Tenant Network 2, it does not need to handle any other traffic.</font></tt>
<br>
<br><tt><font size=2>Thanks,</font></tt>
<br><tt><font size=2>Mike</font></tt>
<br>
<br>