在创建用户时报

[root@controller ~]#  openstack user create --password-prompt neutron

User Password:

Repeat User Password:

The request you have made requires authentication. (HTTP 401) (Request-ID: req-6750cf88-b2b0-4f07-89fa-

解决方法

把admin-token中的admin-token环境变量去掉

[root@controller ~]# echo $OS_TOKEN

d55a8891f4adb5796f32

[root@controller ~]# unset OS_TOKEN

[root@controller ~]# echo $OS_TOKEN


[root@controller ~]# openstack user create --password-prompt neutron

User Password:

Repeat User Password:

+-----------+----------------------------------+

| Field     | Value                            |

+-----------+----------------------------------+

| domain_id | default                          |

| enabled   | True                             |

| id        | 8004b1a254674184a47000058b28cb8c |

| name      | neutron                          |

+-----------+----------------------------------+

若有token时可以删除和查看用户但是不能创建用户。原因待查询

问题二

若在创建虚拟机时在控制节点上出现schduler.log

AggregateRamFilter returned 0 hosts

返回值为0说明内存不够。加内存即可

问题三

创建云硬盘和云主机失败。已经做完ceph和opstack对接

查看cinder 的错误

2016-10-13 17:53:28.978 1618 WARNING cinder.context [-] Arguments dropped when creating context: {u'user': None, u'tenant': None, u'user_identity': u'- - - - -'}
2016-10-13 17:53:29.371 1618 WARNING cinder.context [-] Arguments dropped when creating context: {u'user': None, u'tenant': None, u'user_identity': u'- - - - -'}
2016-10-13 17:53:42.034 1618 WARNING cinder.context [-] Arguments dropped when creating context: {u'user': u'cfb18f549d654be69cc4ba0ff146df89', u'tenant': u'6addc301cb9245c39a8c226ec303eeb1', u'user_identity': u'cfb18f549d654be69cc4ba0ff146df89 6addc301cb9245c39a8c226ec303eeb1 - - -'}
2016-10-13 17:53:42.042 1618 WARNING cinder.scheduler.filters.capacity_filter [req-88800576-0d88-4f46-9684-42def152f89f cfb18f549d654be69cc4ba0ff146df89 6addc301cb9245c39a8c226ec303eeb1 - - -] Insufficient free space for volume provision allocated 10093 GB, allow provisioned 8331.0 GB
2016-10-13 17:53:42.049 1618 ERROR cinder.scheduler.flows.create_volume [req-88800576-0d88-4f46-9684-42def152f89f cfb18f549d654be69cc4ba0ff146df89 6addc301cb9245c39a8c226ec303eeb1 - - -] Failed to schedule_create_volume: No valid host was found. 
2016-10-13 17:53:42.906 1618 WARNING cinder.context [-] Arguments dropped when creating context: {u'user': None, u'tenant': None, u'user_identity': u'- - - - -'}


问题分析貌似是ceph存储满了。查看ceph存储空间

[root@node-11 ~]# ceph df
GLOBAL:
    SIZE       AVAIL      RAW USED     %RAW USED 
    16748G     16601G         146G          0.87 
POOLS:
    NAME            ID     USED       %USED     MAX AVAIL     OBJECTS 
    data            0           0         0         8295G           0 
    metadata        1           0         0         8295G           0 
    rbd             2           0         0         8295G           0 
    images          3      28535M      0.17         8295G        3587 
    volumes         4      37022M      0.22         8295G        9473 
    volumes_ssd     5           0         0         8295G           0 
    compute         6           0         0         8295G           0

查看副本数

[root@node-12 ~]#  ceph osd pool get rbd size
size: 2

经过计算ceph可用量为8300G左右。实际使用了70G.

到控制台处查看所有云硬盘的使用量查看已经分出去了多余8000G的容量导致创建云硬盘失败。

问题四

情景客户在创建4c 16G规格的虚拟机时报错创建两个2C  8G规格的云主机并无报错。查看log

vim /var/log/nova/scheduler.log
2016-11-05 01:30:28.286 6368 INFO nova.scheduler.filter_scheduler [req-13b090f9-abae-414f-a2f7-44aab1283906 0e45e0ae412d4541b8212c6d1c2d3c26 cd92e494a4954baab828a4da2ac657f4] Attempting to build 1 instance(s) uuids: [u'7814aea6-13ef-41c7-a69d-01b8cf567e07']
2016-11-05 01:30:28.427 6368 INFO nova.filters [req-13b090f9-abae-414f-a2f7-44aab1283906 0e45e0ae412d4541b8212c6d1c2d3c26 cd92e494a4954baab828a4da2ac657f4] Filter AggregateRamFilter returned 0 hosts
2016-11-05 01:30:28.428 6368 WARNING nova.scheduler.driver [req-13b090f9-abae-414f-a2f7-44aab1283906 0e45e0ae412d4541b8212c6d1c2d3c26 cd92e494a4954baab828a4da2ac657f4] [instance: 7814aea6-13ef-41c7-a69d-01b8cf567e07] Setting instance to ERROR state.

于是看出计算节点的资源原来是有的计算节点cpu充足内存不够有的内存不够cpu却充足。所以现在可以创建两个2C 8G的云主机却不能创建1台4C16G的云主机。

问题四创建虚拟机失败libvirtd的问题

打开nova的debug。看到一个错误

wKiom1hkzX-i2oJ5AABykM3MdPg717.jpg-wh_50                                                                                此时以为是cpu不支持虚拟化后来看到宿主机是物理机然后放弃了这一想法。看下libvirtd服务的状态

systemctl status -l libvirtd.service 
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2016-09-20 19:28:16 CST; 1 day 20h ago
     Docs: man:libvirtd(8)
           http://libvirt.org
 Main PID: 8360 (libvirtd)
   CGroup: /system.slice/libvirtd.service
           └─8360 /usr/sbin/libvirtd --listen

Sep 22 13:51:07 zp2cp010 libvirtd[8360]: Activation of org.freedesktop.machine1 timed out
Sep 22 13:55:45 zp2cp010 libvirtd[8360]: Activation of org.freedesktop.machine1 timed out
Sep 22 14:05:59 zp2cp010 libvirtd[8360]: Activation of org.freedesktop.machine1 timed out
Sep 22 14:07:57 zp2cp010 libvirtd[8360]: Activation of org.freedesktop.machine1 timed out
Sep 22 14:23:45 zp2cp010 libvirtd[8360]: Activation of org.freedesktop.machine1 timed out
Sep 22 14:41:55 zp2cp010 libvirtd[8360]: Activation of org.freedesktop.machine1 timed out
Sep 22 14:56:29 zp2cp010 libvirtd[8360]: Activation of org.freedesktop.machine1 timed out
Sep 22 15:17:18 zp2cp010 libvirtd[8360]: Activation of org.freedesktop.machine1 timed out
Sep 22 15:19:11 zp2cp010 libvirtd[8360]: Activation of org.freedesktop.machine1 timed out
Sep 22 15:32:50 zp2cp010 libvirtd[8360]: Activation of org.freedesktop.machine1 timed out

Sep 22 15:51:57 zp2cp010 libvirtd[29250]: internal error: Cannot probe for supported suspend types
Sep 22 15:51:57 zp2cp010 libvirtd[29250]: Failed to get host power management capabilities
Sep 22 15:52:22 zp2cp010 libvirtd[29250]: error from service: GetMachineByPID: Activation of org.freedesktop.machine1 timed out
Sep 22 15:52:27 zp2cp010 libvirtd[29250]: End of file while reading data: Input/output error
Sep 22 15:52:47 zp2cp010 libvirtd[29250]: error from service: GetMachineByPID: Activation of org.freedesktop.machine1 timed out
Sep 22 15:52:47 zp2cp010 libvirtd[29250]: error from service: GetMachineByPID: Activation of org.freedesktop.machine1 timed out
Sep 22 15:52:47 zp2cp010 libvirtd[29250]: error from service: GetMachineByPID: Activation of org.freedesktop.machine1 timed out
Sep 22 15:52:48 zp2cp010 libvirtd[29250]: internal error: Cannot probe for supported suspend types
Sep 22 15:52:48 zp2cp010 libvirtd[29250]: Failed to get host power management capabilities
Sep 22 15:53:54 zp2cp010 libvirtd[29250]: Activation of org.freedesktop.machine1 timed

  发现是libvirt服务出问题了。于是想到了重启谁知道重启并没解决问题。于是google看下

解决方法

systemctl restart dbus-org.freedesktop.machine1.service
systemctl restart  libvirtd.service

再看libvirt的状态

Hint: Some lines were ellipsized, use -l to show in full.
[root@node-1 ~]# systemctl status libvirtd.service 
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2016-12-29 16:51:53 CST; 3s ago
     Docs: man:libvirtd(8)
           http://libvirt.org
 Main PID: 1494879 (libvirtd)
   Memory: 17.1M
   CGroup: /system.slice/libvirtd.service
           ├─   3813 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libv...
           ├─   3814 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libv...
           └─1494879 /usr/sbin/libvirtd
Dec 29 16:51:53 node-1 systemd[1]: Starting Virtualization daemon...
Dec 29 16:51:53 node-1 libvirtd[1494879]: libvirt version: 1.2.17, package: 13.el7_2.4 (CentOS BuildSystem  
  

问题解决!

问题四

由于网络原因创建不成功查看nova-computer的log


2017-03-20 11:23:52.283 52305 INFO nova.virt.libvirt.driver [req-cfdcf014-98c9-45ab-9fcb-e8ce68211a00 efc3374a0eff4fb6a0bd2115e23b7db6 9a42f3cc7216406a8beaf264182bce6f] [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261] Creating image
2017-03-20 11:23:52.451 52305 ERROR nova.compute.manager [req-cfdcf014-98c9-45ab-9fcb-e8ce68211a00 efc3374a0eff4fb6a0bd2115e23b7db6 9a42f3cc7216406a8beaf264182bce6f] [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261] Instance failed to spawn
2017-03-20 11:23:52.451 52305 TRACE nova.compute.manager [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261] Traceback (most recent call last):
2017-03-20 11:23:52.451 52305 TRACE nova.compute.manager [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261]   File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 1853, in _spawn
2017-03-20 11:23:52.451 52305 TRACE nova.compute.manager [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 2464, in spawn
2017-03-20 11:23:52.451 52305 TRACE nova.compute.manager [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 3865, in to_xml
2017-03-20 11:23:52.451 52305 TRACE nova.compute.manager [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/driver.py", line 3654, in get_guest_config
2017-03-20 11:23:52.451 52305 TRACE nova.compute.manager [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261]   File "/usr/lib/python2.6/site-packages/nova/virt/libvirt/vif.py", line 384, in get_config
2017-03-20 11:23:52.451 52305 TRACE nova.compute.manager [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261]     _("Unexpected vif_type=%s") % vif_type)
2017-03-20 11:23:52.451 52305 TRACE nova.compute.manager [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261] NovaException: Unexpected vif_type=binding_failed
2017-03-20 11:23:52.451 52305 TRACE nova.compute.manager [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261]
2017-03-20 11:23:52.452 52305 WARNING nova.compute.resource_tracker [req-cfdcf014-98c9-45ab-9fcb-e8ce68211a00 efc3374a0eff4fb6a0bd2115e23b7db6 9a42f3cc7216406a8beaf264182bce6f] 'list' object has no attribute 'get'
2017-03-20 11:23:52.528 52305 AUDIT nova.compute.manager [req-cfdcf014-98c9-45ab-9fcb-e8ce68211a00 efc3374a0eff4fb6a0bd2115e23b7db6 9a42f3cc7216406a8beaf264182bce6f] [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261] Terminating instance
2017-03-20 11:23:53.071 52305 ERROR nova.virt.libvirt.driver [-] [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261] During wait destroy, instance disappeared.
2017-03-20 11:23:53.266 52305 ERROR nova.compute.manager [req-cfdcf014-98c9-45ab-9fcb-e8ce68211a00 efc3374a0eff4fb6a0bd2115e23b7db6 9a42f3cc7216406a8beaf264182bce6f] [instance: 687a4dd2-cc63-424d-a1c2-4a25b5fbb261] Error: Unexpected vif_type=binding_failed


看到“Unexpected vif_type=binding_failed” 的错误一般是网络问题所以看了下neutron-linuxbridge-agent的状态发现服务没启动手动起下服务就好了

至此问题解决

问题五:

在搭建openstack ha时 当图形化界面预览 image的资源时,下面是解决思路:

1、使用glance 命令查看是否能获取到镜像

root@node-1 share]# glance image-list  
+--------------------------------------+--------+
| ID                                   | Name   |
+--------------------------------------+--------+
| d7bfbd76-2796-48bc-a0e9-6925ac15254c | cirros |
+--------------------------------------+--------+

2、尝试nova是否能获取 image

root@node-1 share]# nova image-list

若不能获取则是在[root@node-1 share]# vim /etc/glance/glance-api.conf

registry_host = 192.168.11.63  ##此处填写 vip  即 管理网的虚拟ip

问题六:

删除域

openstack domain set heat --disable
 openstack domain delete heat

问题七:

安装o版openstack,创建vm,在nova-conductor.log 出现这个错误

No host-to-cell mapping found for selected host. Setup is incomplete.

运行 

nova-manage cell_v2 discover_hosts

解决!


问题五:

Oenstack N版本搭建ceilometer 时 使用 ceilometer  --debug meter-list 时报404 错误,查看

/var/log/httpd/ceilometer_error.log报
Target WSGI script not found or unable to stat: /var/www/cgi-bin/ceilometer

使用以下方法解决

mkdir -p /var/www/cgi-bin/ceilometer
cp /usr/lib/python2.7/site-packages/ceilometer/api/app.wsgi /var/www/cgi-bin/ceilometer/app

参考链接:https://ask.openstack.org/en/question/98661/httpnotfound-http-404-error-when-run-ceilometer-meter-list/

问题六:

同步glance数据库时报错,并且没有同步成功

root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance

Option "verbose" from group "DEFAULT" is deprecated for removal.  Its value may be silently ignored in the future.

/usr/lib/python2.7/site-packages/oslo_db/sqlalchemy/enginefacade.py:1241: OsloDBDeprecationWarning: EngineFacade is deprecated; please use oslo_db.sqlalchemy.enginefacade

  expire_on_commit=expire_on_commit, _conf=conf)


此时要看看下glance 数据库对应的授权用户glance的密码, 密码不支持特殊字符!!!

问题七:

Openstack   Ocata 版本在centos7.4 环境下,安装完后,打不开dashboard,因为是用ansible 安装的,所以,配置文件没有问题,奇怪的是 在centos7.2上没有此问题,下面看log

 Cannot serve directory ar/wwwml/

google后,发现是个bug ,解决方法:


vim /etc/httpd/conf.d/openstack-dashboard.conf 
添加
WSGIApplicationGroup %{GLOBAL}

参考链接:

https://bugs.launchpad.net/horizon/+bug/1737092


问题八

当控制节点做了HA后, novnc会刷新三次匹配到一次,原因是:

当我们通过dashboard通过novnc访问控制台的时候,获取到的token值是固定的,然后会轮询到3个controller节点进行token验证,而这3个controller节点上对同一个实例的token值是不同的;log如下

INFO nova.consoleauth.manager [req-b20ff759-c3da-45be-9227-3fa00b6f6aec - - - - -] Checking Token: 57b251e6-852d-4869-bc0b-1c50aef57a25, False

N版的解决方法:

[cache]
enabled = true
memcached_servers = 192.168.0.141:11211,192.168.0.142:11211,192.168.0.143:11211
backend = oslo_cache.memcache_pool


O版的解决方法:

[cache]
memcache_servers = 10.10.48.111:11211,10.10.48.112:11211,10.10.48.113:11211
enabled = true
backend = oslo_cache.memcache_pool
expiration_time=600


注意, N版和O版的写法不一样分别是memcached_servers 和memcache_servers

数据库做了Galera集群后,发现下面的log

Could not increase number of max_open_files to more than 1024 (request: 24107)

初步判段为文件的打开数太小了,于是在


vim /etc/security/limits.conf  ##添加下面 内容
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
mysql soft nofile  65535
mysql hard nofile 65535
###
vim  /usr/lib/systemd/system/mariadb.service ## 为mysql指定文件打开数
LimitNOFILE=65535
LimitNPROC=65535

重启数据库即可。

问题9

在多region环境下,在利用heat做资源编排时报找不到资源的错误。 

解决方法:

[root@vc-controller01 ~]# grep egion_name_for_services /etc/heat/heat.conf 
#region_name_for_services = 
把region_name_for_services = 改成对应的region
重启服务即可

问题十:

cinder删除不需要的卷服务

[root@localhost ~]# cinder service-list
+------------------+----------------------------+------+---------+-------+----------------------------+-----------------+
| Binary           | Host                       | Zone | Status  | State | Updated_at                 | Disabled Reason |
+------------------+----------------------------+------+---------+-------+----------------------------+-----------------+
| cinder-scheduler | localhost.localdomain      | nova | enabled | up    | 2018-06-04T19:04:08.000000 | -               |
| cinder-volume    | localhost.localdomain@vmdk | nova | enabled | down  | 2018-06-04T19:02:52.000000 | -               |
+------------------+----------------------------+------+---------+-------+----------------------------+-----------------+
首先disable
[root@localhost ~]# cinder service-disable localhost.localdomain@vmdk cinder-volume
+----------------------------+---------------+----------+
| Host                       | Binary        | Status   |
+----------------------------+---------------+----------+
| localhost.localdomain@vmdk | cinder-volume | disabled |
+----------------------------+---------------+----------+

[root@localhost ~]# cinder service-list
+------------------+----------------------------+------+----------+-------+----------------------------+-----------------+
| Binary           | Host                       | Zone | Status   | State | Updated_at                 | Disabled Reason |
+------------------+----------------------------+------+----------+-------+----------------------------+-----------------+
| cinder-scheduler | localhost.localdomain      | nova | enabled  | up    | 2018-06-04T19:21:23.000000 | -               |
| cinder-volume    | localhost.localdomain@vmdk | nova | disabled | down  | 2018-06-04T19:20:55.000000 | -               |
+------------------+----------------------------+------+----------+-------+----------------------------+-----------------+
然后删除:
root@localhost ~]# cinder-manage service remove  cinder-volume localhost.localdomain@vmdk
Option "logdir" from group "DEFAULT" is deprecated. Use option "log-dir" from group "DEFAULT".
Service cinder-volume on host localhost.localdomain@vmdk removed.
[root@localhost ~]# cinder service-list
+------------------+-----------------------+------+---------+-------+----------------------------+-----------------+
| Binary           | Host                  | Zone | Status  | State | Updated_at                 | Disabled Reason |
+------------------+-----------------------+------+---------+-------+----------------------------+-----------------+
| cinder-scheduler | localhost.localdomain | nova | enabled | down  | 2018-06-04T19:21:23.000000 | -               |
+------------------+-----------------------+------+---------+-------+----------------------------+-----------------+

问题十一:

在openstack中的虚拟机做keepalived  服务时,发现Vip不能提供服务(或者说vip生成的有问题)

解决思路:

 keepalived 的原理是使用VRRP虚拟路由协议。openstack默认存在安全组,并且这个安全组默认是deny状态,所以要在安全组放行VRRP协议通过。

方法1:

在openstack dashboard上放行VRRP协议,点击安全组==》添加规则==》其他协议==》协议内容那填写  112   ==》添加完成。

对网卡放行Vip

neutron port-update  --allowed_address_pairs list=true type=dict ip_address=


如果有多个vip

neutron port-update  --allowed_address_pairs list=true type=dict ip_address= ip_address=

方法2:

在cli下通过cli添加

 openstack security group rule create --protocol 112 --remote-group default

对网卡放行Vip

neutron port-update  --allowed_address_pairs list=true type=dict ip_address=


如果有多个vip

neutron port-update  --allowed_address_pairs list=true type=dict ip_address= ip_address=


Openstack 技术交流群:580078423

欢迎大家入群多多交流