← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1844124] Re: Not possible to change fixed-ips if port is on routed provider network

 

Reviewed:  https://review.opendev.org/682489
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=def8e95aad1e4588c369d537ee66234245eefdf6
Submitter: Zuul
Branch:    master

commit def8e95aad1e4588c369d537ee66234245eefdf6
Author: Harald Jensås <hjensas@xxxxxxxxxx>
Date:   Mon Sep 16 21:52:51 2019 +0200

    fixed_configured=True when Add/Remove port IPs
    
    When updating a port with the fixed_ips request the
    fixed_configured argument should be set to true when
    calling _ipam_get_subnets() so that all subnets are
    returned if host is not set.
    
    Otherwise the ip allocation will be deffered and an
    empty list of possible subnets for the port is
    returned. Which in turn led to raising an error that
    the network requires subnets to allocate an IP
    address.
    
    Closes-Bug: #1844124
    Change-Id: I2e690ea0cf5fa0614e39be2b0e83afad3daa7f48


** Changed in: neutron
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1844124

Title:
  Not possible to change fixed-ips if port is on routed provider network

Status in neutron:
  Fix Released
Status in tripleo:
  Triaged

Bug description:
  For ports on normal networks (non-Routed Provider Networks) it is
  possible to change the fixed-ip of a port. When a port is on a Routed
  Provider Network the same operation return an error: "Invalid input
  for operation: IP allocation requires subnets for network." Since this
  is an unbound port, and the change does not move the port ip
  allocation to a subnet associated with a different segment this
  operation should succeed.

  
  $ grep flat_networks /etc/neutron/plugins/ml2/ml2_conf.ini
  flat_networks = public,mynetwork

  $ openstack network create \
    --provider-network-type flat \
    --provider-physical-network mynetwork \
    mynetwork

  $ openstack subnet create \
    --network mynetwork \
    --network-segment $(openstack network segment list --network mynetwork -f value -c ID) \
    --subnet-range 192.168.254.0/24 \
    --allocation-pool start=192.168.254.10,end=192.168.254.100 \
    mysubnet

  $ openstack network show mynetwork -f value -c id && openstack subnet show mysubnet -f value -c id
  57e622a0-3003-4d9f-b01e-c12613935265
  df2cbb56-12b9-4156-8a23-36023b110b75

  
  $ curl -s -X POST \
     -H "X-Auth-Token: $(openstack token issue -f value -c id)" \
     http://192.168.122.222:9696/v2.0/ports \
     -d '{"port": {"name": "test-port", "network_id": "57e622a0-3003-4d9f-b01e-c12613935265", "fixed_ips": [{"subnet_id": "df2cbb56-12b9-4156-8a23-36023b110b75"}]}}' \
    | python -m json.tool
  {
      "port": {
          "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": "2019-09-16T11:56:06Z",
          "description": "",
          "device_id": "",
          "device_owner": "",
          "dns_assignment": [
              {
                  "fqdn": "host-192-168-254-44.openstackgate.local.",
                  "hostname": "host-192-168-254-44",
                  "ip_address": "192.168.254.44"
              }
          ],
          "dns_domain": "",
          "dns_name": "",
          "extra_dhcp_opts": [],
          "fixed_ips": [
              {
                  "ip_address": "192.168.254.44",
                  "subnet_id": "df2cbb56-12b9-4156-8a23-36023b110b75"
              }
          ],
          "id": "84ef332d-8c48-422a-b400-0655702b1a0e",
          "ip_allocation": "immediate",
          "mac_address": "fa:16:3e:43:7c:fe",
          "name": "test-port",
          "network_id": "57e622a0-3003-4d9f-b01e-c12613935265",
          "port_security_enabled": true,
          "project_id": "4abf7cb77b574734adf086dfa828cd84",
          "propagate_uplink_status": false,
          "qos_policy_id": null,
          "resource_request": null,
          "revision_number": 1,
          "security_groups": [
              "708b5fa0-244c-46ee-9b35-30ba45a71ccf"
          ],
          "status": "DOWN",
          "tags": [],
          "tenant_id": "4abf7cb77b574734adf086dfa828cd84",
          "updated_at": "2019-09-16T11:56:06Z"
      }
  }

  
  $ curl -s -X PUT \
     -H "X-Auth-Token: $(openstack token issue -f value -c id)" \
     http://192.168.122.222:9696/v2.0/ports/84ef332d-8c48-422a-b400-0655702b1a0e \
     -d '{"port": {"fixed_ips": [{"ip_address": "192.168.254.100"}]}}' \
     | python -m json.tool
  {
      "NeutronError": {
          "detail": "",
          "message": "Invalid input for operation: IP allocation requires subnets for network.",
          "type": "InvalidInput"
      }
  }

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


References