Преглед изворни кода

Decomposed setup requirements further. Fixed some minor typos.

nuwan_ag пре 10 година
родитељ
комит
3cd461dd4e
2 измењених фајлова са 13 додато и 6 уклоњено
  1. 2 1
      README.rst
  2. 11 5
      setup.py

+ 2 - 1
README.rst

@@ -54,7 +54,7 @@ Design Goals
 
 2. Have a suite of conformance tests which are comprehensive enough that goal 1 can be achieved. This would also mean that clients need not manually test against each provider to make sure their application is compatible.
 
-3. Opt for a minimum set of features that a cloud provider will support, instead of  a lowest common denominator approach. This means that reasonably mature clouds like Amazon and Openstack are used as the benchmark against which functionality & features are determined. Therefore, there is a definite expectation that the cloud infrastructure will support a compute service with support for images and snapshots and various machine sizes. The cloud infrastructure will very likely support block storage, although this is currently optional. It may optionally support object storage
+3. Opt for a minimum set of features that a cloud provider will support, instead of  a lowest common denominator approach. This means that reasonably mature clouds like Amazon and Openstack are used as the benchmark against which functionality & features are determined. Therefore, there is a definite expectation that the cloud infrastructure will support a compute service with support for images and snapshots and various machine sizes. The cloud infrastructure will very likely support block storage, although this is currently optional. It may optionally support object storage.
 
 4. Make the cloudbridge layer as thin as possible without compromising goal 1. By wrapping the cloud provider's native SDK and doing the minimal work necessary to adapt the interface, we can achieve greater development speed and reliability since the native provider SDK is most likely to have both properties.
 
@@ -101,6 +101,7 @@ disable it, set the following environment variable:
 Testing philosophy
 ~~~~~~~~~~~~~~~~~~
 Our testing goals are to:
+
  * Write one set of tests that all provider implementations must pass.
  * Make that set of tests a 'conformance' test suite, which validates that each implementation correctly implements the cloudbridge specification.
  * Make the test suite comprehensive enough that a provider which passes all the tests can be used safely by an application with no additional testing. In other words, the cloudbridge specification and accompanying test suite must be comprehensive enough that no provider specific workarounds, code or testing is required.

+ 11 - 5
setup.py

@@ -1,5 +1,13 @@
 from setuptools import setup, find_packages
 
+base_reqs = ['bunch>=1.00', 'six>=1.9.0', 'retrying']
+openstack_reqs = ['python-keystoneclient',
+                  'python-novaclient', 'python-cinderclient',
+                  'python-swiftclient']
+aws_reqs = ['boto']
+full_reqs = base_reqs + aws_reqs + openstack_reqs
+dev_reqs = ['tox'] + full_reqs
+
 setup(name='cloudbridge',
       version=0.1,
       description='A simple layer of abstraction over multiple cloud'
@@ -7,16 +15,14 @@ setup(name='cloudbridge',
       author='Galaxy and GVL Projects',
       author_email='support@genome.edu.au',
       url='http://cloudbridge.readthedocs.org/',
-      install_requires=[
-          'bunch>=1.00', 'six>=1.9.0', 'retrying'],
+      install_requires=base_reqs,
       extras_require={
           ':python_version=="2.7"': ['py2-ipaddress'],
           ':python_version=="3"': ['py2-ipaddress'],
           ':python_version=="3.1"': ['py2-ipaddress'],
           ':python_version=="3.2"': ['py2-ipaddress'],
-          'full': ['python-keystoneclient',
-                   'python-novaclient', 'python-cinderclient',
-                   'python-swiftclient', 'boto'],
+          'full': full_reqs,
+          'dev': dev_reqs
       },
       packages=find_packages(),
       license='MIT',