Heat allows creation of subnet without specifying a gateway on a provider network but neutron wants a gateway

Bug #1768393 reported by David Hill
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
New
Undecided
Unassigned

Bug Description

Heat allows creation of subnet without a gatway on a provider network but neutron wants a gateway so it fails with a crypting message in neutron:

2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource [req-ac776e7e-1c57-4ffc-b861-4c0e79fe1772 7ea99de0a18b4a7bb449a40f063f0752 3eb74e3b60394da3af0d257c93701051 - - -] create failed: No details.
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource Traceback (most recent call last):
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/resource.py", line 93, in resource
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource result = method(request=request, **args)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 431, in create
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return self._create(request, body, **kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 88, in wrapped
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource setattr(e, '_RETRY_EXCEEDED', True)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource self.force_reraise()
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 84, in wrapped
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return f(*args, **kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 151, in wrapper
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource ectxt.value = e.inner_exc
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource self.force_reraise()
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 139, in wrapper
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return f(*args, **kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 124, in wrapped
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource traceback.format_exc())
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource self.force_reraise()
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 119, in wrapped
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return f(*dup_args, **dup_kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 544, in _create
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 526, in do_create
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource request.context, reservation.reservation_id)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource self.force_reraise()
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 519, in do_create
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return obj_creator(request.context, **kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/common/utils.py", line 807, in inner
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return f(self, context, *args, **kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 159, in wrapped
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return method(*args, **kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 88, in wrapped
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource setattr(e, '_RETRY_EXCEEDED', True)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource self.force_reraise()
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 84, in wrapped
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return f(*args, **kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 151, in wrapper
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource ectxt.value = e.inner_exc
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource self.force_reraise()
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 139, in wrapper
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return f(*args, **kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 124, in wrapped
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource traceback.format_exc())
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource self.force_reraise()
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource six.reraise(self.type_, self.value, self.tb)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 119, in wrapped
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return f(*dup_args, **dup_kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/plugin.py", line 1011, in create_subnet
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource result, mech_context = self._create_subnet_db(context, subnet)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/plugin.py", line 998, in _create_subnet_db
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource result = super(Ml2Plugin, self).create_subnet(context, subnet)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/api.py", line 159, in wrapped
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return method(*args, **kwargs)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/db_base_plugin_v2.py", line 729, in create_subnet
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource return self._create_subnet(context, subnet, subnetpool_id)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/db_base_plugin_v2.py", line 631, in _create_subnet
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource subnet)
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource File "/usr/lib/python2.7/site-packages/neutron/db/db_base_plugin_v2.py", line 602, in _update_router_gw_ports
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource fips = [f for f in external_gateway_info['external_fixed_ips']
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource TypeError: 'NoneType' object has no attribute '__getitem__'
2018-05-02 02:31:11.774 148213 ERROR neutron.api.v2.resource

and nothing really meaningful in heat-engine:
2018-05-02 02:31:11.788 91930 ERROR heat.engine.resource InternalServerError: Request Failed: internal server error while processing your request.
2018-05-02 02:31:11.788 91930 ERROR heat.engine.resource Neutron server returns request_ids: ['req-ac776e7e-1c57-4ffc-b861-4c0e79fe1772']

Simple way to reproduce this issue is to use:

  public_net:
    type: OS::Neutron::ProviderNet
    properties:
      name: public_net
      physical_network: datacentre
      router_external: true
      network_type: flat

  public:
    type: OS::Neutron::Subnet
    depends_on: public_net
    properties:
      name: public
      network_id: { get_resource: public_net }
      cidr: "192.168.122.0/24"
      allocation_pools: [ { "start": "192.168.122.150", "end": "192.168.122.160" } ]
      dns_nameservers: [ "8.8.8.8", "8.8.4.4" ]
      ip_version: 4

instead of:

  public_net:
    type: OS::Neutron::ProviderNet
    properties:
      name: public_net
      physical_network: datacentre
      router_external: true
      network_type: flat

  public:
    type: OS::Neutron::Subnet
    depends_on: public_net
    properties:
      name: public
      network_id: { get_resource: public_net }
      cidr: "192.168.122.0/24"
      allocation_pools: [ { "start": "192.168.122.150", "end": "192.168.122.160" } ]
      dns_nameservers: [ "8.8.8.8", "8.8.4.4" ]
      gateway_ip: "192.168.122.1"
      ip_version: 4

description: updated
summary: - Heat allows creation of subnet on a provider network but neutron wants a
- gateway
+ Heat allows creation of subnet without specifying a gateway on a
+ provider network but neutron wants a gateway
Revision history for this message
David Hill (david-hill-ubisoft) wrote :

It might be a random race condition as the stack creation still fail randomly even after that.

Revision history for this message
Thomas Herve (therve) wrote :

That really looks like a neutron error, no?

Rico Lin (rico-lin)
Changed in heat:
milestone: none → no-priority-tag-bugs
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.