When spinning up a VM with Quantum Manager, by default the VM should get a vNIC for each global network and one for each network owned by the project. However, the look-up to find all networks associated with a specific project is broken (at least when using the nova IPAM lib).
This is because the 'allocate_for_instance' gets a project-id as an integer (e.g., '2') and passes this to 'self.ipam.get_project_and_global_net_ids', which in the case of Nova IPAM does a lookup in the nova DB networks table for projects that match '2'. However, when creating networks we've always passed in --project_id as a string (e.g., "demo"). Thus, the two project_ids don't match. I suspect we would have the same problem with melange.
So the real question is: what is the "correct" way to handle project_ids now that we have keystone? Is the string just for readability, with the integer being the canonical representation?
This turns out to be just an documentation issue. When you create the network you need to specify the id of the project, not the name. It used to work to specify the name but since moving to keystone it seems like this has changed.