root@controller1:~# nova list
ERROR: The server has either erred or isincapable of performing the requested operation. (HTTP 500) (Request-ID: req-572480f3-aef6-4c5b-a3f1-9ba676761935)
最后定位出来的原因是:
/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini文件中firewall_driver没有配置或配置错误导致。
[SECURITYGROUP]
firewall_driver =quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
修改正确后,需要重启quantum、nova服务:
service quantum-server restart
cd /etc/init.d/; for i in $( ls nova-* );do sudo service $i restart; done
出现该问题时应查询compute节点上的/var/log/nova/nova-compute.log文件,这种
情况的成因很多,罗列如下:
情况一: CPU不支持VT技术导致kvm启动失败
解决方法:nova.conf中libvirt_type改为qemu 。
情况二: nova-compute服务的权限不够,导致创建iptables规则时失败
解决方法:改变nova-compute启动的用户为root,或者开通当前nova-compute服务
的宿主用户的sudo命令nopassword权限。
情况三: get image时出现问题,找不到镜像文件
解决方法:检查glance服务器,同时确保compute节点能正常地访问到glance节点。
root@controller1:~# keystone tenant-create--name tenant1
Expecting authentication method via
either a service token, --os-token or env[OS_SERVICE_TOKEN],
orcredentials, --os-username or env[OS_USERNAME].
没有设置环境变量:
. creds 文件
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=admin_pass
export OS_AUTH_URL=http://172.16.77.128:5000/v2.0/
mysql报错:
2014-05-13 20:33:06.083 13951 CRITICALglance [-] ValueError: Tables "migrate_version" have non utf8collation, please make sure all tables are CHARSET=utf8
解决:
进入相应的库,对数据库下的migrate_version表进行修改字符编码
ALTER TABLE `migrate_version` DEFAULTCHARACTER SET utf8 COLLATE utf8_general_ci;
或者直接对整个库进行修改字符编码
ALTER DATABASE `glance` DEFAULT CHARACTERSET utf8 COLLATE utf8_general_ci;
I've installeddevstack on a VM on my laptop, and at first I was able to log in to the Horizondashboard. But I stopped my VM and restarted it later, now when I log in theauthentication fails. My horizon_error.log shows the following: DEBUG:openstack_auth.backend:AuthorizationFailed: HTTPConnectionPool(host='127.0.0.1', port=5000): Max retries exceededwith url: /v2.0/tokens (Caused by
.
ladquin in#openstack-101 helped me out with this advice: "go to your devstack folderand run './rejoin-stack.sh'"
I had two devstackfolders though... make sure the one you use has a stack-screenrc
file in it. You can do locate stack-screenrc
to find the right folder.
进入devstack/目录,执行'./rejoin-stack.sh 脚本