Rename quantum to neutron mechanically

Quantum is now called neutron, so we should do the renaming, too.
This commit is the result of simple mechanical search-and-replace
followed by renaming files, followed by reordering imports to make
pep8 happy.

Building of binary RPMs is still broken, as well as many other things,
but this will be fixed in separate changes.

Partial-bug: #1198041
Co-authored-by: Joshua Harlow <harlowja@gmail.com>
Change-Id: Idd1cce74309e67fd6bbb1348f40fcc9946703fc2
This commit is contained in:
Ivan A. Melnikov 2013-08-07 18:44:42 +03:00
parent 3a2e9e0f72
commit cd5cd9b523
31 changed files with 780 additions and 780 deletions

View File

@ -18,11 +18,11 @@ from anvil import importer
from anvil import shell as sh from anvil import shell as sh
from anvil.components.configurators import base from anvil.components.configurators import base
from anvil.components.configurators.quantum_plugins import dhcp from anvil.components.configurators.neutron_plugins import dhcp
from anvil.components.configurators.quantum_plugins import l3 from anvil.components.configurators.neutron_plugins import l3
# Special generated conf # Special generated conf
API_CONF = "quantum.conf" API_CONF = "neutron.conf"
# Config files/sections # Config files/sections
PASTE_CONF = "api-paste.ini" PASTE_CONF = "api-paste.ini"
@ -30,17 +30,17 @@ PASTE_CONF = "api-paste.ini"
CONFIGS = [PASTE_CONF, API_CONF] CONFIGS = [PASTE_CONF, API_CONF]
class QuantumConfigurator(base.Configurator): class NeutronConfigurator(base.Configurator):
# This db will be dropped and created # This db will be dropped and created
DB_NAME = "quantum" DB_NAME = "neutron"
def __init__(self, installer): def __init__(self, installer):
super(QuantumConfigurator, self).__init__(installer, CONFIGS) super(NeutronConfigurator, self).__init__(installer, CONFIGS)
self.core_plugin = installer.get_option("core_plugin") self.core_plugin = installer.get_option("core_plugin")
self.plugin_configurators = { self.plugin_configurators = {
'core_plugin': importer.import_entry_point( 'core_plugin': importer.import_entry_point(
"anvil.components.configurators.quantum_plugins.%s:%sConfigurator" % "anvil.components.configurators.neutron_plugins.%s:%sConfigurator" %
(self.core_plugin, self.core_plugin.title()))(installer), (self.core_plugin, self.core_plugin.title()))(installer),
'l3': l3.L3Configurator(installer), 'l3': l3.L3Configurator(installer),
'dhcp': dhcp.DhcpConfigurator(installer), 'dhcp': dhcp.DhcpConfigurator(installer),
@ -63,7 +63,7 @@ class QuantumConfigurator(base.Configurator):
def source_config(self, config_fn): def source_config(self, config_fn):
if (config_fn.startswith("plugins") or if (config_fn.startswith("plugins") or
config_fn.startswith("rootwrap.d")): config_fn.startswith("rootwrap.d")):
real_fn = "quantum/%s" % config_fn real_fn = "neutron/%s" % config_fn
else: else:
real_fn = config_fn real_fn = config_fn
fn = sh.joinpths(self.installer.get_option("app_dir"), "etc", real_fn) fn = sh.joinpths(self.installer.get_option("app_dir"), "etc", real_fn)
@ -80,8 +80,8 @@ class QuantumConfigurator(base.Configurator):
config.add("api_paste_config", self.target_config(PASTE_CONF)) config.add("api_paste_config", self.target_config(PASTE_CONF))
# TODO(aababilov): add debug to other services conf files # TODO(aababilov): add debug to other services conf files
config.add('debug', self.installer.get_bool_option("debug")) config.add('debug', self.installer.get_bool_option("debug"))
config.add("log_file", "quantum-server.log") config.add("log_file", "neutron-server.log")
config.add("log_dir", "/var/log/quantum") config.add("log_dir", "/var/log/neutron")
# Setup the interprocess locking directory # Setup the interprocess locking directory
# (don't put me on shared storage) # (don't put me on shared storage)
@ -91,17 +91,17 @@ class QuantumConfigurator(base.Configurator):
sh.mkdirslist(lock_path, tracewriter=self.installer.tracewriter) sh.mkdirslist(lock_path, tracewriter=self.installer.tracewriter)
config.add('lock_path', lock_path) config.add('lock_path', lock_path)
self.setup_rpc(config, 'quantum.openstack.common.rpc.impl_kombu') self.setup_rpc(config, 'neutron.openstack.common.rpc.impl_kombu')
config.current_section = "AGENT" config.current_section = "AGENT"
config.add("root_helper", "sudo quantum-rootwrap /etc/quantum/rootwrap.conf") config.add("root_helper", "sudo neutron-rootwrap /etc/neutron/rootwrap.conf")
config.current_section = "keystone_authtoken" config.current_section = "keystone_authtoken"
for (k, v) in self._fetch_keystone_params().items(): for (k, v) in self._fetch_keystone_params().items():
config.add(k, v) config.add(k, v)
def _fetch_keystone_params(self): def _fetch_keystone_params(self):
params = self.get_keystone_params('quantum') params = self.get_keystone_params('neutron')
return { return {
"auth_host": params["endpoints"]["admin"]["host"], "auth_host": params["endpoints"]["admin"]["host"],
"auth_port": params["endpoints"]["admin"]["port"], "auth_port": params["endpoints"]["admin"]["port"],

View File

@ -19,8 +19,8 @@ from anvil.components.configurators import base
class Configurator(base.Configurator): class Configurator(base.Configurator):
DB_NAME = "quantum" DB_NAME = "neutron"
PLUGIN_CLASS = "quantum.plugins.UNKNOWN" PLUGIN_CLASS = "neutron.plugins.UNKNOWN"
def __init__(self, installer, configs, adjusters): def __init__(self, installer, configs, adjusters):
super(Configurator, self).__init__( super(Configurator, self).__init__(

View File

@ -14,7 +14,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from anvil.components.configurators import quantum_plugins from anvil.components.configurators import neutron_plugins
# Special generated conf # Special generated conf
PLUGIN_CONF = "dhcp_agent.ini" PLUGIN_CONF = "dhcp_agent.ini"
@ -22,29 +22,29 @@ PLUGIN_CONF = "dhcp_agent.ini"
CONFIGS = [PLUGIN_CONF] CONFIGS = [PLUGIN_CONF]
class DhcpConfigurator(quantum_plugins.Configurator): class DhcpConfigurator(neutron_plugins.Configurator):
def __init__(self, installer): def __init__(self, installer):
super(DhcpConfigurator, self).__init__( super(DhcpConfigurator, self).__init__(
installer, CONFIGS, {PLUGIN_CONF: self._config_adjust_plugin}) installer, CONFIGS, {PLUGIN_CONF: self._config_adjust_plugin})
def _config_adjust_plugin(self, plugin_conf): def _config_adjust_plugin(self, plugin_conf):
params = self.get_keystone_params('quantum') params = self.get_keystone_params('neutron')
plugin_conf.add("dhcp_agent_manager", "quantuquantum.agent.dhcp_agent.DhcpAgentWithStateReport") plugin_conf.add("dhcp_agent_manager", "quantuneutron.agent.dhcp_agent.DhcpAgentWithStateReport")
plugin_conf.add("dhcp_driver", "quantum.agent.linux.dhcp.Dnsmasq") plugin_conf.add("dhcp_driver", "neutron.agent.linux.dhcp.Dnsmasq")
plugin_conf.add("admin_password", params["service_password"]) plugin_conf.add("admin_password", params["service_password"])
plugin_conf.add("admin_user", params["service_user"]) plugin_conf.add("admin_user", params["service_user"])
plugin_conf.add("admin_tenant_name", params["service_tenant"]) plugin_conf.add("admin_tenant_name", params["service_tenant"])
plugin_conf.add("auth_url", params["endpoints"]["admin"]["uri"]) plugin_conf.add("auth_url", params["endpoints"]["admin"]["uri"])
plugin_conf.add("root_helper", "sudo quantum-rootwrap /etc/quantum/rootwrap.conf") plugin_conf.add("root_helper", "sudo neutron-rootwrap /etc/neutron/rootwrap.conf")
plugin_conf.add("use_namespaces", "True") plugin_conf.add("use_namespaces", "True")
plugin_conf.add("debug", "False") plugin_conf.add("debug", "False")
plugin_conf.add("verbose", "True") plugin_conf.add("verbose", "True")
if self.installer.get_option("core_plugin") == 'openvswitch': if self.installer.get_option("core_plugin") == 'openvswitch':
plugin_conf.add("interface_driver", "quantum.agent.linux.interface.OVSInterfaceDriver") plugin_conf.add("interface_driver", "neutron.agent.linux.interface.OVSInterfaceDriver")
@property @property
def get_plugin_config_file_path(self): def get_plugin_config_file_path(self):

View File

@ -14,7 +14,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from anvil.components.configurators import quantum_plugins from anvil.components.configurators import neutron_plugins
# Special generated conf # Special generated conf
PLUGIN_CONF = "l3_agent.ini" PLUGIN_CONF = "l3_agent.ini"
@ -22,26 +22,26 @@ PLUGIN_CONF = "l3_agent.ini"
CONFIGS = [PLUGIN_CONF] CONFIGS = [PLUGIN_CONF]
class L3Configurator(quantum_plugins.Configurator): class L3Configurator(neutron_plugins.Configurator):
def __init__(self, installer): def __init__(self, installer):
super(L3Configurator, self).__init__( super(L3Configurator, self).__init__(
installer, CONFIGS, {PLUGIN_CONF: self._config_adjust_plugin}) installer, CONFIGS, {PLUGIN_CONF: self._config_adjust_plugin})
def _config_adjust_plugin(self, plugin_conf): def _config_adjust_plugin(self, plugin_conf):
params = self.get_keystone_params('quantum') params = self.get_keystone_params('neutron')
plugin_conf.add("l3_agent_manager", "quantum.agent.l3_agent.L3NATAgentWithStateReport") plugin_conf.add("l3_agent_manager", "neutron.agent.l3_agent.L3NATAgentWithStateReport")
plugin_conf.add("external_network_bridge", "br-ex") plugin_conf.add("external_network_bridge", "br-ex")
plugin_conf.add("admin_password", params["service_password"]) plugin_conf.add("admin_password", params["service_password"])
plugin_conf.add("admin_user", params["service_user"]) plugin_conf.add("admin_user", params["service_user"])
plugin_conf.add("admin_tenant_name", params["service_tenant"]) plugin_conf.add("admin_tenant_name", params["service_tenant"])
plugin_conf.add("auth_url", params["endpoints"]["admin"]["uri"]) plugin_conf.add("auth_url", params["endpoints"]["admin"]["uri"])
plugin_conf.add("root_helper", "sudo quantum-rootwrap /etc/quantum/rootwrap.conf") plugin_conf.add("root_helper", "sudo neutron-rootwrap /etc/neutron/rootwrap.conf")
plugin_conf.add("use_namespaces", "False") plugin_conf.add("use_namespaces", "False")
plugin_conf.add("debug", "False") plugin_conf.add("debug", "False")
plugin_conf.add("verbose", "True") plugin_conf.add("verbose", "True")
if self.installer.get_option("core_plugin") == 'openvswitch': if self.installer.get_option("core_plugin") == 'openvswitch':
plugin_conf.add("interface_driver", "quantum.agent.linux.interface.OVSInterfaceDriver") plugin_conf.add("interface_driver", "neutron.agent.linux.interface.OVSInterfaceDriver")
@property @property
def get_plugin_config_file_path(self): def get_plugin_config_file_path(self):

View File

@ -14,7 +14,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from anvil.components.configurators import quantum_plugins from anvil.components.configurators import neutron_plugins
# Special generated conf # Special generated conf
PLUGIN_CONF = "linuxbridge_conf.ini" PLUGIN_CONF = "linuxbridge_conf.ini"
@ -22,9 +22,9 @@ PLUGIN_CONF = "linuxbridge_conf.ini"
CONFIGS = [PLUGIN_CONF] CONFIGS = [PLUGIN_CONF]
class LinuxbridgeConfigurator(quantum_plugins.CorePluginConfigurator): class LinuxbridgeConfigurator(neutron_plugins.CorePluginConfigurator):
PLUGIN_CLASS = "quantum.plugins.linuxbridge.lb_quantum_plugin.LinuxBridgePluginV2" PLUGIN_CLASS = "neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2"
def __init__(self, installer): def __init__(self, installer):
super(LinuxbridgeConfigurator, self).__init__( super(LinuxbridgeConfigurator, self).__init__(

View File

@ -14,17 +14,17 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from anvil.components.configurators import quantum_plugins from anvil.components.configurators import neutron_plugins
# Special generated conf # Special generated conf
PLUGIN_CONF = "ovs_quantum_plugin.ini" PLUGIN_CONF = "ovs_neutron_plugin.ini"
CONFIGS = [PLUGIN_CONF] CONFIGS = [PLUGIN_CONF]
class OpenvswitchConfigurator(quantum_plugins.CorePluginConfigurator): class OpenvswitchConfigurator(neutron_plugins.CorePluginConfigurator):
PLUGIN_CLASS = "quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2" PLUGIN_CLASS = "neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2"
def __init__(self, installer): def __init__(self, installer):
super(OpenvswitchConfigurator, self).__init__( super(OpenvswitchConfigurator, self).__init__(

View File

@ -19,7 +19,7 @@ from anvil import log as logging
from anvil import shell as sh from anvil import shell as sh
from anvil import utils from anvil import utils
from anvil.components.helpers import quantum as qhelper from anvil.components.helpers import neutron as qhelper
from anvil.components.helpers import virt as lv from anvil.components.helpers import virt as lv
from anvil.components.configurators import base from anvil.components.configurators import base
@ -248,33 +248,33 @@ class NovaConfigurator(base.Configurator):
nova_conf.add('vncserver_listen', self.installer.get_option('vncserver_listen', default_value='127.0.0.1')) nova_conf.add('vncserver_listen', self.installer.get_option('vncserver_listen', default_value='127.0.0.1'))
nova_conf.add('vncserver_proxyclient_address', self.installer.get_option('vncserver_proxyclient_address', default_value='127.0.0.1')) nova_conf.add('vncserver_proxyclient_address', self.installer.get_option('vncserver_proxyclient_address', default_value='127.0.0.1'))
def _configure_quantum(self, nova_conf): def _configure_neutron(self, nova_conf):
params = self.get_keystone_params('nova') params = self.get_keystone_params('nova')
params['quantum'] = qhelper.get_shared_params( params['neutron'] = qhelper.get_shared_params(
ip=self.installer.get_option('ip'), ip=self.installer.get_option('ip'),
**self.installer.get_option('quantum')) **self.installer.get_option('neutron'))
nova_conf.add("network_api_class", "nova.network.quantumv2.api.API") nova_conf.add("network_api_class", "nova.network.neutronv2.api.API")
nova_conf.add("quantum_admin_username", params['service_user']) nova_conf.add("neutron_admin_username", params['service_user'])
nova_conf.add("quantum_admin_password", params['service_password']) nova_conf.add("neutron_admin_password", params['service_password'])
nova_conf.add("quantum_admin_auth_url", params['endpoints']['admin']['uri']) nova_conf.add("neutron_admin_auth_url", params['endpoints']['admin']['uri'])
nova_conf.add("quantum_auth_strategy", "keystone") nova_conf.add("neutron_auth_strategy", "keystone")
nova_conf.add("quantum_admin_tenant_name", params['service_tenant']) nova_conf.add("neutron_admin_tenant_name", params['service_tenant'])
nova_conf.add("quantum_url", params['quantum']['endpoints']['admin']['uri']) nova_conf.add("neutron_url", params['neutron']['endpoints']['admin']['uri'])
libvirt_vif_drivers = { libvirt_vif_drivers = {
"linuxbridge": "nova.virt.libvirt.vif.QuantumLinuxBridgeVIFDriver", "linuxbridge": "nova.virt.libvirt.vif.NeutronLinuxBridgeVIFDriver",
"openvswitch": "nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver", "openvswitch": "nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver",
} }
# FIXME(aababilov): error on KeyError # FIXME(aababilov): error on KeyError
nova_conf.add( nova_conf.add(
"libvirt_vif_driver", "libvirt_vif_driver",
libvirt_vif_drivers[self.installer.get_option('quantum-core-plugin')]) libvirt_vif_drivers[self.installer.get_option('neutron-core-plugin')])
# FIXME(aababilov): add for linuxbridge: # FIXME(aababilov): add for linuxbridge:
nova_conf.add("libvirt_vif_type", "ethernet") nova_conf.add("libvirt_vif_type", "ethernet")
nova_conf.add("connection_type", "libvirt") nova_conf.add("connection_type", "libvirt")
nova_conf.add("quantum_use_dhcp", nova_conf.add("neutron_use_dhcp",
self.installer.get_bool_option('quantum-use-dhcp')) self.installer.get_bool_option('neutron-use-dhcp'))
def _configure_cells(self, nova_conf): def _configure_cells(self, nova_conf):
cells_enabled = self.installer.get_bool_option('enable-cells') cells_enabled = self.installer.get_bool_option('enable-cells')
@ -289,8 +289,8 @@ class NovaConfigurator(base.Configurator):
nova_conf.add_with_section('conductor', 'use_local', conductor_local) nova_conf.add_with_section('conductor', 'use_local', conductor_local)
def _configure_network_settings(self, nova_conf): def _configure_network_settings(self, nova_conf):
if self.installer.get_bool_option('quantum-enabled'): if self.installer.get_bool_option('neutron-enabled'):
self._configure_quantum(nova_conf) self._configure_neutron(nova_conf)
else: else:
nova_conf.add('network_manager', self.installer.get_option('network_manager')) nova_conf.add('network_manager', self.installer.get_option('network_manager'))

View File

@ -28,8 +28,8 @@ from anvil.components import base_testing as btesting
from anvil.components.helpers import cinder as chelper from anvil.components.helpers import cinder as chelper
from anvil.components.helpers import glance as ghelper from anvil.components.helpers import glance as ghelper
from anvil.components.helpers import keystone as khelper from anvil.components.helpers import keystone as khelper
from anvil.components.helpers import neutron as qhelper
from anvil.components.helpers import nova as nhelper from anvil.components.helpers import nova as nhelper
from anvil.components.helpers import quantum as qhelper
from anvil.components.configurators import keystone as kconf from anvil.components.configurators import keystone as kconf
@ -130,7 +130,7 @@ class KeystoneRuntime(bruntime.OpenStackRuntime):
params['keystone'] = khelper.get_shared_params(**utils.merge_dicts(self.options, khelper.get_shared_passwords(self))) params['keystone'] = khelper.get_shared_params(**utils.merge_dicts(self.options, khelper.get_shared_passwords(self)))
params['glance'] = ghelper.get_shared_params(ip=self.get_option('ip'), **self.get_option('glance')) params['glance'] = ghelper.get_shared_params(ip=self.get_option('ip'), **self.get_option('glance'))
params['nova'] = nhelper.get_shared_params(ip=self.get_option('ip'), **self.get_option('nova')) params['nova'] = nhelper.get_shared_params(ip=self.get_option('ip'), **self.get_option('nova'))
params['quantum'] = qhelper.get_shared_params(ip=self.get_option('ip'), **self.get_option('quantum')) params['neutron'] = qhelper.get_shared_params(ip=self.get_option('ip'), **self.get_option('neutron'))
params['cinder'] = chelper.get_shared_params(ip=self.get_option('ip'), **self.get_option('cinder')) params['cinder'] = chelper.get_shared_params(ip=self.get_option('ip'), **self.get_option('cinder'))
wait_urls = [ wait_urls = [
params['keystone']['endpoints']['admin']['uri'], params['keystone']['endpoints']['admin']['uri'],

View File

@ -22,48 +22,48 @@ from anvil.components import base
from anvil.components import base_install as binstall from anvil.components import base_install as binstall
from anvil.components import base_runtime as bruntime from anvil.components import base_runtime as bruntime
from anvil.components.configurators import quantum as qconf from anvil.components.configurators import neutron as qconf
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
# Sync db command # Sync db command
# FIXME(aababilov) # FIXME(aababilov)
SYNC_DB_CMD = ["sudo", "-u", "quantum", "/usr/bin/quantum-db-manage", SYNC_DB_CMD = ["sudo", "-u", "neutron", "/usr/bin/neutron-db-manage",
"sync"] "sync"]
class QuantumPluginMixin(base.Component): class NeutronPluginMixin(base.Component):
def subsystem_names(self): def subsystem_names(self):
core_plugin = self.get_option("core_plugin") core_plugin = self.get_option("core_plugin")
return [(name if name != "agent" else "%s-agent" % (core_plugin)) return [(name if name != "agent" else "%s-agent" % (core_plugin))
for name in self.subsystems.iterkeys()] for name in self.subsystems.iterkeys()]
class QuantumInstaller(binstall.PythonInstallComponent, QuantumPluginMixin): class NeutronInstaller(binstall.PythonInstallComponent, NeutronPluginMixin):
def __init__(self, *args, **kargs): def __init__(self, *args, **kargs):
super(QuantumInstaller, self).__init__(*args, **kargs) super(NeutronInstaller, self).__init__(*args, **kargs)
self.configurator = qconf.QuantumConfigurator(self) self.configurator = qconf.NeutronConfigurator(self)
def post_install(self): def post_install(self):
super(QuantumInstaller, self).post_install() super(NeutronInstaller, self).post_install()
if self.get_bool_option("db-sync"): if self.get_bool_option("db-sync"):
self.configurator.setup_db() self.configurator.setup_db()
self._sync_db() self._sync_db()
def _sync_db(self): def _sync_db(self):
LOG.info("Syncing quantum to database: %s", colorizer.quote(self.configurator.DB_NAME)) LOG.info("Syncing neutron to database: %s", colorizer.quote(self.configurator.DB_NAME))
# TODO(aababilov): update db if required # TODO(aababilov): update db if required
def create_symlink_to_conf_file(self): def create_symlink_to_conf_file(self):
sh.symlink(self.configurator.get_path_to_plugin_config, sh.symlink(self.configurator.get_path_to_plugin_config,
"/etc/quantum/plugin.ini", "/etc/neutron/plugin.ini",
force=True) force=True)
class QuantumUninstaller(binstall.PkgUninstallComponent, QuantumPluginMixin): class NeutronUninstaller(binstall.PkgUninstallComponent, NeutronPluginMixin):
pass pass
class QuantumRuntime(bruntime.OpenStackRuntime, QuantumPluginMixin): class NeutronRuntime(bruntime.OpenStackRuntime, NeutronPluginMixin):
pass pass

View File

@ -47,7 +47,7 @@ OPENSTACK_PACKAGES = set([
"python-novaclient", "python-novaclient",
"python-swiftclient", "python-swiftclient",
"python-troveclient", "python-troveclient",
"quantum", "neutron",
"swift", "swift",
"trove", "trove",
]) ])

View File

@ -67,9 +67,9 @@ class YumDependencyHandler(base.DependencyHandler):
"glance": "Image", "glance": "Image",
"keystone": "Identity", "keystone": "Identity",
"cinder": "Volume", "cinder": "Volume",
"quantum": "Networking", "neutron": "Networking",
} }
SERVER_NAMES = ["nova", "glance", "keystone", "quantum", "cinder", "trove"] SERVER_NAMES = ["nova", "glance", "keystone", "neutron", "cinder", "trove"]
TRANSLATION_NAMES = { TRANSLATION_NAMES = {
'horizon': "python-django-horizon", 'horizon': "python-django-horizon",
} }

View File

@ -43,9 +43,9 @@ nova:
ec2_admin_port: "$(nova:ec2_admin_port)" ec2_admin_port: "$(nova:ec2_admin_port)"
protocol: "$(nova:protocol)" protocol: "$(nova:protocol)"
quantum: neutron:
api_host: "$(quantum:api_host)" api_host: "$(neutron:api_host)"
api_port: "$(quantum:api_port)" api_port: "$(neutron:api_port)"
cinder: cinder:
api_host: "$(cinder:api_host)" api_host: "$(cinder:api_host)"

View File

@ -0,0 +1,24 @@
# Settings for component neutron-client
---
# Where we download this from...
get_from: "git://github.com/openstack/neutron.git?branch=master"
# Host and ports for the different neutron services
api_host: "$(auto:ip)"
api_port: 9696
protocol: http
core_plugin: openvswitch
network_vlan_ranges: physnet1:100:299
physical_interface_mappings: physnet1:100:299
# When building a package for the neutron the arguments to the individual daemons
# will be expanded to include the following runtime arguments.
daemon_args:
neutron-server: "'--config-file=/etc/neutron/plugin.ini --config-file=/etc/neutron/neutron.conf'"
neutron-l3-agent: "'--config-file=/etc/neutron/l3_agent.ini --config-file=/etc/neutron/neutron.conf'"
neutron-dhcp-agent: "'--config-file=/etc/neutron/dhcp_agent.ini --config-file=/etc/neutron/neutron.conf'"
...

View File

@ -94,9 +94,9 @@ network_manager: nova.network.manager.FlatDHCPManager
# Interface for public IP addresses # Interface for public IP addresses
public_interface: eth0 public_interface: eth0
quantum: neutron:
api_host: "$(quantum:api_host)" api_host: "$(neutron:api_host)"
api_port: "$(quantum:api_port)" api_port: "$(neutron:api_port)"
# Currently novaclient needs you to specify the *compute api* version. # Currently novaclient needs you to specify the *compute api* version.
nova_version: "1.1" nova_version: "1.1"
@ -124,8 +124,8 @@ xvpvncproxy_url: "http://$(auto:ip):6081/console"
# #
# TODO(harlowja) these should probably be bugs... # TODO(harlowja) these should probably be bugs...
exclude_tests: exclude_tests:
# Disable since quantumclient is not always installed. # Disable since neutronclient is not always installed.
- test_quantumv2 - test_neutronv2
# Will fail if ipv6 turned off # Will fail if ipv6 turned off
- test_service_random_port_with_ipv6 - test_service_random_port_with_ipv6
- test_start_random_port_with_ipv6 - test_start_random_port_with_ipv6

View File

@ -1,24 +0,0 @@
# Settings for component quantum-client
---
# Where we download this from...
get_from: "git://github.com/openstack/quantum.git?branch=master"
# Host and ports for the different quantum services
api_host: "$(auto:ip)"
api_port: 9696
protocol: http
core_plugin: openvswitch
network_vlan_ranges: physnet1:100:299
physical_interface_mappings: physnet1:100:299
# When building a package for the quantum the arguments to the individual daemons
# will be expanded to include the following runtime arguments.
daemon_args:
quantum-server: "'--config-file=/etc/quantum/plugin.ini --config-file=/etc/quantum/quantum.conf'"
quantum-l3-agent: "'--config-file=/etc/quantum/l3_agent.ini --config-file=/etc/quantum/quantum.conf'"
quantum-dhcp-agent: "'--config-file=/etc/quantum/dhcp_agent.ini --config-file=/etc/quantum/quantum.conf'"
...

View File

@ -276,21 +276,21 @@ components:
test: anvil.components.base_testing:PythonTestingComponent test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.base_install:PkgUninstallComponent uninstall: anvil.components.base_install:PkgUninstallComponent
quantum: neutron:
action_classes: action_classes:
install: anvil.components.quantum:QuantumInstaller install: anvil.components.neutron:NeutronInstaller
running: anvil.components.quantum:QuantumRuntime running: anvil.components.neutron:NeutronRuntime
test: anvil.components.base_testing:PythonTestingComponent test: anvil.components.base_testing:PythonTestingComponent
coverage: anvil.components.base_testing:PythonTestingComponent coverage: anvil.components.base_testing:PythonTestingComponent
uninstall: anvil.components.quantum:QuantumUninstaller uninstall: anvil.components.neutron:NeutronUninstaller
daemon_to_package: daemon_to_package:
linuxbridge-agent: openstack-quantum-linuxbridge linuxbridge-agent: openstack-neutron-linuxbridge
openvswitch-agent: openstack-quantum-openvswitch openvswitch-agent: openstack-neutron-openvswitch
ovs-cleanup: openstack-quantum-openvswitch ovs-cleanup: openstack-neutron-openvswitch
dhcp-agent: openstack-quantum dhcp-agent: openstack-neutron
l3-agent: openstack-quantum l3-agent: openstack-neutron
rpc-zmq-receiver: openstack-quantum rpc-zmq-receiver: openstack-neutron
server: openstack-quantum server: openstack-neutron
qpid: qpid:
action_classes: action_classes:
install: anvil.components.qpid:QpidInstaller install: anvil.components.qpid:QpidInstaller

View File

@ -13,7 +13,7 @@ components:
- glance-client - glance-client
- cinder-client - cinder-client
- neutron-client - neutron-client
- quantum - neutron
- cinder - cinder
- nova - nova
- nova-client - nova-client
@ -25,8 +25,8 @@ options:
enable-spice: false enable-spice: false
local-conductor: false local-conductor: false
mq-type: "rabbit" mq-type: "rabbit"
quantum-core-plugin: linuxbridge neutron-core-plugin: linuxbridge
quantum-enabled: true neutron-enabled: true
glance: glance:
db-sync: true db-sync: true
load-images: true load-images: true
@ -36,7 +36,7 @@ options:
enable-pki: false enable-pki: false
cinder: cinder:
db-sync: true db-sync: true
quantum: neutron:
db-sync: true db-sync: true
subsystems: subsystems:
glance: glance:
@ -51,7 +51,7 @@ subsystems:
- consoleauth - consoleauth
- scheduler - scheduler
- xvpvncproxy - xvpvncproxy
quantum: neutron:
- server - server
- agent - agent
- l3-agent - l3-agent

View File

@ -14,7 +14,7 @@ components:
- cinder-client - cinder-client
- neutron-client - neutron-client
- swift-client # Seems only needed for horizon? - swift-client # Seems only needed for horizon?
- quantum - neutron
- openvswitch - openvswitch
- cinder - cinder
- nova - nova
@ -29,8 +29,8 @@ options:
enable-cells: false enable-cells: false
enable-spice: false enable-spice: false
local-conductor: false local-conductor: false
quantum-enabled: true neutron-enabled: true
quantum-core-plugin: linuxbridge neutron-core-plugin: linuxbridge
glance: glance:
db-sync: true db-sync: true
load-images: true load-images: true
@ -42,7 +42,7 @@ options:
make-blackhole: true make-blackhole: true
cinder: cinder:
db-sync: true db-sync: true
quantum: neutron:
db-sync: true db-sync: true
subsystems: subsystems:
glance: glance:
@ -60,7 +60,7 @@ subsystems:
- scheduler - scheduler
- xvpvncproxy - xvpvncproxy
- spicehtml5proxy - spicehtml5proxy
quantum: neutron:
- server - server
- agent - agent
- l3-agent - l3-agent

View File

@ -10,9 +10,9 @@ endpoints:
public_url: "$nova.endpoints.ec2_cloud.uri" public_url: "$nova.endpoints.ec2_cloud.uri"
region: RegionOne region: RegionOne
- service: network - service: network
admin_url: "$quantum.endpoints.admin.uri" admin_url: "$neutron.endpoints.admin.uri"
internal_url: "$quantum.endpoints.internal.uri" internal_url: "$neutron.endpoints.internal.uri"
public_url: "$quantum.endpoints.public.uri" public_url: "$neutron.endpoints.public.uri"
region: RegionOne region: RegionOne
- service: glance - service: glance
admin_url: "$glance.endpoints.admin.uri" admin_url: "$glance.endpoints.admin.uri"
@ -59,7 +59,7 @@ services:
- description: Cinder Service - description: Cinder Service
name: volume name: volume
type: volume type: volume
- description: Quantum Service - description: Neutron Service
name: network name: network
type: network type: network
tenants: tenants:
@ -106,8 +106,8 @@ users:
- admin:service - admin:service
tenants: tenants:
- service - service
- email: quantum@example.com - email: neutron@example.com
name: quantum name: neutron
password: '$keystone.service_password' password: '$keystone.service_password'
roles: roles:
- admin:service - admin:service

View File

@ -0,0 +1,3 @@
Defaults:neutron !requiretty
neutron ALL = (root) NOPASSWD: SETENV: /usr/bin/neutron-rootwrap

View File

@ -1,6 +1,6 @@
compress compress
/var/log/quantum/*.log { /var/log/neutron/*.log {
weekly weekly
rotate 4 rotate 4
missingok missingok

View File

@ -1,3 +0,0 @@
Defaults:quantum !requiretty
quantum ALL = (root) NOPASSWD: SETENV: /usr/bin/quantum-rootwrap

View File

@ -0,0 +1,639 @@
#encoding UTF-8
# Based on spec by:
# * Terry Wilson <twilson@redhat.com>
# * Alan Pevec <apevec@redhat.com>
# * Martin Magr <mmagr@redhat.com>
# * Gary Kotton <gkotton@redhat.com>
# * Robert Kukura <rkukura@redhat.com>
# * Pádraig Brady <P@draigBrady.com>
%global python_name neutron
%global daemon_prefix openstack-neutron
%global os_version $version
%if ! (0%{?fedora} > 12 || 0%{?rhel} > 6)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%endif
Name: openstack-neutron
Version: %{os_version}$version_suffix
Release: $release%{?dist}
Epoch: $epoch
Summary: Virtual network service for OpenStack (neutron)
Group: Applications/System
License: ASL 2.0
URL: http://launchpad.net/neutron/
Source0: %{python_name}-%{os_version}.tar.gz
Source1: neutron.logrotate
Source2: neutron-sudoers
Source10: neutron-server.init
Source11: neutron-linuxbridge-agent.init
Source12: neutron-openvswitch-agent.init
Source13: neutron-ryu-agent.init
Source14: neutron-nec-agent.init
Source15: neutron-dhcp-agent.init
Source16: neutron-l3-agent.init
Source17: neutron-ovs-cleanup.init
Source18: neutron-hyperv-agent.init
Source19: neutron-rpc-zmq-receiver.init
#for $idx, $fn in enumerate($patches)
Patch$idx: $fn
#end for
BuildArch: noarch
BuildRequires: python-devel
BuildRequires: python-setuptools
# Build require these parallel versions
# as setup.py build imports neutron.openstack.common.setup
# which will then check for these
# BuildRequires: python-sqlalchemy
# BuildRequires: python-webob
# BuildRequires: python-paste-deploy
# BuildRequires: python-routes
BuildRequires: dos2unix
Requires: python-neutron = %{epoch}:%{version}-%{release}
Requires: python-keystone
%if ! 0%{?usr_only}
Requires(post): chkconfig
Requires(postun): initscripts
Requires(preun): chkconfig
Requires(preun): initscripts
Requires(pre): shadow-utils
%endif
%description
Neutron is a virtual network service for Openstack. Just like
OpenStack Nova provides an API to dynamically request and configure
virtual servers, Neutron provides an API to dynamically request and
configure virtual networks. These networks connect "interfaces" from
other OpenStack services (e.g., virtual NICs from Nova VMs). The
Neutron API supports extensions to provide advanced network
capabilities (e.g., QoS, ACLs, network monitoring, etc.)
%package -n python-neutron
Summary: Neutron Python libraries
Group: Applications/System
Requires: sudo
#for $i in $requires
Requires: ${i}
#end for
%description -n python-neutron
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron Python library.
%package -n openstack-neutron-bigswitch
Summary: Neutron Big Switch plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
%description -n openstack-neutron-bigswitch
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using the FloodLight Openflow Controller or the Big Switch
Networks Controller.
%package -n openstack-neutron-brocade
Summary: Neutron Brocade plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
%description -n openstack-neutron-brocade
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using Brocade VCS switches running NOS.
%package -n openstack-neutron-cisco
Summary: Neutron Cisco plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
Requires: python-configobj
%description -n openstack-neutron-cisco
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using Cisco UCS and Nexus.
%package -n openstack-neutron-hyperv
Summary: Neutron Hyper-V plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
%description -n openstack-neutron-hyperv
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using Microsoft Hyper-V.
%package -n openstack-neutron-linuxbridge
Summary: Neutron linuxbridge plugin
Group: Applications/System
Requires: bridge-utils
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
Requires: python-pyudev
%description -n openstack-neutron-linuxbridge
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks as VLANs using Linux bridging.
%package -n openstack-neutron-midonet
Summary: Neutron MidoNet plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
%description -n openstack-neutron-midonet
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using MidoNet from Midokura.
%package -n openstack-neutron-nicira
Summary: Neutron Nicira plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
%description -n openstack-neutron-nicira
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using Nicira NVP.
%package -n openstack-neutron-openvswitch
Summary: Neutron openvswitch plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
Requires: openvswitch
%description -n openstack-neutron-openvswitch
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using Open vSwitch.
%package -n openstack-neutron-plumgrid
Summary: Neutron PLUMgrid plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
%description -n openstack-neutron-plumgrid
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using the PLUMgrid platform.
%package -n openstack-neutron-ryu
Summary: Neutron Ryu plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
%description -n openstack-neutron-ryu
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using the Ryu Network Operating System.
%package -n openstack-neutron-nec
Summary: Neutron NEC plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
%description -n openstack-neutron-nec
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using the NEC OpenFlow controller.
%package -n openstack-neutron-metaplugin
Summary: Neutron meta plugin
Group: Applications/System
Requires: openstack-neutron = %{epoch}:%{version}-%{release}
%description -n openstack-neutron-metaplugin
Neutron provides an API to dynamically request and configure virtual
networks.
This package contains the neutron plugin that implements virtual
networks using multiple other neutron plugins.
%prep
%setup -q -n neutron-%{os_version}
#for $idx, $fn in enumerate($patches)
%patch$idx -p1
#end for
#raw
find neutron -name \*.py -exec sed -i '/\/usr\/bin\/env python/d' {} \;
chmod 644 neutron/plugins/cisco/README
# Adjust configuration file content
sed -i 's/debug = True/debug = False/' etc/neutron.conf
sed -i 's/\# auth_strategy = keystone/auth_strategy = keystone/' etc/neutron.conf
# Remove unneeded dependency
sed -i '/setuptools_git/d' setup.py
# let RPM handle deps
sed -i '/setup_requires/d; /install_requires/d; /dependency_links/d' setup.py
%build
%{__python} setup.py build
%install
rm -rf %{buildroot}
%{__python} setup.py install -O1 --skip-build --root %{buildroot}
# Remove unused files
rm -rf %{buildroot}%{python_sitelib}/bin
rm -rf %{buildroot}%{python_sitelib}/doc
rm -rf %{buildroot}%{python_sitelib}/tools
rm -rf %{buildroot}%{python_sitelib}/neutron/tests
rm -rf %{buildroot}%{python_sitelib}/neutron/plugins/*/tests
rm -f %{buildroot}%{python_sitelib}/neutron/plugins/*/run_tests.*
rm %{buildroot}/usr/etc/init.d/neutron-server
# Install execs
install -p -D -m 755 bin/neutron-* %{buildroot}%{_bindir}/
# Move rootwrap files to proper location
install -d -m 755 %{buildroot}%{_datarootdir}/neutron/rootwrap
mv %{buildroot}/usr/etc/neutron/rootwrap.d/*.filters %{buildroot}%{_datarootdir}/neutron/rootwrap
%if ! 0%{?usr_only}
# Move config files to proper location
install -d -m 755 %{buildroot}%{_sysconfdir}/neutron
mv %{buildroot}/usr/etc/neutron/* %{buildroot}%{_sysconfdir}/neutron
chmod 640 %{buildroot}%{_sysconfdir}/neutron/plugins/*/*.ini
# Configure agents to use neutron-rootwrap
for f in %{buildroot}%{_sysconfdir}/neutron/plugins/*/*.ini %{buildroot}%{_sysconfdir}/neutron/*_agent.ini; do
sed -i 's/^root_helper.*/root_helper = sudo neutron-rootwrap \/etc\/neutron\/rootwrap.conf/g' $f
done
# Configure neutron-dhcp-agent state_path
sed -i 's/state_path = \/opt\/stack\/data/state_path = \/var\/lib\/neutron/' %{buildroot}%{_sysconfdir}/neutron/dhcp_agent.ini
# Install logrotate
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-neutron
# Install sudoers
install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/neutron
# Install sysv init scripts
install -p -D -m 755 %{SOURCE10} %{buildroot}%{_initrddir}/%{daemon_prefix}-server
install -p -D -m 755 %{SOURCE11} %{buildroot}%{_initrddir}/%{daemon_prefix}-linuxbridge-agent
install -p -D -m 755 %{SOURCE12} %{buildroot}%{_initrddir}/%{daemon_prefix}-openvswitch-agent
install -p -D -m 755 %{SOURCE13} %{buildroot}%{_initrddir}/%{daemon_prefix}-ryu-agent
install -p -D -m 755 %{SOURCE14} %{buildroot}%{_initrddir}/%{daemon_prefix}-nec-agent
install -p -D -m 755 %{SOURCE15} %{buildroot}%{_initrddir}/%{daemon_prefix}-dhcp-agent
install -p -D -m 755 %{SOURCE16} %{buildroot}%{_initrddir}/%{daemon_prefix}-l3-agent
install -p -D -m 755 %{SOURCE17} %{buildroot}%{_initrddir}/%{daemon_prefix}-ovs-cleanup
install -p -D -m 755 %{SOURCE18} %{buildroot}%{_initrddir}/%{daemon_prefix}-hyperv-agent
install -p -D -m 755 %{SOURCE19} %{buildroot}%{_initrddir}/%{daemon_prefix}-rpc-zmq-receiver
# Setup directories
install -d -m 755 %{buildroot}%{_sharedstatedir}/neutron
install -d -m 755 %{buildroot}%{_localstatedir}/log/neutron
install -d -m 755 %{buildroot}%{_localstatedir}/run/neutron
# Install version info file
cat > %{buildroot}%{_sysconfdir}/neutron/release <<EOF
[Neutron]
vendor = OpenStack LLC
product = OpenStack Neutron
package = %{release}
EOF
%else
rm -rf %{buildroot}/usr/etc/
%endif
%clean
rm -rf %{buildroot}
%if ! 0%{?usr_only}
%pre
getent group neutron >/dev/null || groupadd -r neutron
getent passwd neutron >/dev/null || \
useradd -r -g neutron -d %{_sharedstatedir}/neutron -s /sbin/nologin \
-c "OpenStack Neutron Daemons" neutron
exit 0
# Do not autostart daemons in %post since they are not configured yet
#end raw
#set $daemon_map = {"": ["server", "dhcp-agent", "l3-agent"], "linuxbridge": ["linuxbridge-agent"], "openvswitch": ["openvswitch-agent", "ovs-cleanup"], "ryu": ["ryu-agent"], "nec": ["nec-agent"]}
#for $key, $value in $daemon_map.iteritems()
#set $daemon_list = " ".join($value) if $value else $key
%preun $key
if [ \$1 -eq 0 ] ; then
for svc in $daemon_list; do
/sbin/service %{daemon_prefix}-\${svc} stop &>/dev/null
/sbin/chkconfig --del %{daemon_prefix}-\${svc}
done
exit 0
fi
%postun $key
if [ \$1 -ge 1 ] ; then
# Package upgrade, not uninstall
for svc in $daemon_list; do
/sbin/service %{daemon_prefix}-\${svc} condrestart &>/dev/null
done
exit 0
fi
#end for
%endif
#raw
%files
%doc README* LICENSE* HACKING* ChangeLog AUTHORS
%{_bindir}/neutron-db-manage
%{_bindir}/neutron-debug
%{_bindir}/neutron-dhcp-agent
%{_bindir}/neutron-dhcp-agent-dnsmasq-lease-update
%{_bindir}/neutron-l3-agent
%{_bindir}/neutron-lbaas-agent
%{_bindir}/neutron-metadata-agent
%{_bindir}/neutron-netns-cleanup
%{_bindir}/neutron-ns-metadata-proxy
%{_bindir}/neutron-rootwrap
%{_bindir}/neutron-rpc-zmq-receiver
%{_bindir}/neutron-server
%{_bindir}/neutron-usage-audit
%dir %{_datarootdir}/neutron
%dir %{_datarootdir}/neutron/rootwrap
%{_datarootdir}/neutron/rootwrap/dhcp.filters
%{_datarootdir}/neutron/rootwrap/iptables-firewall.filters
%{_datarootdir}/neutron/rootwrap/l3.filters
%{_datarootdir}/neutron/rootwrap/lbaas-haproxy.filters
%if ! 0%{?usr_only}
%{_initrddir}/%{daemon_prefix}-server
%{_initrddir}/%{daemon_prefix}-dhcp-agent
%{_initrddir}/%{daemon_prefix}-l3-agent
%{_initrddir}/%{daemon_prefix}-rpc-zmq-receiver
%dir %{_sysconfdir}/neutron
%{_sysconfdir}/neutron/release
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/api-paste.ini
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/dhcp_agent.ini
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/l3_agent.ini
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/metadata_agent.ini
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/lbaas_agent.ini
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/policy.json
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/neutron.conf
%config(noreplace) %{_sysconfdir}/neutron/rootwrap.conf
%dir %{_sysconfdir}/neutron/plugins
%config(noreplace) %{_sysconfdir}/logrotate.d/*
%config(noreplace) %{_sysconfdir}/sudoers.d/neutron
%dir %attr(0755, neutron, neutron) %{_sharedstatedir}/neutron
%dir %attr(0755, neutron, neutron) %{_localstatedir}/log/neutron
%dir %attr(0755, neutron, neutron) %{_localstatedir}/run/neutron
%endif
%files -n python-neutron
%doc LICENSE
%doc README
%{python_sitelib}/neutron
%exclude %{python_sitelib}/neutron/plugins/cisco/extensions/_credential_view.py*
%exclude %{python_sitelib}/neutron/plugins/cisco/extensions/credential.py*
%exclude %{python_sitelib}/neutron/plugins/cisco/extensions/qos.py*
%exclude %{python_sitelib}/neutron/plugins/cisco/extensions/_qos_view.py*
%exclude %{python_sitelib}/neutron/plugins/bigswitch
%exclude %{python_sitelib}/neutron/plugins/brocade
%exclude %{python_sitelib}/neutron/plugins/cisco
%exclude %{python_sitelib}/neutron/plugins/hyperv
%exclude %{python_sitelib}/neutron/plugins/linuxbridge
%exclude %{python_sitelib}/neutron/plugins/metaplugin
%exclude %{python_sitelib}/neutron/plugins/midonet
%exclude %{python_sitelib}/neutron/plugins/nec
%exclude %{python_sitelib}/neutron/plugins/nicira
%exclude %{python_sitelib}/neutron/plugins/openvswitch
%exclude %{python_sitelib}/neutron/plugins/plumgrid
%exclude %{python_sitelib}/neutron/plugins/ryu
%{python_sitelib}/neutron-*.egg-info
%files -n openstack-neutron-bigswitch
%doc LICENSE
%doc neutron/plugins/bigswitch/README
%{python_sitelib}/neutron/plugins/bigswitch
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/neutron/plugins/bigswitch
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/bigswitch/*.ini
%endif
%files -n openstack-neutron-brocade
%doc LICENSE
%doc neutron/plugins/brocade/README.md
%{python_sitelib}/neutron/plugins/brocade
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/neutron/plugins/brocade
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/brocade/*.ini
%endif
%files -n openstack-neutron-cisco
%doc LICENSE
%doc neutron/plugins/cisco/README
%{python_sitelib}/neutron/plugins/cisco/extensions/_credential_view.py*
%{python_sitelib}/neutron/plugins/cisco/extensions/credential.py*
%{python_sitelib}/neutron/plugins/cisco/extensions/qos.py*
%{python_sitelib}/neutron/plugins/cisco/extensions/_qos_view.py*
%{python_sitelib}/neutron/plugins/cisco
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/neutron/plugins/cisco
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/cisco/*.ini
%endif
%files -n openstack-neutron-hyperv
%doc LICENSE
#%%doc neutron/plugins/hyperv/README
%{_bindir}/neutron-hyperv-agent
%{python_sitelib}/neutron/plugins/hyperv
%exclude %{python_sitelib}/neutron/plugins/hyperv/agent
%if ! 0%{?usr_only}
%{_initrddir}/%{daemon_prefix}-hyperv-agent
%dir %{_sysconfdir}/neutron/plugins/hyperv
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/hyperv/*.ini
%endif
%files -n openstack-neutron-linuxbridge
%doc LICENSE
%doc neutron/plugins/linuxbridge/README
%{_bindir}/neutron-linuxbridge-agent
%{python_sitelib}/neutron/plugins/linuxbridge
%{_datarootdir}/neutron/rootwrap/linuxbridge-plugin.filters
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/neutron/plugins/linuxbridge
%{_initrddir}/%{daemon_prefix}-linuxbridge-agent
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/linuxbridge/*.ini
%endif
%files -n openstack-neutron-midonet
%doc LICENSE
#%%doc neutron/plugins/midonet/README
%{python_sitelib}/neutron/plugins/midonet
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/neutron/plugins/midonet
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/midonet/*.ini
%endif
%files -n openstack-neutron-nicira
%doc LICENSE
%doc neutron/plugins/nicira/nicira_nvp_plugin/README
%{_bindir}/neutron-check-nvp-config
%{python_sitelib}/neutron/plugins/nicira
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/neutron/plugins/nicira
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/nicira/*.ini
%endif
%files -n openstack-neutron-openvswitch
%doc LICENSE
%doc neutron/plugins/openvswitch/README
%{_bindir}/neutron-openvswitch-agent
%{_bindir}/neutron-ovs-cleanup
%{_datarootdir}/neutron/rootwrap/openvswitch-plugin.filters
%{python_sitelib}/neutron/plugins/openvswitch
%if ! 0%{?usr_only}
%{_initrddir}/%{daemon_prefix}-openvswitch-agent
%{_initrddir}/%{daemon_prefix}-ovs-cleanup
%dir %{_sysconfdir}/neutron/plugins/openvswitch
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/openvswitch/*.ini
%endif
%files -n openstack-neutron-plumgrid
%doc LICENSE
%doc neutron/plugins/plumgrid/README
%{python_sitelib}/neutron/plugins/plumgrid
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/neutron/plugins/plumgrid
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/plumgrid/*.ini
%endif
%files -n openstack-neutron-ryu
%doc LICENSE
%doc neutron/plugins/ryu/README
%{_bindir}/neutron-ryu-agent
%{python_sitelib}/neutron/plugins/ryu
%{_datarootdir}/neutron/rootwrap/ryu-plugin.filters
%if ! 0%{?usr_only}
%{_initrddir}/%{daemon_prefix}-ryu-agent
%dir %{_sysconfdir}/neutron/plugins/ryu
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/ryu/*.ini
%endif
%files -n openstack-neutron-nec
%doc LICENSE
%doc neutron/plugins/nec/README
%{_bindir}/neutron-nec-agent
%{python_sitelib}/neutron/plugins/nec
%{_datarootdir}/neutron/rootwrap/nec-plugin.filters
%if ! 0%{?usr_only}
%{_initrddir}/%{daemon_prefix}-nec-agent
%dir %{_sysconfdir}/neutron/plugins/nec
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/nec/*.ini
%endif
%files -n openstack-neutron-metaplugin
%doc LICENSE
%doc neutron/plugins/metaplugin/README
%{python_sitelib}/neutron/plugins/metaplugin
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/neutron/plugins/metaplugin
%config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/metaplugin/*.ini
%endif
%changelog
#end raw

View File

@ -1,639 +0,0 @@
#encoding UTF-8
# Based on spec by:
# * Terry Wilson <twilson@redhat.com>
# * Alan Pevec <apevec@redhat.com>
# * Martin Magr <mmagr@redhat.com>
# * Gary Kotton <gkotton@redhat.com>
# * Robert Kukura <rkukura@redhat.com>
# * Pádraig Brady <P@draigBrady.com>
%global python_name quantum
%global daemon_prefix openstack-quantum
%global os_version $version
%if ! (0%{?fedora} > 12 || 0%{?rhel} > 6)
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%endif
Name: openstack-quantum
Version: %{os_version}$version_suffix
Release: $release%{?dist}
Epoch: $epoch
Summary: Virtual network service for OpenStack (quantum)
Group: Applications/System
License: ASL 2.0
URL: http://launchpad.net/quantum/
Source0: %{python_name}-%{os_version}.tar.gz
Source1: quantum.logrotate
Source2: quantum-sudoers
Source10: quantum-server.init
Source11: quantum-linuxbridge-agent.init
Source12: quantum-openvswitch-agent.init
Source13: quantum-ryu-agent.init
Source14: quantum-nec-agent.init
Source15: quantum-dhcp-agent.init
Source16: quantum-l3-agent.init
Source17: quantum-ovs-cleanup.init
Source18: quantum-hyperv-agent.init
Source19: quantum-rpc-zmq-receiver.init
#for $idx, $fn in enumerate($patches)
Patch$idx: $fn
#end for
BuildArch: noarch
BuildRequires: python-devel
BuildRequires: python-setuptools
# Build require these parallel versions
# as setup.py build imports quantum.openstack.common.setup
# which will then check for these
# BuildRequires: python-sqlalchemy
# BuildRequires: python-webob
# BuildRequires: python-paste-deploy
# BuildRequires: python-routes
BuildRequires: dos2unix
Requires: python-quantum = %{epoch}:%{version}-%{release}
Requires: python-keystone
%if ! 0%{?usr_only}
Requires(post): chkconfig
Requires(postun): initscripts
Requires(preun): chkconfig
Requires(preun): initscripts
Requires(pre): shadow-utils
%endif
%description
Quantum is a virtual network service for Openstack. Just like
OpenStack Nova provides an API to dynamically request and configure
virtual servers, Quantum provides an API to dynamically request and
configure virtual networks. These networks connect "interfaces" from
other OpenStack services (e.g., virtual NICs from Nova VMs). The
Quantum API supports extensions to provide advanced network
capabilities (e.g., QoS, ACLs, network monitoring, etc.)
%package -n python-quantum
Summary: Quantum Python libraries
Group: Applications/System
Requires: sudo
#for $i in $requires
Requires: ${i}
#end for
%description -n python-quantum
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum Python library.
%package -n openstack-quantum-bigswitch
Summary: Quantum Big Switch plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
%description -n openstack-quantum-bigswitch
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using the FloodLight Openflow Controller or the Big Switch
Networks Controller.
%package -n openstack-quantum-brocade
Summary: Quantum Brocade plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
%description -n openstack-quantum-brocade
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using Brocade VCS switches running NOS.
%package -n openstack-quantum-cisco
Summary: Quantum Cisco plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
Requires: python-configobj
%description -n openstack-quantum-cisco
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using Cisco UCS and Nexus.
%package -n openstack-quantum-hyperv
Summary: Quantum Hyper-V plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
%description -n openstack-quantum-hyperv
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using Microsoft Hyper-V.
%package -n openstack-quantum-linuxbridge
Summary: Quantum linuxbridge plugin
Group: Applications/System
Requires: bridge-utils
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
Requires: python-pyudev
%description -n openstack-quantum-linuxbridge
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks as VLANs using Linux bridging.
%package -n openstack-quantum-midonet
Summary: Quantum MidoNet plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
%description -n openstack-quantum-midonet
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using MidoNet from Midokura.
%package -n openstack-quantum-nicira
Summary: Quantum Nicira plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
%description -n openstack-quantum-nicira
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using Nicira NVP.
%package -n openstack-quantum-openvswitch
Summary: Quantum openvswitch plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
Requires: openvswitch
%description -n openstack-quantum-openvswitch
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using Open vSwitch.
%package -n openstack-quantum-plumgrid
Summary: Quantum PLUMgrid plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
%description -n openstack-quantum-plumgrid
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using the PLUMgrid platform.
%package -n openstack-quantum-ryu
Summary: Quantum Ryu plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
%description -n openstack-quantum-ryu
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using the Ryu Network Operating System.
%package -n openstack-quantum-nec
Summary: Quantum NEC plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
%description -n openstack-quantum-nec
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using the NEC OpenFlow controller.
%package -n openstack-quantum-metaplugin
Summary: Quantum meta plugin
Group: Applications/System
Requires: openstack-quantum = %{epoch}:%{version}-%{release}
%description -n openstack-quantum-metaplugin
Quantum provides an API to dynamically request and configure virtual
networks.
This package contains the quantum plugin that implements virtual
networks using multiple other quantum plugins.
%prep
%setup -q -n quantum-%{os_version}
#for $idx, $fn in enumerate($patches)
%patch$idx -p1
#end for
#raw
find quantum -name \*.py -exec sed -i '/\/usr\/bin\/env python/d' {} \;
chmod 644 quantum/plugins/cisco/README
# Adjust configuration file content
sed -i 's/debug = True/debug = False/' etc/quantum.conf
sed -i 's/\# auth_strategy = keystone/auth_strategy = keystone/' etc/quantum.conf
# Remove unneeded dependency
sed -i '/setuptools_git/d' setup.py
# let RPM handle deps
sed -i '/setup_requires/d; /install_requires/d; /dependency_links/d' setup.py
%build
%{__python} setup.py build
%install
rm -rf %{buildroot}
%{__python} setup.py install -O1 --skip-build --root %{buildroot}
# Remove unused files
rm -rf %{buildroot}%{python_sitelib}/bin
rm -rf %{buildroot}%{python_sitelib}/doc
rm -rf %{buildroot}%{python_sitelib}/tools
rm -rf %{buildroot}%{python_sitelib}/quantum/tests
rm -rf %{buildroot}%{python_sitelib}/quantum/plugins/*/tests
rm -f %{buildroot}%{python_sitelib}/quantum/plugins/*/run_tests.*
rm %{buildroot}/usr/etc/init.d/quantum-server
# Install execs
install -p -D -m 755 bin/quantum-* %{buildroot}%{_bindir}/
# Move rootwrap files to proper location
install -d -m 755 %{buildroot}%{_datarootdir}/quantum/rootwrap
mv %{buildroot}/usr/etc/quantum/rootwrap.d/*.filters %{buildroot}%{_datarootdir}/quantum/rootwrap
%if ! 0%{?usr_only}
# Move config files to proper location
install -d -m 755 %{buildroot}%{_sysconfdir}/quantum
mv %{buildroot}/usr/etc/quantum/* %{buildroot}%{_sysconfdir}/quantum
chmod 640 %{buildroot}%{_sysconfdir}/quantum/plugins/*/*.ini
# Configure agents to use quantum-rootwrap
for f in %{buildroot}%{_sysconfdir}/quantum/plugins/*/*.ini %{buildroot}%{_sysconfdir}/quantum/*_agent.ini; do
sed -i 's/^root_helper.*/root_helper = sudo quantum-rootwrap \/etc\/quantum\/rootwrap.conf/g' $f
done
# Configure quantum-dhcp-agent state_path
sed -i 's/state_path = \/opt\/stack\/data/state_path = \/var\/lib\/quantum/' %{buildroot}%{_sysconfdir}/quantum/dhcp_agent.ini
# Install logrotate
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-quantum
# Install sudoers
install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/quantum
# Install sysv init scripts
install -p -D -m 755 %{SOURCE10} %{buildroot}%{_initrddir}/%{daemon_prefix}-server
install -p -D -m 755 %{SOURCE11} %{buildroot}%{_initrddir}/%{daemon_prefix}-linuxbridge-agent
install -p -D -m 755 %{SOURCE12} %{buildroot}%{_initrddir}/%{daemon_prefix}-openvswitch-agent
install -p -D -m 755 %{SOURCE13} %{buildroot}%{_initrddir}/%{daemon_prefix}-ryu-agent
install -p -D -m 755 %{SOURCE14} %{buildroot}%{_initrddir}/%{daemon_prefix}-nec-agent
install -p -D -m 755 %{SOURCE15} %{buildroot}%{_initrddir}/%{daemon_prefix}-dhcp-agent
install -p -D -m 755 %{SOURCE16} %{buildroot}%{_initrddir}/%{daemon_prefix}-l3-agent
install -p -D -m 755 %{SOURCE17} %{buildroot}%{_initrddir}/%{daemon_prefix}-ovs-cleanup
install -p -D -m 755 %{SOURCE18} %{buildroot}%{_initrddir}/%{daemon_prefix}-hyperv-agent
install -p -D -m 755 %{SOURCE19} %{buildroot}%{_initrddir}/%{daemon_prefix}-rpc-zmq-receiver
# Setup directories
install -d -m 755 %{buildroot}%{_sharedstatedir}/quantum
install -d -m 755 %{buildroot}%{_localstatedir}/log/quantum
install -d -m 755 %{buildroot}%{_localstatedir}/run/quantum
# Install version info file
cat > %{buildroot}%{_sysconfdir}/quantum/release <<EOF
[Quantum]
vendor = OpenStack LLC
product = OpenStack Quantum
package = %{release}
EOF
%else
rm -rf %{buildroot}/usr/etc/
%endif
%clean
rm -rf %{buildroot}
%if ! 0%{?usr_only}
%pre
getent group quantum >/dev/null || groupadd -r quantum
getent passwd quantum >/dev/null || \
useradd -r -g quantum -d %{_sharedstatedir}/quantum -s /sbin/nologin \
-c "OpenStack Quantum Daemons" quantum
exit 0
# Do not autostart daemons in %post since they are not configured yet
#end raw
#set $daemon_map = {"": ["server", "dhcp-agent", "l3-agent"], "linuxbridge": ["linuxbridge-agent"], "openvswitch": ["openvswitch-agent", "ovs-cleanup"], "ryu": ["ryu-agent"], "nec": ["nec-agent"]}
#for $key, $value in $daemon_map.iteritems()
#set $daemon_list = " ".join($value) if $value else $key
%preun $key
if [ \$1 -eq 0 ] ; then
for svc in $daemon_list; do
/sbin/service %{daemon_prefix}-\${svc} stop &>/dev/null
/sbin/chkconfig --del %{daemon_prefix}-\${svc}
done
exit 0
fi
%postun $key
if [ \$1 -ge 1 ] ; then
# Package upgrade, not uninstall
for svc in $daemon_list; do
/sbin/service %{daemon_prefix}-\${svc} condrestart &>/dev/null
done
exit 0
fi
#end for
%endif
#raw
%files
%doc README* LICENSE* HACKING* ChangeLog AUTHORS
%{_bindir}/quantum-db-manage
%{_bindir}/quantum-debug
%{_bindir}/quantum-dhcp-agent
%{_bindir}/quantum-dhcp-agent-dnsmasq-lease-update
%{_bindir}/quantum-l3-agent
%{_bindir}/quantum-lbaas-agent
%{_bindir}/quantum-metadata-agent
%{_bindir}/quantum-netns-cleanup
%{_bindir}/quantum-ns-metadata-proxy
%{_bindir}/quantum-rootwrap
%{_bindir}/quantum-rpc-zmq-receiver
%{_bindir}/quantum-server
%{_bindir}/quantum-usage-audit
%dir %{_datarootdir}/quantum
%dir %{_datarootdir}/quantum/rootwrap
%{_datarootdir}/quantum/rootwrap/dhcp.filters
%{_datarootdir}/quantum/rootwrap/iptables-firewall.filters
%{_datarootdir}/quantum/rootwrap/l3.filters
%{_datarootdir}/quantum/rootwrap/lbaas-haproxy.filters
%if ! 0%{?usr_only}
%{_initrddir}/%{daemon_prefix}-server
%{_initrddir}/%{daemon_prefix}-dhcp-agent
%{_initrddir}/%{daemon_prefix}-l3-agent
%{_initrddir}/%{daemon_prefix}-rpc-zmq-receiver
%dir %{_sysconfdir}/quantum
%{_sysconfdir}/quantum/release
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/api-paste.ini
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/dhcp_agent.ini
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/l3_agent.ini
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/metadata_agent.ini
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/lbaas_agent.ini
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/policy.json
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/quantum.conf
%config(noreplace) %{_sysconfdir}/quantum/rootwrap.conf
%dir %{_sysconfdir}/quantum/plugins
%config(noreplace) %{_sysconfdir}/logrotate.d/*
%config(noreplace) %{_sysconfdir}/sudoers.d/quantum
%dir %attr(0755, quantum, quantum) %{_sharedstatedir}/quantum
%dir %attr(0755, quantum, quantum) %{_localstatedir}/log/quantum
%dir %attr(0755, quantum, quantum) %{_localstatedir}/run/quantum
%endif
%files -n python-quantum
%doc LICENSE
%doc README
%{python_sitelib}/quantum
%exclude %{python_sitelib}/quantum/plugins/cisco/extensions/_credential_view.py*
%exclude %{python_sitelib}/quantum/plugins/cisco/extensions/credential.py*
%exclude %{python_sitelib}/quantum/plugins/cisco/extensions/qos.py*
%exclude %{python_sitelib}/quantum/plugins/cisco/extensions/_qos_view.py*
%exclude %{python_sitelib}/quantum/plugins/bigswitch
%exclude %{python_sitelib}/quantum/plugins/brocade
%exclude %{python_sitelib}/quantum/plugins/cisco
%exclude %{python_sitelib}/quantum/plugins/hyperv
%exclude %{python_sitelib}/quantum/plugins/linuxbridge
%exclude %{python_sitelib}/quantum/plugins/metaplugin
%exclude %{python_sitelib}/quantum/plugins/midonet
%exclude %{python_sitelib}/quantum/plugins/nec
%exclude %{python_sitelib}/quantum/plugins/nicira
%exclude %{python_sitelib}/quantum/plugins/openvswitch
%exclude %{python_sitelib}/quantum/plugins/plumgrid
%exclude %{python_sitelib}/quantum/plugins/ryu
%{python_sitelib}/quantum-*.egg-info
%files -n openstack-quantum-bigswitch
%doc LICENSE
%doc quantum/plugins/bigswitch/README
%{python_sitelib}/quantum/plugins/bigswitch
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/quantum/plugins/bigswitch
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/bigswitch/*.ini
%endif
%files -n openstack-quantum-brocade
%doc LICENSE
%doc quantum/plugins/brocade/README.md
%{python_sitelib}/quantum/plugins/brocade
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/quantum/plugins/brocade
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/brocade/*.ini
%endif
%files -n openstack-quantum-cisco
%doc LICENSE
%doc quantum/plugins/cisco/README
%{python_sitelib}/quantum/plugins/cisco/extensions/_credential_view.py*
%{python_sitelib}/quantum/plugins/cisco/extensions/credential.py*
%{python_sitelib}/quantum/plugins/cisco/extensions/qos.py*
%{python_sitelib}/quantum/plugins/cisco/extensions/_qos_view.py*
%{python_sitelib}/quantum/plugins/cisco
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/quantum/plugins/cisco
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/cisco/*.ini
%endif
%files -n openstack-quantum-hyperv
%doc LICENSE
#%%doc quantum/plugins/hyperv/README
%{_bindir}/quantum-hyperv-agent
%{python_sitelib}/quantum/plugins/hyperv
%exclude %{python_sitelib}/quantum/plugins/hyperv/agent
%if ! 0%{?usr_only}
%{_initrddir}/%{daemon_prefix}-hyperv-agent
%dir %{_sysconfdir}/quantum/plugins/hyperv
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/hyperv/*.ini
%endif
%files -n openstack-quantum-linuxbridge
%doc LICENSE
%doc quantum/plugins/linuxbridge/README
%{_bindir}/quantum-linuxbridge-agent
%{python_sitelib}/quantum/plugins/linuxbridge
%{_datarootdir}/quantum/rootwrap/linuxbridge-plugin.filters
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/quantum/plugins/linuxbridge
%{_initrddir}/%{daemon_prefix}-linuxbridge-agent
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/linuxbridge/*.ini
%endif
%files -n openstack-quantum-midonet
%doc LICENSE
#%%doc quantum/plugins/midonet/README
%{python_sitelib}/quantum/plugins/midonet
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/quantum/plugins/midonet
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/midonet/*.ini
%endif
%files -n openstack-quantum-nicira
%doc LICENSE
%doc quantum/plugins/nicira/nicira_nvp_plugin/README
%{_bindir}/quantum-check-nvp-config
%{python_sitelib}/quantum/plugins/nicira
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/quantum/plugins/nicira
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/nicira/*.ini
%endif
%files -n openstack-quantum-openvswitch
%doc LICENSE
%doc quantum/plugins/openvswitch/README
%{_bindir}/quantum-openvswitch-agent
%{_bindir}/quantum-ovs-cleanup
%{_datarootdir}/quantum/rootwrap/openvswitch-plugin.filters
%{python_sitelib}/quantum/plugins/openvswitch
%if ! 0%{?usr_only}
%{_initrddir}/%{daemon_prefix}-openvswitch-agent
%{_initrddir}/%{daemon_prefix}-ovs-cleanup
%dir %{_sysconfdir}/quantum/plugins/openvswitch
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/openvswitch/*.ini
%endif
%files -n openstack-quantum-plumgrid
%doc LICENSE
%doc quantum/plugins/plumgrid/README
%{python_sitelib}/quantum/plugins/plumgrid
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/quantum/plugins/plumgrid
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/plumgrid/*.ini
%endif
%files -n openstack-quantum-ryu
%doc LICENSE
%doc quantum/plugins/ryu/README
%{_bindir}/quantum-ryu-agent
%{python_sitelib}/quantum/plugins/ryu
%{_datarootdir}/quantum/rootwrap/ryu-plugin.filters
%if ! 0%{?usr_only}
%{_initrddir}/%{daemon_prefix}-ryu-agent
%dir %{_sysconfdir}/quantum/plugins/ryu
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/ryu/*.ini
%endif
%files -n openstack-quantum-nec
%doc LICENSE
%doc quantum/plugins/nec/README
%{_bindir}/quantum-nec-agent
%{python_sitelib}/quantum/plugins/nec
%{_datarootdir}/quantum/rootwrap/nec-plugin.filters
%if ! 0%{?usr_only}
%{_initrddir}/%{daemon_prefix}-nec-agent
%dir %{_sysconfdir}/quantum/plugins/nec
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/nec/*.ini
%endif
%files -n openstack-quantum-metaplugin
%doc LICENSE
%doc quantum/plugins/metaplugin/README
%{python_sitelib}/quantum/plugins/metaplugin
%if ! 0%{?usr_only}
%dir %{_sysconfdir}/quantum/plugins/metaplugin
%config(noreplace) %attr(0640, root, quantum) %{_sysconfdir}/quantum/plugins/metaplugin/*.ini
%endif
%changelog
#end raw

View File

@ -81,7 +81,7 @@ BuildRequires: python-dateutil
BuildRequires: python-glanceclient BuildRequires: python-glanceclient
BuildRequires: python-keystoneclient BuildRequires: python-keystoneclient
BuildRequires: python-novaclient BuildRequires: python-novaclient
BuildRequires: python-quantumclient BuildRequires: python-neutronclient
BuildRequires: python-cinderclient BuildRequires: python-cinderclient
BuildRequires: python-swiftclient BuildRequires: python-swiftclient

View File

@ -16,7 +16,7 @@ BuildRoot: %{_tmppath}/%{pkg_name}-%{version}-%{release}-buildroot
Prefix: %{_prefix} Prefix: %{_prefix}
BuildArch: noarch BuildArch: noarch
Vendor: OpenStack <nova@lists.launchpad.net> Vendor: OpenStack <nova@lists.launchpad.net>
Requires: python-sqlalchemy >= 0.7.8 python-sqlalchemy < 0.7.99 python-cheetah >= 2.4.4 python-amqplib >= 0.6.1 python-anyjson >= 0.2.4 python-argparse python-boto python-eventlet >= 0.9.17 python-kombu >= 1.0.4 python-lxml >= 2.3 python-routes >= 1.12.3 python-webob = 1.2.3 python-greenlet >= 0.3.1 python-pastedeploy >= 1.5 python-paste python-sqlalchemy-migrate >= 0.7.2 python-netaddr >= 0.7.6 python-suds >= 0.4 python-paramiko python-pyasn1 python-babel >= 0.9.6 python-iso8601 >= 0.1.4 python-httplib2 python-setuptools-git >= 0.4 python-cinderclient >= 2:1.0.1 python-quantumclient >= 2:2.2 python-quantumclient < 2:3 python-glanceclient >= 2:0.5 python-glanceclient < 2:2 python-keystoneclient >= 2:0.2 python-stevedore >= 0.7 python-websockify < 0.4 python-oslo-config >= 2:1.1 Requires: python-sqlalchemy >= 0.7.8 python-sqlalchemy < 0.7.99 python-cheetah >= 2.4.4 python-amqplib >= 0.6.1 python-anyjson >= 0.2.4 python-argparse python-boto python-eventlet >= 0.9.17 python-kombu >= 1.0.4 python-lxml >= 2.3 python-routes >= 1.12.3 python-webob = 1.2.3 python-greenlet >= 0.3.1 python-pastedeploy >= 1.5 python-paste python-sqlalchemy-migrate >= 0.7.2 python-netaddr >= 0.7.6 python-suds >= 0.4 python-paramiko python-pyasn1 python-babel >= 0.9.6 python-iso8601 >= 0.1.4 python-httplib2 python-setuptools-git >= 0.4 python-cinderclient >= 2:1.0.1 python-neutronclient >= 2:2.2 python-neutronclient < 2:3 python-glanceclient >= 2:0.5 python-glanceclient < 2:2 python-keystoneclient >= 2:0.2 python-stevedore >= 0.7 python-websockify < 0.4 python-oslo-config >= 2:1.1
Url: http://www.openstack.org/ Url: http://www.openstack.org/
%description %description

View File

@ -48,7 +48,7 @@ python-pep8.spec
python-prettytable.spec python-prettytable.spec
python-pygments.spec python-pygments.spec
python-pysqlite.spec python-pysqlite.spec
python-quantumclient.spec python-neutronclient.spec
python-repoze-lru.spec python-repoze-lru.spec
python-routes.spec python-routes.spec
python-setuptools-git.spec python-setuptools-git.spec

View File

@ -24,7 +24,7 @@ INFO: @anvil.actions.base : |-- glance
INFO: @anvil.actions.base : |-- cinder INFO: @anvil.actions.base : |-- cinder
INFO: @anvil.actions.base : |-- glance-client INFO: @anvil.actions.base : |-- glance-client
INFO: @anvil.actions.base : |-- cinder-client INFO: @anvil.actions.base : |-- cinder-client
INFO: @anvil.actions.base : |-- quantum-client INFO: @anvil.actions.base : |-- neutron-client
INFO: @anvil.actions.base : |-- nova INFO: @anvil.actions.base : |-- nova
INFO: @anvil.actions.base : |-- nova-client INFO: @anvil.actions.base : |-- nova-client
INFO: @anvil.actions.base : Booting up your components. INFO: @anvil.actions.base : Booting up your components.
@ -59,7 +59,7 @@ INFO: @anvil.actions.start : Starting glance-client.
INFO: @anvil.actions.start : Start 0 applications INFO: @anvil.actions.start : Start 0 applications
INFO: @anvil.actions.start : Starting cinder-client. INFO: @anvil.actions.start : Starting cinder-client.
INFO: @anvil.actions.start : Start 0 applications INFO: @anvil.actions.start : Start 0 applications
INFO: @anvil.actions.start : Starting quantum-client. INFO: @anvil.actions.start : Starting neutron-client.
INFO: @anvil.actions.start : Start 0 applications INFO: @anvil.actions.start : Start 0 applications
INFO: @anvil.actions.start : Starting nova. INFO: @anvil.actions.start : Starting nova.
INFO: @anvil.components.base_runtime : Starting program compute under component nova. INFO: @anvil.components.base_runtime : Starting program compute under component nova.
@ -103,7 +103,7 @@ INFO: @anvil.components.helpers.glance : Installed image named cirros-0.3.1-x86_
INFO: @anvil.actions.start : Post-starting cinder. INFO: @anvil.actions.start : Post-starting cinder.
INFO: @anvil.actions.start : Post-starting glance-client. INFO: @anvil.actions.start : Post-starting glance-client.
INFO: @anvil.actions.start : Post-starting cinder-client. INFO: @anvil.actions.start : Post-starting cinder-client.
INFO: @anvil.actions.start : Post-starting quantum-client. INFO: @anvil.actions.start : Post-starting neutron-client.
INFO: @anvil.actions.start : Post-starting nova. INFO: @anvil.actions.start : Post-starting nova.
INFO: @anvil.components.nova : Creating your nova network to be used with instances. INFO: @anvil.components.nova : Creating your nova network to be used with instances.
INFO: @anvil.components.nova : If you wish to re-run network initialization, delete /home/harlowja/openstack/nova/traces/nova.network.inited.yaml INFO: @anvil.components.nova : If you wish to re-run network initialization, delete /home/harlowja/openstack/nova/traces/nova.network.inited.yaml

View File

@ -23,7 +23,7 @@ INFO: @anvil.actions.base : |-- glance
INFO: @anvil.actions.base : |-- cinder INFO: @anvil.actions.base : |-- cinder
INFO: @anvil.actions.base : |-- glance-client INFO: @anvil.actions.base : |-- glance-client
INFO: @anvil.actions.base : |-- cinder-client INFO: @anvil.actions.base : |-- cinder-client
INFO: @anvil.actions.base : |-- quantum-client INFO: @anvil.actions.base : |-- neutron-client
INFO: @anvil.actions.base : |-- nova INFO: @anvil.actions.base : |-- nova
INFO: @anvil.actions.base : |-- nova-client INFO: @anvil.actions.base : |-- nova-client
INFO: @anvil.actions.base : Booting up your components. INFO: @anvil.actions.base : Booting up your components.
@ -45,7 +45,7 @@ INFO: @anvil.actions.status : |-- api is started.
INFO: @anvil.actions.status : |-- scheduler is started. INFO: @anvil.actions.status : |-- scheduler is started.
INFO: @anvil.actions.status : Status of glance-client is installed. INFO: @anvil.actions.status : Status of glance-client is installed.
INFO: @anvil.actions.status : Status of cinder-client is installed. INFO: @anvil.actions.status : Status of cinder-client is installed.
INFO: @anvil.actions.status : Status of quantum-client is installed. INFO: @anvil.actions.status : Status of neutron-client is installed.
INFO: @anvil.actions.status : Status of nova is: INFO: @anvil.actions.status : Status of nova is:
INFO: @anvil.actions.status : |-- compute is started. INFO: @anvil.actions.status : |-- compute is started.
INFO: @anvil.actions.status : |-- network is started. INFO: @anvil.actions.status : |-- network is started.

View File

@ -13,7 +13,7 @@ INFO: @anvil.actions.base : Processing components for action stop.
INFO: @anvil.actions.base : Activating in the following order: INFO: @anvil.actions.base : Activating in the following order:
INFO: @anvil.actions.base : |-- nova-client INFO: @anvil.actions.base : |-- nova-client
INFO: @anvil.actions.base : |-- nova INFO: @anvil.actions.base : |-- nova
INFO: @anvil.actions.base : |-- quantum-client INFO: @anvil.actions.base : |-- neutron-client
INFO: @anvil.actions.base : |-- cinder-client INFO: @anvil.actions.base : |-- cinder-client
INFO: @anvil.actions.base : |-- glance-client INFO: @anvil.actions.base : |-- glance-client
INFO: @anvil.actions.base : |-- cinder INFO: @anvil.actions.base : |-- cinder
@ -38,7 +38,7 @@ INFO: @anvil.components.base_runtime : Stopping program cert under component nov
INFO: @anvil.components.base_runtime : Stopping program api under component nova. INFO: @anvil.components.base_runtime : Stopping program api under component nova.
INFO: @anvil.components.base_runtime : Stopping program scheduler under component nova. INFO: @anvil.components.base_runtime : Stopping program scheduler under component nova.
INFO: @anvil.actions.stop : Stopped 6 items. INFO: @anvil.actions.stop : Stopped 6 items.
INFO: @anvil.actions.stop : Stopping quantum-client. INFO: @anvil.actions.stop : Stopping neutron-client.
INFO: @anvil.actions.stop : Stopped 0 items. INFO: @anvil.actions.stop : Stopped 0 items.
INFO: @anvil.actions.stop : Stopping cinder-client. INFO: @anvil.actions.stop : Stopping cinder-client.
INFO: @anvil.actions.stop : Stopped 0 items. INFO: @anvil.actions.stop : Stopped 0 items.