Hey Colin,
I reproduced the null pointer as stated by you. It was fixed on sept 25
by dgoodwin in spacewalk git rev
815ff9a2fef99283e2f81b223c8fe33295f005e2 .I am not sure if this would be
resolved in 5.2 . Work around would be to ignore the exception and
continue looping.. I' rewrite this script as follows..
---
import xmlrpclib
import pprint
SATELLITE_HOST = "<satFQDN>"
SATELLITE_URL = "http://%s/rpc/api" % SATELLITE_HOST
SATELLITE_LOGIN = "<uname>"
SATELLITE_PASSWORD = "<passwd>"
client = xmlrpclib.Server(SATELLITE_URL, verbose=0)
def login(name = SATELLITE_LOGIN, password = SATELLITE_PASSWORD):
sessionkey = client.auth.login(name, password)
return sessionkey
def logout(session_key):
client.auth.logout(session_key)
def lookup_file_info(key, system_id, path):
channels = client.system.config.list_channels(key, system_id)
try:
return client.system.config.lookup_file_info (key, system_id,
[path], 1) [0]
except:
for channel in channels:
try:
return client.configchannel.lookup_file_info (key,
channel["label"], [path])[0]
except: pass
return None
key = login()
pprint.pprint(lookup_file_info(key, 1000110, "/tmp/foo"))
logout(key)
---
Coe, Colin C. (Unix Engineer) wrote:
Hi Jesus
Using your script from http://fpaste.org/paste/7629 I can confirm that the work
around does definitely work for spacewalk 0.2 but does not work for Satellite
v5.1.1. The only change to the script below that I made in testing was change
the FQDN, username, password, system id and the path to the managed config file.
Thanks
CC
---
import xmlrpclib
import pprint
SATELLITE_HOST = "<satFQDN>"
SATELLITE_URL = "http://%s/rpc/api" % SATELLITE_HOST
SATELLITE_LOGIN = "<uname>"
SATELLITE_PASSWORD = "<passwd>"
client = xmlrpclib.Server(SATELLITE_URL, verbose=0)
def login(name = SATELLITE_LOGIN, password = SATELLITE_PASSWORD):
sessionkey = client.auth.login(name, password)
return sessionkey
def logout(session_key):
client.auth.logout(session_key)
def lookup_file_info(key, system_id, path):
channels = client.system.config.list_channels(key, system_id)
data = client.system.config.lookup_file_info (key, system_id, [path], 1)
if data:
return data[0]
for channel in channels:
data = client.configchannel.lookup_file_info (key, channel["label"],
[path])
if data:
return data[0]
return None
key = login()
pprint.pprint(lookup_file_info(key, 1000110, "/tmp/foo"))
logout()
---
Satellite v5.1.1 output was
---
[EMAIL PROTECTED] ~]# python xx.py
Traceback (most recent call last):
File "xx.py", line 32, in ?
pprint.pprint(lookup_file_info(key, 1000010543,
"/etc/ssh/ssh_host_dsa_key.pub"))
File "xx.py", line 22, in lookup_file_info
data = client.system.config.lookup_file_info (key, system_id, [path], 1)
File "/usr/lib64/python2.3/xmlrpclib.py", line 1029, in __call__
return self.__send(self.__name, args)
File "/usr/lib64/python2.3/xmlrpclib.py", line 1316, in __request
verbose=self.__verbose
File "/usr/lib64/python2.3/xmlrpclib.py", line 1080, in request
return self._parse_response(h.getfile(), sock)
File "/usr/lib64/python2.3/xmlrpclib.py", line 1219, in _parse_response
return u.close()
File "/usr/lib64/python2.3/xmlrpclib.py", line 742, in close
raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault -1: 'redstone.xmlrpc.XmlRpcFault: unhandled internal
exception: null'>
---
Spacewalk 0.2 output was
---
[EMAIL PROTECTED] ~]# python xx.py
{'binary': False,
'channel': 'cc-vm1',
'contents': 'ssh-dss
AAAAB3NzaC1kc3MAAACBAM35V/k6/tGn0SqZPcL6dfm4uMxisEm8yzlYc7r2bxQ7yQpjAdmuLAIVDo7GWAWYcDFQN7UYzw3YF+ZNjAqbK4nkMQvgiVnpQUhCgy5mM0P7YeBDb4SKgSwQGWIo1DqJSpdwLLAv8aLaFtAXWhGNdjCZQ8LlVtbMC3T8w7slIFM3AAAAFQCJFB1cZnC/hhirZKLwhWCjQBVXIQAAAIEAnYM5Ux3LNMuc2FYxnMgZmQN8K9GXkD2CJf9tLfJVCwLAOlDyqcPa4NfpZVzfXpf1u9dlhdE0Og4MpFzqCBs0KeJM2JVnwb7QWPEjeoicXxAgUCnczz3sx5DF0NpAOHukDhsHut+KolXd0+w+z1RDY2abWaR1BQwN1+hnlFXUBp8AAACAOkBPr75XCnua0htL/YAyksxyjkJkxenaONb/5zRl0TaGPblrW3ij340CmBU4RPrpioj9p2DPE0V1IjllLH/QmUBUQcvA76mMR1+z3EP+51HFpdJhwyGd2JQ+DNul0C6sJcj/I4lpqfWtJ5zqtjupy/FxCZx+y/DUsfZZP17IvHU=',
'creation': <DateTime u'20081001T13:46:37' at 2b32010e48c0>,
'group': 'root',
'macro-end-delimiter': '|}',
'macro-start-delimiter': '{|',
'md5': '08a01bd33eeb244d021c72d984090d11',
'modified': <DateTime u'20081001T13:46:37' at 2b32010e4b48>,
'owner': 'root',
'path': '/etc/ssh/ssh_host_dsa_key.pub',
'permissions': 644,
'revision': 6,
'type': 'file'}
Traceback (most recent call last):
File "xx.py", line 33, in ?
logout()
TypeError: logout() takes exactly 1 argument (0 given)
[EMAIL PROTECTED] ~]#
---
NOTICE: This email and any attachments are confidential.
They may contain legally privileged information or
copyright material. You must not read, copy, use or
disclose them without authorisation. If you are not an
intended recipient, please contact us at once by return
email and then delete both messages and all attachments.
_______________________________________________
Spacewalk-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-devel
_______________________________________________
Spacewalk-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-devel