Public bug reported:

When creating an instance using the Ironic driver using routed provider
networks, Nova creates a port with `ip_allocation` set to `deferred`.
This will let Neutron add an IP address to the interface once it's bound
to a host to ensure that it's part of the right segment.

When using this in combination with ConfigDrive, you end up with a
broken ConfigDrive with no links due to the fact that you have a
`network_info` on create that looks like this:

```
[
  {
    "id": "2f28d85a-c215-4c73-91cd-c7d965254711",
    "address": "fa:16:3e:85:b4:60",
    "network": {
      "id": "8c178449-cc1f-4f02-8a58-09f09a975b59",
      "bridge": null,
      "label": "baremetal",
      "subnets": [],
      "meta": {
        "injected": false,
        "tenant_id": "14f0af4a69ea4148b7b18939ae2ebcca",
        "mtu": 1500,
        "physical_network": "external-rack001",
        "tunneled": false
      }
    },
    "type": "unbound",
    "details": {},
    "devname": "tap2f28d85a-c2",
    "ovs_interfaceid": null,
    "qbh_params": null,
    "qbg_params": null,
    "active": false,
    "vnic_type": "normal",
    "profile": {},
    "preserve_on_delete": false,
    "delegate_create": true,
    "meta": {}
  }
]
```

This `network_info` eventually refreshes later to be the correct value,
however, since that is what is used in spawn time, it's also what is
used in deploy time to geneate the config drive and never updated,
meaning that you end up with no correct network_data.json if you're
using ironic + routed provider networks.

** Affects: nova
     Importance: Undecided
     Assignee: Mohammed Naser (mnaser)
         Status: New

** Changed in: nova
     Assignee: (unassigned) => Mohammed Naser (mnaser)

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

Title:
  Ironic fails to generate network metadata with deferred ports

Status in OpenStack Compute (nova):
  New

Bug description:
  When creating an instance using the Ironic driver using routed
  provider networks, Nova creates a port with `ip_allocation` set to
  `deferred`.  This will let Neutron add an IP address to the interface
  once it's bound to a host to ensure that it's part of the right
  segment.

  When using this in combination with ConfigDrive, you end up with a
  broken ConfigDrive with no links due to the fact that you have a
  `network_info` on create that looks like this:

  ```
  [
    {
      "id": "2f28d85a-c215-4c73-91cd-c7d965254711",
      "address": "fa:16:3e:85:b4:60",
      "network": {
        "id": "8c178449-cc1f-4f02-8a58-09f09a975b59",
        "bridge": null,
        "label": "baremetal",
        "subnets": [],
        "meta": {
          "injected": false,
          "tenant_id": "14f0af4a69ea4148b7b18939ae2ebcca",
          "mtu": 1500,
          "physical_network": "external-rack001",
          "tunneled": false
        }
      },
      "type": "unbound",
      "details": {},
      "devname": "tap2f28d85a-c2",
      "ovs_interfaceid": null,
      "qbh_params": null,
      "qbg_params": null,
      "active": false,
      "vnic_type": "normal",
      "profile": {},
      "preserve_on_delete": false,
      "delegate_create": true,
      "meta": {}
    }
  ]
  ```

  This `network_info` eventually refreshes later to be the correct
  value, however, since that is what is used in spawn time, it's also
  what is used in deploy time to geneate the config drive and never
  updated, meaning that you end up with no correct network_data.json if
  you're using ironic + routed provider networks.

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


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to