← Back to team overview

yahoo-eng-team team mailing list archive

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

 

** Changed in: neutron
       Status: New => Invalid

-- 
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/1691885

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

Status in OpenStack Heat:
  Won't Fix
Status in neutron:
  Invalid
Status in OpenStack Compute (nova):
  Opinion

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