cloudstack-users-cn mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tony_caot...@163.com
Subject Re: How does the parameter startdate/enddate of api listEvents() use new time format like 'yyyy-MM-dd HH:mm:ss' ?
Date Fri, 28 Aug 2015 08:40:44 GMT


My scripts is just from cloudstack website
https://cwiki.apache.org/confluence/display/CLOUDSTACK/Simple+class+for+making+API+calls%2C+Python

and I just do some testing like this:

1. >>> from SignedAPICall import api
2. >>> api.listEvents(listall='true', startdate='2015-08-28')
3. >>> api.listEvents(listall='true', startdate='2015-08-28 16:20:00')

Line 2 works fine, line 3 failed with error " 'http error', 401, 
'Unauthorized' ".

I also do some other tests, they also works fine, like api.listHosts()  
api.listVirtualMachines().

when line 3 failed,  management-server.log said this:

2015-08-28 16:37:53,619 DEBUG [c.c.a.ApiServlet] 
(catalina-exec-15:ctx-4e587804) ===START===  10.0.1.99 -- GET 
apiKey=hjZ12EQ4JfFasIHO3RCXBLji-3RbBmdC973utGwCL5388WypVKwtaNsDso-JzVQIZXUVwfaT1vANdDUJs3Vkkg&command=listEvents&listall=true&response=json&startdate=2015-08-28+16%3A20%3A00&signature=r7wa861jYWP4QbNMeEjZZ2wNpIc%3D
2015-08-28 16:37:53,622 INFO  [c.c.a.ApiServer] 
(catalina-exec-15:ctx-4e587804 ctx-1f6fddbe) User signature: 
r7wa861jYWP4QbNMeEjZZ2wNpIc= is not equaled to computed signature: 
4c8Kmn+cbMZAmfSvSISPkWt9WCQ=
2015-08-28 16:37:53,622 DEBUG [c.c.a.ApiServlet] 
(catalina-exec-15:ctx-4e587804 ctx-1f6fddbe) ===END===  10.0.1.99 -- GET 
apiKey=hjZ12EQ4JfFasIHO3RCXBLji-3RbBmdC973utGwCL5388WypVKwtaNsDso-JzVQIZXUVwfaT1vANdDUJs3Vkkg&command=listEvents&listall=true&response=json&startdate=2015-08-28+16%3A20%3A00&signature=r7wa861jYWP4QbNMeEjZZ2wNpIc%3D

following for line 2:
2015-08-28 16:37:15,900 DEBUG [c.c.a.ApiServlet] 
(catalina-exec-13:ctx-f8019189) ===START===  10.0.1.99 -- GET 
apiKey=hjZ12EQ4JfFasIHO3RCXBLji-3RbBmdC973utGwCL5388WypVKwtaNsDso-JzVQIZXUVwfaT1vANdDUJs3Vkkg&command=listEvents&listall=true&response=json&startdate=2015-08-28&signature=KZZIAOaRduzCJlo0byaN9j4uvro%3D
2015-08-28 16:37:15,939 DEBUG [c.c.a.ApiServlet] 
(catalina-exec-13:ctx-f8019189 ctx-c42b8c5e ctx-1ebbe226) ===END=== 
10.0.1.99 -- GET 
apiKey=hjZ12EQ4JfFasIHO3RCXBLji-3RbBmdC973utGwCL5388WypVKwtaNsDso-JzVQIZXUVwfaT1vANdDUJs3Vkkg&command=listEvents&listall=true&response=json&startdate=2015-08-28&signature=KZZIAOaRduzCJlo0byaN9j4uvro%3D



-----------
Cao Tong

