]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Second round of packaging changes
authorBrad Hall <brad@nicira.com>
Thu, 10 Nov 2011 06:57:13 +0000 (22:57 -0800)
committerBrad Hall <brad@nicira.com>
Mon, 28 Nov 2011 18:33:52 +0000 (10:33 -0800)
This change condenses the directory structure to something more similar to
what we had before while producing similar packages.

It also introduces version.py which allows us to get the version from git tags
(or a fallback version if not available).

Fixes lp bug 889336
Fixes lp bug 888795

Change-Id: I86136bd9dbabb5eb1f8366ed665ed9b54f695124

182 files changed:
MANIFEST.in [new file with mode: 0644]
bin/quantum
bin/quantum-server
client/lib/quantum/__init__.py [deleted file]
client/lib/quantum/tests/unit/__init__.py [deleted file]
common/lib/quantum/__init__.py [deleted file]
common/lib/quantum/run_tests.py [deleted file]
etc/init.d/quantum-server [moved from server/etc/init.d/quantum-server with 100% similarity]
etc/plugins.ini [new file with mode: 0644]
etc/quantum.conf [moved from server/etc/quantum.conf with 100% similarity]
etc/quantum.conf.sample [moved from server/etc/quantum.conf.sample with 100% similarity]
etc/quantum.conf.test [moved from server/etc/quantum.conf.test with 100% similarity]
etc/quantum/plugins/cisco/cisco_plugins.ini [moved from plugins/cisco-plugin/etc/cisco_plugins.ini with 100% similarity]
etc/quantum/plugins/cisco/credentials.ini [moved from plugins/cisco-plugin/etc/credentials.ini with 100% similarity]
etc/quantum/plugins/cisco/db_conn.ini [moved from plugins/cisco-plugin/etc/db_conn.ini with 100% similarity]
etc/quantum/plugins/cisco/l2network_plugin.ini [moved from plugins/cisco-plugin/etc/l2network_plugin.ini with 100% similarity]
etc/quantum/plugins/cisco/nexus.ini [moved from plugins/cisco-plugin/etc/nexus.ini with 100% similarity]
etc/quantum/plugins/cisco/quantum.conf.ciscoext [moved from plugins/cisco-plugin/etc/quantum.conf.ciscoext with 100% similarity]
etc/quantum/plugins/cisco/ucs.ini [moved from plugins/cisco-plugin/etc/ucs.ini with 100% similarity]
etc/quantum/plugins/cisco/ucs_inventory.ini [moved from plugins/cisco-plugin/etc/ucs_inventory.ini with 100% similarity]
etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini [moved from plugins/openvswitch-plugin/etc/ovs_quantum_plugin.ini with 100% similarity]
plugins/cisco-plugin/MANIFEST.in [deleted file]
plugins/cisco-plugin/lib/quantum/__init__.py [deleted file]
plugins/cisco-plugin/lib/quantum/plugins/__init__.py [deleted file]
plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/__init__.py [deleted file]
plugins/openvswitch-plugin/MANIFEST.in [deleted file]
plugins/openvswitch-plugin/lib/quantum/__init__.py [deleted file]
plugins/openvswitch-plugin/lib/quantum/plugins/__init__.py [deleted file]
plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/tests/__init__.py [deleted file]
plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/tests/unit/__init__.py [deleted file]
plugins/sample-plugin/lib/quantum/__init__.py [deleted file]
plugins/sample-plugin/lib/quantum/plugins/__init__.py [deleted file]
plugins/sample-plugin/setup.py [deleted file]
quantum/README [moved from common/README with 100% similarity]
quantum/__init__.py [moved from client/lib/__init__.py with 100% similarity]
quantum/api/__init__.py [moved from server/lib/quantum/api/__init__.py with 100% similarity]
quantum/api/api_common.py [moved from server/lib/quantum/api/api_common.py with 100% similarity]
quantum/api/attachments.py [moved from server/lib/quantum/api/attachments.py with 100% similarity]
quantum/api/faults.py [moved from server/lib/quantum/api/faults.py with 100% similarity]
quantum/api/networks.py [moved from server/lib/quantum/api/networks.py with 100% similarity]
quantum/api/ports.py [moved from server/lib/quantum/api/ports.py with 100% similarity]
quantum/api/versions.py [moved from server/lib/quantum/api/versions.py with 100% similarity]
quantum/api/views/__init__.py [moved from server/lib/quantum/api/views/__init__.py with 100% similarity]
quantum/api/views/attachments.py [moved from server/lib/quantum/api/views/attachments.py with 100% similarity]
quantum/api/views/networks.py [moved from server/lib/quantum/api/views/networks.py with 100% similarity]
quantum/api/views/ports.py [moved from server/lib/quantum/api/views/ports.py with 100% similarity]
quantum/api/views/versions.py [moved from server/lib/quantum/api/views/versions.py with 100% similarity]
quantum/client/__init__.py [moved from client/lib/quantum/client.py with 100% similarity]
quantum/client/cli.py [moved from client/lib/quantum/cli.py with 99% similarity]
quantum/client/cli_lib.py [moved from client/lib/quantum/cli_lib.py with 99% similarity]
quantum/common/__init__.py [moved from common/lib/quantum/common/__init__.py with 100% similarity]
quantum/common/config.py [moved from common/lib/quantum/common/config.py with 100% similarity]
quantum/common/exceptions.py [moved from common/lib/quantum/common/exceptions.py with 100% similarity]
quantum/common/extensions.py [moved from common/lib/quantum/common/extensions.py with 100% similarity]
quantum/common/flags.py [moved from common/lib/quantum/common/flags.py with 100% similarity]
quantum/common/serializer.py [moved from common/lib/quantum/common/serializer.py with 100% similarity]
quantum/common/test_lib.py [moved from common/lib/quantum/common/test_lib.py with 99% similarity]
quantum/common/utils.py [moved from common/lib/quantum/common/utils.py with 100% similarity]
quantum/db/__init__.py [moved from server/lib/quantum/db/__init__.py with 100% similarity]
quantum/db/api.py [moved from server/lib/quantum/db/api.py with 100% similarity]
quantum/db/models.py [moved from server/lib/quantum/db/models.py with 100% similarity]
quantum/extensions/__init__.py [moved from server/lib/quantum/extensions/__init__.py with 100% similarity]
quantum/extensions/_credential_view.py [moved from server/lib/quantum/extensions/_credential_view.py with 100% similarity]
quantum/extensions/_novatenant_view.py [moved from server/lib/quantum/extensions/_novatenant_view.py with 100% similarity]
quantum/extensions/_pprofiles.py [moved from server/lib/quantum/extensions/_pprofiles.py with 100% similarity]
quantum/extensions/_qos_view.py [moved from server/lib/quantum/extensions/_qos_view.py with 100% similarity]
quantum/extensions/credential.py [moved from server/lib/quantum/extensions/credential.py with 100% similarity]
quantum/extensions/multiport.py [moved from server/lib/quantum/extensions/multiport.py with 100% similarity]
quantum/extensions/novatenant.py [moved from server/lib/quantum/extensions/novatenant.py with 100% similarity]
quantum/extensions/portprofile.py [moved from server/lib/quantum/extensions/portprofile.py with 100% similarity]
quantum/extensions/qos.py [moved from server/lib/quantum/extensions/qos.py with 100% similarity]
quantum/manager.py [moved from server/lib/quantum/manager.py with 100% similarity]
quantum/plugins/__init__.py [moved from common/lib/__init__.py with 100% similarity]
quantum/plugins/cisco/README [moved from plugins/cisco-plugin/README with 100% similarity]
quantum/plugins/cisco/__init__.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/__init__.py with 100% similarity]
quantum/plugins/cisco/client/cli.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py with 99% similarity]
quantum/plugins/cisco/common/__init__.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/common/__init__.py with 100% similarity]
quantum/plugins/cisco/common/cisco_configparser.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/common/cisco_configparser.py with 100% similarity]
quantum/plugins/cisco/common/cisco_constants.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/common/cisco_constants.py with 100% similarity]
quantum/plugins/cisco/common/cisco_credentials.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/common/cisco_credentials.py with 100% similarity]
quantum/plugins/cisco/common/cisco_exceptions.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/common/cisco_exceptions.py with 100% similarity]
quantum/plugins/cisco/common/cisco_faults.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/common/cisco_faults.py with 100% similarity]
quantum/plugins/cisco/common/cisco_utils.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/common/cisco_utils.py with 100% similarity]
quantum/plugins/cisco/db/__init__.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/db/__init__.py with 100% similarity]
quantum/plugins/cisco/db/api.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/db/api.py with 100% similarity]
quantum/plugins/cisco/db/l2network_db.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/db/l2network_db.py with 100% similarity]
quantum/plugins/cisco/db/l2network_models.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/db/l2network_models.py with 100% similarity]
quantum/plugins/cisco/db/models.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/db/models.py with 100% similarity]
quantum/plugins/cisco/db/nexus_db.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/db/nexus_db.py with 100% similarity]
quantum/plugins/cisco/db/nexus_models.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/db/nexus_models.py with 100% similarity]
quantum/plugins/cisco/db/ucs_db.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/db/ucs_db.py with 100% similarity]
quantum/plugins/cisco/db/ucs_models.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/db/ucs_models.py with 100% similarity]
quantum/plugins/cisco/l2device_inventory_base.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/l2device_inventory_base.py with 100% similarity]
quantum/plugins/cisco/l2device_plugin_base.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/l2device_plugin_base.py with 100% similarity]
quantum/plugins/cisco/l2network_model_base.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/l2network_model_base.py with 100% similarity]
quantum/plugins/cisco/l2network_plugin.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/l2network_plugin.py with 100% similarity]
quantum/plugins/cisco/l2network_plugin_configuration.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/l2network_plugin_configuration.py with 100% similarity]
quantum/plugins/cisco/l2network_segmentation_base.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/l2network_segmentation_base.py with 100% similarity]
quantum/plugins/cisco/models/__init__.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/models/__init__.py with 100% similarity]
quantum/plugins/cisco/models/l2network_multi_blade.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/models/l2network_multi_blade.py with 100% similarity]
quantum/plugins/cisco/models/l2network_single_blade.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/models/l2network_single_blade.py with 100% similarity]
quantum/plugins/cisco/nexus/__init__.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/nexus/__init__.py with 100% similarity]
quantum/plugins/cisco/nexus/cisco_nexus_configuration.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/nexus/cisco_nexus_configuration.py with 100% similarity]
quantum/plugins/cisco/nexus/cisco_nexus_network_driver.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/nexus/cisco_nexus_network_driver.py with 100% similarity]
quantum/plugins/cisco/nexus/cisco_nexus_plugin.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/nexus/cisco_nexus_plugin.py with 100% similarity]
quantum/plugins/cisco/nexus/cisco_nexus_snippets.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/nexus/cisco_nexus_snippets.py with 100% similarity]
quantum/plugins/cisco/nova/__init__.py [moved from plugins/cisco-plugin/lib/__init__.py with 100% similarity]
quantum/plugins/cisco/nova/quantum_port_aware_scheduler.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/nova/quantum_port_aware_scheduler.py with 100% similarity]
quantum/plugins/cisco/nova/vifdirect.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/nova/vifdirect.py with 100% similarity]
quantum/plugins/cisco/pip-requires [moved from plugins/cisco-plugin/pip-requires with 100% similarity]
quantum/plugins/cisco/run_tests.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/run_tests.py with 97% similarity]
quantum/plugins/cisco/segmentation/__init__.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/segmentation/__init__.py with 100% similarity]
quantum/plugins/cisco/segmentation/l2network_vlan_mgr.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/segmentation/l2network_vlan_mgr.py with 100% similarity]
quantum/plugins/cisco/tests/__init__.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/nova/__init__.py with 100% similarity]
quantum/plugins/cisco/tests/unit/__init__.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/__init__.py with 85% similarity]
quantum/plugins/cisco/tests/unit/test_cisco_extension.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/test_cisco_extension.py with 100% similarity]
quantum/plugins/cisco/tests/unit/test_database.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/test_database.py with 100% similarity]
quantum/plugins/cisco/tests/unit/test_l2networkApi.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/test_l2networkApi.py with 100% similarity]
quantum/plugins/cisco/tests/unit/test_l2network_multi_blade.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/test_l2network_multi_blade.py with 100% similarity]
quantum/plugins/cisco/tests/unit/test_nexus_plugin.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/test_nexus_plugin.py with 100% similarity]
quantum/plugins/cisco/tests/unit/test_ucs_driver.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/test_ucs_driver.py with 100% similarity]
quantum/plugins/cisco/tests/unit/test_ucs_inventory.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/test_ucs_inventory.py with 100% similarity]
quantum/plugins/cisco/tests/unit/test_ucs_plugin.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/test_ucs_plugin.py with 100% similarity]
quantum/plugins/cisco/tests/unit/test_vlan_mgr.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/test_vlan_mgr.py with 100% similarity]
quantum/plugins/cisco/ucs/__init__.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/ucs/__init__.py with 100% similarity]
quantum/plugins/cisco/ucs/cisco_getvif.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/ucs/cisco_getvif.py with 100% similarity]
quantum/plugins/cisco/ucs/cisco_ucs_configuration.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/ucs/cisco_ucs_configuration.py with 100% similarity]
quantum/plugins/cisco/ucs/cisco_ucs_inventory.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/ucs/cisco_ucs_inventory.py with 100% similarity]
quantum/plugins/cisco/ucs/cisco_ucs_inventory_configuration.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/ucs/cisco_ucs_inventory_configuration.py with 100% similarity]
quantum/plugins/cisco/ucs/cisco_ucs_network_driver.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/ucs/cisco_ucs_network_driver.py with 100% similarity]
quantum/plugins/cisco/ucs/cisco_ucs_plugin.py [moved from plugins/cisco-plugin/lib/quantum/plugins/cisco/ucs/cisco_ucs_plugin.py with 100% similarity]
quantum/plugins/openvswitch/Makefile [moved from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/Makefile with 100% similarity]
quantum/plugins/openvswitch/README [moved from plugins/openvswitch-plugin/README with 100% similarity]
quantum/plugins/openvswitch/__init__.py [moved from plugins/openvswitch-plugin/lib/__init__.py with 100% similarity]
quantum/plugins/openvswitch/agent/ovs_quantum_agent.py [moved from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/agent/ovs_quantum_agent.py with 100% similarity]
quantum/plugins/openvswitch/agent/xenserver_install.sh [moved from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/agent/xenserver_install.sh with 100% similarity]
quantum/plugins/openvswitch/ovs_db.py [moved from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/ovs_db.py with 100% similarity]
quantum/plugins/openvswitch/ovs_models.py [moved from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/ovs_models.py with 100% similarity]
quantum/plugins/openvswitch/ovs_quantum_plugin.py [moved from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/ovs_quantum_plugin.py with 98% similarity]
quantum/plugins/openvswitch/pip-requires [moved from plugins/openvswitch-plugin/pip-requires with 100% similarity]
quantum/plugins/openvswitch/run_tests.py [moved from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/run_tests.py with 69% similarity]
quantum/plugins/openvswitch/tests/__init__.py [moved from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/__init__.py with 100% similarity]
quantum/plugins/openvswitch/tests/unit/__init__.py [moved from plugins/sample-plugin/lib/__init__.py with 100% similarity]
quantum/plugins/openvswitch/tests/unit/test_vlan_map.py [moved from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/tests/unit/test_vlan_map.py with 100% similarity]
quantum/plugins/sample/SamplePlugin.py [moved from plugins/sample-plugin/lib/quantum/plugins/SamplePlugin.py with 99% similarity]
quantum/plugins/sample/__init__.py [moved from server/lib/__init__.py with 100% similarity]
quantum/quantum_plugin_base.py [moved from server/lib/quantum/quantum_plugin_base.py with 100% similarity]
quantum/server/__init__.py [moved from server/lib/quantum/server.py with 100% similarity]
quantum/service.py [moved from server/lib/quantum/service.py with 100% similarity]
quantum/tests/__init__.py [moved from client/lib/quantum/tests/__init__.py with 100% similarity]
quantum/tests/unit/__init__.py [moved from server/lib/quantum/tests/unit/__init__.py with 85% similarity]
quantum/tests/unit/client_tools/__init__.py [moved from server/lib/quantum/tests/unit/client_tools/__init__.py with 100% similarity]
quantum/tests/unit/client_tools/stubs.py [moved from server/lib/quantum/tests/unit/client_tools/stubs.py with 94% similarity]
quantum/tests/unit/database_stubs.py [moved from server/lib/quantum/tests/unit/database_stubs.py with 100% similarity]
quantum/tests/unit/extension_stubs.py [moved from server/lib/quantum/tests/unit/extension_stubs.py with 100% similarity]
quantum/tests/unit/extensions/__init__.py [moved from server/lib/quantum/tests/unit/extensions/__init__.py with 100% similarity]
quantum/tests/unit/extensions/foxinsocks.py [moved from server/lib/quantum/tests/unit/extensions/foxinsocks.py with 100% similarity]
quantum/tests/unit/test_api.py [moved from server/lib/quantum/tests/unit/test_api.py with 100% similarity]
quantum/tests/unit/test_cli.py [moved from server/lib/quantum/tests/unit/test_cli.py with 99% similarity]
quantum/tests/unit/test_clientlib.py [moved from client/lib/quantum/tests/unit/test_clientlib.py with 100% similarity]
quantum/tests/unit/test_database.py [moved from server/lib/quantum/tests/unit/test_database.py with 100% similarity]
quantum/tests/unit/test_extensions.py [moved from server/lib/quantum/tests/unit/test_extensions.py with 99% similarity]
quantum/tests/unit/testlib_api.py [moved from server/lib/quantum/tests/unit/testlib_api.py with 100% similarity]
quantum/wsgi.py [moved from server/lib/quantum/wsgi.py with 100% similarity]
run_tests.py [changed mode: 0755->0644]
run_tests.sh
server/MANIFEST.in [deleted file]
server/etc/plugins.ini [deleted file]
server/lib/quantum/__init__.py [deleted file]
server/lib/quantum/tests/__init__.py [deleted file]
setup.py
setup_cisco_plugin.py [moved from plugins/cisco-plugin/setup.py with 75% similarity]
setup_client.py [moved from client/setup.py with 85% similarity]
setup_common.py [moved from common/setup.py with 73% similarity]
setup_openvswitch_plugin.py [moved from plugins/openvswitch-plugin/setup.py with 88% similarity]
setup_sample_plugin.py [moved from quantum/setup.py with 77% similarity]
setup_server.py [moved from server/setup.py with 69% similarity]
tools/build_debs.sh
tools/build_rpms.sh
tools/source_environment.py [deleted file]
tools/source_nonplugin_environment.py [deleted file]
version.py [new file with mode: 0644]

diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644 (file)
index 0000000..fee445d
--- /dev/null
@@ -0,0 +1,5 @@
+include etc/*
+include etc/init.d/*
+include etc/quantum/plugins/openvswitch/*
+include etc/quantum/plugins/cisco/*
+include version.py
index 23389c8a2dd97af298ae1e517b7258d055a29c3b..cbcdb1f6edaac3090b453112bec68c7ce9ecffc1 100755 (executable)
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-# If ../quantum/__init__.py exists, add ../ to Python search path, so that
-# it will override what happens to be installed in /usr/(local/)lib/python...
+import os
+import sys
+sys.path.insert(0, os.getcwd())
+import quantum.client.cli as cli
 
-import __init__
-
-try:
-    import source_environment
-except ImportError:
-    pass
-
-from quantum.cli import main as cli
-
-cli()
+cli.main()
index 7a09507b05f5c3087f24bc9067c353721dad22bd..1ea7a16190e47243c04d70657752bd450d12e6ef 100755 (executable)
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-# If ../quantum/__init__.py exists, add ../ to Python search path, so that
-# it will override what happens to be installed in /usr/(local/)lib/python...
-
-import __init__
-try:
-    import source_environment
-except ImportError:
-    pass
-
+import os
+import sys
+sys.path.insert(0, os.getcwd())
 from quantum.server import main as server
 
 server()
diff --git a/client/lib/quantum/__init__.py b/client/lib/quantum/__init__.py
deleted file mode 100644 (file)
index d407605..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/client/lib/quantum/tests/unit/__init__.py b/client/lib/quantum/tests/unit/__init__.py
deleted file mode 100644 (file)
index 7267869..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2011 OpenStack LLC.
-# All Rights Reserved.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License"); you may
-#    not use this file except in compliance with the License. You may obtain
-#    a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-#    License for the specific language governing permissions and limitations
-#    under the License.
-
-# See http://code.google.com/p/python-nose/issues/detail?id=373
-# The code below enables nosetests to work with i18n _() blocks
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
-
-import __builtin__
-import unittest
-setattr(__builtin__, '_', lambda x: x)
-
-
-class BaseTest(unittest.TestCase):
-
-    def setUp(self):
-        pass
-
-
-def setUp():
-    pass
diff --git a/common/lib/quantum/__init__.py b/common/lib/quantum/__init__.py
deleted file mode 100644 (file)
index d407605..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/common/lib/quantum/run_tests.py b/common/lib/quantum/run_tests.py
deleted file mode 100644 (file)
index 7043196..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env python
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2010 OpenStack, LLC
-# All Rights Reserved.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License");
-#    you may not use this file except in compliance with the License.
-#    You may obtain a copy of the License at
-#
-#        http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-
-
-"""Unittest runner for quantum
-
-To run all test::
-    python run_tests.py
-
-To run all unit tests::
-    python run_tests.py unit
-
-To run all functional tests::
-    python run_tests.py functional
-
-To run a single unit test::
-    python run_tests.py unit.test_stores:TestSwiftBackend.test_get
-
-To run a single functional test::
-    python run_tests.py functional.test_service:TestController.test_create
-
-To run a single unit test module::
-    python run_tests.py unit.test_stores
-
-To run a single functional test module::
-    python run_tests.py functional.test_stores
-"""
-
-import gettext
-import os
-import unittest
-import sys
-
-from quantum.common.test_lib import run_tests
-from nose import config
-from nose import core
-
-import quantum.tests.unit
-
-
-def main():
-    c = config.Config(stream=sys.stdout,
-                      env=os.environ,
-                      verbosity=3,
-                      includeExe=True,
-                      traverseNamespace=True,
-                      plugins=core.DefaultPluginManager())
-    c.configureWhere(quantum.tests.unit.__path__)
-    sys.exit(run_tests(c))
-
-if __name__ == "__main__":
-    main()
diff --git a/etc/plugins.ini b/etc/plugins.ini
new file mode 100644 (file)
index 0000000..49c6602
--- /dev/null
@@ -0,0 +1,3 @@
+[PLUGIN]
+# Quantum plugin provider module
+provider = quantum.plugins.sample.SamplePlugin.FakePlugin
similarity index 100%
rename from server/etc/quantum.conf
rename to etc/quantum.conf
diff --git a/plugins/cisco-plugin/MANIFEST.in b/plugins/cisco-plugin/MANIFEST.in
deleted file mode 100644 (file)
index 8f08290..0000000
+++ /dev/null
@@ -1 +0,0 @@
-include etc/*
diff --git a/plugins/cisco-plugin/lib/quantum/__init__.py b/plugins/cisco-plugin/lib/quantum/__init__.py
deleted file mode 100644 (file)
index d407605..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/plugins/cisco-plugin/lib/quantum/plugins/__init__.py b/plugins/cisco-plugin/lib/quantum/plugins/__init__.py
deleted file mode 100644 (file)
index d407605..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/__init__.py b/plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/__init__.py
deleted file mode 100644 (file)
index 383dfaa..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-#
-# Copyright 2011 Cisco Systems, Inc.  All rights reserved.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License"); you may
-#    not use this file except in compliance with the License. You may obtain
-#    a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-#    License for the specific language governing permissions and limitations
-#    under the License.
-#
-# @author: Sumit Naiksatam, Cisco Systems, Inc.
-#
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/plugins/openvswitch-plugin/MANIFEST.in b/plugins/openvswitch-plugin/MANIFEST.in
deleted file mode 100644 (file)
index 8f08290..0000000
+++ /dev/null
@@ -1 +0,0 @@
-include etc/*
diff --git a/plugins/openvswitch-plugin/lib/quantum/__init__.py b/plugins/openvswitch-plugin/lib/quantum/__init__.py
deleted file mode 100644 (file)
index d407605..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/plugins/openvswitch-plugin/lib/quantum/plugins/__init__.py b/plugins/openvswitch-plugin/lib/quantum/plugins/__init__.py
deleted file mode 100644 (file)
index d407605..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/tests/__init__.py b/plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/tests/__init__.py
deleted file mode 100644 (file)
index d407605..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/tests/unit/__init__.py b/plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/tests/unit/__init__.py
deleted file mode 100644 (file)
index d407605..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/plugins/sample-plugin/lib/quantum/__init__.py b/plugins/sample-plugin/lib/quantum/__init__.py
deleted file mode 100644 (file)
index d407605..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/plugins/sample-plugin/lib/quantum/plugins/__init__.py b/plugins/sample-plugin/lib/quantum/plugins/__init__.py
deleted file mode 100644 (file)
index d407605..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/plugins/sample-plugin/setup.py b/plugins/sample-plugin/setup.py
deleted file mode 100644 (file)
index 2ed20c5..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-try:
-    from setuptools import setup, find_packages
-except ImportError:
-    from ez_setup import use_setuptools
-    use_setuptools()
-    from setuptools import setup, find_packages
-
-Name = 'quantum-sample-plugin'
-ProjecUrl = "https://launchpad.net/quantum"
-Version = '2012.1dev'
-License = 'Apache License 2.0'
-# Change as required
-Author = 'Netstack'
-AuthorEmail = 'netstack@lists.launchpad.net'
-Maintainer = ''
-Summary = 'Sample functionalities for Quantum'
-ShortDescription = Summary
-Description = Summary
-
-requires = [
-    'quantum-common',
-    'quantum-server',
-]
-
-EagerResources = [
-    'quantum',
-]
-
-ProjectScripts = [
-]
-
-PackageData = {
-}
-
-DataFiles = [
-]
-
-setup(
-    name=Name,
-    version=Version,
-    author=Author,
-    author_email=AuthorEmail,
-    description=ShortDescription,
-    long_description=Description,
-    license=License,
-    scripts=ProjectScripts,
-    install_requires=requires,
-    include_package_data=True,
-    packages=find_packages('lib'),
-    package_data=PackageData,
-    data_files=DataFiles,
-    package_dir={'': 'lib'},
-    eager_resources=EagerResources,
-    namespace_packages=['quantum'],
-)
similarity index 100%
rename from common/README
rename to quantum/README
similarity index 100%
rename from client/lib/__init__.py
rename to quantum/__init__.py
similarity index 99%
rename from client/lib/quantum/cli.py
rename to quantum/client/cli.py
index 8509d1ae51fdb222ac930f922d62a05c6004eb2f..bc06771787401607cc71b6356553b457b33c365b 100755 (executable)
@@ -36,7 +36,7 @@ if os.path.exists(os.path.join(possible_topdir, 'quantum', '__init__.py')):
 
 gettext.install('quantum', unicode=1)
 
-from quantum import cli_lib
+from quantum.client import cli_lib
 from quantum.client import Client
 
 #Configure logger for client - cli logger is a child of it
similarity index 99%
rename from client/lib/quantum/cli_lib.py
rename to quantum/client/cli_lib.py
index dcdf908814784e47788a9ea7a16e760e53c69676..d7d87748faba9afda6b0436782f02486ceacd352 100755 (executable)
@@ -26,7 +26,7 @@ import os
 import sys
 
 FORMAT = "json"
-LOG = logging.getLogger('quantum.cli_lib')
+LOG = logging.getLogger('quantum.client.cli_lib')
 
 
 class OutputTemplate(object):
similarity index 99%
rename from common/lib/quantum/common/test_lib.py
rename to quantum/common/test_lib.py
index d31c885c376d609b35e03468cd155bd52230a21d..ad08a5998cc2f8f0f69880430038c1e3e461a2f1 100644 (file)
@@ -283,5 +283,5 @@ def run_tests(c=None):
 # and override the values in it if needed (e.g., run_tests.py in
 # quantum/plugins/openvswitch/ )
 test_config = {
-    "plugin_name": "quantum.plugins.SamplePlugin.FakePlugin",
+    "plugin_name": "quantum.plugins.sample.SamplePlugin.FakePlugin",
 }
similarity index 99%
rename from plugins/cisco-plugin/lib/quantum/plugins/cisco/client/cli.py
rename to quantum/plugins/cisco/client/cli.py
index 5517eb83b6f47fcd8200992f751727b9d43a3fe1..0c0b9dbb3e934cca4f6202f7e5e43e5d0d4b9193 100644 (file)
@@ -36,8 +36,7 @@ import subprocess
 
 from optparse import OptionParser
 
-from tools import source_environment
-import quantum.cli as qcli
+import quantum.client.cli as qcli
 
 POSSIBLE_TOPDIR = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
                                    os.pardir,
similarity index 97%
rename from plugins/cisco-plugin/lib/quantum/plugins/cisco/run_tests.py
rename to quantum/plugins/cisco/run_tests.py
index 37651ce4d102ad70f1edebaa131bf3aa48ccbec9..b032e1cab5ca77e4dc93ef3788255ea27e8af859 100644 (file)
@@ -32,7 +32,6 @@ from nose import core
 
 sys.path.append(os.getcwd())
 
-import tools.source_environment
 from quantum.common.test_lib import run_tests
 
 import quantum.plugins.cisco.tests.unit
similarity index 85%
rename from plugins/cisco-plugin/lib/quantum/plugins/cisco/tests/unit/__init__.py
rename to quantum/plugins/cisco/tests/unit/__init__.py
index 726786924dae91b338d06c38fafd1925d489d7cf..50375f40542259ff5d81dcc8dba63b46428e3e5a 100644 (file)
 
 # See http://code.google.com/p/python-nose/issues/detail?id=373
 # The code below enables nosetests to work with i18n _() blocks
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
 
 import __builtin__
 import unittest
similarity index 98%
rename from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/ovs_quantum_plugin.py
rename to quantum/plugins/openvswitch/ovs_quantum_plugin.py
index c164c258f94277581bcde1de689df2d4d0f30003..d823d9ef3dbe435cae475959df33110e4e5264d9 100644 (file)
@@ -30,7 +30,9 @@ from quantum.quantum_plugin_base import QuantumPluginBase
 import quantum.db.api as db
 import ovs_db
 
-CONF_FILE = find_config_file({}, None, "ovs_quantum_plugin.ini")
+CONF_FILE = find_config_file(
+  {"config_file": "etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini"},
+  None, "ovs_quantum_plugin.ini")
 
 LOG.basicConfig(level=LOG.WARN)
 LOG.getLogger("ovs_quantum_plugin")
similarity index 69%
rename from plugins/openvswitch-plugin/lib/quantum/plugins/openvswitch/run_tests.py
rename to quantum/plugins/openvswitch/run_tests.py
index 03906d8539e3ada7a870c666d1cdf5b21aba2ed4..0377dd8943dface31d455aa60e6a07510d69a231 100644 (file)
 
 This file should be run from the top dir in the quantum directory
 
-To run all test::
-    python quantum/plugins/openvswitch/run_tests.py
-
-To run all unit tests::
-    python quantum/plugins/openvswitch/run_tests.py unit
-
-To run all functional tests::
-    python quantum/plugins/openvswitch/run_tests.py functional
-
-To run a single unit test::
-    python  quantum/plugins/openvswitch/run_tests.py \
-        unit.test_stores:TestSwiftBackend.test_get
-
-To run a single functional test::
-    python  quantum/plugins/openvswitch/run_tests.py \
-        functional.test_service:TestController.test_create
-
-To run a single unit test module::
-    python  quantum/plugins/openvswitch/run_tests.py unit.test_stores
-
-To run a single functional test module::
-    python quantum/plugins/openvswitch/run_tests.py functional.test_stores
+To run all tests::
+    PLUGIN_DIR=quantum/plugins/openvswitch ./run_tests.sh
 """
 
 import gettext
@@ -57,7 +37,6 @@ from nose import core
 sys.path.append(os.getcwd())
 sys.path.append(os.path.dirname(__file__))
 
-import tools.source_nonplugin_environment
 import quantum.tests.unit
 
 from quantum.common.test_lib import run_tests, test_config
@@ -87,8 +66,7 @@ if __name__ == '__main__':
 
     os.chdir(cwd)
 
-    working_dir = os.path.abspath("plugins/openvswitch-plugin/" +
-            "lib/quantum/plugins/openvswitch")
+    working_dir = os.path.abspath("quantum/plugins/openvswitch")
     c = config.Config(stream=sys.stdout,
                       env=os.environ,
                       verbosity=3,
similarity index 99%
rename from plugins/sample-plugin/lib/quantum/plugins/SamplePlugin.py
rename to quantum/plugins/sample/SamplePlugin.py
index 156347259f124b382ab3bbfa9e5c22a89b0b7834..2f5626609d33c5a283bdc3b71ee34d7fc8d96383 100644 (file)
@@ -21,7 +21,7 @@ import logging
 from quantum.common import exceptions as exc
 from quantum.db import api as db
 
-LOG = logging.getLogger('quantum.plugins.SamplePlugin')
+LOG = logging.getLogger('quantum.plugins.sample.SamplePlugin')
 
 
 class QuantumEchoPlugin(object):
similarity index 85%
rename from server/lib/quantum/tests/unit/__init__.py
rename to quantum/tests/unit/__init__.py
index 726786924dae91b338d06c38fafd1925d489d7cf..50375f40542259ff5d81dcc8dba63b46428e3e5a 100644 (file)
 
 # See http://code.google.com/p/python-nose/issues/detail?id=373
 # The code below enables nosetests to work with i18n _() blocks
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
 
 import __builtin__
 import unittest
similarity index 94%
rename from server/lib/quantum/tests/unit/client_tools/stubs.py
rename to quantum/tests/unit/client_tools/stubs.py
index 99f1410d69e6a5cdbef76ec17fa3b367f6290c0e..34412f53e5a2af2aea6cfd99e22f8e5c9bb0f379 100644 (file)
@@ -40,8 +40,8 @@ class FakeHTTPConnection:
     def __init__(self, _1, _2):
         # Ignore host and port parameters
         self._req = None
-        options = \
-            dict(plugin_provider='quantum.plugins.SamplePlugin.FakePlugin')
+        plugin = 'quantum.plugins.sample.SamplePlugin.FakePlugin'
+        options = dict(plugin_provider=plugin)
         self._api = server.APIRouterV1(options)
 
     def request(self, method, action, body, headers):
similarity index 99%
rename from server/lib/quantum/tests/unit/test_cli.py
rename to quantum/tests/unit/test_cli.py
index 6638f062035e9146605b475781d420d0c75021cb..37079f8bfa04e26e70e1c663133b2a47332488c8 100644 (file)
@@ -27,7 +27,7 @@ import sys
 import unittest
 
 from quantum import api as server
-from quantum import cli_lib as cli
+from quantum.client import cli_lib as cli
 from quantum.client import Client
 from quantum.db import api as db
 from quantum.tests.unit.client_tools import stubs as client_stubs
@@ -41,7 +41,8 @@ class CLITest(unittest.TestCase):
     def setUp(self):
         """Prepare the test environment"""
         options = {}
-        options['plugin_provider'] = 'quantum.plugins.SamplePlugin.FakePlugin'
+        options['plugin_provider'] = \
+          'quantum.plugins.sample.SamplePlugin.FakePlugin'
         self.api = server.APIRouterV1(options)
 
         self.tenant_id = "test_tenant"
similarity index 99%
rename from server/lib/quantum/tests/unit/test_extensions.py
rename to quantum/tests/unit/test_extensions.py
index 0b279f2fc21f30a8005432c098b670c19b6756a7..532409ed04da519749cfde1d18a093fa4bf51703 100644 (file)
@@ -25,7 +25,9 @@ from webtest import TestApp
 from quantum import wsgi
 from quantum.common import config
 from quantum.common import extensions
-from quantum.plugins.SamplePlugin import QuantumEchoPlugin
+import sys
+print sys.path
+from quantum.plugins.sample.SamplePlugin import QuantumEchoPlugin
 from quantum.tests.unit.extension_stubs import (StubExtension, StubPlugin,
                                         StubPluginInterface,
                                         StubBaseAppController,
similarity index 100%
rename from server/lib/quantum/wsgi.py
rename to quantum/wsgi.py
old mode 100755 (executable)
new mode 100644 (file)
index 085e565..7043196
@@ -1,5 +1,67 @@
 #!/usr/bin/env python
-import tools.source_environment
-from quantum.run_tests import main as tests
+# vim: tabstop=4 shiftwidth=4 softtabstop=4
 
-tests()
+# Copyright 2010 OpenStack, LLC
+# All Rights Reserved.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#        http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+
+"""Unittest runner for quantum
+
+To run all test::
+    python run_tests.py
+
+To run all unit tests::
+    python run_tests.py unit
+
+To run all functional tests::
+    python run_tests.py functional
+
+To run a single unit test::
+    python run_tests.py unit.test_stores:TestSwiftBackend.test_get
+
+To run a single functional test::
+    python run_tests.py functional.test_service:TestController.test_create
+
+To run a single unit test module::
+    python run_tests.py unit.test_stores
+
+To run a single functional test module::
+    python run_tests.py functional.test_stores
+"""
+
+import gettext
+import os
+import unittest
+import sys
+
+from quantum.common.test_lib import run_tests
+from nose import config
+from nose import core
+
+import quantum.tests.unit
+
+
+def main():
+    c = config.Config(stream=sys.stdout,
+                      env=os.environ,
+                      verbosity=3,
+                      includeExe=True,
+                      traverseNamespace=True,
+                      plugins=core.DefaultPluginManager())
+    c.configureWhere(quantum.tests.unit.__path__)
+    sys.exit(run_tests(c))
+
+if __name__ == "__main__":
+    main()
index ef3e3db9056f0ff7030b9adce28696b0fed0b47b..365cde61aa33726facf45ac676ed5b062c4d2645 100755 (executable)
@@ -119,7 +119,7 @@ fi
 #
 PEP8_EXCLUDE="vcsversion.py,*.pyc"
 PEP8_OPTIONS="--exclude=$PEP8_EXCLUDE --repeat --show-source"
-PEP8_INCLUDE="bin/* quantum server client common plugins tools run_tests.py setup.py"
+PEP8_INCLUDE="bin/* quantum tools run_tests.py setup.py"
 RV=0
 run_tests && pep8 $PEP8_OPTIONS $PEP8_INCLUDE || RV=1
 
diff --git a/server/MANIFEST.in b/server/MANIFEST.in
deleted file mode 100644 (file)
index a42c1a7..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-include etc/*
-include etc/init.d/*
diff --git a/server/etc/plugins.ini b/server/etc/plugins.ini
deleted file mode 100644 (file)
index 307d2b4..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-[PLUGIN]
-# Quantum plugin provider module
-provider = quantum.plugins.SamplePlugin.FakePlugin
diff --git a/server/lib/quantum/__init__.py b/server/lib/quantum/__init__.py
deleted file mode 100644 (file)
index 5846cd9..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-# Copyright 2011 Nicira Networks, Inc.
-# All Rights Reserved.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License"); you may
-#    not use this file except in compliance with the License. You may obtain
-#    a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-#    License for the specific language governing permissions and limitations
-#    under the License.
-# @author: Somik Behera, Nicira Networks, Inc.
-try:
-    __import__('pkg_resources').declare_namespace(__name__)
-except ImportError:
-    from pkgutil import extend_path
-    __path__ = extend_path(__path__, __name__)
diff --git a/server/lib/quantum/tests/__init__.py b/server/lib/quantum/tests/__init__.py
deleted file mode 100644 (file)
index 9578283..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2011 OpenStack LLC.
-# All Rights Reserved.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License"); you may
-#    not use this file except in compliance with the License. You may obtain
-#    a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-#    License for the specific language governing permissions and limitations
-#    under the License.
-
-import logging
-logging.basicConfig()
index cdb14e4abcb3a5b75819ddcd9a927fa6c4ffb05b..78334102f8f831bbfae6ed48c39fe0f499e5e23f 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -9,8 +9,7 @@ from tools import install_venv
 ROOT = path.abspath(path.dirname(__file__))
 CONFIG_PATH = path.abspath('/etc/quantum')
 BASE_PACKAGES = ['common', 'server', 'client']
-PLUGINS = ['plugins/sample-plugin', 'plugins/cisco-plugin',
-           'plugins/openvswitch-plugin']
+PLUGINS = ['sample_plugin', 'openvswitch_plugin', 'cisco_plugin']
 
 RELATIVE = False
 
similarity index 75%
rename from plugins/cisco-plugin/setup.py
rename to setup_cisco_plugin.py
index 8b47f6378ea28ce44b8855d27bdd979081f5261b..e9d26a3adfcf8450250a45b68b998deec7117102 100644 (file)
@@ -6,12 +6,12 @@ except ImportError:
     from setuptools import setup, find_packages
 
 import sys
+import version
 
 Name = 'quantum-cisco-plugin'
 ProjecUrl = ""
-Version = '0.1'
+Version = version.get_git_version()
 License = 'Apache License 2.0'
-# Change as required
 Author = 'Cisco Systems'
 AuthorEmail = ''
 Maintainer = ''
@@ -43,8 +43,12 @@ if [x for x in relative_locations if x in sys.argv]:
 
 DataFiles = [
     (config_path,
-    ['etc/credentials.ini', 'etc/l2network_plugin.ini', 'etc/nexus.ini',
-    'etc/ucs.ini', 'etc/cisco_plugins.ini', 'etc/db_conn.ini'])
+    ['etc/quantum/plugins/cisco/credentials.ini',
+      'etc/quantum/plugins/cisco/l2network_plugin.ini',
+      'etc/quantum/plugins/cisco/nexus.ini',
+      'etc/quantum/plugins/cisco/ucs.ini',
+      'etc/quantum/plugins/cisco/cisco_plugins.ini',
+      'etc/quantum/plugins/cisco/db_conn.ini'])
 ]
 
 setup(
@@ -58,15 +62,8 @@ setup(
     scripts=ProjectScripts,
     install_requires=requires,
     include_package_data=True,
-    packages=find_packages('lib'),
+    packages=["quantum.plugins.cisco"],
     package_data=PackageData,
     data_files=DataFiles,
-    package_dir={'': 'lib'},
     eager_resources=EagerResources,
-    namespace_packages=['quantum'],
-    entry_points={
-        'console_scripts': [
-            'quantum-cisco-tests = quantum.plugins.cisco.run_tests:main'
-        ]
-    },
 )
similarity index 85%
rename from client/setup.py
rename to setup_client.py
index 127bd8a50808a27d2b88e7307b5773f0850936d5..43591e2036be7c2e922707e5384b45ef175961a6 100644 (file)
@@ -5,11 +5,12 @@ except ImportError:
     use_setuptools()
     from setuptools import setup, find_packages
 
+import version
+
 Name = 'quantum-client'
 Url = "https://launchpad.net/quantum"
-Version = '2012.1dev'
+Version = version.get_git_version()
 License = 'Apache License 2.0'
-# Change as required
 Author = 'Netstack'
 AuthorEmail = 'netstack@lists.launchpad.net'
 Maintainer = ''
@@ -43,12 +44,10 @@ setup(
     license=License,
     scripts=ProjectScripts,
     install_requires=requires,
-    include_package_data=True,
-    packages=find_packages('lib'),
+    include_package_data=False,
+    packages=["quantum.client"],
     package_data=PackageData,
-    package_dir={'': 'lib'},
     eager_resources=EagerResources,
-    namespace_packages=['quantum'],
     entry_points={
         'console_scripts': [
             'quantum = quantum.cli:main'
similarity index 73%
rename from common/setup.py
rename to setup_common.py
index 37a4cecf1ad7c6ab4ccb2740dc70e8d7a371c489..3f39b374467fcc8594efbfc863abdc2458390758 100644 (file)
@@ -5,11 +5,12 @@ except ImportError:
     use_setuptools()
     from setuptools import setup, find_packages
 
+import version
+
 Name = 'quantum-common'
 Url = "https://launchpad.net/quantum"
-Version = '2012.1dev'
+Version = version.get_git_version()
 License = 'Apache License 2.0'
-# Change as required
 Author = 'Netstack'
 AuthorEmail = 'netstack@lists.launchpad.net'
 Maintainer = ''
@@ -41,6 +42,11 @@ ProjectScripts = [
 PackageData = {
 }
 
+exclude = ['quantum.client', 'quantum.client.*', 'quantum.server',
+    'quantum.server.*', 'quantum.tests', 'quantum.tests.*',
+    'quantum.plugins.*']
+pkgs = find_packages('.', exclude=exclude)
+pkgs = filter(lambda x: x.startswith("quantum"), pkgs)
 
 setup(
     name=Name,
@@ -53,15 +59,9 @@ setup(
     license=License,
     scripts=ProjectScripts,
     install_requires=requires,
-    include_package_data=True,
-    packages=find_packages('lib'),
+    include_package_data=False,
+    packages=pkgs,
     package_data=PackageData,
-    package_dir={'': 'lib'},
     eager_resources=EagerResources,
-    namespace_packages=['quantum'],
-    entry_points={
-        'console_scripts': [
-            'quantum-tests = quantum.run_tests:main'
-        ]
-    },
+    entry_points={},
 )
similarity index 88%
rename from plugins/openvswitch-plugin/setup.py
rename to setup_openvswitch_plugin.py
index b52b3f48609af384491c2ee31c6a264a91f7a113..bdaeb0ce15e389048e6d5de5ac02616e4b2f8543 100644 (file)
@@ -5,13 +5,14 @@ except ImportError:
     use_setuptools()
     from setuptools import setup, find_packages
 
+import version
+
 import sys
 
 Name = 'quantum-openvswitch-plugin'
 ProjecUrl = ""
-Version = '0.1'
+Version = version.get_git_version()
 License = 'Apache License 2.0'
-# Change as required
 Author = 'Open vSwitch Team'
 AuthorEmail = 'discuss@openvswitch.org'
 Maintainer = ''
@@ -43,7 +44,7 @@ if [x for x in relative_locations if x in sys.argv]:
 
 DataFiles = [
     (config_path,
-    ['etc/ovs_quantum_plugin.ini'])
+    ['etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini'])
 ]
 
 setup(
@@ -57,10 +58,8 @@ setup(
     scripts=ProjectScripts,
     install_requires=requires,
     include_package_data=True,
-    packages=find_packages('lib'),
+    packages=["quantum.plugins.openvswitch"],
     package_data=PackageData,
     data_files=DataFiles,
-    package_dir={'': 'lib'},
     eager_resources=EagerResources,
-    namespace_packages=['quantum'],
 )
similarity index 77%
rename from quantum/setup.py
rename to setup_sample_plugin.py
index c6e7f027b87473c4dcfce9dbb08be922addd3739..e3e345eb993b1f66a66a2ed2a6a107793faa0a6d 100644 (file)
@@ -5,21 +5,23 @@ except ImportError:
     use_setuptools()
     from setuptools import setup, find_packages
 
-Name = 'quantum'
+import version
+import sys
+
+Name = 'quantum-sample-plugin'
+Summary = 'Sample plugin for Quantum'
 Url = "https://launchpad.net/quantum"
-Version = '2012.1dev'
+Version = version.get_git_version()
 License = 'Apache License 2.0'
 Author = 'Netstack'
 AuthorEmail = 'netstack@lists.launchpad.net'
 Maintainer = ''
-Summary = 'Layer 2 network as a service for Openstack'
 ShortDescription = Summary
 Description = Summary
 
 requires = [
     'quantum-common',
-    'quantum-client',
-    'quantum-server'
+    'quantum-server',
 ]
 
 EagerResources = [
@@ -32,11 +34,9 @@ ProjectScripts = [
 PackageData = {
 }
 
-
 setup(
     name=Name,
     version=Version,
-    url=Url,
     author=Author,
     author_email=AuthorEmail,
     description=ShortDescription,
@@ -45,5 +45,7 @@ setup(
     scripts=ProjectScripts,
     install_requires=requires,
     include_package_data=True,
+    packages=["quantum.plugins.sample"],
     package_data=PackageData,
+    eager_resources=EagerResources,
 )
similarity index 69%
rename from server/setup.py
rename to setup_server.py
index c6eeb1733db504810180a1587a3ba96dbeaf4c02..c23e5c424bfafb60d94ff1869eaef3bd23b80e73 100644 (file)
@@ -7,10 +7,11 @@ except ImportError:
 
 import os
 import sys
+import version
 
 Name = 'quantum-server'
 Url = "https://launchpad.net/quantum"
-Version = '2012.1dev'
+Version = version.get_git_version()
 License = 'Apache License 2.0'
 Author = 'Netstatck'
 AuthorEmail = 'netstack@lists.launchpad.net'
@@ -35,7 +36,7 @@ PackageData = {
 
 # If we're installing server-wide, use an aboslute path for config
 # if not, use a relative path
-config_path = '/etc/quantum/'
+config_path = '/etc/quantum'
 init_path = '/etc/init.d'
 
 relative_locations = ['--user', '--virtualenv', '--venv']
@@ -43,6 +44,22 @@ if [x for x in relative_locations if x in sys.argv]:
     config_path = 'etc/quantum/'
     init_path = 'etc/init.d'
 
+import os
+from distutils.command.build_py import build_py as _build_py
+
+class build_py(_build_py):
+    def find_data_files(self, package, src_dir):
+        files = []
+        for p in _build_py.find_data_files(self, package, src_dir):
+            if os.path.isdir(p):
+                files.extend(os.path.join(par,f)
+                             for par,dirs,files in os.walk(p) 
+                             for f in files)
+            else:
+                files.append(p)
+        return files
+
+print "config_path: %s" % config_path
 DataFiles = [
     (config_path,
     ['etc/quantum.conf', 'etc/quantum.conf.sample',
@@ -62,12 +79,11 @@ setup(
     scripts=ProjectScripts,
     install_requires=requires,
     include_package_data=True,
-    packages=find_packages('lib'),
+    packages=["quantum.server"],
     package_data=PackageData,
     data_files=DataFiles,
-    package_dir={'': 'lib'},
+    package_dir={'quantum': 'quantum'},
     eager_resources=EagerResources,
-    namespace_packages=['quantum'],
     entry_points={
         'console_scripts': [
             'quantum-server = quantum.server:main'
index 557876349a57baeefdc900ab55c960f0876c8cf1..2a7e563e42e341b58dca4e5362f8b8433c2aa0d8 100755 (executable)
@@ -13,15 +13,10 @@ if [ `id -u` != 0 ]; then
        fi
 fi
 
-ls $@/dist/*.rpm >/dev/null 2>&1
+ls dist/*.rpm >/dev/null 2>&1
 if [ $? -ne 0 ]; then
        echo "You must build rpms before building debian packages"
        exit 1
 fi
 
-cd $@
-if [ $? -ne 0 ]; then
-       echo "Directory $@ doesn't exist -- what do you want me to build?"
-       exit 1
-fi
 $FAKEROOT $ALIEN -c -v -d dist/*.noarch.rpm
index 7ae6ef7a2e4a1a6aa89b10295be4509f55552db2..9775db0deb713e2ec8a0a4b3ed526e8589b566a4 100755 (executable)
@@ -1,2 +1,2 @@
 #!/bin/bash
-cd $@ && python setup.py bdist_rpm
+python setup_$@.py bdist_rpm
diff --git a/tools/source_environment.py b/tools/source_environment.py
deleted file mode 100644 (file)
index 960225c..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2011 Cisco Systems
-# All Rights Reserved.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License"); you may
-#    not use this file except in compliance with the License. You may obtain
-#    a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-#    License for the specific language governing permissions and limitations
-#    under the License.
-#    @author: Tyler Smith, Cisco Systems
-import os
-import sys
-
-# To run from the source code, we need to add the various packages
-# to our path so we can find all of the modules correctly
-packages = ['common', 'server', 'client']
-plugins = ["plugins/%s" % p for p in
-              os.listdir(os.path.join(os.getcwd(), 'plugins'))]
-
-for project in packages + plugins:
-    sys.path.insert(0, os.path.join(os.getcwd(), project, 'lib'))
diff --git a/tools/source_nonplugin_environment.py b/tools/source_nonplugin_environment.py
deleted file mode 100644 (file)
index 0891c2f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2011 Cisco Systems
-# All Rights Reserved.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License"); you may
-#    not use this file except in compliance with the License. You may obtain
-#    a copy of the License at
-#
-#         http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-#    License for the specific language governing permissions and limitations
-#    under the License.
-#    @author: Tyler Smith, Cisco Systems
-import os
-import sys
-
-# To run from the source code, we need to add the various packages
-# to our path so we can find all of the modules correctly
-packages = ['common', 'server', 'client']
-
-for project in packages + ["plugins/sample-plugin"]:
-    sys.path.insert(0, os.path.join(os.getcwd(), project, 'lib'))
diff --git a/version.py b/version.py
new file mode 100644 (file)
index 0000000..46bf34a
--- /dev/null
@@ -0,0 +1,104 @@
+# -*- coding: utf-8 -*-
+# Author: Douglas Creager <dcreager@dcreager.net>
+# This file is placed into the public domain.
+
+# Calculates the current version number.  If possible, this is the
+# output of “git describe”, modified to conform to the versioning
+# scheme that setuptools uses.  If “git describe” returns an error
+# (most likely because we're in an unpacked copy of a release tarball,
+# rather than in a git working copy), then we fall back on reading the
+# contents of the RELEASE-VERSION file.
+#
+# To use this script, simply import it your setup.py file, and use the
+# results of get_git_version() as your package version:
+#
+# from version import *
+#
+# setup(
+#     version=get_git_version(),
+#     .
+#     .
+#     .
+# )
+#
+# This will automatically update the RELEASE-VERSION file, if
+# necessary.  Note that the RELEASE-VERSION file should *not* be
+# checked into git; please add it to your top-level .gitignore file.
+#
+# You'll probably want to distribute the RELEASE-VERSION file in your
+# sdist tarballs; to do this, just create a MANIFEST.in file that
+# contains the following line:
+#
+#   include RELEASE-VERSION
+
+__all__ = ("get_git_version")
+
+from subprocess import Popen, PIPE
+
+FALLBACK_VERSION="2012.1dev"
+
+def call_git_describe(abbrev=4):
+    try:
+        p = Popen(['git', 'describe', '--abbrev=%d' % abbrev],
+                  stdout=PIPE, stderr=PIPE)
+        p.stderr.close()
+        line = p.stdout.readlines()[0]
+        return line.strip()
+    except:
+        return FALLBACK_VERSION
+
+
+def read_release_version():
+    try:
+        f = open("RELEASE-VERSION", "r")
+
+        try:
+            version = f.readlines()[0]
+            return version.strip()
+
+        finally:
+            f.close()
+
+    except:
+        return None
+
+
+def write_release_version(version):
+    f = open("RELEASE-VERSION", "w")
+    f.write("%s\n" % version)
+    f.close()
+
+
+def get_git_version(abbrev=4):
+    # Read in the version that's currently in RELEASE-VERSION.
+
+    release_version = read_release_version()
+
+    # First try to get the current version using “git describe”.
+
+    version = call_git_describe(abbrev)
+
+    # If that doesn't work, fall back on the value that's in
+    # RELEASE-VERSION.
+
+    if version is None:
+        version = release_version
+
+    # If we still don't have anything, that's an error.
+
+    if version is None:
+        raise ValueError("Cannot find the version number!")
+
+    # If the current version is different from what's in the
+    # RELEASE-VERSION file, update the file to be current.
+
+    if version != release_version:
+        write_release_version(version)
+
+    # Finally, return the current version.
+
+    return version
+
+
+if __name__ == "__main__":
+    print get_git_version()