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()
|
85
setup.py
85
setup.py
@ -13,6 +13,7 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import setuptools
|
import setuptools
|
||||||
|
import sys
|
||||||
|
|
||||||
from quantum.openstack.common import setup
|
from quantum.openstack.common import setup
|
||||||
from quantum.version import version_info as version
|
from quantum.version import version_info as version
|
||||||
@ -20,6 +21,11 @@ from quantum.version import version_info as version
|
|||||||
requires = setup.parse_requirements()
|
requires = setup.parse_requirements()
|
||||||
depend_links = setup.parse_dependency_links()
|
depend_links = setup.parse_dependency_links()
|
||||||
|
|
||||||
|
if sys.platform == 'win32':
|
||||||
|
requires.append('pywin32')
|
||||||
|
requires.append('wmi')
|
||||||
|
requires.remove('pyudev')
|
||||||
|
|
||||||
Name = 'quantum'
|
Name = 'quantum'
|
||||||
Url = "https://launchpad.net/quantum"
|
Url = "https://launchpad.net/quantum"
|
||||||
Version = version.canonical_version_string(always=True)
|
Version = version.canonical_version_string(always=True)
|
||||||
@ -35,10 +41,6 @@ EagerResources = [
|
|||||||
'quantum',
|
'quantum',
|
||||||
]
|
]
|
||||||
|
|
||||||
ProjectScripts = [
|
|
||||||
'bin/quantum-rootwrap',
|
|
||||||
]
|
|
||||||
|
|
||||||
config_path = 'etc/quantum/'
|
config_path = 'etc/quantum/'
|
||||||
init_path = 'etc/init.d'
|
init_path = 'etc/init.d'
|
||||||
rootwrap_path = 'etc/quantum/rootwrap.d'
|
rootwrap_path = 'etc/quantum/rootwrap.d'
|
||||||
@ -50,8 +52,22 @@ nvp_plugin_config_path = 'etc/quantum/plugins/nicira'
|
|||||||
ryu_plugin_config_path = 'etc/quantum/plugins/ryu'
|
ryu_plugin_config_path = 'etc/quantum/plugins/ryu'
|
||||||
meta_plugin_config_path = 'etc/quantum/plugins/metaplugin'
|
meta_plugin_config_path = 'etc/quantum/plugins/metaplugin'
|
||||||
nec_plugin_config_path = 'etc/quantum/plugins/nec'
|
nec_plugin_config_path = 'etc/quantum/plugins/nec'
|
||||||
|
hyperv_plugin_config_path = 'etc/quantum/plugins/hyperv'
|
||||||
|
|
||||||
DataFiles = [
|
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,
|
(config_path,
|
||||||
['etc/quantum.conf',
|
['etc/quantum.conf',
|
||||||
'etc/rootwrap.conf',
|
'etc/rootwrap.conf',
|
||||||
@ -88,7 +104,38 @@ DataFiles = [
|
|||||||
(meta_plugin_config_path,
|
(meta_plugin_config_path,
|
||||||
['etc/quantum/plugins/metaplugin/metaplugin.ini']),
|
['etc/quantum/plugins/metaplugin/metaplugin.ini']),
|
||||||
(nec_plugin_config_path, ['etc/quantum/plugins/nec/nec.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',
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
setuptools.setup(
|
setuptools.setup(
|
||||||
name=Name,
|
name=Name,
|
||||||
@ -118,29 +165,5 @@ setuptools.setup(
|
|||||||
cmdclass=setup.get_cmdclass(),
|
cmdclass=setup.get_cmdclass(),
|
||||||
data_files=DataFiles,
|
data_files=DataFiles,
|
||||||
eager_resources=EagerResources,
|
eager_resources=EagerResources,
|
||||||
entry_points={
|
entry_points={'console_scripts': ConsoleScripts},
|
||||||
'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',
|
|
||||||
]
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user