标签:gen ict use alt ret return sync failed 测试结果
一、实验环境:
1、salt版本:
[root@master master]# salt --versions-report Salt: 2015.5.10 Python: 2.7.5 (default, Nov 6 2016, 00:28:07) Jinja2: 2.7.2 M2Crypto: 0.21.1 msgpack-python: 0.4.8 msgpack-pure: Not Installed pycrypto: 2.6.1 libnacl: Not Installed PyYAML: 3.10 ioflo: Not Installed PyZMQ: 14.3.1 RAET: Not Installed ZMQ: 3.2.5 Mako: Not Installed Tornado: Not Installed timelib: Not Installed dateutil: Not Installed
2、系统版本:
[root@master master]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)
二、Salt搭建主备master
1、安装新的master server
2、copy master keys到新的master对应的目录(master.pem和master.pub)
3、启动新的master进程
4、配置minions配置文件
5、Restart minions
6、在新的master上accept keys
7、测试两个salt-master对salt-minion的test.ping
[root@master master]# salt -L 192.168.163.13 test.ping 192.168.163.13: True [root@standby minions]# salt -L 192.168.163.13 test.ping 192.168.163.13: True
[root@standby salt]# salt-call test.ping [INFO ] SaltReqTimeoutError: after 60 seconds. (Try 1 of 4) [INFO ] SaltReqTimeoutError: after 60 seconds. (Try 2 of 4) [INFO ] SaltReqTimeoutError: after 60 seconds. (Try 3 of 4) [INFO ] SaltReqTimeoutError: after 60 seconds. (Try 4 of 4) [WARNING ] Attempted to authenticate with master 192.168.199.39 and failed [WARNING ] Master ip address changed from 192.168.199.39 to 192.168.163.13 local: True ----以上测试结果是将minion中的auth_tries修改为4,默认值为7. 将值改成3次,并关闭主备master的测试结果: [root@standby minion]# salt-call test.ping [INFO ] SaltReqTimeoutError: after 60 seconds. (Try 1 of 3) [INFO ] SaltReqTimeoutError: after 60 seconds. (Try 2 of 3) [INFO ] SaltReqTimeoutError: after 60 seconds. (Try 3 of 3) [WARNING ] Attempted to authenticate with master 192.168.199.39 and failed [WARNING ] Master ip address changed from 192.168.199.39 to 192.168.163.13 [INFO ] SaltReqTimeoutError: after 60 seconds. (Try 1 of 3) [INFO ] SaltReqTimeoutError: after 60 seconds. (Try 2 of 3) [INFO ] SaltReqTimeoutError: after 60 seconds. (Try 3 of 3) [WARNING ] Attempted to authenticate with master 192.168.163.13 and failed [ERROR ] An un-handled exception was caught by salt‘s global exception handler: AttributeError: ‘SMinion‘ object has no attribute ‘functions‘ Traceback (most recent call last): File "/usr/bin/salt-call", line 11, in <module> salt_call() File "/usr/lib/python2.7/site-packages/salt/scripts.py", line 227, in salt_call client.run() File "/usr/lib/python2.7/site-packages/salt/cli/call.py", line 71, in run caller.run() File "/usr/lib/python2.7/site-packages/salt/cli/caller.py", line 236, in run ret = self.call() File "/usr/lib/python2.7/site-packages/salt/cli/caller.py", line 107, in call if fun not in self.minion.functions: AttributeError: ‘SMinion‘ object has no attribute ‘functions‘ Traceback (most recent call last): File "/usr/bin/salt-call", line 11, in <module> salt_call() File "/usr/lib/python2.7/site-packages/salt/scripts.py", line 227, in salt_call client.run() File "/usr/lib/python2.7/site-packages/salt/cli/call.py", line 71, in run caller.run() File "/usr/lib/python2.7/site-packages/salt/cli/caller.py", line 236, in run ret = self.call() File "/usr/lib/python2.7/site-packages/salt/cli/caller.py", line 107, in call if fun not in self.minion.functions: AttributeError: ‘SMinion‘ object has no attribute ‘functions‘
class MultiMinion(MinionBase): ‘‘‘ Create a multi minion interface, this creates as many minions as are defined in the master option and binds each minion object to a respective master. ‘‘‘ # timeout for one of the minions to auth with a master MINION_CONNECT_TIMEOUT = 5 def __init__(self, opts): super(MultiMinion, self).__init__(opts) def minions(self): ‘‘‘ Return a dict of minion generators bound to the tune_in method dict of master -> minion_mapping, the mapping contains: opts: options used to create the minion last: last auth attempt time auth_wait: time to wait for next auth attempt minion: minion object generator: generator function (non-blocking tune_in) ‘‘‘ if not isinstance(self.opts[‘master‘], list): log.error( ‘Attempting to start a multimaster system with one master‘) sys.exit(salt.defaults.exitcodes.EX_GENERIC) ret = {} #在这里对master进行了一个排序 for master in self.opts[‘master‘]: # for master in set(self.opts[‘master‘]): s_opts = copy.deepcopy(self.opts) s_opts[‘master‘] = master s_opts[‘multimaster‘] = True ret[master] = {‘opts‘: s_opts, ‘last‘: time.time(), ‘auth_wait‘: s_opts[‘acceptance_wait_time‘]} try: minion = Minion( s_opts, self.MINION_CONNECT_TIMEOUT, False, ‘salt.loader.{0}‘.format(master)) ret[master][‘minion‘] = minion ret[master][‘generator‘] = minion.tune_in_no_block() except SaltClientError as exc: log.error(‘Error while bringing up minion for multi-master. Is master at {0} responding?‘.format(master)) return ret
标签:gen ict use alt ret return sync failed 测试结果
原文地址:http://www.cnblogs.com/Richardzhu/p/6249745.html