devstack安装mitaka之解决创建cirros云主机的键盘输入错误

来源:互联网 发布:array 添加数据 编辑:程序博客网 时间:2024/06/05 03:35


近两天一直想利用PC机上的虚机创建一套devstack环境,便于研究openstack。devstack的安装与使用方法不在这里啰嗦了,只讲一下遇到的问题。

devstack的配置文件一点都不简单!

mitaka版的devstack环境,创建cirros云主机遇到键盘输入错误是高概率事件!

1、首先是,devstack完全按官网指南安装是真简单,但也真鸡肋,首先是local.conf文件中除了几个管理用的密码参数外,什么也不定义。然后又是默认访问国外源进行安装,慢得不靠谱啊。所以很容易出错。我这里只是给大家贴一个反复验证过的配置文件,过多不谈。

local.conf

[[local|localrc]]# use TryStack git mirrorGIT_BASE=http://git.trystack.cnNOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.gitSPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git# CredentialsDATABASE_PASSWORD=passDATABASE_PASSWORD=passADMIN_PASSWORD=passSERVICE_PASSWORD=passSERVICE_TOKEN=passRABBIT_PASSWORD=passHOST_IP=192.168.136.133SERVICE_HOST=192.168.136.133MYSQL_HOST=192.168.136.133RABBIT_HOST=192.168.136.133GLANCE_HOSTPORT=192.168.136.133:9292disable_service n-netenable_service q-svcenable_service q-agtenable_service q-dhcpenable_service q-l3enable_service q-metaenable_service q-meteringenable_service neutron# only support IP v4 SERVICE_IP_VERSION=4## Neutron optionsQ_USE_SECGROUP=TrueFLOATING_RANGE="192.168.136.0/24"FIXED_RANGE="10.0.1.0/24"NETWORK_GATEWAY="10.0.1.254"Q_FLOATING_ALLOCATION_POOL=start=192.168.136.200,end=192.168.136.250PUBLIC_NETWORK_GATEWAY="192.168.136.2"Q_L3_ENABLED=TruePUBLIC_INTERFACE=eth0Q_USE_PROVIDERNET_FOR_PUBLIC=TrueOVS_PHYSICAL_BRIDGE=br-exPUBLIC_BRIDGE=br-exOVS_BRIDGE_MAPPINGS=public:br-ex# VLAN configuration.Q_PLUGIN=ml2ENABLE_TENANT_VLANS=True

以上配置我在ubuntu14.04LTS上反复验证过,可以成功安装mitaka版。


2、mitaka版的devstack环境,创建cirros云主机遇到键盘输入错误

错误代码为:

atkbd serio0: Use 'setkeycodes 00 <keycode>' to make it known.

atkbd serio0: Unknown key pressed (translated set 2, code 0x0 on isa0060/serio0).


更多错误信息见下图:



这个错误能有多无厘头呢?

我的键盘除了数字小键盘中的10个数字键外,其它键全部不能识别,按哪个都报上面的错误信息!!!

连登录都完成不了,还测试什么啊。


纠缠一天,回家跑上突然有了一个灵感生气

这个horizon虽然是个WEB管理界面,但所谓的云主机终端却仍然是嵌入的VNC客户端实现的。既然它WEB上的VNC报键盘输入错误,那我不使用这个原装的WEB平台还不行吗?直接来VNC Viewer吧!

先回到安装了devstack环境的主机上,查看下系统中的VNC监听端口:



我目前创建了2个云主机实例,分别监听的是5900和5901的VNC端口。可以看到的是5900端口的监听地址是全部系统IP地址,因为这是我修改过的了。

5901仍然还是默认的,仅监听127.0.0.1地址,也就是说你直接访问它是不行的。


这么修改它,进入KVM的命令行工具,改它的虚机配置:


找到vnc相关的配置段落,把这两段127.0.0.1的都重置为0.0.0.0



保存后退出。回到云平台的Dashboard中重启下这个云主机,再看它的VNC监听端口:



连上为所欲为啦大笑




3、cirros云主机键盘输入解决方法二

所以说人就是不能休息,一休息就来灵感偷笑

虽然我一时无法去调dashboard源码解决这个bug,但其它办法还是很多。

下面讲个一篮子解决方案。


openstack上创建的云主机都是通过nova-compute进程管理的,想起手动参照openstack官网部署全套openstack时还要专门为nova设置vnc这个参数呢。

所以,回到devstack的管理窗口。怎么使用screen管理devstack请自行参照这篇文章:Devstack Screen使用技巧


定位到n-cpu,即nova-compute服务。按crtl+c,停止nova-compute服务。按一下向上的方向键可以看到启动nova-compute的命令及参数,从中可以看到配置文件的位置是/etc/nova/nova.conf。另外开个窗口,去修改这个文件。


vi  /etc/nova/nova.conf

请把上图中的两个127.0.0.1直接修改为0.0.0.0即可。


保存后退出。回到刚才停nova-compute的窗口,使用上上图所示的命令启动nova-compute服务。


去dashboard的界面上重新创建个云主机试试看吧!


1 0
原创粉丝点击