cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rohit Yadav <bhais...@apache.org>
Subject Re: [GSoC] CloudMonkey index out of range error
Date Fri, 06 Sep 2013 17:43:13 GMT
Thanks for the output and sharing the issue. No promises but I'll try to
reproduce the issue this weekend and probably fix it ;)

Regards.


On Fri, Sep 6, 2013 at 8:54 PM, Han,Meng <menghan@ufl.edu> wrote:

> On Fri, 6 Sep 2013 03:09:46 -0400, Sebastien Goasguen wrote:
>
>> On Aug 28, 2013, at 11:16 PM, "Han,Meng" <menghan@ufl.edu> wrote:
>>
>>  Hi Sebasiten,
>>>
>>> This type of error happens even when I define a very simple api, e.g.
>>> output the whirr version.
>>>
>>>
>>> 2013-08-27 17:56:48,662 - requester.py:45 - [DEBUG] ======== START
>>> Request ========
>>> 2013-08-27 17:56:48,662 - requester.py:45 - [DEBUG] Requesting
>>> command=launchCluster, args={'config': '1'}
>>> 2013-08-27 17:56:48,663 - requester.py:45 - [DEBUG] Request sent:
>>> http://localhost:8080/client/**api?apiKey=**3lwqSg6E1yS4vvF37mz7HshOp_**
>>> 3N9rHoDoXMoWsRcbaisMz5-_**WnnwgzHaAeUi49cMMtb8GbzkPzvBA3**
>>> WEqzMw&command=launchCluster&**config=1&response=json&**
>>> signature=xCb%2BX06aGT5%**2Bd0iDQR3BbIBdYhM%3D<http://localhost:8080/client/api?apiKey=3lwqSg6E1yS4vvF37mz7HshOp_3N9rHoDoXMoWsRcbaisMz5-_WnnwgzHaAeUi49cMMtb8GbzkPzvBA3WEqzMw&command=launchCluster&config=1&response=json&signature=xCb%2BX06aGT5%2Bd0iDQR3BbIBdYhM%3D>
>>> 2013-08-27 17:56:52,254 - requester.py:45 - [DEBUG] Response received: {
>>> "launchCluster" :  { "launchCluster" : {"output":"Apache Whirr
>>> ${project.version}jclouds 1.6.1-incubatingnull"} }  }
>>> 2013-08-27 17:56:52,254 - requester.py:45 - [DEBUG] ======== END Request
>>> ========
>>>
>>> The following is the response object:
>>>
>>> public class LaunchClusterResponse extends BaseResponse {
>>>    @SerializedName(ApiConstants.**IS_ASYNC) @Param(description = "true
>>> if api is asynchronous")
>>>    private Boolean isAsync;
>>>    @SerializedName("output") @Param(description = "whirr output")
>>>    private String output;
>>>
>>>    public LaunchClusterResponse(){
>>>
>>>    }
>>>    public void setAsync(Boolean isAsync) {
>>>        this.isAsync = isAsync;
>>>    }
>>>
>>>    public boolean getAsync() {
>>>        return isAsync;
>>>    }
>>>    public void setOutPut(String output) {
>>>        this.output = output;
>>>    }
>>>     public String getOutput(){
>>>        return output;
>>>    }
>>>
>>> }
>>>
>>>
>>> The following is the execute method of the command object.
>>>
>>> public void execute()  {
>>>        LaunchClusterResponse response = new LaunchClusterResponse();
>>>        response.setObjectName("**launchCluster");
>>>        response.setResponseName(**getCommandName());
>>>
>>>        String cmdToExec;
>>>        cmdToExec = "whirr version ";
>>>        try {
>>>           Process proc = Runtime.getRuntime().exec(**cmdToExec);
>>>           BufferedReader stdInput = new BufferedReader(new
>>> InputStreamReader(proc.**getInputStream()));
>>>           BufferedReader stdError = new BufferedReader(new
>>> InputStreamReader(proc.**getErrorStream()));
>>>
>>>           String stdout = "",stderr = "",s;
>>>           while ((s = stdInput.readLine()) != null) {
>>>                stdout=stdout+s;
>>>           }
>>>           while ((s = stdInput.readLine()) != null) {
>>>                stderr=stderr+s;
>>>           }
>>>           output = stdout+stderr;
>>>        } catch (IOException ex) {
>>>            Logger.getLogger(**LaunchClusterCmd.class.**getName()).log(Level.SEVERE,
>>> null, ex);
>>>        }
>>>
>>>        response.setOutPut(output);
>>>        this.setResponseObject(**response);
>>>    }
>>>
>>>
>>> Thanks!
>>>
>>
>> So what do you get in cloudmonkey, can you send the json ?
>>
>
> Sebastien, below  is what I get in CloudMonkey:
>
>
> 2013-08-27 17:56:48,662 - requester.py:45 - [DEBUG] ======== START Request
> ========
> 2013-08-27 17:56:48,662 - requester.py:45 - [DEBUG] Requesting
> command=launchCluster, args={'config': '1'}
> 2013-08-27 17:56:48,663 - requester.py:45 - [DEBUG] Request sent:
> http://localhost:8080/client/**api?apiKey=**3lwqSg6E1yS4vvF37mz7HshOp_**
> 3N9rHoDoXMoWsRcbaisMz5-_**WnnwgzHaAeUi49cMMtb8GbzkPzvBA3**
> WEqzMw&command=launchCluster&**config=1&response=json&**
> signature=xCb%2BX06aGT5%**2Bd0iDQR3BbIBdYhM%3D<http://localhost:8080/client/api?apiKey=3lwqSg6E1yS4vvF37mz7HshOp_3N9rHoDoXMoWsRcbaisMz5-_WnnwgzHaAeUi49cMMtb8GbzkPzvBA3WEqzMw&command=launchCluster&config=1&response=json&signature=xCb%2BX06aGT5%2Bd0iDQR3BbIBdYhM%3D>
> 2013-08-27 17:56:52,254 - requester.py:45 - [DEBUG] Response received: {
> "launchCluster" :  { "launchCluster" : {"output":"Apache Whirr
> ${project.version}jclouds 1.6.1-incubatingnull"} }  }
> 2013-08-27 17:56:52,254 - requester.py:45 - [DEBUG] ======== END Request
> ========
>
>
> Thank you!
>
>
>
>>
>>
>>> On Wed, 28 Aug 2013 03:10:31 -0400, Sebastien Goasguen wrote:
>>>
>>>> On Aug 27, 2013, at 6:08 PM, "Han,Meng" <menghan@ufl.edu> wrote:
>>>>
>>>>  Hi folks,
>>>>>
>>>>> I am adding an api (launch cluster) to CloudStack and  using
>>>>> CloudMonkey to test the api.
>>>>>
>>>>> From the CloudMonkey log file I can see that the request was executed
>>>>> on the server side and return correct response, however, CloudMonkey
was
>>>>> forced to quit because the following error:
>>>>>
>>>>>
>>>>>  launchCluster config=hadoop.properties
>>>>>>
>>>>> Traceback (most recent call last):
>>>>> File "/usr/bin/cloudmonkey", line 9, in <module>
>>>>>   load_entry_point('cloudmonkey=**=5.0.0', 'console_scripts',
>>>>> 'cloudmonkey')()
>>>>> File "/usr/lib/python2.6/site-**packages/cloudmonkey/**cloudmonkey.py",
>>>>> line 536, in main
>>>>>   shell.cmdloop()
>>>>> File "/usr/lib/python2.6/site-**packages/cloudmonkey/**cloudmonkey.py",
>>>>> line 106, in cmdloop
>>>>>   super(CloudMonkeyShell, self).cmdloop(intro="")
>>>>> File "/usr/lib64/python2.6/cmd.py", line 142, in cmdloop
>>>>>   stop = self.onecmd(line)
>>>>> File "/usr/lib64/python2.6/cmd.py", line 218, in onecmd
>>>>>   return self.default(line)
>>>>> File "/usr/lib/python2.6/site-**packages/cloudmonkey/**cloudmonkey.py",
>>>>> line 303, in default
>>>>>   result = self.make_request(apiname, args_dict, isasync)
>>>>> File "/usr/lib/python2.6/site-**packages/cloudmonkey/**cloudmonkey.py",
>>>>> line 257, in make_request
>>>>>   self.timeout, self.protocol, self.path)
>>>>> File "/usr/lib/python2.6/site-**packages/cloudmonkey/**requester.py",
>>>>> line 121, in monkeyrequest
>>>>>   responsekey = filter(lambda x: 'response' in x, response.keys())[0]
>>>>> IndexError: list index out of range
>>>>>
>>>>>
>>>> Meng, this actually might be an issue with your response object in
>>>> java, make sure that it is properly defined.
>>>>
>>>> You can also send us the json that's returned via cloudmonkey
>>>>
>>>>
>>>>> Could someone give me  a pointer why this is happening?
>>>>>
>>>>>
>>>>> Thanks!
>>>>>
>>>>> Cheers,
>>>>> Meng
>>>>>
>>>>
>>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message