Adds support for deploying Quantum on Windows
Some changes in setup.py are required to properly handle dependencies and data files on WIndows (including Hyper-V server). A console script called "quantum-hyperv-agent" has also been added to start the Hyper-V agent Change-Id: Ifac2d33afabac242d9dab87b0bc1764421efc16f
This commit is contained in:
parent
e8cc5776ce
commit
7bbc0196f9
26
bin/quantum-hyperv-agent
Normal file
26
bin/quantum-hyperv-agent
Normal file
@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env python
|
||||
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
||||
|
||||
# Copyright 2013 Cloudbase Solutions SRL
|
||||
# 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 os
|
||||
import sys
|
||||
sys.path.insert(0, os.getcwd())
|
||||
|
||||
from quantum.plugins.hyperv.agent.hyperv_quantum_agent import main
|
||||
|
||||
|
||||
main()
|
157
setup.py
157
setup.py
@ -13,6 +13,7 @@
|
||||
# limitations under the License.
|
||||
|
||||
import setuptools
|
||||
import sys
|
||||
|
||||
from quantum.openstack.common import setup
|
||||
from quantum.version import version_info as version
|
||||
@ -20,6 +21,11 @@ from quantum.version import version_info as version
|
||||
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 = version.canonical_version_string(always=True)
|
||||
@ -35,10 +41,6 @@ EagerResources = [
|
||||
'quantum',
|
||||
]
|
||||
|
||||
ProjectScripts = [
|
||||
'bin/quantum-rootwrap',
|
||||
]
|
||||
|
||||
config_path = 'etc/quantum/'
|
||||
init_path = 'etc/init.d'
|
||||
rootwrap_path = 'etc/quantum/rootwrap.d'
|
||||
@ -50,45 +52,90 @@ nvp_plugin_config_path = 'etc/quantum/plugins/nicira'
|
||||
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'
|
||||
|
||||
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/ucs.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']),
|
||||
(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']),
|
||||
]
|
||||
|
||||
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',
|
||||
]
|
||||
|
||||
ProjectScripts = [
|
||||
'bin/quantum-rootwrap',
|
||||
]
|
||||
|
||||
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/ucs.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']),
|
||||
(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']),
|
||||
]
|
||||
|
||||
setuptools.setup(
|
||||
name=Name,
|
||||
@ -118,29 +165,5 @@ setuptools.setup(
|
||||
cmdclass=setup.get_cmdclass(),
|
||||
data_files=DataFiles,
|
||||
eager_resources=EagerResources,
|
||||
entry_points={
|
||||
'console_scripts': [
|
||||
'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',
|
||||
]
|
||||
},
|
||||
entry_points={'console_scripts': ConsoleScripts},
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user