[neutron] Unable to configure multiple external networks

Slawomir Kaplonski skaplons at redhat.com
Mon May 6 09:49:37 UTC 2019


Hi,

It is known and already reported issue. Please see https://bugs.launchpad.net/neutron/+bug/1824571

> On 6 May 2019, at 09:58, valleru at cbio.mskcc.org wrote:
> 
> It started to work , after i modified this code:
> 
> def _fetch_external_net_id(self, force=False):
>         """Find UUID of single external network for this agent."""
>         self.conf.gateway_external_network_id = ''
>         #if self.conf.gateway_external_network_id:
>         #    return self.conf.gateway_external_network_id
>         return self.conf.gateway_external_network_id
> 
> from https://github.com/openstack/neutron/blob/master/neutron/agent/l3/agent.py
> 
> Looks like, that respective option is not being read correctly from the respective configuration file.
> 
> Regards,
> Lohit
> 
> On May 6, 2019, 2:28 AM -0500, valleru at cbio.mskcc.org, wrote:
>> Hello All,
>> 
>> I am trying to install Openstack Stein on a single node, with multiple external networks (both networks are also shared). 
>> However, i keep getting the following error in the logs, and the router interfaces show as down.
>> 
>> 2019-05-06 02:19:45.046 52175 ERROR neutron.agent.l3.agent
>> 2019-05-06 02:19:45.048 52175 INFO neutron.agent.l3.agent [-] Starting router update for a2ec6c99-944e-408a-945a-dffbe09f65ce, action 3, priority 2
>> 2019-05-06 02:19:46.249 52175 ERROR neutron.agent.l3.agent [-] Failed to process compatible router: a2ec6c99-944e-408a-945a-dffbe09f65ce: Exception: The 'gateway_external_network_id' option must be configured for this agent as Neutron has more than one external network.
>> 2019-05-06 02:19:46.249 52175 ERROR neutron.agent.l3.agent Traceback (most recent call last):
>> 2019-05-06 02:19:46.249 52175 ERROR neutron.agent.l3.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 701, in _process_routers_if_compatible
>> 2019-05-06 02:19:46.249 52175 ERROR neutron.agent.l3.agent     self._process_router_if_compatible(router)
>> 2019-05-06 02:19:46.249 52175 ERROR neutron.agent.l3.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 548, in _process_router_if_compatible
>> 2019-05-06 02:19:46.249 52175 ERROR neutron.agent.l3.agent     target_ex_net_id = self._fetch_external_net_id()
>> 2019-05-06 02:19:46.249 52175 ERROR neutron.agent.l3.agent   File "/usr/lib/python2.7/site-packages/neutron/agent/l3/agent.py", line 376, in _fetch_external_net_id
>> 2019-05-06 02:19:46.249 52175 ERROR neutron.agent.l3.agent     raise Exception(msg)
>> 2019-05-06 02:19:46.249 52175 ERROR neutron.agent.l3.agent Exception: The 'gateway_external_network_id' option must be configured for this agent as Neutron has more than one external network.
>> 2019-05-06 02:19:46.249 52175 ERROR neutron.agent.l3.agent
>> 2019-05-06 02:19:46.252 52175 WARNING neutron.agent.l3.agent [-] Hit retry limit with router update for a2ec6c99-944e-408a-945a-dffbe09f65ce, action 3
>> 2019-05-06 02:19:46.253 52175 WARNING neutron.agent.l3.agent [-] Info for router a2ec6c99-944e-408a-945a-dffbe09f65ce was not found. Performing router cleanup
>> 
>>  
>> I have set these parameters to empty, as mentioned in the docs.
>> 
>> /etc/neutron/l3_agent.ini
>> 
>> gateway_external_network_id =
>> external_network_bridge =
>> interface_driver = openvswitch 
>> 
>> I tried linuxbridge-agent too,but i could not get rid of the above error.
>> 
>>  openstack port list --router router1
>> 
>> +--------------------------------------+------+-------------------+----------------------------------------------------------------------------+--------+
>> | ID                                   | Name | MAC Address       | Fixed IP Addresses                                                         | Status |
>> +--------------------------------------+------+-------------------+----------------------------------------------------------------------------+--------+
>> | 1bcaad17-17ed-4383-9206-34417f8fd2df |      | fa:16:3e:c1:b1:1f | ip_address='192.168.1.1', subnet_id='b00cb3bf-ca89-4e00-8bd7-83a75dbb6080' | DOWN   |
>> | f49d976f-b733-4360-9d1f-cdd35ecf54e6 |      | fa:16:3e:54:82:4b | ip_address='10.0.10.11', subnet_id='7cc01a33-f078-494d-9b0b-e988f5b4915d'  | DOWN   |
>> +--------------------------------------+------+-------------------+----------------------------------------------------------------------------+————+
>> 
>> However it does work when i have just one external network
>> 
>>  openstack port list --router router1
>> +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------+--------+
>> | ID                                   | Name | MAC Address       | Fixed IP Addresses                                                             | Status |
>> +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------+--------+
>> | cdb06cf7-7492-4275-bd93-88a46b9769a8 |      | fa:16:3e:7c:ea:55 | ip_address='192.168.1.1', subnet_id='b00cb3bf-ca89-4e00-8bd7-83a75dbb6080'     | ACTIVE |
>> | fc9b06d7-d377-451b-9af5-07e1fab072dc |      | fa:16:3e:d0:6d:7c | ip_address='140.163.188.149', subnet_id='4a2bf30a-e7f8-44c1-8b08-4de01b2b1296' | ACTIVE |
>> +--------------------------------------+------+-------------------+--------------------------------------------------------------------------------+--------+
>> 
>> May i please know, how to get the above working.
>> I have seen multiple articles online that mention that this should be working, however i am unable to get this to work.
>> It is really important for us to have to have 2 external networks in the environment, and be able to route to both of them if possible.
>> 
>> 
>> Thank you,
>> Lohit
>> 

— 
Slawek Kaplonski
Senior software engineer
Red Hat




More information about the openstack-discuss mailing list