You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@libcloud.apache.org by "Jaume Devesa (JIRA)" <ji...@apache.org> on 2013/01/05 10:26:12 UTC

[dev] [jira] [Updated] (LIBCLOUD-278) Name a ScriptDeployment object without absolute path fails the execution

     [ https://issues.apache.org/jira/browse/LIBCLOUD-278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jaume Devesa updated LIBCLOUD-278:
----------------------------------

    Attachment: libcloud_278.patch

This is the patch that solves the issue. Since the execution is in the remote machine, I couldn't find a way to write a test. Please tell me if you have any idea.

However, I've prepared a gist to test the functionality in Amazon: https://gist.github.com/4460584 You probably have hundreds of them and feel more comfortable with Rackspace provider... but this is the one I've used and it might be useful
                
> Name a ScriptDeployment object without absolute path fails the execution
> ------------------------------------------------------------------------
>
>                 Key: LIBCLOUD-278
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-278
>             Project: Libcloud
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.11.2
>            Reporter: Jaume Devesa
>         Attachments: libcloud_278.patch
>
>
> If you set a name to a ScriptDeployment this way:
> sd = ScriptDeployment('touch total_success', name='success.sh')
> it fails the execution when you call the conn.deploy_node() function without feedback to the user. 
> The 'put' method of the 'ParamikoSSHClient' copies the file 'success.sh'  in the relative path of the logged user (/root/success.sh or /home/ubuntu/success.sh in Ubuntu machines), but the 'run' method of the same class runs directly the 'success.sh' script and this file is not in the classpath. 
> If you set the line previous to the return statement of the 'run' method:
> print ("Out: '%s', Error: '%s', Status: '%d'") % (so, se, status)
> You get:
> Out: '', Error: 'bash: success.sh: command not found', Status: '127'
> If the name of the 'ScriptDeployment' is an absolute path (sd = ScriptDeployment('touch total_success', name='/home/ubuntu/success.sh')), the methods runs fine.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira