Skip to main content

Openstack : Fixing Failed to create network. No tenant network is available for allocation issue.

Assumptions:
  • You are using ML2 plugin configured to use Vlans

If you try to create a network for a tenant and it fails with the following error:

Error: Failed to create network "Test": 503-{u'NeutronError': {u'message': u'Unable to create the network. No tenant network is available for allocation.', u'type': u'NoNetworkAvailable', u'detail': u''}}

The problem can be due to missing configuration in the below files:

In /etc/neutron/plugins/ml2/ml2_conf.ini
network_vlan_ranges =physnet1:1000:2999 (1000:2999 is the Vlan range allocation)

In /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
bridge_mappings = physnet1:br-eth1 (in OVS we map the physical network to the OVS bridge)

Note
  1. You should have created a bridge br-eth1 manually and mapped it to a port
    • ovs-vsctl add-br br-eth1
    • ovs-vsctl add-port br-eth1 eth1
Once configuration is done, restart the neutron ovs agent on the compute node(s):
  • service neutron-openvswitch-agent restart
In the case of Juniper's Openstack ML2 plugin, we will need to supply the mapping between physical network and the port that it uses via the following command:

  •  jnpr_nic_mapping add -H host_name -b bridge_name -n nic
An example entry would be jnpr_nic_mapping add -H 10.20.30.40 -b physnet1 -n eth1

Comments

I found your website perfect for my needs. It contains wonderful and helpful posts. I have read most of them and got a lot from them.

openstack failed to create network

Popular posts from this blog

Solved: Fix for Git clone failure due to GnuTLS recv error (-9)

My devstack installation was failing with an error reported by the GnuTLS module as shown below: $ git clone https://github.com/openstack/horizon.git /opt/stack/horizon --branch master Cloning into '/opt/stack/horizon'... remote: Counting objects: 154213, done. remote: Compressing objects: 100% (11/11), done. error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received. fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed The following Git config changes fixed the issue for me. Am hoping it will be useful for someone out there: $ git config http.sslVerify false $ git config --global http.postBuffer 1048576000

QuickBite: Tap Vs Veth

Linux supports virtual networking via various artifacts such as: Soft Switches (Linux Bridge, OpenVSwitch) Virtual Network Adapters (tun, tap, veth and a few more) In this blog, we will look at the virtual network adapters tap and veth. From a practical view point, both seem to be having the same functionality and its a bit confusing as to where to use what. A quick definition of tap/veth is as follows: TAP A TAP is a simulated interface which exists only in the kernel and has no physical component associated with it. It can be viewed as a simple Point-to-Point or Ethernet device, which instead of receiving packets from a physical media, receives them from user space program and instead of sending packets via physical media writes them to the user space program. When a user space program (in our case the VM) gets attached to the tap interface it gets hold of a file descriptor, reading from which gives it the data being sent on the tap interface. Writing to the file descri...