← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2106817] [NEW] PortRequiresFixedIP - raised for port with "ip_allocation": null

 

Public bug reported:

Seen on Openstack version "antelope" - afict the code has not changed
since it was introduced in change:
I3c49f151ff1391e0a72c073d0d9c24e986c08938 (yoga cycle)

Attempting to create a server using a trunk where the "trunk parent"
does not have any ip_allocation fails.

/var/log/heat/heat-engine.log:2025-04-11 06:43:26.653 206817 ERROR
heat.engine.resource novaclient.exceptions.BadRequest: Port
2ee7514b-0a22-40e0-8d16-d87904a7c566 requires a FixedIP in order to be
used. (HTTP 400) (Request-ID: req-d8681fb4-8219-40f9-a298-1ee4c89b9885)


/var/log/nova/nova-api.log:2025-04-11 06:43:26.650 1813363 INFO nova.api.openstack.wsgi [None req-d8681fb4-8219-40f9-a298-1ee4c89b9885 ffd34151323a45fa9f4ab07bbdd9a83f d8168ce7aa0449c5bfb707aa08a9d455 - - default default] HTTP exception thrown: Port 2ee7514b-0a22-40e0-8d16-d87904a7c566 requires a FixedIP in order to be used.
/var/log/nova/nova-api.log:2025-04-11 06:43:26.651 1813363 INFO nova.api.openstack.requestlog [None req-d8681fb4-8219-40f9-a298-1ee4c89b9885 ffd34151323a45fa9f4ab07bbdd9a83f d8168ce7aa0449c5bfb707aa08a9d455 - - default default] 10.1.200.21 "POST /v2.1/servers" status: 400 len: 125 microversion: 2.95 time: 0.249144


| stack_status_reason | Resource CREATE failed: BadRequest: resources.bmh1: Port 2ee7514b-0a22-40e0-8d16-d87904a7c566 requires a FixedIP in order to be used. (HTTP 400) (Request-ID: req-d8681fb4-8219-40f9-a298-1ee4c89b9885) |


Port show:
$ openstack port show 2ee7514b-0a22-40e0-8d16-d87904a7c566 -f yaml
admin_state_up: true
allowed_address_pairs: []
binding_host_id: ''
binding_profile: {}
binding_vif_details: {}
binding_vif_type: unbound
binding_vnic_type: normal
created_at: '2025-04-11T10:43:17Z'
data_plane_status: null
description: ''
device_id: ''
device_owner: ''
device_profile: null
dns_assignment: null
dns_domain: null
dns_name: null
extra_dhcp_opts: []
fixed_ips: []
id: 2ee7514b-0a22-40e0-8d16-d87904a7c566
ip_allocation: null
mac_address: fa:16:3e:8b:d7:81
name: hotstack-multi-ns-no-zuul-bmh1-ctlplane-trunk-parent-port-ewymmh2aze7u
network_id: 74e2aeea-eb24-4533-a89c-36c50c0a0872
numa_affinity_policy: null
port_security_enabled: false
project_id: d8168ce7aa0449c5bfb707aa08a9d455
propagate_uplink_status: null
qos_network_policy_id: null
qos_policy_id: null
resource_request: null
revision_number: 1
security_group_ids: []
status: DOWN
tags: []
trunk_details:
  sub_ports:
  - mac_address: fa:16:3e:bc:99:3a
    port_id: f1ed5b3e-25e0-48d2-bd59-2dd0e653748c
    segmentation_id: 11
    segmentation_type: vlan
  - mac_address: fa:16:3e:cf:c8:5a
    port_id: 86e96036-fdd4-4a64-981c-78e3aaa9c5a6
    segmentation_id: 30
    segmentation_type: vlan
  - mac_address: fa:16:3e:d0:ba:89
    port_id: ebb8ae51-9b1b-4b3a-b1fd-406dfe486819
    segmentation_id: 31
    segmentation_type: vlan
  - mac_address: fa:16:3e:d4:de:6a
    port_id: f71f53a9-5279-4f6f-bebe-6ec0b6471882
    segmentation_id: 32
    segmentation_type: vlan
  trunk_id: 9f953e97-31a8-4995-a9b7-cd2e4a7b28eb
updated_at: '2025-04-11T10:43:17Z'


