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


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

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

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

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

local.conf

[[local|localrc]]
# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git

# CredentialsDATABASE_PASSWORD=pass
DATABASE_PASSWORD=pass
ADMIN_PASSWORD=pass
SERVICE_PASSWORD=pass
SERVICE_TOKEN=pass
RABBIT_PASSWORD=pass

HOST_IP=192.168.136.133
SERVICE_HOST=192.168.136.133
MYSQL_HOST=192.168.136.133
RABBIT_HOST=192.168.136.133
GLANCE_HOSTPORT=192.168.136.133:9292

disable_service n-net
enable_service q-svc
enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-metering
enable_service neutron

# only support IP v4 
SERVICE_IP_VERSION=4
## Neutron optionsQ_USE_SECGROUP=True
FLOATING_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.250
PUBLIC_NETWORK_GATEWAY="192.168.136.2"
Q_L3_ENABLED=True
PUBLIC_INTERFACE=eth0
Q_USE_PROVIDERNET_FOR_PUBLIC=True
OVS_PHYSICAL_BRIDGE=br-ex
PUBLIC_BRIDGE=br-ex
OVS_BRIDGE_MAPPINGS=public:br-ex

# VLAN configuration.Q_PLUGIN=ml2
ENABLE_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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值