16039: Touch python clients so they run tests with the latest SDK.
[arvados.git] / services / nodemanager / setup.py
index 9ae1135b88cd1d2b2eb4f6260a694eb5728972f1..75e8f85fbd1b3bfb4fba3de66ec9d341e06fb5ed 100644 (file)
@@ -3,25 +3,28 @@
 #
 # SPDX-License-Identifier: AGPL-3.0
 
+from __future__ import absolute_import
 import os
 import sys
-import setuptools.command.egg_info as egg_info_cmd
+import re
 
 from setuptools import setup, find_packages
 
-SETUP_DIR = os.path.dirname(__file__) or "."
+SETUP_DIR = os.path.dirname(__file__) or '.'
 README = os.path.join(SETUP_DIR, 'README.rst')
 
-tagger = egg_info_cmd.egg_info
-version = os.environ.get("ARVADOS_BUILDING_VERSION")
-if not version:
-    try:
-        import arvados_version
-        vtag = arvados_version.VersionInfoFromGit()
-        version = vtag.git_latest_tag() + vtag.git_timestamp_tag()
-    except ImportError:
-        pass
+import arvados_version
+version = arvados_version.get_version(SETUP_DIR, "arvnodeman")
+if os.environ.get('ARVADOS_BUILDING_VERSION', False):
+    pysdk_dep = "=={}".format(version)
+else:
+    # On dev releases, arvados-python-client may have a different timestamp
+    pysdk_dep = "<={}".format(version)
 
+short_tests_only = False
+if '--short-tests-only' in sys.argv:
+    short_tests_only = True
+    sys.argv.remove('--short-tests-only')
 
 setup(name='arvados-node-manager',
       version=version,
@@ -34,23 +37,24 @@ setup(name='arvados-node-manager',
       packages=find_packages(),
       scripts=['bin/arvados-node-manager'],
       data_files=[
-          ('share/doc/arvados-node-manager', ['agpl-3.0.txt', 'README.rst']),
+          ('share/doc/arvados-node-manager', ['agpl-3.0.txt', 'README.rst', 'arvados-node-manager.service']),
       ],
       install_requires=[
-          'apache-libcloud>=2.3',
-          'arvados-python-client>=0.1.20170731145219',
+          'apache-libcloud==2.5.0', # 2.6.0 cannot create azure nodes, #15649
+          'arvados-python-client{}'.format(pysdk_dep),
           'future',
-          'pykka',
+          'pykka < 2',
           'python-daemon',
-          'setuptools'
+          'setuptools',
+          'subprocess32>=3.5.1',
       ],
       test_suite='tests',
       tests_require=[
           'requests',
           'pbr<1.7.0',
           'mock>=1.0',
-          'apache-libcloud>=2.3',
+          'apache-libcloud==2.5.0',
+          'subprocess32>=3.5.1',
       ],
       zip_safe=False,
-      cmdclass={'egg_info': tagger},
-      )
+)