16039: Touch python clients so they run tests with the latest SDK.
[arvados.git] / services / nodemanager / setup.py
index 6382dcb7277c19c20bb7612c7b9aecbf65137b99..75e8f85fbd1b3bfb4fba3de66ec9d341e06fb5ed 100644 (file)
@@ -3,23 +3,31 @@
 #
 # 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')
 
-try:
-    import gittaggers
-    tagger = gittaggers.EggInfoFromGit
-except ImportError:
-    tagger = egg_info_cmd.egg_info
+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='0.1',
+      version=version,
       description='Arvados compute node manager',
       long_description=open(README).read(),
       author='Arvados',
@@ -29,26 +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.2',
-          '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'
-      ],
-      dependency_links=[
-          "https://github.com/curoverse/libcloud/archive/apache-libcloud-2.2.2.dev3.zip"
+          'setuptools',
+          'subprocess32>=3.5.1',
       ],
       test_suite='tests',
       tests_require=[
           'requests',
           'pbr<1.7.0',
           'mock>=1.0',
-          'apache-libcloud==2.2.2.dev3',
+          'apache-libcloud==2.5.0',
+          'subprocess32>=3.5.1',
       ],
       zip_safe=False,
-      cmdclass={'egg_info': tagger},
-      )
+)