You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Adar Dembo (Code Review)" <ge...@cloudera.org> on 2017/08/11 23:58:58 UTC

[kudu-CR] python: restore setuptools requirement and employ different workaround

Hello David Ribeiro Alves, Jean-Daniel Cryans,

I'd like you to do a code review.  Please visit

    http://gerrit.cloudera.org:8080/7661

to review the following change.

Change subject: python: restore setuptools requirement and employ different workaround
......................................................................

python: restore setuptools requirement and employ different workaround

Commit d0acb55 moved the installation of setuptools from requirements.txt
to build-and-test.sh itself. This is somewhat inconvenient, and it reduces
the usefulness of requirements.txt; it's no longer a "one stop shop" for all
dependencies needed to build the Python bindings.

The build problems we saw were due to a virtualenv like so:
1. Initially, an old pip and setuptools
2. An upgraded pip (via `pip install --upgrade pip` in build-and-test.sh)

When `pip install -r requirements.txt` is run with such a virtualenv, the
new pip tries to upgrade the old setuptools and is unable to do so.

Let's try a different approach: let's not upgrade pip at all. We'll start
with whatever pip/setuptools are in the virtualenv, and we'll use that pip
to upgrade setuptools via the usual `pip install -r requirements.txt`. This
appears to work on both CentOS 6.6 and Ubuntu 16.04. On CentOS 6.6 I tested
with both python-virtualenv 1.7.2 (which initializes a virtualenv with
pip 1.1 and setuptools 0.6c11) and 1.10.1 (pip 1.4.1 and setuptools 0.9.8).

Change-Id: I1a8947bc8e89ec73728749bbcc6e9b919e26838a
---
M build-support/jenkins/build-and-test.sh
M python/requirements.txt
2 files changed, 24 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/61/7661/1
-- 
To view, visit http://gerrit.cloudera.org:8080/7661
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1a8947bc8e89ec73728749bbcc6e9b919e26838a
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Jean-Daniel Cryans <jd...@apache.org>

[kudu-CR] python: restore setuptools requirement and employ different workaround

Posted by "Adar Dembo (Code Review)" <ge...@cloudera.org>.
Adar Dembo has posted comments on this change.

Change subject: python: restore setuptools requirement and employ different workaround
......................................................................


Patch Set 1: Verified+1

One test failed in test setup:

 INFO  42520    run_isolated(173): Running ['/usr/bin/python', u'../../build-support/run_dist_test.py', u'-e', u'GTEST_SHARD_INDEX=0', u'-e', u'GTEST_TOTAL_SHARDS=1', u'-e', u'KUDU_TEST_TIMEOUT=870', u'-e', u'KUDU_ALLOW_SLOW_TESTS=1', u'-e', u'KUDU_COMPRESS_TEST_OUTPUT=1', u'--', u'../release/bin/catalog_manager-test'], cwd=/tmp/run_tha_testXgd2YF/build/isolate
Traceback (most recent call last):
  File "../../build-support/run_dist_test.py", line 150, in <module>
    main()
  File "../../build-support/run_dist_test.py", line 122, in main
    fixup_rpaths(os.path.join(ROOT, "build"))
  File "../../build-support/run_dist_test.py", line 90, in fixup_rpaths
    fix_rpath(p)
  File "../../build-support/run_dist_test.py", line 75, in fix_rpath
    rpath = re.search("R(?:UN)?PATH=(.+)", stdout.strip()).group(1)
AttributeError: 'NoneType' object has no attribute 'group'

-- 
To view, visit http://gerrit.cloudera.org:8080/7661
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I1a8947bc8e89ec73728749bbcc6e9b919e26838a
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Jean-Daniel Cryans <jd...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-HasComments: No

[kudu-CR] python: restore setuptools requirement and employ different workaround

Posted by "Jean-Daniel Cryans (Code Review)" <ge...@cloudera.org>.
Jean-Daniel Cryans has posted comments on this change.

Change subject: python: restore setuptools requirement and employ different workaround
......................................................................


Patch Set 1: Code-Review+2

-- 
To view, visit http://gerrit.cloudera.org:8080/7661
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I1a8947bc8e89ec73728749bbcc6e9b919e26838a
Gerrit-PatchSet: 1
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Jean-Daniel Cryans <jd...@apache.org>
Gerrit-HasComments: No

[kudu-CR] python: restore setuptools requirement and employ different workaround

Posted by "Jean-Daniel Cryans (Code Review)" <ge...@cloudera.org>.
Jean-Daniel Cryans has submitted this change and it was merged.

Change subject: python: restore setuptools requirement and employ different workaround
......................................................................


python: restore setuptools requirement and employ different workaround

Commit d0acb55 moved the installation of setuptools from requirements.txt
to build-and-test.sh itself. This is somewhat inconvenient, and it reduces
the usefulness of requirements.txt; it's no longer a "one stop shop" for all
dependencies needed to build the Python bindings.

The build problems we saw were due to a virtualenv like so:
1. Initially, an old pip and setuptools
2. An upgraded pip (via `pip install --upgrade pip` in build-and-test.sh)

When `pip install -r requirements.txt` is run with such a virtualenv, the
new pip tries to upgrade the old setuptools and is unable to do so.

Let's try a different approach: let's not upgrade pip at all. We'll start
with whatever pip/setuptools are in the virtualenv, and we'll use that pip
to upgrade setuptools via the usual `pip install -r requirements.txt`. This
appears to work on both CentOS 6.6 and Ubuntu 16.04. On CentOS 6.6 I tested
with both python-virtualenv 1.7.2 (which initializes a virtualenv with
pip 1.1 and setuptools 0.6c11) and 1.10.1 (pip 1.4.1 and setuptools 0.9.8).

Change-Id: I1a8947bc8e89ec73728749bbcc6e9b919e26838a
Reviewed-on: http://gerrit.cloudera.org:8080/7661
Tested-by: Adar Dembo <ad...@cloudera.com>
Reviewed-by: Jean-Daniel Cryans <jd...@apache.org>
---
M build-support/jenkins/build-and-test.sh
M python/requirements.txt
2 files changed, 24 insertions(+), 19 deletions(-)

Approvals:
  Jean-Daniel Cryans: Looks good to me, approved
  Adar Dembo: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/7661
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I1a8947bc8e89ec73728749bbcc6e9b919e26838a
Gerrit-PatchSet: 2
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: Adar Dembo <ad...@cloudera.com>
Gerrit-Reviewer: David Ribeiro Alves <da...@gmail.com>
Gerrit-Reviewer: Jean-Daniel Cryans <jd...@apache.org>