You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/03/27 10:35:41 UTC

[jira] [Commented] (BEAM-1648) Replace gsutil calls with Cloud Storage API

    [ https://issues.apache.org/jira/browse/BEAM-1648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15943025#comment-15943025 ] 

ASF GitHub Bot commented on BEAM-1648:
--------------------------------------

GitHub user dlebech opened a pull request:

    https://github.com/apache/beam/pull/2333

    [BEAM-1648] Replace gsutil with storage API calls

    This PR replaces the `gsutil cp` call with a GCS API call when staging resources.
    
    I was unsure how to unit test this feature, and given that the existing functionality was not under test already, I just tested this with the following script:
    
    ```python
    from apache_beam.runners.dataflow.internal import dependency
    dependency._dependency_file_copy('/home/david/myfile.txt', 'gs://mybucket/myfile.txt')
    dependency._dependency_file_copy('gs://mybucket/myfile.txt', 'gs://mybucket/myfile2.txt')
    dependency._dependency_file_copy('gs://mybucket/myfile2.txt', '/home/david/myfile2.txt')
    ```
    All three operations are successful.
    
    I've set up travis-ci for the build, and it is successful for the python tests but not the Java tests (it looks like this is a general issue at the moment).
    
    ---
    
    Be sure to do all of the following to help us incorporate your contribution
    quickly and easily:
    
     - [ ] Make sure the PR title is formatted like:
       `[BEAM-<Jira issue #>] Description of pull request`
     - [ ] Make sure tests pass via `mvn clean verify`. (Even better, enable
           Travis-CI on your fork and ensure the whole test matrix passes).
     - [ ] Replace `<Jira issue #>` in the title with the actual Jira issue
           number, if there is one.
     - [ ] If this contribution is large, please file an Apache
           [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.txt).
    
    ---


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/getconversio/beam gs-util-abolish

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/beam/pull/2333.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #2333
    
----
commit 06948a1accb0cef77a304e4a805e0eec54797013
Author: David Volquartz Lebech <da...@lebech.info>
Date:   2017-03-27T10:18:18Z

    Replace gsutil with storage API calls
    
    This commit replaces the `gsutil cp` call with GCS API call when staging
    resources.

----


> Replace gsutil calls with Cloud Storage API
> -------------------------------------------
>
>                 Key: BEAM-1648
>                 URL: https://issues.apache.org/jira/browse/BEAM-1648
>             Project: Beam
>          Issue Type: Wish
>          Components: sdk-py
>    Affects Versions: 0.5.0
>            Reporter: David Volquartz Lebech
>            Assignee: Ahmet Altay
>
> When using the {{DataflowRunner}} and {{--setup-file}} parameter, {{gsutil}} is used for _some_ of the Cloud Storage uploads [here|https://github.com/apache/beam/blob/466599d765aa82acaf997ec8776405152bbde4c1/sdks/python/apache_beam/runners/dataflow/internal/dependency.py#L89-L90]. This makes it difficult to run a pipeline in an environment where the Cloud Platform tools are not installed -- e.g. a Docker Python container or a Heroku instance.
> The Storage API is used in other places such as [here|https://github.com/apache/beam/blob/466599d765aa82acaf997ec8776405152bbde4c1/sdks/python/apache_beam/runners/dataflow/internal/apiclient.py#L431-L432] when staging the session and main SDK package, so I'm unsure if this is by design or an inconsistency in the usage.
> Thank you for considering this.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)