Heat stack snippet

  bmh1-ctlplane-trunk-parent-port:
    type: OS::Neutron::Port
    properties:
      network: {get_resource: ctlplane-net-native-vlan}
      port_security_enabled: false
      no_fixed_ips: true
  
  bmh1-ctlplane-port:
    type: OS::Neutron::Port
    properties:
      network: {get_resource: ctlplane-net-b}
      port_security_enabled: false
      
  bmh1-internal-api-port:
    type: OS::Neutron::Port
    properties:
      network: {get_resource: internal-api-net-b}
      port_security_enabled: false

  bmh1-storage-port:
    type: OS::Neutron::Port
    properties:
      network: {get_resource: storage-net-b}
      port_security_enabled: false

  bmh1-tenant-port:
    type: OS::Neutron::Port
    properties:
      network: {get_resource: tenant-net-b}
      port_security_enabled: false

  bmh1-provisioning-port:
    type: OS::Neutron::Port
    properties:
      network: {get_resource: provisioning-net-b}
      port_security_enabled: false

  bmh1-trunk0:
    type: OS::Neutron::Trunk
    properties:
      port: {get_resource: bmh1-ctlplane-trunk-parent-port}
      sub_ports:
        - port: {get_resource: bmh1-ctlplane-port}
          segmentation_id: 11
          segmentation_type: vlan
        - port: {get_resource: bmh1-internal-api-port}
          segmentation_id: 30
          segmentation_type: vlan
        - port: {get_resource: bmh1-storage-port}
          segmentation_id: 31
          segmentation_type: vlan
        - port: {get_resource: bmh1-tenant-port}
          segmentation_id: 32
          segmentation_type: vlan

  bmh1:
    type: OS::Nova::Server
    properties:
      flavor: {get_param: [bmh_params, flavor]}
      block_device_mapping_v2:
        - device_type: disk
          boot_index: 1
          image_id: {get_param: [bmh_params, image]}
          volume_size: 60
          delete_on_termination: true
        - device_type: cdrom
          disk_bus: scsi
          boot_index: 0
          image_id: {get_param: [bmh_params, cd_image]}
          volume_size: 5
          delete_on_termination: true
      networks:
        - port: {get_resource: bmh1-provisioning-port}
        - port: {get_resource: bmh1-ctlplane-trunk-parent-port}


AFICT from the nova code[1] this exception should not be raised for "ipless_port" i.e `ip_allocation` none.

[1]
https://opendev.org/openstack/nova/src/branch/master/nova/network/neutron.py#L2581

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/2106817

Title:
  PortRequiresFixedIP - raised for port with "ip_allocation": null

Status in OpenStack Compute (nova):
  New

