Port extra properties ignored when a port is created via OS::Nova::Server
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
heat (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
When you create a port via OS::Nova::Server, if you only specify a network ID then the extra properties you pass in the template are ignored as per the code below:
heat/engine/
handle_create()
\_ _build_nics()
\_ if there's a port in the template then that's used
|_ if there's a subnet in the template then _create_
|_ if only a network ID is passed in the template then the port extra properties ni the template (if any) are ignored and the defaults are passed.
Reproducer:
-----------
heat_template_
resources:
server_test:
type: OS::Nova::Server
properties:
name: server_test
config_drive: true
flavor: m1.small
image: "focal"
networks:
- network: test_net
Here is the request body for the API call sent from Heat to Neutron for the above template the network_id is there but not the extra property passed:
/var/log/
I believe we should be calling _create_
For anyone else who stumbles upon this issue, the workaround is to create the port using OS::Neutron::Port and attach it to the instance instead of implicitly creating the port via OS::Nova::Server.