StratusLab / client

Command Line Interface (CLI) for StratusLab cloud services
Apache License 2.0
2 stars 1 forks source link

specifying username/password on command line doesn't work #134

Closed loomis closed 10 years ago

loomis commented 10 years ago

When specifying a username/password on the command line, the command always returns "unauthorized" because of a protocol error when calling XMLRPC:

$ stratus-describe-instance -vvv -u hidden -p hidden --endpoint cloud.lal.in2p3.fr
  File "/Users/loomis/Library/Python/2.7/bin/stratus-describe-instance", line 99, in <module>
    MainProgram()
  File "/Users/loomis/Library/Python/2.7/bin/stratus-describe-instance", line 45, in __init__
    super(MainProgram, self).__init__()
  File "/Users/loomis/Library/Python/2.7/lib/python/site-packages/stratuslab/CommandBase.py", line 54, in __init__
    self._callAndHandleErrors(self, self.doWork.__name__)
  File "/Users/loomis/Library/Python/2.7/lib/python/site-packages/stratuslab/CommandBase.py", line 100, in _callAndHandleErrors
    self.raiseOrDisplayError('Error: %s' % ex.errmsg)
  File "/Users/loomis/Library/Python/2.7/lib/python/site-packages/stratuslab/CommandBase.py", line 96, in _callAndHandleErrors
    Util.runMethodByName(methodName, *args, **kw)
  File "/Users/loomis/Library/Python/2.7/lib/python/site-packages/stratuslab/Util.py", line 640, in runMethodByName
    return obj.__class__.__dict__[methodName](obj, *args, **kw)
  File "/Users/loomis/Library/Python/2.7/bin/stratus-describe-instance", line 91, in doWork
    vm_info_list = monitor.listVms()
  File "/Users/loomis/Library/Python/2.7/lib/python/site-packages/stratuslab/Monitor.py", line 152, in listVms
    res = self.cloud.listVms(showVmsFromAllUsers)
  File "/Users/loomis/Library/Python/2.7/lib/python/site-packages/stratuslab/cloud/one.py", line 151, in listVms
    ret, info, _ = self._rpc.one.vmpool.info(self._sessionString, visibilitySwitch, -1, -1, -1)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xmlrpclib.py", line 1224, in __call__
    return self.__send(self.__name, args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xmlrpclib.py", line 1578, in __request
    verbose=self.__verbose
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xmlrpclib.py", line 1264, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xmlrpclib.py", line 1312, in single_request
    response.msg,
xmlrpclib.ProtocolError: <ProtocolError for hidden:hidden@cloud.lal.in2p3.fr:2634/pswd/xmlrpc: 401 Unauthorized>
loomis commented 10 years ago

This was related to the other problems concerning the percent in the password (issue #135). This also works correctly with the fix for the other issue.