← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1691885] Re: Updating Nova::Server with Neutron::Port resource fails

 

Looks to me like a neutron issue. neutron is looking for floatingips for
the port/fixed_ip combination[1]. Not sure why? And probably floatingip
extension is not available as this message suggests "No controller found
for: floatingips - returning response code 404"

[1] 2017-05-22 23:15:41.822 12962 INFO neutron.wsgi [req-
e54946bc-b617-4505-b963-d65ff8b65483 b429b29882af4f5b95787f646e860ebc
0fbac869a6d144f7abc7ae92788c9eb5 - default default] 192.168.24.1 "GET
/v2.0/floatingips.json?fixed_ip_address=192.168.24.18&port_id=69e79425-38a8-4782-ab29-ed6f7c5ec981
HTTP/1.1" status: 404  len: 285 time: 0.0071950

** Also affects: neutron
   Importance: Undecided
       Status: New

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

Title:
  Updating Nova::Server with Neutron::Port resource fails

Status in heat:
  New
Status in neutron:
  New

Bug description:
  A Nova::Server resource that was created with an implicit port cannot
  be updated.

  If I first create the following resource:
  # template1.yaml
  resources:
    my_ironic_instance:
      type: OS::Nova::Server
      properties:
        key_name: default
        image: overcloud-full
        flavor: baremetal
        networks:
          - network: ctlplane
            ip_address: "192.168.24.10"

  And then try to run a stack update with a different ip_address:
  # template2.yaml
  resources:
    my_ironic_instance:
      type: OS::Nova::Server
      properties:
        key_name: default
        image: overcloud-full
        flavor: baremetal
        networks:
          - network: ctlplane
            ip_address: "192.168.24.20"

  This fails with the following error:
  RetryError: resources.my_ironic_instance: RetryError[<Future at 0x72fbad0 state=finished returned bool>]

  I also tried assigning an external IP to the Nova::Server created in the template1.yaml, but that gave me the same error.
  # template3.yaml
  resources:
    instance_port:
      type: OS::Neutron::Port
      properties:
        network: ctlplane
        fixed_ips:
          - subnet: "ctlplane-subnet"
            ip_address: "192.168.24.20"

    my_ironic_instance:
      type: OS::Nova::Server
      properties:
        key_name: default
        image: overcloud-full
        flavor: baremetal
        networks:
          - network: ctlplane
            port: {get_resource: instance_port}

  However, if I first create the Nova::Server resource with an external
  port specified (as in template3.yaml above), then I can update the
  port to a different IP address and Ironic/Neutron does the right thing
  (at least since the recent attach/detach VIF in Ironic code has
  merged). So it appears that you can update a port if the port was
  created externally, but not if the port was created as part of the
  Nova::Server resource.

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