终于找到问题了(about func) 不指定

root , 2008/05/22 21:21 , Func , 评论(20) , 阅读(47395) , Via 本站原创 | |
一、故障现象
1、在客户端安装好func及certmaster,配好certmaster参数。
2、service funcd start,端口及进程都起来了。
3、在certmaster server 运行certmaster-ca --list死活看不到客户端的主机名。
排查过程
1、将certmaster的主机名换成IP,无效。
2、更新客户端的func及certmaster版本,无效。
3、运行/usr/bin/certmaster-request,提示:socket.error: (111, 'Connection refused'),将certmaster修改成localhost就正常了。原因可以就在这里,因为certmaster是双向的,发现在/etc/hosts中有主机名指向127.0.0.1,此时连接不上certmaster server了。将/etc/hosts中的主机名删除,再用/usr/bin/certmaster-request来测试连接,成功!!在certmaster也能看到主机了,大功告成。

二、故障现象
#/usr/local/bin/certmaster-request 被控端证书请求
certificate does not match key (run certmaster-ca --clean first?)

排查过程
1、删除/etc/pki/certmaster/证书文件再试,无效
2、分别重启certmaster、funcd服务,无效
3、删除服务器证书文件.cert后再请求正常。
原因为主机名称发生变更时服务器端certmaster-ca -c "servername"没有成功删除.cert文件导致。

二、后续问题
1、ImportError: No module named dbm (NetSeek提供)
解决:
yum -y install gdbm gdbm-devel
Tags:
five
2015/01/01 14:06
天斯你好:还是这个问题  我已经分发了模块。但是执行起来还是有这个报错。['REMOTE_ERROR',                      'func.minion.codes.ModuleNotFoundException',                      '',                      '  File "/usr/lib/python2.6/site-packages/func/minion/server.py", line 324, in _dispatch\n    return self.get_dispatch_method(method)(*params)\n   File "/usr/lib/python2.6/site-packages/func/minion/server.py", line 160, in get_dispatch_method\n    raise codes.ModuleNotFoundException\n']}
five Homepage
2014/12/31 03:44
天斯你好:请我下面这个报错是什么原因啊  照着你书上写的,搞出来的错误['REMOTE_ERROR',                      'func.minion.codes.ModuleNotFoundException',                      '',                      '  File "/usr/lib/python2.6/site-packages/func/minion/server.py", line 324, in _dispatch\n    return self.get_dispatch_method(method)(*params)\n   File "/usr/lib/python2.6/site-packages/func/minion/server.py", line 160, in get_dispatch_method\n    raise codes.ModuleNotFoundException\n']}
刘天斯 回复于 2014/12/31 09:53
是找不到模块异常,第一步要分发模块。
xderam
2011/10/09 10:54
Starting certmaster daemon: Traceback (most recent call last):
  File "/usr/bin/certmaster", line 3, in <module>
    from certmaster import certmaster
ImportError: No module named certmaster

原有的python为2.4 自己升级了下phtyon2.6 2.7 源码编译的,然后做了一个python命令的软连接。
再次启动就出现了这个问题@_@
charles
2011/08/09 11:45
老大,下面这个问题如何解决啊
root@master func]# func '*' ping
Traceback (most recent call last):
  File "/usr/local/bin/func", line 28, in <module>
    cli.parse(argv)
  File "/usr/local/lib/python2.7/site-packages/func/overlord/command.py", line 247, in parse
    return self.subCommands[command].parse(args[1:])
  File "/usr/local/lib/python2.7/site-packages/func/overlord/command.py", line 228, in parse
    ret = self.do(args)
  File "/usr/local/lib/python2.7/site-packages/func/overlord/cmd_modules/ping.py", line 60, in do
    noglobs=True)
  File "/usr/local/lib/python2.7/site-packages/func/overlord/client.py", line 247, in __init__
    self.setup_ssl()
  File "/usr/local/lib/python2.7/site-packages/func/overlord/client.py", line 258, in setup_ssl
    myname = func_utils.get_hostname_by_route()
  File "/usr/local/lib/python2.7/site-packages/func/utils.py", line 129, in get_hostname_by_route
    if ip != "127.0.0.1" and hostname is not None:
UnboundLocalError: local variable 'ip' referenced before assignment
刘天斯 回复于 2011/08/09 11:56
先确认所有主机都已证书签名。
hartnett
2011/07/29 21:38
centos 5.6 x64,确认配置是正确的,目前出现的问题是func服务无法启动,查看log时,发现python报错,请大牛帮看看是啥原因,谢谢
[root@w1-db ~]# service funcd start
Starting func daemon:
[root@w1-db ~]# service funcd status
/usr/bin/funcd is not running
[root@w1-db ~]# tail -n 10 /var/log/func/func.log
    return self.__send(self.__name, args)
   File "/usr/lib64/python2.4/xmlrpclib.py", line 1383, in __request
    verbose=self.__verbose
   File "/usr/lib64/python2.4/xmlrpclib.py", line 1147, in request
    return self._parse_response(h.getfile(), sock)
   File "/usr/lib64/python2.4/xmlrpclib.py", line 1286, in _parse_response
    return u.close()
   File "/usr/lib64/python2.4/xmlrpclib.py", line 744, in close
    raise Fault(**self._stack[0])
