Creating Neutron L2 networks (without subnets) doesn't work as expected
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Expired
|
Undecided
|
Unassigned |
Bug Description
1. create a network in Quantum. Networks no longer need subnets, so I create a network without one. (Imagine I'm doing my addressing some other way.
quantum net-create test
<returns an ID>
2. create a machine with that network attached via nova.
nova boot --image xxx --flavor yyy --nic net-id=
All good. The machine boots perfectly well. However, it comes up without any NICs.
It turns out that VIF.legacy() is called just before calling driver.spawn() for the virt driver. This converts the VIF datastructure from the network model to its old form (because the virtualisation layer has not been brought up to date with the new model). The old form can't be created without, at least, an IPv4 address - so, in the above example where no address has been assigned to the VIF, it is silently omitted from the legacy version of the datastructure, and no NIC is added to the VM as the network_info datastructure is now empty.
So:
- am I even calling the API correctly? Since nova-manage network create and quantum net-create both work, and no-one's written up the documentation yet, I can't tell that I'm doing this right (although I got no joy out of the IDs that nova-manage was returning)
- is this going to last into Folsom RCs or will it be fixed?
- if it is going to stay with us, perhaps we could throw an error at this point rather than continuing to create the wrong sort of VM?
(I need this functionality so I shall have to find a workaround if it's going to stay missing.)
affects: | quantum → nova |
tags: | added: quantum |
Changed in nova: | |
milestone: | folsom-rc1 → none |
Changed in nova: | |
assignee: | nobody → Racha Ben Ali (racha-ben-ali) |
Changed in nova: | |
assignee: | Racha Ben Ali (racha-ben-ali) → nobody |
Changed in nova: | |
status: | In Progress → Triaged |
tags: |
added: neutron nfv removed: quantum |
Changed in nova: | |
assignee: | nobody → Racha Ben Ali (racha-ben-ali) |
summary: |
- Creating quantum L2 networks (without subnets) doesn't work as expected + Creating Neutron L2 networks (without subnets) doesn't work as expected |
Ah, just found the legacy_nwinfo() call on the hypervisor drivers - so it matters that I'm using libvirt, which hasn't yet been updated.