Port on creation is returned without the fixed_ips field populated

Bug #2035230 reported by Christian Rohmann
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Expired
Undecided
Unassigned

Bug Description

I ran into an issue with port creation when using the openstack-terraform provider (which then uses Gophercloud) to access the Neutron API..... https://github.com/terraform-provider-openstack/terraform-provider-openstack/issues/1606

In short a port is created, but that port does not have the `fixed_ips` field populated.
This is the response to the create request:

```
{
  "ports": [
    {
      "admin_state_up": true,
      "allowed_address_pairs": [
        {
          "ip_address": "10.3.4.0/24",
          "mac_address": "fa:16:3e:3a:58:ec"
        }
      ],
      "binding:vnic_type": "normal",
      "created_at": "2023-08-23T10:06:12Z",
      "description": "",
      "device_id": "",
      "device_owner": "",
      "dns_assignment": [],
      "dns_name": "",
      "extra_dhcp_opts": [],
      "fixed_ips": [],
      "id": "9b37978b-ed53-41c2-983f-31570eb88259",
      "mac_address": "fa:16:3e:3a:58:ec",
      "name": "vpn",
      "network_id": "f946cedc-94d1-4bde-a680-f59d615ad2e3",
      "port_security_enabled": true,
      "project_id": "REDACTED",
      "revision_number": 1,
      "security_groups": [
        "87acb073-5123-4473-b33b-fc78f522c6b8"
      ],
      "status": "DOWN",
      "tags": [],
      "tenant_id": "REDACTED",
      "updated_at": "2023-08-23T10:06:12Z"
    }
  ]
}
```

If you look at my attempt to dive into the mechanics at https://github.com/terraform-provider-openstack/terraform-provider-openstack/issues/1606#issuecomment-1692082094, I am wondering if the IPAllocation might happening asynchronously and thus the response to the API call might not contain the fixed_ips if that takes to long?

All in all I just kindly as for a qualified comment if this is expected behavior (needs handing within the terraform provider) or a bug (can be fixed on the Neutron side).

Revision history for this message
Brian Haley (brian-haley) wrote :

IP allocation might be deferred in a routed network configuration where it is unknown where the port is going to "live" since we don't want to assign an IP that will not work on a particular compute node.

This state is normally shown in the POST response, but I believe you have to have the ip_allocation extension loaded.

This document has more information:

https://docs.openstack.org/neutron/latest/admin/config-routed-networks.html

That is the most likely reason fixed_ips is empty.

You can check in /etc/neutron/plugins/ml2/ml2_conf.ini to see what extension_drivers is set to, if you add this extension and restart neutron-server the API call should have that field (and value).

That's where I would start.

Revision history for this message
Miro Tomaska (mtomaska) wrote :

setting to incomplete for now until we determine if the ip_allocation is loaded as suggested in commnent#1

Changed in neutron:
status: New → Incomplete
Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

Hello:

This result is something expected if the network where the port is created has no subnets. For example [1]. Please check that case.

Regards.

[1]https://paste.opendev.org/show/bqIfpTY1NfhOmrwxcQiF/

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for neutron because there has been no activity for 60 days.]

Changed in neutron:
status: Incomplete → Expired
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.