Hi, And this version incorporates Seth's "make sure we catch unresolveable hostname errors and behave accordingly" patch so that non-fqdn hostnames can be used with delegation as well, I tested following combinations;
* func "*" call command run "true"
{'www.planet-lab.org': [0, '', '']}
{'www.planet-lab.org': [0, '', '']}
* func "*" call --delegate command run "true"
{'planetlab-01.CS.Princeton.EDU': [0, '', ''],
'planetlab-02.cs.princeton.edu': [0, '', ''],
'planetlab-03.CS.Princeton.EDU': [0, '', ''],
'planetlab-04.CS.Princeton.EDU': [0, '', ''],
'planetlab-05.CS.Princeton.EDU': [0, '', ''],
'planetlab-06.CS.Princeton.EDU': [0, '', ''],
'www.planet-lab.org': [0, '', '']}
{'www.planet-lab.org': [0, '', ''], 'planetlab-03.CS.Princeton.EDU': [0, '',
''], 'planetlab-01.CS.Princeton.EDU': [0, '', ''],
'planetlab-02.cs.princeton.edu': [0, '', ''], 'planetlab-05.CS.Princeton.EDU':
[0, '', ''], 'planetlab-06.CS.Princeton.EDU': [0, '', ''],
'planetlab-04.CS.Princeton.EDU': [0, '', '']}
* func "planetlab-02.cs.princeton.edu" call command run "true"
ERROR: Can't find any minions matching "planetlab-02.cs.princeton.edu".
* func "planetlab-02.cs.princeton.edu" call --delegate command run "true"
{'planetlab-02.cs.princeton.edu': [0, '', '']}
{'planetlab-02.cs.princeton.edu': [0, '', '']}
* func "planetlab-02.cs.princeton.edu;www.planet-lab.org" call command run
"true"
{'www.planet-lab.org': [0, '', '']}
{'www.planet-lab.org': [0, '', '']}
* func "planetlab-02.cs.princeton.edu;www.planet-lab.org" call --delegate
command run "true"
{'planetlab-02.cs.princeton.edu': [0, '', ''],
'www.planet-lab.org': [0, '', '']}
{'planetlab-02.cs.princeton.edu': [0, '', ''], 'www.planet-lab.org': [0, '',
'']}
* func "www.planet-lab.org" call command run "true"
{'www.planet-lab.org': [0, '', '']}
{'www.planet-lab.org': [0, '', '']}
* func "www.planet-lab.org" call --delegate command run "true"
{'www.planet-lab.org': [0, '', '']}
{'www.planet-lab.org': [0, '', '']}
* func "www" call command run "true"
{'www.planet-lab.org': [0, '', '']}
{'www.planet-lab.org': [0, '', '']}
* func "www" call --delegate command run "true"
{'www.planet-lab.org': [0, '', '']}
{'www.planet-lab.org': [0, '', '']}
* func "planetlab-02" call command run "true"
ERROR: Can't find any minions matching "planetlab-02".
* func "planetlab-02" call --delegate command run "true"
{'planetlab-02.cs.princeton.edu': [0, '', '']}
{'planetlab-02.cs.princeton.edu': [0, '', '']}
* func "planetlab-02;www" call command run "true"
{'www.planet-lab.org': [0, '', '']}
{'www.planet-lab.org': [0, '', '']}
* func "planetlab-02;www" call --delegate command run "true"
{'planetlab-02.cs.princeton.edu': [0, '', ''],
'www.planet-lab.org': [0, '', '']}
{'planetlab-02.cs.princeton.edu': [0, '', ''], 'www.planet-lab.org': [0, '',
'']}
On Aug 6, 2010, at 11:08 PM, S.Çağlar Onur wrote:
> Hi,
>
> Please see the attached version instead, this version invokes the
> sub-overlord only if it is really required;
>
>
> [boot.planet-lab.org-rc18] /usr/lib/python2.5/site-packages/func # func
> "planetlab-02.cs.princeton.edu" call --delegate command run "true"
> {'planetlab-02.cs.princeton.edu': [0, '', '']}
> {'planetlab-02.cs.princeton.edu': [0, '', '']}
>
> [boot.planet-lab.org-rc18] /usr/lib/python2.5/site-packages/func # func "*"
> call --delegate command run "true"
> {'planetlab-01.CS.Princeton.EDU': [0, '', ''],
> 'planetlab-02.cs.princeton.edu': [0, '', ''],
> 'planetlab-03.CS.Princeton.EDU': [0, '', ''],
> 'planetlab-04.CS.Princeton.EDU': [0, '', ''],
> 'planetlab-05.CS.Princeton.EDU': [0, '', ''],
> 'planetlab-06.CS.Princeton.EDU': [0, '', ''],
> 'www.planet-lab.org': [0, '', '']}
> {'www.planet-lab.org': [0, '', ''], 'planetlab-03.CS.Princeton.EDU': [0, '',
> ''], 'planetlab-01.CS.Princeton.EDU': [0, '', ''],
> 'planetlab-02.cs.princeton.edu': [0, '', ''],
> 'planetlab-05.CS.Princeton.EDU': [0, '', ''],
> 'planetlab-06.CS.Princeton.EDU': [0, '', ''],
> 'planetlab-04.CS.Princeton.EDU': [0, '', '']}
>
> [boot.planet-lab.org-rc18] /usr/lib/python2.5/site-packages/func # func "*"
> call command run "true"
> {'www.planet-lab.org': [0, '', '']}
> {'www.planet-lab.org': [0, '', '']}
>
> [boot.planet-lab.org-rc18] /usr/lib/python2.5/site-packages/func # func
> "www.planet-lab.org" call command run "true"
> {'www.planet-lab.org': [0, '', '']}
> {'www.planet-lab.org': [0, '', '']}
>
> [boot.planet-lab.org-rc18] /usr/lib/python2.5/site-packages/func # func
> "www.planet-lab.org" call --delegate command run "true"
> {'www.planet-lab.org': [0, '', '']}
> {'www.planet-lab.org': [0, '', '']}
>
> On Aug 6, 2010, at 5:03 PM, S.Çağlar Onur wrote:
>
>> Hi,
>>
>> Following patch adds globbing support to delegation mode which otherwise
>> fails because overlord tries to connect to minion itself,
>>
>> [boot.planet-lab.org-rc18] ~ # func "planetlab-02.cs.princeton.edu" call ...
>> {'planetlab-02.cs.princeton.edu': ['REMOTE_ERROR',
>> 'OpenSSL.SSL.Error',
>> "[('SSL routines',
>> 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify failed')]",
>> ' File
>> "/usr/lib/python2.5/site-packages/func/overlord/client.py", line 834, in
>> process_server\n retval = getattr(conn, meth)(*args[:])\n File
>> "/usr/lib/python2.5/xmlrpclib.py", line 1150, in __call__\n return
>> self.__send(self.__name, args)\n File "/usr/lib/python2.5/xmlrpclib.py",
>> line 1440, in __request\n verbose=self.__verbose\n File
>> "/usr/lib/python2.5/xmlrpclib.py", line 1186, in request\n
>> self.send_content(h, request_body)\n File
>> "/usr/lib/python2.5/xmlrpclib.py", line 1300, in send_content\n
>> connection.endheaders()\n File "/usr/lib/python2.5/httplib.py", line 856,
>> in endheaders\n self._send_output()\n File
>> "/usr/lib/python2.5/httplib.py", line 728, in _send_output\n
>> self.send(msg)\n File "/usr/lib/python2.5/httplib.py", line 707, in send\n
>> self.sock.sendall(str)\n File
>> "/usr/lib/python2.5/site-packages/certmaster/SSLConnection.py", line 109, in
>> sendall\n sent = con.send(data, flags)\n']}
>>
>>
>>
>> [boot.planet-lab.org-rc18] /usr/lib/python2.5/site-packages/func # cat
>> /var/lib/func/map
>> ---
>> www.planet-lab.org:
>> planetlab-01.CS.Princeton.EDU: {}
>> planetlab-02.cs.princeton.edu: {}
>> planetlab-03.CS.Princeton.EDU: {}
>> planetlab-04.CS.Princeton.EDU: {}
>> planetlab-05.CS.Princeton.EDU: {}
>> planetlab-06.CS.Princeton.EDU: {}
>> […]
>>
>> [boot.planet-lab.org-rc18] /usr/lib/python2.5/site-packages/func #
>> certmaster-ca --list-signed
>> www.planet-lab.org
>>
>> [boot.planet-lab.org-rc18] /usr/lib/python2.5/site-packages/func # func
>> "*02*" call --delegate command run "true"
>> {'planetlab-02.cs.princeton.edu': [0, '', ''], 'www.planet-lab.org': [0, '',
>> '']}
>>
>> [boot.planet-lab.org-rc18] /usr/lib/python2.5/site-packages/func # func
>> "planetlab-02.cs.princeton.edu" call --delegate command run "true"
>> {'planetlab-02.cs.princeton.edu': [0, '', ''], 'www.planet-lab.org': [0, '',
>> '']}
func.patch
Description: Binary data
-- S.Çağlar Onur <[email protected]>
_______________________________________________ Func-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/func-list
