Showing posts from 2014

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

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)

You should have created a bridge br-eth1 manually and mapped it to a portovs-vsctl add-br br-eth1ovs-vsctl add-port br-eth1 eth1 Once configuration is done, restart the neutron ovs agent on the compute node(s):
service neutron-openvswitch-ag…

Installing IceHouse on CentOS 6.5 with PackStack -- All in one node

CentOS 6.5 (or above) installed on a system with Openstack recommended specsBasic Network Configured and working. If you have used CentOS minimal version then you will need to configure the network manually. You can refer to the steps required hereInstallation
yum update -y Go to IceHouse Repo and copy the link to the latest  *****.noarch.rpm. As of December 2014, the latest rpm is : rdo-release-icehouse-4.noarch.rpmyum install -y**latest**.noarch.rpmyum install openstack-packstack Generate an answer file and configure it as per your requirementspackstack --gen-answer-file *filename* Trigger installation using the generated answer filepackstack --answer-file *filename*

Configuring Network on Centos 6 Minimal Installation

When a system is installed with CentOS 6 minimal version, it's network is not configured initially and has to be manually taken care of. There are two ways of going about this:
DHCP  vi /etc/sysconfig/network-scripts/ifcfg-eth0ONBOOT = yesNM_CONTROLLED = noBOOTPROTO = dhcp vi /etc/sysconfig/network [Hostname is needed to be specified for DHCP to work]NETWORKING = yesHOSTNAME =  vi /etc/resolv.conf [Optional]search [ex:]nameserver Once all the above steps are done, restart the networking service:/etc/init.d/network restart [For troubleshooting]
You can also consider using "dhclient eth0" to obtain an ip address for eth0 from dhcp server.

Static IP Address
vi /etc/sysconfig/network-scripts/ifcfg-eth0ONBOOT = yesNM_CONTROLLED = noBOOTPROTO = noneIPADDR = NETMASK = [for a /24 network it will be]GATEWAY = [Optional] USERCTL = yes/no [Optional] (yes - allows non-root users to control this device)
Additional …

Installing VirtualBox Guest Additions from the Command Line

VirtualBox Guest Additions helps improve a VM's performance and usability. The biggest plus I see going for it is the dynamic screen resizing of the guest window.

If you are using a supported OS with a GUI, installing the guest additions is as simple as clicking on the menu "Devices --> Insert Guest Additions CD Image" and the installation follows.

On an OS without GUI, generally the server versions, you will have to do the following operations from the CLI to install the guest additions:

Setting up Python Django dev environment

Django is a python web development framework that helps in rapid application development. Once you are comfortable with the basics, developing UI applications with Django framework is a breeze and helps the developers to focus on the problem at hand rather than on UI nitty gritty.

An understanding of this framework is a must in order to develop applications for Openstack Horizon module.

In this article, I will list out the steps that need to be carried out to get a Django setup ready for the initial learning phase. At the end of this article, I have included all the links that I have followed when I initially learnt this framework.

Junos Notes

[This is meant for my reference, so data will be from random areas]

Setting a Port to trunk all
set interfaces ge-0/0/45 unit 0 family ethernet-switching port-mode trunk

set interfaces ge-0/0/45 unit 0 family ethernet-switching vlan members all

Save/Restore Snapshots
save file-nameload file-nameLogging out a user : If you want to log out a stale session

root@srx> edit
Entering configuration mode
Users currently editing the configuration:
  root terminal u0 (pid 94668) on since 2014-12-01 10:52:51 UTC, idle 1w2d 18:02

root@srx# run request system logout pid 94668

[A much cleaner way is to set the ssh timeout for the user]

Find all users logged onto a device

Fixing Openstack VM spawning issue: No suitable host found/vif_type=binding_failed error

Once in a while, on a new setup, when you try to spawn a VM on Openstack and it may fail with the error :  No Suitable Host Found, it points to the fact the the Nova Scheduler failed to filter out a host to spawn the VM on.

[The following trouble shooting is related to my setup. There are a lot of other factors that may lead to this error. So google a bit and check them in addition. This article can help you in figuring out the way to do troubleshooting.]

A quick look at /var/log/nova/scheduler.log and compute.log shows an error:
NovaException: Unexpected vif_type=binding_failedFilter RetryFilter returned 0 hosts This points to the fact that something is wrong with the Neutron setup. So a quick look into the neutron logs show the following:

A great book on JTA (Java Transaction API) -- free edition

I have recently come across a great book on JTA @

Happy reading....

Using SL4J with various logger implementations (Log4j, JUL, Logback)

I found an excellent blog with instructions on how to use SL4J with various logging frameworks @

Converting JSON string to JavaScript object

Javascript has an inbuilt library object to handle json data.

In order to convert a json string to an object, you can use the following method call:
var obj = JSON.parse("jsonString")  for the other way around :
var jsonString = JSON.stringify(obj);
Check out the site It's very useful to format json strings.

Excellent introduction to D3JS

I have come across a free online book with gives an excellent** introduction to D3js. You can access it @

You can buy the book @