刘天斯 回复于 2011/07/30 08:10
升级python版本至2.5或以上。
天狼
2011/04/21 21:58
刘天斯 回复于 2011/04/21 16:24
分析步骤:1、主的certmaster端口、从的func、certmaster端口是否都监听,相互telnet是否正常?2、查看/var/log/func及certmaster日志。3、主从python版本是否一致?
============================================
找到问题了,有一个列出模块的指令,发现所有的模块都没有安装,但是安装的时候我确认所有的步骤都走过了。
后来发现func-Trac里的func.git里很多文件夹里都给出了Makefile,而我从官方下载的几个源码包里都是一个Makefile也没有,不知道是不是这个造成的。
请问刘老师,或者其他运行正常的朋友,你们的源码包里有Makefile吗?
天狼
2011/04/21 15:43
刘天斯 回复于 2011/04/21 11:54
没有任何提示信息? ubuntu下尝试加sudo来运行。
============================================
没有提示,直接就是下一行的提示符,加了sudo也是一样的
另外我将控制端本机也加成了被控端试了试,还是能发证书,然后用起来没有任何提示和效果

安装的时候基本是按你的教程做的,第一次不成功,第二次为了保险,ln的时候把/usr/local/bin里所有的文件都链接到/usr/bin了,也还是一样

运行func的时候听不到包,给我的感觉是certmaster运行的很正常,而func的命令都失效
新装的机器,是不是少哪些包没有安?
刘天斯 回复于 2011/04/21 16:24
分析步骤:1、主的certmaster端口、从的func、certmaster端口是否都监听,相互telnet是否正常?2、查看/var/log/func及certmaster日志。3、主从python版本是否一致?
天狼
2011/04/21 11:32
天狼
2011/04/21 09:44
你好,我的两个系统是ubuntu10.10,一台用的是虚拟机,python2.6

主控端certmaster、被控端funcd服务都起来了(我看func-trac上写的只开这两个服务就成了),证书也sign了,可是所有的func命令都没有效果,就是没有回应输出,请问可能是什么原因?

另外chkconfig --level 345 certmaster on命令在两台机器上都出错:
insserv: warning: script 'K20acpi-support' missing LSB tags and overrides
insserv: Script certmaster is broken: incomplete LSB comment.
insserv: missing `Required-Stop:'  entry: please add even if empty.
insserv: Service network has to be enabled to start service certmaster
insserv: exiting now!
/sbin/insserv failed, exit code 1

chkconfig是刚下载的最新版,服务里有network字样的状态都是“?”,而且无法命令启动
刘天斯 回复于 2011/04/21 10:31
先确认func "hostname" ping 是否正常。
===================================================================
也是没有显示
刘天斯 回复于 2011/04/21 11:54
没有任何提示信息? ubuntu下尝试加sudo来运行。
天狼
2011/04/21 09:44
你好,我的两个系统是ubuntu10.10,一台用的是虚拟机,python2.6

主控端certmaster、被控端funcd服务都起来了(我看func-trac上写的只开这两个服务就成了),证书也sign了,可是所有的func命令都没有效果,就是没有回应输出,请问可能是什么原因?

另外chkconfig --level 345 certmaster on命令在两台机器上都出错:
insserv: warning: script \\\'K20acpi-support\\\' missing LSB tags and overrides
insserv: Script certmaster is broken: incomplete LSB comment.
insserv: missing `Required-Stop:\\\'  entry: please add even if empty.
insserv: Service network has to be enabled to start service certmaster
insserv: exiting now!
/sbin/insserv failed, exit code 1

