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, '', 
>> '']}


Attachment: 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

Reply via email to