Bug description:
  Seen on Openstack version "antelope" - afict the code has not changed
  since it was introduced in change:
  I3c49f151ff1391e0a72c073d0d9c24e986c08938 (yoga cycle)

  Attempting to create a server using a trunk where the "trunk parent"
  does not have any ip_allocation fails.

  /var/log/heat/heat-engine.log:2025-04-11 06:43:26.653 206817 ERROR
  heat.engine.resource novaclient.exceptions.BadRequest: Port
  2ee7514b-0a22-40e0-8d16-d87904a7c566 requires a FixedIP in order to be
  used. (HTTP 400) (Request-ID:
  req-d8681fb4-8219-40f9-a298-1ee4c89b9885)

  
  /var/log/nova/nova-api.log:2025-04-11 06:43:26.650 1813363 INFO nova.api.openstack.wsgi [None req-d8681fb4-8219-40f9-a298-1ee4c89b9885 ffd34151323a45fa9f4ab07bbdd9a83f d8168ce7aa0449c5bfb707aa08a9d455 - - default default] HTTP exception thrown: Port 2ee7514b-0a22-40e0-8d16-d87904a7c566 requires a FixedIP in order to be used.
  /var/log/nova/nova-api.log:2025-04-11 06:43:26.651 1813363 INFO nova.api.openstack.requestlog [None req-d8681fb4-8219-40f9-a298-1ee4c89b9885 ffd34151323a45fa9f4ab07bbdd9a83f d8168ce7aa0449c5bfb707aa08a9d455 - - default default] 10.1.200.21 "POST /v2.1/servers" status: 400 len: 125 microversion: 2.95 time: 0.249144

  
  | stack_status_reason | Resource CREATE failed: BadRequest: resources.bmh1: Port 2ee7514b-0a22-40e0-8d16-d87904a7c566 requires a FixedIP in order to be used. (HTTP 400) (Request-ID: req-d8681fb4-8219-40f9-a298-1ee4c89b9885) |

  
  Port show:
  $ openstack port show 2ee7514b-0a22-40e0-8d16-d87904a7c566 -f yaml
  admin_state_up: true
  allowed_address_pairs: []
  binding_host_id: ''
  binding_profile: {}
  binding_vif_details: {}
  binding_vif_type: unbound
  binding_vnic_type: normal
  created_at: '2025-04-11T10:43:17Z'
  data_plane_status: null
  description: ''
  device_id: ''
  device_owner: ''
  device_profile: null
  dns_assignment: null
  dns_domain: null
  dns_name: null
  extra_dhcp_opts: []
  fixed_ips: []
  id: 2ee7514b-0a22-40e0-8d16-d87904a7c566
  ip_allocation: null
  mac_address: fa:16:3e:8b:d7:81
  name: hotstack-multi-ns-no-zuul-bmh1-ctlplane-trunk-parent-port-ewymmh2aze7u
  network_id: 74e2aeea-eb24-4533-a89c-36c50c0a0872
  numa_affinity_policy: null
  port_security_enabled: false
  project_id: d8168ce7aa0449c5bfb707aa08a9d455
  propagate_uplink_status: null
  qos_network_policy_id: null
  qos_policy_id: null
  resource_request: null
  revision_number: 1
  security_group_ids: []
  status: DOWN
  tags: []
  trunk_details:
    sub_ports:
    - mac_address: fa:16:3e:bc:99:3a
      port_id: f1ed5b3e-25e0-48d2-bd59-2dd0e653748c
      segmentation_id: 11
      segmentation_type: vlan
    - mac_address: fa:16:3e:cf:c8:5a
      port_id: 86e96036-fdd4-4a64-981c-78e3aaa9c5a6
      segmentation_id: 30
      segmentation_type: vlan
    - mac_address: fa:16:3e:d0:ba:89
      port_id: ebb8ae51-9b1b-4b3a-b1fd-406dfe486819
      segmentation_id: 31
      segmentation_type: vlan
    - mac_address: fa:16:3e:d4:de:6a
      port_id: f71f53a9-5279-4f6f-bebe-6ec0b6471882
      segmentation_id: 32
      segmentation_type: vlan
    trunk_id: 9f953e97-31a8-4995-a9b7-cd2e4a7b28eb
  updated_at: '2025-04-11T10:43:17Z'

  
  Heat stack snippet

    bmh1-ctlplane-trunk-parent-port:
      type: OS::Neutron::Port
      properties:
        network: {get_resource: ctlplane-net-native-vlan}
        port_security_enabled: false
        no_fixed_ips: true
    
    bmh1-ctlplane-port:
      type: OS::Neutron::Port
      properties:
        network: {get_resource: ctlplane-net-b}
        port_security_enabled: false
        
    bmh1-internal-api-port:
      type: OS::Neutron::Port
      properties:
        network: {get_resource: internal-api-net-b}
        port_security_enabled: false

    bmh1-storage-port:
      type: OS::Neutron::Port
      properties:
        network: {get_resource: storage-net-b}
        port_security_enabled: false

    bmh1-tenant-port:
      type: OS::Neutron::Port
      properties:
        network: {get_resource: tenant-net-b}
        port_security_enabled: false

    bmh1-provisioning-port:
      type: OS::Neutron::Port
      properties:
        network: {get_resource: provisioning-net-b}
        port_security_enabled: false

    bmh1-trunk0:
      type: OS::Neutron::Trunk
      properties:
        port: {get_resource: bmh1-ctlplane-trunk-parent-port}
        sub_ports:
          - port: {get_resource: bmh1-ctlplane-port}
            segmentation_id: 11
            segmentation_type: vlan
          - port: {get_resource: bmh1-internal-api-port}
            segmentation_id: 30
            segmentation_type: vlan
          - port: {get_resource: bmh1-storage-port}
            segmentation_id: 31
            segmentation_type: vlan
          - port: {get_resource: bmh1-tenant-port}
            segmentation_id: 32
            segmentation_type: vlan

    bmh1:
      type: OS::Nova::Server
      properties:
        flavor: {get_param: [bmh_params, flavor]}
        block_device_mapping_v2:
          - device_type: disk
            boot_index: 1
            image_id: {get_param: [bmh_params, image]}
            volume_size: 60
            delete_on_termination: true
          - device_type: cdrom
            disk_bus: scsi
            boot_index: 0
            image_id: {get_param: [bmh_params, cd_image]}
            volume_size: 5
            delete_on_termination: true
        networks:
          - port: {get_resource: bmh1-provisioning-port}
          - port: {get_resource: bmh1-ctlplane-trunk-parent-port}

  
  AFICT from the nova code[1] this exception should not be raised for "ipless_port" i.e `ip_allocation` none.

  [1]
  https://opendev.org/openstack/nova/src/branch/master/nova/network/neutron.py#L2581

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2106817/+subscriptions