chkconfig是刚下载的最新版,服务里有network字样的状态都是“?”,而且无法命令启动
刘天斯 回复于 2011/04/21 10:31
先确认func "hostname" ping 是否正常。
zsmj
2011/03/22 17:05
不能单一的master的?
这样的话,我是不是要每个业务建立一个master!
刘天斯 回复于 2011/03/22 17:34
单台master已经是最小的颗粒了。
zsmj
2011/03/21 17:20
例如,我可否将不同城市,但是同一业务的服务器建立一个组,去统一管理?
刘天斯 回复于 2011/03/21 19:24
可以以多组MASTER来进行划分。
zsmj
2011/03/21 17:19
你好,想问下func可否建立客户机组的?怎么样建立客户机组呢?
Tom
2011/03/08 14:47
请教下,启动服务后,func通信端口是不是没有进行监听的,而是只监听了证书交换端口,还有就是func这个slave是否可处于不用网段下?
刘天斯 回复于 2011/03/08 15:09
这是正常的,网络互通就可以。
Tom
2011/03/08 13:32
想请教下,我现在的python版本是2.5的,在安装完func之后,slave端像master端发送证书请求也成功了,证书也已经签发
但是现在同样遇到jhxhj的问题,我按照他的建议,在/etc/hosts里面已经将master端的ip和主机名添加,但是还是不行
运行func "*" ping提示失败
刘天斯 回复于 2011/03/08 13:47
可能你是在认证之前做的hosts修改,再请一次进行认证:slave:rm -rf /etc/pki/certmaster/*;/usr/local/bin/certmaster-request
zhanghr Email
2011/03/07 10:32
你好,刘老师:
我现在将该python版本按照人家教的,升级到了2.6.5,这个问题还是存在,我想问下dbm这个模块在用yum安装时是不是gdbm这个,或者是我升级python时出错,才会导致这个问题的
zhanghr Email
2011/03/04 16:32
我的机器环境是centOS 5.2 的  内核 2.6.18-92.el5PAE
yum的话只能更新到Python2.4.3
现在我是自己安装到2.5.2的  

这个dbm模块应该去哪里下载,是不是gdbm这个,如果是的话,我的服务器已经安装了!
zhanghr Email
2011/03/04 14:45
你好,我是刚开始接触func的
现在我安装完后,执行certmaster-ca --list-sign后也可以看到注册的客户端了,但是在执行func “”命令时,提示出现
[root@Funcmaster bin]# func "*" call --forks="5" command run "date"
Traceback (most recent call last):
  File "/usr/local/bin/func", line 23, in <module>
    import func.overlord.func_command as func_command
  File "/usr/local/lib/python2.5/site-packages/func/overlord/func_command.py", line 19, in <module>
    from func.overlord import client,base_command
  File "/usr/local/lib/python2.5/site-packages/func/overlord/client.py", line 32, in <module>
    import func.forkbomb as forkbomb
  File "/usr/local/lib/python2.5/site-packages/func/forkbomb.py", line 19, in <module>
    import dbm
ImportError: No module named dbm
我想问下,这个是不是我中间安装步骤出错了,还是缺少什么软件
刘天斯 回复于 2011/03/04 16:21
少了dbm模块,你的python版本是多少?
jhxhj
2010/04/20 11:35
我把我的配置关键点放上来让大家少走点路,
1,是FUNC的源,这块我在查找时找了很多都没有很好的下载源,网上发布的说明文档里的GZ下载点都是无效的,下面介绍是通过GIT方式进行下载的
#rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
#yum install git
#git-clone http://git.fedorahosted.org/git/certmaster.git
这样就把certmaster整个目录就下载下来了。
下载func:
#git-clone http://git.fedorahosted.org/git/func.git
2.我安装好运行的时候会出现一个提示的,说sha加密方式不行,
vi /usr/local/lib/python2.6/site-packages/certmaster/certmaster.py
import hashlib   #把原有的sha改成 hashlib
3.在master端修改
[root@fosttest101 ~]# cat /etc/certmaster/minion.conf
# configuration for minions
[main]
certmaster = fosttest101
certmaster_port = 51235
log_level = DEBUG
cert_dir = /etc/pki/certmaster
slave端配置
[root@fostfb ~]# cat /etc/certmaster/minion.conf
# configuration for minions
[main]
certmaster = 192.168.238.101                     #服务器地址
certmaster_port = 51235
log_level = DEBUG
cert_dir = /etc/pki/certmaster

[root@fostfb ~]# cat /etc/func/minion.conf
# configuration for minions
[main]
log_level = INFO
acl_dir = /etc/func/minion-acl.d
listen_addr =
listen_port = 51234
minion_name = fostfb                                            #自身计算机器名
method_log_dir = /var/log/func/methods/
service funcd start
Chkconfig --level 345 funcd on

还有最重要的就是在/etc/hosts文件里把对方的服务器主机名及IP添上,因为如果没有的话那么就算证书已经签发成功你用func "*" ping也会显示不通
如192.168.1.1  test1
刘天斯 回复于 2010/04/20 14:56
非常感谢提供的配置文档,由于我所使用的是源码方式安装,所以没碰到你说的问题。在没有DNS服务器的情况下是要手工添加hosts,呵呵。
jhxhj
2010/04/19 22:23
不通的
刘天斯 回复于 2010/04/19 22:38
说明主机跟被控端连接没有成功创建,尝试删除被控端证书再请求一下/usr/bin/certmaster-request
jhxhj
2010/04/19 17:39
你好!我也是出现你的问题,不过是在执行func脚本时出现的,
func "*" call system list_modules
出现{'fostfb': ['REMOTE_ERROR',
            'socket.error',
            '[Errno 111] Connection refused',
想请教一下是不是我哪里错误了,我用certmaster-request测试是不会报错的,而且也能通过certmaster-ca签名证书的。
刘天斯 回复于 2010/04/19 20:35
运行func "*" ping能否通?
分页: 1/1 第一页 1 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]