I found a second networking guide, where I followed the instructions for the classic openvswitch implementation and got it up and running.
I’ve done all this for neutron:
- Disable libvirt networking on the compute node: guide
, this wasn’t really necessary, but to avoid confusions with the virbr0 networks the libvirt creates.
- Create the basic networks in openvswitch and configure the proper interfaces.
- Connect to the internet.
After all this I still wasn’t able to launch instances via the dashboard:
- Configuration errors: it is very easy to make alot of typo’s 🙁
- After that it seems like creating an instance fails because no volume could be created, so bought four used hard drives from eBay, insert them in the OpenStack machine and created a RAID5 volume. I installed cinder on a seperate VM and assigned it 250GB. Volumes can be created now, but still errors when trying to create an instance. I will create a seperate post an that subject.
- I’ve now been searching for the cause of the failures, and I believe it is somewhere located in the network configuration. It can create ports on the proper networks, and it fails because of that. A few things that I’ve found, besides more typo’s:
- The documentation says to set interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver in /etc/neutron/l3_agent.conf and /etc/neutron/dhcp_agent.conf, but this class can’t be loaded. I has to dig through the neutron python code, and found another way: interface_driver = openvswitch. It is an alias that does seem to work. I think this is a regression in the Newton code, as the code should be backwards compatible with the class path.
- I also have to have the ip_gre, 8021q and vxlan kernel modules loaded. These are essential if you want to create GRE/VXLAN tunnels or VLAN networks. Just modprobe them, and put them in /etc/modules.
- Still not working though, but now I do see the dhcp server plugged in on the network, so progress…