181 lines
6.7 KiB
Python
Raw Normal View History

# Copyright 2011 OpenStack, LLC
#
# 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 setuptools
import sys
from quantum.openstack.common import setup
requires = setup.parse_requirements()
depend_links = setup.parse_dependency_links()
if sys.platform == 'win32':
requires.append('pywin32')
requires.append('wmi')
requires.remove('pyudev')
Name = 'quantum'
Url = "https://launchpad.net/quantum"
Version = setup.get_version(Name, '2013.1')
License = 'Apache License 2.0'
Author = 'Netstack'
AuthorEmail = 'netstack@lists.launchpad.net'
Maintainer = ''
Summary = 'Quantum (virtual network service)'
ShortDescription = Summary
Description = Summary
EagerResources = [
'quantum',
]
config_path = 'etc/quantum/'
init_path = 'etc/init.d'
rootwrap_path = 'etc/quantum/rootwrap.d'
ovs_plugin_config_path = 'etc/quantum/plugins/openvswitch'
bigswitch_plugin_config_path = 'etc/quantum/plugins/bigswitch'
brocade_plugin_config_path = 'etc/quantum/plugins/brocade'
cisco_plugin_config_path = 'etc/quantum/plugins/cisco'
blueprint quantum-linux-bridge-plugin Squashed commit of the following: commit 6c4995736a56349923d34353031eb301780fc6d2 Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Sat Jan 21 22:31:09 2012 -0800 Some more explanation in the README. Changing defaults in the conf file. commit 924b118468d7bd21737e9e2cf468ff83d0a20764 Author: Shweta <shpadubi@cisco.com> Date: Sat Jan 21 20:58:39 2012 -0500 Adding Unit Tests for LinuxBridge Agent commit 12115650257483172c5e2bc889634dbdf3596d27 Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Sat Jan 21 05:21:24 2012 -0800 Adding sqlite requirement Changing default mysql port number Fixing log statement commit 0ad1400e5dfc445b94e9024d92321eb3cd0588a5 Merge: 1b7ba8f 9c5c2ca Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Sat Jan 21 05:12:44 2012 -0800 Merge remote branch 'upstream/master' into snaiksat/linux-bridge-plugin commit 1b7ba8f7e7b6657734b669194ddfdcfcbfc833be Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Sat Jan 21 04:04:50 2012 -0800 Fixes to get the tests to run correctly. Also incorporated changes to be able to run both sqlite and mysql DBs. commit 4cead17576c293319dfdfd363dd18e81ba196b3b Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Fri Jan 20 15:32:35 2012 -0800 Fixed inccorect calls to the DB commit c4f325729fbd06ee3f5d3520da4d23b2cd8c353b Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Fri Jan 20 12:18:18 2012 -0800 Removing the specialized db modules (which used InnoDB engine) and instead using the Quantum DB now. Incorporated changes to setup so that the Linux Bridge plugin can be installed. Other changes to README and tests. commit b9498939d723e353808cface87f4453e33e94b41 Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Mon Jan 16 20:00:14 2012 -0800 Adding unit tests commit a0ab990fdcbf67a950d08c6b5b6d20ceb850619a Merge: 60e38cc f268b5e Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Mon Jan 16 18:02:55 2012 -0800 Merge remote branch 'upstream/master' into snaiksat/linux-bridge-plugin commit 60e38cc44886b5c8c9e47d89d8912d1dee23fbd1 Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Mon Jan 16 13:44:37 2012 -0800 This contains a fix for the earlier reported issue with the DHCP failing. The gateway IP address is now applied both to the bridge, and the gateway interface. commit ffea86a3465b8a5ed93b13f818e0afaefa6787ee Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Sun Jan 15 20:00:38 2012 -0800 Fixing an issue in the agent, sometimes the bridges for deleted networks were not getting cleaned up commit 87f76fc34f1c70cd82576b8698d704853c892422 Merge: c8b097a 60d171e Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Sun Jan 15 19:40:33 2012 -0800 Merge remote branch 'upstream/master' into snaiksat/linux-bridge-plugin commit c8b097abc2060b2eae01d84f9fed2c89851d93fd Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Sun Jan 15 19:37:08 2012 -0800 Simplified the logic for creating the bridge on the nova network host. commit 499dbacd4c5352c5320f3b6e5e8cd7f3629dbcc8 Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Fri Jan 13 16:07:53 2012 -0800 Fix for the DHCP issue, now applying Gateway IP to the bridge Also MAC address from original tap device are applied to bridge and vlan subinterface commit 6b4a2aea59702e2c12eeacc86101df9f6770d5ec Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Sat Jan 7 14:29:00 2012 -0800 Optimizations for processing in the loop commit 01aa47d3572439b193077432c63bf2b85c629edb Merge: 184f5dd 05df087 Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Sun Jan 1 19:04:17 2012 -0800 Changes to incorporate Operational Status Merge remote branch 'origin' into snaiksat/linux-bridge-plugin Conflicts: quantum/db/api.py commit 05df0870191fac0353fe12a33efff68ef7ed0784 Merge: 31d586b 5b23b5e Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Fri Dec 30 12:30:05 2011 -0800 Merge remote branch 'upstream/master' commit 184f5dd8b73bc51025509792c15203ee73cd015e Author: Sumit Naiksatam <snaiksat@cisco.com> Date: Mon Dec 12 02:09:12 2011 -0800 Initial checkin for Linux Bridge L2 plugin. Change-Id: I5b27538be6a768a6f7eb77409197f7d8b4bbc628
2012-01-22 01:35:45 -08:00
linuxbridge_plugin_config_path = 'etc/quantum/plugins/linuxbridge'
nvp_plugin_config_path = 'etc/quantum/plugins/nicira'
plugin: introduce ryu plugin blueprint ovs-driver-extention This patch implements the blueprint ovs-driver-extention https://blueprints.launchpad.net/quantum/+spec/ovs-driver-extension This patch factors out ovs common logic from ovs plugin into ovscommon and adds Ryu NOS plugin. This patch enhances ovs plugin for generic OVS controller support and This patch is to add ofp controller support to OVS. Store ofp controller address in ovs quantum data base. - nova firewall_driver - nova linuxnet_interface_driver There may be ports unmanaged by nova/quantum. Those ports are used to connect vm to outside of physical machine. They needs special care. --- Changes 12 -> 13: - rebased to 543e150d6dc9144ebcc588b7d2bd66374a107730 changed files are only MANIFEST.in, setup.py, tools/pip-requres Changes 11 -> 12: - ryu agent eliminated from quantum.common import exceptions as exc - ryu.db.api eliminated ofp_has_servers - ryu.nova eliminated from quantum.plugins.ryu.nova import ovs_utils and eliminate ovs_utils Chnages 10 -> 11: - rebased to a945d1a30478c644d307c77a8a85f3a08e5a834e - more Maru's review - setup.py: fix setup() argument This isn't directly related to ryu plugin though - improve fake ini file when unit test remove fake ini file after unit tests. use StringIO when no file is required. - LOG: don't use % Chnages 8 -> 9 -> 10: - minor fixes: forgot to commit some hunks Chnages 7 -> 8: - rebased to d6bf2b76162ba806b2ad1f636f6273e47e03a117 - catch up d6bf2b76162ba806b2ad1f636f6273e47e03a117 change introduced bin/quantum_ryu_agent - addressed Maru's review - avoid custom patching, use mock for test and added mox and mock to pip-requires - more pep8 - avoid \ for line continuation - avoid single char variables - db.api: first() -> one() - utilize implicit conversion var is not None -> var - and more... Changes 6 -> 7: - update comment in ryu/run_tests.py - make unit tests pass without ryu installed i.e. PLUGIN_DIR=quantum/plugins/ryu/ ./run_tests.sh works now Chages 5 -> 6: - remove comment Change 4 -> 5: - eliminate relative imports - copyright - doc string - naming (s/CONF_FILE/conf_file/g) - add " check to ryu/nova/ovs_utils - ryu/nova/linux_net: comment - ryu agent: eliminated unused methods - updated ryu/README: add http://www.osrg.net/ryu/using_with_openstack.html - added unit tests Changes 3 -> 4: - reflected Dan's review - on-OVS in ryu.ini - update @author - some naming Changes 2 -> 3: - rebased to 04d144ae0b2ad5618847d1784cea48a08d53a46a - abandoned to share code and duplicated codes from openvswitch plugin for ovs plugin stability. - dropped setup_ryu.sh and added README - update nova driver to catch up upstream change (gflags -> cfg) Changes 1 -> 2: - unbreak openvswtich unit test - MANIFEST.in Changes 3 -> new 1: - rebased to 1eb3c693b5f6f3f301047100c36c7915434f8be7 - factor out common loginc from openvswitch plugin into ovscommon - Introduced a new independent ryu plugin - try new review due to the previous effort was marked abandoned. > https://review.openstack.org/#change,3055 > Change-Id: I17801a7a74d4087838a8a26c1b1f97f28c2dcef3 Changes: - rebased to 9c5c2caef13fa58234987527ab6caff829a37050 - some clean ups Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Change-Id: Ia9fe87525cebccc87b7c18a533f48607272cd97f
2011-11-19 18:17:03 +09:00
ryu_plugin_config_path = 'etc/quantum/plugins/ryu'
meta_plugin_config_path = 'etc/quantum/plugins/metaplugin'
nec_plugin_config_path = 'etc/quantum/plugins/nec'
hyperv_plugin_config_path = 'etc/quantum/plugins/hyperv'
plumgrid_plugin_config_path = 'etc/quantum/plugins/plumgrid'
midonet_plugin_config_path = 'etc/quantum/plugins/midonet'
if sys.platform == 'win32':
# Windows doesn't have an "/etc" directory equivalent
DataFiles = []
ConsoleScripts = [
'quantum-hyperv-agent = '
'quantum.plugins.hyperv.agent.hyperv_quantum_agent:main',
'quantum-server = quantum.server:main',
'quantum-db-manage = quantum.db.migration.cli:main',
]
ProjectScripts = []
else:
DataFiles = [
(config_path,
['etc/quantum.conf',
'etc/rootwrap.conf',
'etc/api-paste.ini',
'etc/policy.json',
'etc/dhcp_agent.ini',
'etc/l3_agent.ini',
'etc/metadata_agent.ini']),
(rootwrap_path,
['etc/quantum/rootwrap.d/dhcp.filters',
'etc/quantum/rootwrap.d/iptables-firewall.filters',
'etc/quantum/rootwrap.d/l3.filters',
'etc/quantum/rootwrap.d/linuxbridge-plugin.filters',
'etc/quantum/rootwrap.d/nec-plugin.filters',
'etc/quantum/rootwrap.d/openvswitch-plugin.filters',
'etc/quantum/rootwrap.d/ryu-plugin.filters']),
(init_path, ['etc/init.d/quantum-server']),
(ovs_plugin_config_path,
['etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini']),
(cisco_plugin_config_path,
['etc/quantum/plugins/cisco/credentials.ini',
'etc/quantum/plugins/cisco/l2network_plugin.ini',
'etc/quantum/plugins/cisco/nexus.ini',
'etc/quantum/plugins/cisco/cisco_plugins.ini',
'etc/quantum/plugins/cisco/db_conn.ini']),
(bigswitch_plugin_config_path,
['etc/quantum/plugins/bigswitch/restproxy.ini']),
(brocade_plugin_config_path,
['etc/quantum/plugins/brocade/brocade.ini']),
(linuxbridge_plugin_config_path,
['etc/quantum/plugins/linuxbridge/linuxbridge_conf.ini']),
(nvp_plugin_config_path,
['etc/quantum/plugins/nicira/nvp.ini']),
(ryu_plugin_config_path, ['etc/quantum/plugins/ryu/ryu.ini']),
(meta_plugin_config_path,
['etc/quantum/plugins/metaplugin/metaplugin.ini']),
(nec_plugin_config_path, ['etc/quantum/plugins/nec/nec.ini']),
(hyperv_plugin_config_path,
['etc/quantum/plugins/hyperv/hyperv_quantum_plugin.ini']),
(plumgrid_plugin_config_path,
['etc/quantum/plugins/plumgrid/plumgrid.ini']),
(midonet_plugin_config_path,
['etc/quantum/plugins/midonet/midonet.ini']),
]
ConsoleScripts = [
'quantum-dhcp-agent = quantum.agent.dhcp_agent:main',
'quantum-dhcp-agent-dnsmasq-lease-update ='
'quantum.agent.linux.dhcp:Dnsmasq.lease_update',
'quantum-netns-cleanup = quantum.agent.netns_cleanup_util:main',
'quantum-l3-agent = quantum.agent.l3_agent:main',
'quantum-linuxbridge-agent ='
'quantum.plugins.linuxbridge.agent.linuxbridge_quantum_agent:main',
'quantum-metadata-agent ='
'quantum.agent.metadata.agent:main',
'quantum-ns-metadata-proxy ='
'quantum.agent.metadata.namespace_proxy:main',
'quantum-openvswitch-agent ='
'quantum.plugins.openvswitch.agent.ovs_quantum_agent:main',
'quantum-ryu-agent = '
'quantum.plugins.ryu.agent.ryu_quantum_agent:main',
'quantum-nec-agent = '
'quantum.plugins.nec.agent.nec_quantum_agent:main',
'quantum-server = quantum.server:main',
'quantum-debug = quantum.debug.shell:main',
'quantum-ovs-cleanup = quantum.agent.ovs_cleanup_util:main',
'quantum-db-manage = quantum.db.migration.cli:main',
('quantum-lbaas-agent = '
'quantum.plugins.services.agent_loadbalancer.agent:main'),
('quantum-check-nvp-config = '
'quantum.plugins.nicira.nicira_nvp_plugin.check_nvp_config:main'),
]
ProjectScripts = [
'bin/quantum-rootwrap',
]
setuptools.setup(
name=Name,
version=Version,
url=Url,
author=Author,
author_email=AuthorEmail,
description=ShortDescription,
long_description=Description,
license=License,
classifiers=[
'Environment :: OpenStack',
'Intended Audience :: System Administrators',
'Intended Audience :: Information Technology',
'License :: OSI Approved :: Apache Software License',
'Operating System :: POSIX :: Linux',
'Programming Language :: Python',
'Programming Language :: Python :: 2',
'Programming Language :: Python :: 2.7',
],
scripts=ProjectScripts,
install_requires=requires,
dependency_links=depend_links,
include_package_data=True,
setup_requires=['setuptools_git>=0.4'],
packages=setuptools.find_packages('.'),
cmdclass=setup.get_cmdclass(),
data_files=DataFiles,
eager_resources=EagerResources,
entry_points={'console_scripts': ConsoleScripts},
)