On 08/28/2015 02:09 PM, Abhinandan Prateek wrote:
> apikey/signature should work and they have same privileges as the respective user logged
in.
> Are all the api calls failing or just some ?
> Can you share relevant portion of the scripts that you are trying to run ?
>
>> On 28-Aug-2015, at 11:31 am, tony_caotong@163.com wrote:
>>
>>
>> Thanks for all your people's replys.
>>
>> 1.  Abhinandan,  My ACS manager was not listening on port '8096',
>>
>> 2.  As Yipeng said, When I call this api from cloudmonkey, it works fine, like this
>>     " cloudmonkey api listEvents listall=true startdate='2015-08-28 00:00:00' "
>>
>>     When I call it through my python scripts, I used the apikey/signature pair to
work,  but it failed.
>>     I found that how cloudmonkey works,
>>     first it login with username/password, then call the function with this session
id.
>>
>> it seems that the apikey/signature pair's privilege is not same with username/password
pair's ?
>>
>>
>> @Daan, yes I am a Chinese. I am afraid it's not a preblem about character encodings
perhaps.
>>
>>
>> -----------
>> Cao Tong
>>
>> On 08/27/2015 08:54 PM, Abhinandan Prateek wrote:
>>> Try using the “8096” port for testing/checking APIs.
>>>
>>> shapeblue.com> wrote:
>>>> Yes, as per  https://cloudstack.apache.org/api/apidocs-4.2/root_admin/listEvents.html
>>>>
>>>>
>>>>> On 24-Aug-2015, at 2:08 pm, tony_caotong@163.com wrote:
>>>>>
>>>>> Hello Every.
>>>>>
>>>>> I know this is a very simple question to most of you. but it is really
hard for me to continue my work.
>>>>>
>>>>> So could Anyone spend your three minutes to give me some advice, it will
be very usefull to me.
>>>>>
>>>>> my question is:
>>>>>
>>>>>    How does the parameter startdate/enddate of api listEvents() use new
time format  like 'yyyy-MM-dd HH:mm:ss' ?
>>>>>
>>>>>
>>>>>>>> Event({'listall':'True', 'startdate':'2015-08-24 00:00:00'})
>>>>> http://10.0.1.100:8080/client/api?apiKey=hjZ12EQ4JfFasIHO3RCXBLji-3RbBmdC973utGwCL5388WypVKwtaNsDso-JzVQIZXUVwfaT1vANdDUJs3Vkkg&command=listEvents&listall=True&response=json&startdate=2015-08-24+00%3A00%3A00&signature=z4LQCw7yzGmTK5B7TzAbzl1biXI%3D
>>>>> Traceback (most recent call last):
>>>>> File "<stdin>", line 1, in <module>
>>>>> File "SignedAPICall.py", line 67, in Event
>>>>>    a = api.listEvents(request)
>>>>> File "SignedAPICall.py", line 49, in handlerFunction
>>>>>    return self._make_request(name, args[0])
>>>>> File "SignedAPICall.py", line 61, in _make_request
>>>>>    data = self._http_get(self.value)
>>>>> File "SignedAPICall.py", line 54, in _http_get
>>>>>    response = urllib.urlopen(url)
>>>>> File "/usr/lib64/python2.7/urllib.py", line 87, in urlopen
>>>>>    return opener.open(url)
>>>>> File "/usr/lib64/python2.7/urllib.py", line 208, in open
>>>>>    return getattr(self, name)(url)
>>>>> File "/usr/lib64/python2.7/urllib.py", line 359, in open_http
>>>>>    return self.http_error(url, fp, errcode, errmsg, headers)
>>>>> File "/usr/lib64/python2.7/urllib.py", line 372, in http_error
>>>>>    result = method(url, fp, errcode, errmsg, headers)
>>>>> File "/usr/lib64/python2.7/urllib.py", line 683, in http_error_401
>>>>>    errcode, errmsg, headers)
>>>>> File "/usr/lib64/python2.7/urllib.py", line 381, in http_error_default
>>>>>    raise IOError, ('http error', errcode, errmsg, headers)
>>>>> IOError: ('http error', 401, 'Unauthorized', <httplib.HTTPMessage
instance at 0x7f083da78998>)
>>>>>
>>>>> -----------
>>>>> Cao Tong
>>>>>
>>>>> On 08/19/2015 10:32 AM, tony_caotong@163.com wrote:
>>>>>> Hi All:
>>>>>>
>>>>>>    Does any one have any idea ? Thanks.
>>>>>>
>>>>>> -----------
>>>>>> Cao Tong
>>>>>>
>>>>>> On 08/18/2015 06:04 PM, tony_caotong@163.com wrote:
>>>>>>> In ParamProcessWorker::setFieldValue() I found this lins:
>>>>>>>
>>>>>>>           case DATE:
>>>>>>>                // This piece of code is for maintaining backward
compatibility
>>>>>>>                // and support both the date formats(Bug 9724)
>>>>>>>
>>>>>>> Is it related to my problem?  Where can I found the descriptions
about BUG9724 ?
>>>>>>>
>>>>>>> -----------
>>>>>>> Cao Tong
>>>>>>>
>>>>>>> On 08/18/2015 05:54 PM, tony_caotong@163.com wrote:
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> When I use timestamp format startdate="2015-07-31", it works
find.
>>>>>>>> When I use it like this startdate="2015-07-31 13:00:00".
>>>>>>>> It return a error
>>>>>>>> IOError: ('http error', 401, 'Unauthorized', <httplib.HTTPMessage
instance at 0x16dca70>)
>>>>>>>>
>>>>>>>> Could anyone tell me why ?
>>>>>>>>
>>>>>>>> I have read the code "DefaultLoginAPIAuthenticatorCmd::authenticate()"
, but I am still not understand what was happening,
>>>>>>>> it seems authenticate failed, but why??
>>>>>>>>
>>>>>>>> -----------
>>>>>>>> Cao Tong
>>>>>>>>
>>>>>>>> On 07/31/2015 07:07 PM, tony_caotong@163.com wrote:
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>>    was this format is enabled in ACS 4.5.1 like /"yyyy-MM-dd
HH:mm:ss"
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> /    I found it in 4.5.0 API doc, but it seems not enabled.
>>>>>>>>>
>>>>>>>>> http://cloudstack.apache.org/api/apidocs-4.5/user/listEvents.html
>>>>>>>>>
>>>>>>>>>>>> api.listEvents(startdate="2015-07-31 13:00:00")
>>>>>>>>> Traceback (most recent call last):
>>>>>>>>> File "<stdin>", line 1, in <module>
>>>>>>>>> File "call.py", line 48, in handlerFunction
>>>>>>>>>    return self._make_request(name, kwargs)
>>>>>>>>> File "call.py", line 60, in _make_request
>>>>>>>>>    data = self._http_get(self.value)
>>>>>>>>> File "call.py", line 53, in _http_get
>>>>>>>>>    response = urllib.urlopen(url)
>>>>>>>>> File "/usr/lib64/python2.7/urllib.py", line 87, in urlopen
>>>>>>>>>    return opener.open(url)
>>>>>>>>> File "/usr/lib64/python2.7/urllib.py", line 208, in open
>>>>>>>>>    return getattr(self, name)(url)
>>>>>>>>> File "/usr/lib64/python2.7/urllib.py", line 359, in open_http
>>>>>>>>>    return self.http_error(url, fp, errcode, errmsg, headers)
>>>>>>>>> File "/usr/lib64/python2.7/urllib.py", line 372, in http_error
>>>>>>>>>    result = method(url, fp, errcode, errmsg, headers)
>>>>>>>>> File "/usr/lib64/python2.7/urllib.py", line 683, in http_error_401
>>>>>>>>>    errcode, errmsg, headers)
>>>>>>>>> File "/usr/lib64/python2.7/urllib.py", line 381, in http_error_default
>>>>>>>>>    raise IOError, ('http error', errcode, errmsg, headers)
>>>>>>>>> IOError: ('http error', 401, 'Unauthorized', <httplib.HTTPMessage
instance at 0x16dca70>)
>>>>>>>>>
>>>>>>>>> my ACS version:
>>>>>>>>>
>>>>>>>>> [root@cs ~]# rpm -qa |grep cloud
>>>>>>>>> cloudstack-management-4.5.1-shapeblue0.el6.x86_64
>>>>>>>>> cloudstack-awsapi-4.5.1-shapeblue0.el6.x86_64
>>>>>>>>> cloudstack-agent-4.5.1-shapeblue0.el6.x86_64
>>>>>>>>> cloudstack-common-4.5.1-shapeblue0.el6.x86_64
>>>>>>>>>
>>>>>>>>>
>>>> Find out more about ShapeBlue and our range of CloudStack related services
>>>>
>>>> IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>>>> CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
>>>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>>>> CloudStack Software Engineering<http://shapeblue.com/cloudstack-software-engineering/>
>>>> CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>>>> CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>
>>>>
>>>> This email and any attachments to it may be confidential and are intended
solely for the use of the individual to whom it is addressed. Any views or opinions expressed
are solely those of the author and do not necessarily represent those of Shape Blue Ltd or
related companies. If you are not the intended recipient of this email, you must neither take
any action based upon its contents, nor copy or show it to anyone. Please contact the sender
if you believe you have received this email in error. Shape Blue Ltd is a company incorporated
in England & Wales. ShapeBlue Services India LLP is a company incorporated in India and
is operated under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda is a company
incorporated in Brasil and is operated under license from Shape Blue Ltd. ShapeBlue SA Pty
Ltd is a company registered by The Republic of South Africa and is traded under license from
Shape Blue Ltd. ShapeBlue is a registered trademark.
>>> Find out more about ShapeBlue and our range of CloudStack related services
>>>
>>> IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
>>> CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
>>> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
>>> CloudStack Software Engineering<http://shapeblue.com/cloudstack-software-engineering/>
>>> CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
>>> CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>
>>>
>>> This email and any attachments to it may be confidential and are intended solely
for the use of the individual to whom it is addressed. Any views or opinions expressed are
solely those of the author and do not necessarily represent those of Shape Blue Ltd or related
companies. If you are not the intended recipient of this email, you must neither take any
action based upon its contents, nor copy or show it to anyone. Please contact the sender if
you believe you have received this email in error. Shape Blue Ltd is a company incorporated
in England & Wales. ShapeBlue Services India LLP is a company incorporated in India and
is operated under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda is a company
incorporated in Brasil and is operated under license from Shape Blue Ltd. ShapeBlue SA Pty
Ltd is a company registered by The Republic of South Africa and is traded under license from
Shape Blue Ltd. ShapeBlue is a registered trademark.
>>
>>
> Find out more about ShapeBlue and our range of CloudStack related services
>
> IaaS Cloud Design & Build<http://shapeblue.com/iaas-cloud-design-and-build//>
> CSForge – rapid IaaS deployment framework<http://shapeblue.com/csforge/>
> CloudStack Consulting<http://shapeblue.com/cloudstack-consultancy/>
> CloudStack Software Engineering<http://shapeblue.com/cloudstack-software-engineering/>
> CloudStack Infrastructure Support<http://shapeblue.com/cloudstack-infrastructure-support/>
> CloudStack Bootcamp Training Courses<http://shapeblue.com/cloudstack-training/>
>
> This email and any attachments to it may be confidential and are intended solely for
the use of the individual to whom it is addressed. Any views or opinions expressed are solely
those of the author and do not necessarily represent those of Shape Blue Ltd or related companies.
If you are not the intended recipient of this email, you must neither take any action based
upon its contents, nor copy or show it to anyone. Please contact the sender if you believe
you have received this email in error. Shape Blue Ltd is a company incorporated in England
& Wales. ShapeBlue Services India LLP is a company incorporated in India and is operated
under license from Shape Blue Ltd. Shape Blue Brasil Consultoria Ltda is a company incorporated
in Brasil and is operated under license from Shape Blue Ltd. ShapeBlue SA Pty Ltd is a company
registered by The Republic of South Africa and is traded under license from Shape Blue Ltd.
ShapeBlue is a registered trademark.




Mime
View raw message