HEAT incorrect assignment/submitting of optional parameters
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
New
|
Medium
|
Rabi Mishra |
Bug Description
Dears,
HEAT 8.0.0, Neutron 10.0.0 (as part of Ocata), Ubuntu 16.04, Openvswitch 2.6.1
I'm getting fails on stack update with the following error messages:
Resource UPDATE failed: BadRequest: resources.
returns request_ids: ['req-287db7f6-
Resource UPDATE failed: BadRequest: resources.
returns request_ids: ['req-8d2c725e-
where corresponding template parts are:
e-secgroup:
type: OS::Neutron:
properties:
name: SSH_ICMP
rules:
- direction: ingress
- protocol: tcp
- protocol: icmp
node1-wan:
type: OS::Neutron::Port
properties:
name: jadm-node1-wan
network: e-net
port_
security_
and HEAT documentation says, that both OS::Neutron:
HEAT makes the following call to Neutron (note 'device_owner': None):
2017-04-11 09:51:31.799 14474 DEBUG heat.engine.
and receives back this error:
2017-04-11 09:51:31.809 14474 DEBUG neutronclient.
When I use Neutron CLI to update these parameters, everything works ok.
It seems that instead of sending nothing if optional key-value pair is empty and let Neutron (or any other module) to deal with this on his own, Heat sends something that Neutron don't understand and can't proceed.
Thanks.
description: | updated |
Changed in heat: | |
milestone: | none → pike-2 |
Changed in heat: | |
milestone: | pike-2 → pike-3 |
Changed in heat: | |
milestone: | pike-3 → pike-rc1 |
Changed in heat: | |
milestone: | pike-rc1 → next |
tags: |
added: observe-reality removed: heat |
IMO this is a neutronclient bug - we can probably work around it in heat, but all clients should always treat None values the same as not passing any value.