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
It might be a random race condition as the stack creation still fail randomly even after that.