Skip to main content

Posts

Showing posts with the label openstack

Fixing Openstack Cirros VM : atkbd serio0: Use setkeycodes 00 error

When a Cirros VM is launched in Openstack Newton using the latest branch code you may encounter an error which prevents you from logging into VM's console. As soon as you start typing the username 'cirros' you may find the following error message getting printed on the console: atkbd serio0: Unknown key released (translates Set 2, ................) atkbd serio0: Use 'setkeycodes 00 ' to make it known This is a known issue and is tracked @ https://bugs.launchpad.net/devstack/+bug/1619554 I had tough time finding a solution to this problem and the solution turns out to be quite a simple one. This issue is occurring due to a bug in the latest noVNC code and is tracked @ https://bugs.launchpad.net/horizon/+bug/1622684 This problem can be solved in two ways (as a workaround): 1. Set NOVNC_BRANCH=v0.6.0 in your local.conf file and restack 2. cd /opt/stack/noVNC     git checkout v0.6.0     Now go to your VM console and refresh it. It should start wo...

OpenStack Kilo MultiNode VM Installation using Centos 7 on VirtualBox

In this blog, I will walk you through the steps that need to performed to create a MultiNode OpenStack Kilo setup running on Centos 7 VMs. The resultant network topology will be as follows: Pre-requisites VirtualBox A Laptop or Server with 16 GB RAM and around 20 GB free hard disk space CentOS 7 Minimal ISO Internet Connectivity

Customising the Link attribute in Horizon dashboard's DataTable

I had a quick dab at Django & Openstack Horizon frameworks in order to build a dashboard for one of our Openstack projects. Our requirement was to show a table on the UI with the corresponding CRUD functions. I had used DataTable for this purpose, where in you define the table structure in tables.py and the view rendering is defined in views.py If a column is defined to be a link, DataTable by default uses the object id of each row to generate the corresponding link. In my scenario, I needed the link to point to a different object. Openstack's documentation was not very helpful and a quick grep through the openstack's code gave me the idea. The approach to generate a custom link is as follows inside a DataTable: from django.core.urlresolvers import reverse def get_custom_link(datum):     return reverse('horizon:myproject:mydashboard:detail', kwargs={'key': datum.value}) The value of the key will be used to generate the URL. ...

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...

Openstack : Unable to connect to instance console at port 6080

I have a VM on virtualbox which acts as an all-in-one Openstack setup. When I spawn a VM on it the VM boots up fine but from the browser I am not able to access its console. There are various ways to solve this issue: 1. In the latest version of devstack (as on February 2015) n-novnc is no longer a default service and needs to be added to the local.conf to enable it. enabled_services=n-novnc  ( https://ask.openstack.org/en/question/57993/dashboard-vnc-console-doesnt-work-on-devstack/ ) 2. See if this helps you in tweaking manually : http://docs.openstack.org/admin-guide-cloud/content/nova-vncproxy-replaced-with-nova-novncproxy.html 3.Another geeky solution is that, you can grep the KVM process to figure out the port on which the VNC is getting channeled to and access the console. openstack@Openstack-Server:~/devstack$ ps aux|grep qemu|grep vnc libvirt+  9167  0.6  2.4 1504044 97488 ?       Sl   14:25   ...

QuickBite: Avoid Fedora qcow download during Devstack installation

While installing the latest devstack, I found that it downloads Fedora's qcow image as a part of heat installation : https://download.fedoraproject.org/pub/alt/openstack/20/x86_64/Fedora-x86_64-20-20140618-sda.qcow2. Its a 200MB file and is definitely not needed for Neutron related development. I see that there is an option in local.conf which will make it stick to the default Cirros. You can do it by setting the below config in local.conf: IMAGE_URLS=" http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-uec.tar.gz " This downloads the latest 0.3.3 series image of Cirros. At a later point, you can visit http://download.cirros-cloud.net/ and download the latest version as shown there.

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 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): ...

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

Pre-requisites CentOS 6.5 (or above) installed on a system with Openstack recommended specs Basic 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 here Installation 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.rpm yum install -y https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/**latest**.noarch.rpm yum install openstack-packstack Generate an answer file and configure it as per your requirements packstack --gen-answer-file *filename* Trigger installation using the generated answer file packstack --answer-file *filename*

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.

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_failed Filter 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: