cinder的api.log中发现如下错误:
2016-09-20 12:01:50.410 21508 ERROR cinder.api.middleware.fault [req-8a22425c-064b-4c50-9203-00f3760ba4d4 cd3c4133acc94226b4b2d868fd6a1e19 ea60e55e114a41d3b9d86d298c07bc99 - - -] Caught error: Could not determine a suitable URL for the plugin
2016-09-20 12:01:50.411 21508 INFO cinder.api.middleware.fault [req-8a22425c-064b-4c50-9203-00f3760ba4d4 cd3c4133acc94226b4b2d868fd6a1e19 ea60e55e114a41d3b9d86d298c07bc99 - - -] https://10.167.14.164:8776/v2/ea60e55e114a41d3b9d86d298c07bc99/os-quota-sets/ea60e55e114a41d3b9d86d298c07bc99?usage=False returned with HTTP 500
2016-09-20 12:01:50.412 21508 INFO eventlet.wsgi.server [req-8a22425c-064b-4c50-9203-00f3760ba4d4 cd3c4133acc94226b4b2d868fd6a1e19 ea60e55e114a41d3b9d86d298c07bc99 - - -] 10.167.14.164 - - [20/Sep/2016 12:01:50] "GET /v2/ea60e55e114a41d3b9d86d298c07bc99/os-quota-sets/ea60e55e114a41d3b9d86d298c07bc99?usage=False HTTP/1.1" 500 425 0.095734
经调查发现是openstack的bug,修复如下:
curl -i http://127.0.0.1:20001/ctg/system/get -X PUT --digest --user username:password
java 7
http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunJSSEProvider
java 8
http://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJSSEProvider
修改DHE的键长:
JAVA_OPTS="$JAVA_OPTS -Djdk.tls.ephemeralDHKeySize=1024"
Jersey + Tomcat启动发生如下错误:
SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/token]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:663)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1642)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassCastException: org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer
at org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1670)
at org.apache.catalina.startup.ContextConfig.getServletContainerInitializers(ContextConfig.java:1652)
at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 10 more
原因:
tomcat的lib目录下已经存在servlet-api.jar
,jersey库的ext目录下也含有一个javax.servlet-api-3.0.1.jar
,推测这两个jar包冲突了,可以去掉其中一个。
一不小心又到中秋节了!昨天上午依旧十分忙碌的工作,完全没想起再过一天就是节假日,直到下班前才突然醒悟~
这几天项目中的web服务应客户的需求要加入https相关的机能,因为组里面只有我一个人或多或少接触了一点点https的东西,所以老大就把这个任务全权交给我一个人来处理了。过程十分的艰辛,说实话里面涉及到东西实在太多,openssl,keytool,java版本限制,tomcat限制,加密套件,DHparameter等等,每个东西都能把我折磨的半死。眼下有了一些眉目,正好趁这个假日好好整理一下,学着费劲,所以可能就格外珍惜吧。
利用packstack工具安装openstack的过程中,发生如下错误:
ERROR : Error appeared during Puppet run: 10.167.14.164_cinder.pp
Error: cinder type-create iscsi returned 1 instead of one of [0]
原因:
cinder组件在上一次的安装过程中已经创建了iscsi的类型
在给pacemaker添加ipv6类型的resource agent的时候发生错误,错误信息如下:
Failed actions:
ipv6-vip-master_start_0 on node2 'unknown error' (1): call=542, status=complete, exit-reason='[findif] failed', last-rc-change='Tue Mar 29 17:12:33 2016', queued=0ms, exec=72ms
从错误信息可以看出出错原因是findif failed,意思是无法找到所加ip对应的网卡,于是检查自己的网卡信息,在我的服务器上,ipv6所在网卡为ens9:
刚安装完的openstack,在dashboard上出现该错误,并且无法修改volume的配额。
openstack版本:Liberty
OS版本:Redhat 7.2
修改方法如下:
在文件/etc/cinder/cinder.conf中追加以下内容
错误1:
# systemctl status rabbitmq-server.service
● rabbitmq-server.service - RabbitMQ broker
Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/rabbitmq-server.service.d
└─limits.conf
Active: failed (Result: exit-code) since Tue 2016-03-15 13:17:04 EDT; 34s ago
Process: 1510 ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctl stop (code=exited, status=2)
Process: 1352 ExecStart=/usr/lib/rabbitmq/bin/rabbitmq-server (code=exited, status=1/FAILURE)
Main PID: 1352 (code=exited, status=1/FAILURE)
Mar 15 13:15:57 openstack_l systemd[1]: rabbitmq-server.service: Got notification message from PID 1366, but reception only permitted for main PID 1352
Mar 15 13:15:57 openstack_l systemd[1]: rabbitmq-server.service: Got notification message from PID 1367, but reception only permitted for main PID 1352
Mar 15 13:16:27 openstack_l rabbitmq-server[1352]: ERROR: epmd error for host openstack_l: timeout (timed out)
Mar 15 13:16:27 openstack_l systemd[1]: rabbitmq-server.service: main process exited, code=exited, status=1/FAILURE
Mar 15 13:16:27 openstack_l rabbitmqctl[1510]: Stopping and halting node rabbit@openstack_l ...
Mar 15 13:16:34 openstack_l rabbitmqctl[1510]: Error: unable to connect to node rabbit@openstack_l: nodedown
Mar 15 13:17:04 openstack_l systemd[1]: rabbitmq-server.service: control process exited, code=exited status=2
Mar 15 13:17:04 openstack_l systemd[1]: Failed to start RabbitMQ broker.
Mar 15 13:17:04 openstack_l systemd[1]: Unit rabbitmq-server.service entered failed state.
Mar 15 13:17:04 openstack_l systemd[1]: rabbitmq-server.service failed.
转自:https://github.com/edazdarevic/CIDRUtils.git
该方法同时支持ipv4和ipv6,检查ip是否在指定的cidr内。
实现代码为java。