Hi, We did some func testing with 100 servers. Due to our rather complicated network topology we mainly made our tests using the delegation module as we need this to work if we want to use func to improve the administration of our Linux servers. For our tests we have one central overlord, one sub_overlord and 96 minions. The minions are registered to the sub_overlord which is registered to the central overlord. We have not found a way to send some commands from the central overlord to only a portion of the minions, i.e. with the delegate option it seems that we need to enclose all the minions (func "*" call --delegate command run date); is there a way to send the command date only to the range minion{1-30} from the central overlord? If not, it could be nice to add this feature. It also seems to have some problems with the delegate option when using a method in async mode. If you run the command func "*" call --delegate command run date you will receive an "Async error 2 0" error; now if you remove the "command.run" method from the "/etc/func/async_methods.conf" on the central overlord, everything works perfectly. If you want to execute a command that will take some time on the minion to execute, you will receive some timeout error with at least the command output from the sub_overlord. Example: func "*" call --delegate test sleep 2 will give following error : {'sub_overlord': ['REMOTE_ERROR', 'socket.timeout', "(110, 'Operation timed out.')", ' File "/usr/lib/python2.4/site-packages/func/overlord/client.py", line 431, in process_server\n self.nforks)\n File "/usr/lib64/python2.4/xmlrpclib.py", line 1096, in __call__\n return self.__send(self.__name, args)\n File "/usr/lib64/python2.4/xmlrpclib.py", line 1383, in __request\n verbose=self..__verbose\n File "/usr/lib64/python2.4/xmlrpclib.py", line 1131, in request\n errcode, errmsg, headers = h.getreply()\n File "/usr/lib64/python2.4/httplib.py", line 1143, in getreply\n response = self._conn.getresponse()\n File "/usr/lib64/python2.4/httplib.py", line 872, in getresponse\n response.begin()\n File "/usr/lib64/python2.4/httplib..py", line 336, in begin\n version, status, reason = self._read_status()\n File "/usr/lib64/python2.4/httplib.py", line 294, in _read_status\n line = self.fp.readline()\n File "/usr/lib64/python2.4/socket.py", line 325, in readline\n data = "" File "/usr/lib/python2.4/site-packages/certmaster/SSLConnection.py", line 132, in recv\n raise socket.timeout((110, "Operation timed out.."))\n']} {'sub_overlord': 1239885235.063081} Is it possible to avoid this error by modifying somewhere a timeout variable? Thanks a lot for your help. Sincerely, Chris |
_______________________________________________ Func-list mailing list Func-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/func-list