OpenStack users with busy schedules would often want a stable, tested and repeatable method to deploy their private cloud without human intervention. There are many ways by which you can do it of which devstack and packstack are the most popular. However they are not the only ones available. In this post we summarize yet another method, with its own advantages. Continue reading “OpenStack Automated Install”
The neutron l3 agent is responsible for providing service for routing, natting, security-group rules and floatingip allocation. This purpose of this post is to document its working principles and also to enable users to effectively debug their Openstack cloud(most problems occur due to user mis configuration). The l3 agent offers these services from the network node and relies on neutron-openvswitch-agent to provide l2 connectivity to the instances running on compute nodes. This post assumes that the readers are aware of how l2 connectivity is achieved using ‘openvswitch’ mechanism driver. Continue reading “L3 connectivity using neutron-l3-agent”
Setting Up GCE local access
Add ssh of your local machine to GCE Metadata
1. On Your local machine generate ssh key
$ sudo apt-get install ssh $ ssh-keygen -t rsa -P "" $ cat $HOME/.ssh/id_rsa.pub
2. copy the contents and replace yourusername@yourhostname with hadoop@yourhostname
Continue reading “Hadoop Multi-Node Setup in Google Compute Engine”
In this post we shall be discussing about various network components and their corresponding Linux virtual counterparts.
Switches basically provide the following functionality
- Mac learning: As switch receive packets on their interface they map the interface id/port number to the source mac address of the all packets received on that interface. This is used later while forwarding.
- Forwarding: Switches do not see a packet past the l2 headers. The have to perform a simple logic before sending out a packet received on one interface, to other interfaces.
- If the destination is broadcast/multi-cast, forward on all ports except the ingress port.
- If the destination of a packet is mapped to any interface send the packet out that interface alone.
- If the destination is non of the above, forward on all ports belonging to the packet’s VLAN, except the ingress port.
- VLAN Isolation: Packets are assorted according to their VLAN. A switch’s port can be either configured as trunk port(Belongs to all VLANs) or as an access port for a particular VLAN. The rules therefore are simple.
- Packets appearing on trunk ports should be tagged unless they belong to vlan 1(native vlan). The tag identifies the packet’s vlan in this case.
- Packets appearing on access ports should not be tagged unless they want to be dropped. The port configuration(access ports always belong to a VLAN) identifies the packet in this case
The assorted packets then pass through the forwarding phase, which determine to which port they would be sent to. Packets going out trunk ports will be tagged and those going out access ports will not be tagged. The forwarding logic guarantees that a packet belonging to a VLAN shall never trespass another VLAN.
L2 connectivity is the most basic requirement in a network. All cloud platforms allow users to create subnets. Subnets are L2 segments to which the servers attach their interfaces to and start sending and receiving traffic. Servers on the same L2 segment can reach each other directly. They only need to resolve the destination MAC address using ARP. In the world of networking this service is provided by your access switch.
The following procedure is tested on OpenStack grizzly version running on Ubuntu 12.04
Before creation of any networks in the OpenStack setup, add the following lines in /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini under “[OVS]” section on all the machines of an OpenStack setup running Open vSwitch and Open vSwitch agents.
The following method was tested with FreeBSD 9.1 image bundled into Grizzly version of OpenStack running on Ubuntu 12.04
Create a raw image which emulates the Hard Drive.
kvm-img create -f qcow2 freebsd.img 5G