File openstack-neutron.spec of Package openstack-neutron

#
# spec file for package openstack-neutron
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


%define component neutron
%define groupname %{component}
%define username %{component}

%if ! %{defined _rundir}
%define _rundir %{_localstatedir}/run
%endif

%define version_unconverted 2014.2.4.dev106

Name:           openstack-neutron
Version:        2014.2.4.juno
Release:        0
Summary:        OpenStack Network
License:        Apache-2.0
Group:          System/Management
Url:            https://launchpad.net/neutron
Source:         http://tarballs.openstack.org/neutron/neutron-stable-juno.tar.gz
Source1:        openstack-%{component}.init
Source2:        %{name}.logrotate
%if 0%{?suse_version} > 1110
Source3:        neutron-sudoers
%else
Source3:        neutron-sudoers.sle11
%endif
Source4:        openstack-%{component}-plugin.init
Source5:        sysconfig.neutron
Source6:        openstack-%{component}-ovs-cleanup.init
%if 0%{?suse_version} > 1230
Source10:       %name.conf
BuildRequires:  systemd
%endif
Patch2:         0001-Use-j-NOTRACK-instead-of-j-CT-notrack.patch
# Support of Infoblox IPAM. Upstream code is at:
# https://github.com/infobloxopen/neutron/tree/stable/juno
Patch10:        infoblox-ipam-juno.patch
Patch11:        infoblox-sources-txt.patch
Source20:       https://raw.githubusercontent.com/SUSE-Cloud/cookbook-openstack-network/neutron-ha-tool-maintenance/files/default/neutron-ha-tool.py
Patch20:        neutron-ha-tool_python26-ordereddict.patch
Patch23:        0001-Add-z-VM-mechanism-driver-definitions-to-support-IBM.patch
Patch24:        0001-Always-fill-UDP-checksums-in-DHCP-replies.patch
BuildRequires:  crudini
BuildRequires:  fdupes
BuildRequires:  openstack-suse-macros
BuildRequires:  openstack-suse-sudo
BuildRequires:  python-devel
BuildRequires:  python-pbr
# Documentation build requirements:
BuildRequires:  python-Sphinx
BuildRequires:  python-oslosphinx
Requires:       logrotate
Requires:       openstack-suse-sudo
Requires:       python >= 2.6.8
Requires:       python-neutron = %{version}
Requires:       python-oslo.config >= 1.4.0
Provides:       openstack-quantum = 2013.2.0
Obsoletes:      openstack-quantum < 2013.2.0
Requires(pre):  pwdutils
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%py_requires
%else
BuildArch:      noarch
%endif
PreReq:         %fillup_prereq

%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., vNICs 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:        OpenStack Network - Python module
Group:          Development/Languages/Python
Requires:       python >= 2.6.8
Requires:       python-Jinja2
Requires:       python-Paste
Requires:       python-PasteDeploy >= 1.5.0
Requires:       python-Routes >= 1.12.3
Requires:       python-SQLAlchemy >= 0.8.4
Requires:       python-WebOb >= 1.2.3
Requires:       python-alembic >= 0.6.4
Requires:       python-anyjson >= 0.3.3
Requires:       python-eventlet >= 0.15.1
Requires:       python-greenlet >= 0.3.2
Requires:       python-httplib2 >= 0.7.5
Requires:       python-iso8601 >= 0.1.9
Requires:       python-jsonrpclib
Requires:       python-keystoneclient >= 0.10.0
Requires:       python-keystonemiddleware >= 1.0.0
Requires:       python-kombu >= 2.4.8
Requires:       python-netaddr >= 0.7.12
Requires:       python-neutronclient >= 2.3.6
Requires:       python-novaclient >= 2.18.0
Requires:       python-oslo.config >= 1.4.0
Requires:       python-oslo.db >= 1.0.0
Requires:       python-oslo.messaging >= 1.4.0
Requires:       python-oslo.rootwrap >= 1.3.0
Requires:       python-pbr >= 0.6
Requires:       python-requests >= 2.1.0
Requires:       python-six >= 1.7.0
Requires:       python-stevedore >= 1.0.0
Requires:       python-taskflow >= 0.1.3
Provides:       python-quantum = 2013.2.0
Obsoletes:      python-quantum < 2013.2.0

%description -n python-neutron
This package contains the core Python module of OpenStack Neutron.

%package server
Summary:        OpenStack Network - Python module
Group:          Development/Languages/Python
PreReq:         %name = %version
Requires:       python-Babel >= 1.3
Requires:       crudini
Provides:       openstack-quantum-server = 2013.2.0
Obsoletes:      openstack-quantum-server < 2013.2.0

%description server
This package provides the Neutron server

%package dhcp-agent
Summary:        OpenStack Network - DHCP Agent
Group:          Development/Languages/Python
PreReq:         %name = %version
Requires:       dnsmasq >= 2.63
%if 0%{?suse_version} >= 1310
Requires:       dnsmasq-utils
%endif
Provides:       openstack-quantum-dhcp-agent = 2013.2.0
Obsoletes:      openstack-quantum-dhcp-agent < 2013.2.0

%description dhcp-agent
This package provides the DHCP Agent.

%package hyperv-agent
Summary:        OpenStack Network - Hyper-V Agent
Group:          Development/Languages/Python
PreReq:         %name = %version
Provides:       openstack-quantum-hyperv-agent = 2013.2.0
Obsoletes:      openstack-quantum-hyperv-agent < 2013.2.0

%description hyperv-agent
This package provides the Hyper-V Agent.

%package l3-agent
Summary:        OpenStack Network Service (Neutron) - L3 Agent
Group:          Development/Languages/Python
PreReq:         %name = %version
%if 0%{?suse_version} >= 1310
Requires:       conntrack-tools
%endif
Provides:       openstack-quantum-l3-agent = 2013.2.0
Obsoletes:      openstack-quantum-l3-agent < 2013.2.0

%description l3-agent
This package provides the L3 Agent.

%package lbaas-agent
Summary:        OpenStack Network - Load Balancing Agent
Group:          Development/Languages/Python
PreReq:         %name = %version
Requires:       haproxy
Provides:       openstack-quantum-lbaas-agent = 2013.2.0
Obsoletes:      openstack-quantum-lbaas-agent < 2013.2.0

%description lbaas-agent
This package provides the Load Balancing as a Service Agent.


%package linuxbridge-agent
Summary:        OpenStack Network - Linux Bridge Agent
Group:          Development/Languages/Python
Provides:       openstack-neutron-agent = %version
PreReq:         %name = %version
Requires:       ipset
Requires:       iptables
Provides:       openstack-quantum-linuxbridge-agent = 2013.2.0
Obsoletes:      openstack-quantum-linuxbridge-agent < 2013.2.0

%description linuxbridge-agent
This package provides the Linux Bridge Agent.

%package metadata-agent
Summary:        OpenStack Network - Meta Data Agent
Group:          Development/Languages/Python
PreReq:         %name = %version
Provides:       openstack-quantum-metadata-agent = 2013.2.0
Obsoletes:      openstack-quantum-metadata-agent < 2013.2.0

%description metadata-agent
This package provides the Meta Data Agent.

%package restproxy-agent
Summary:        OpenStack Network - REST Proxy Agent
Group:          Development/Languages/Python
PreReq:         %name = %version

%description restproxy-agent
This package provides the REST Proxy Agent.

%package metering-agent
Summary:        OpenStack Network - Metering Agent
Group:          Development/Languages/Python
PreReq:         %name = %version

%description metering-agent
This package provides the Metering Agent.

%package mlnx-agent
Summary:        OpenStack Network - Mellanox Plugin
Group:          Development/Languages/Python
PreReq:         %name = %version
Provides:       openstack-quantum-mlnx-agent = 2013.2.0
Obsoletes:      openstack-quantum-mlnx-agent < 2013.2.0

%description mlnx-agent
This package provides the Mellanox Agent

%package ibm-agent
Summary:        OpenStack Network - IBM Agent
Group:          Development/Languages/Python
PreReq:         %name = %version
Provides:       openstack-neutron-agent = %version

%description ibm-agent
This package provides the IBM Agent.

%package nec-agent
Summary:        OpenStack Network - NEC Agent
Group:          Development/Languages/Python
PreReq:         %name = %version
Provides:       openstack-neutron-agent = %version
Provides:       openstack-quantum-nec-agent = 2013.2.0
Obsoletes:      openstack-quantum-nec-agent < 2013.2.0

%description nec-agent
This package provides the NEC Agent.

%package ryu-agent
Summary:        OpenStack Network - ryu Agent
Group:          Development/Languages/Python
Provides:       openstack-neutron-agent = %version
PreReq:         %name = %version
Provides:       openstack-quantum-ryu-agent = 2013.2.0
Obsoletes:      openstack-quantum-ryu-agent < 2013.2.0

%description ryu-agent
This package provides the ryu Agent.

%package openvswitch-agent
Summary:        OpenStack Network - Open vSwitch
Group:          Development/Languages/Python
Provides:       openstack-neutron-agent = %version
PreReq:         %name = %version
Requires:       ipset
Requires:       iptables
Requires:       openvswitch-switch
Provides:       openstack-quantum-openvswitch-agent = 2013.2.0
Obsoletes:      openstack-quantum-openvswitch-agent < 2013.2.0

%description openvswitch-agent
This package provides the OpenVSwitch Agent.

%package vpn-agent
Summary:        OpenStack Network - VPN Agent
Group:          Development/Languages/Python
PreReq:         %name = %version
Requires:       strongswan

%description vpn-agent
This package provides the VPN Agent.

%package nvsd-agent
Summary:        OpenStack Network - One Convergence NVSD Agent
Group:          Development/Languages/Python
PreReq:         %name = %version

%description nvsd-agent
This package provides the One Convergence NVSD Agent.

%package plugin-cisco
Summary:        OpenStack Network - Cisco Plugin (openvswitch based)
Group:          Development/Languages/Python
Provides:       openstack-neuton-plugin-cisco = %version
PreReq:         %name = %version
PreReq:         %name-server = %version
Requires:       openvswitch-switch
Requires:       python >= 2.6.8
Requires:       python-configobj
Requires:       python-ncclient

%description plugin-cisco
This package provides cisco plugin for OpenStack Network server.

%package test
Summary:        OpenStack Network - Testsuite
Group:          Development/Languages/Python
Requires:       %{name} = %{version}
Requires:       python-WebTest >= 2.0
Requires:       python-cliff >= 1.7.0
Requires:       python-configobj
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
Requires:       python-discover
%endif
Requires:       python-fixtures >= 0.3.14
Requires:       python-mock >= 1.0
Requires:       python-python-subunit >= 0.0.18
Requires:       python-testrepository >= 0.0.18
Requires:       python-testtools >= 0.9.34
Provides:       openstack-quantum-test = 2013.2.0
Obsoletes:      openstack-quantum-test < 2013.2.0

%description test
The OpenStack Neutron testsuite. It is used to verify the functionality
of OpenStack Neutron.

%package ha-tool
Summary:        OpenStack Network - HA tool for L3 agent
Group:          Development/Languages/Python
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
Requires:       python-ordereddict
%endif
Requires:       python-neutronclient >= 2.3.6
Requires:       python-retrying

%description ha-tool
This package provides a high availability tool for neutron networking that is
able to find offline l3 agents and migrate them to another online agents.

%prep
%setup -q -n %{component}-%{version_unconverted}
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%patch2 -p1
%endif
%patch10 -p1
%patch11 -p1
%patch23 -p1
%if !(0%{?suse_version} && 0%{?suse_version} <= 1110)
%patch24 -p1
%endif
%openstack_cleanup_prep

%build
cp %{SOURCE20} .
%if 0%{?suse_version} && 0%{?suse_version} <= 1110
patch -p0 -i %{PATCH20}
%endif

python setup.py build
python setup.py build_sphinx -b man

%install
python setup.py install --skip-build --prefix=%{_prefix} --root=%{buildroot} --install-data=/

### directories
install -d -m 755 %{buildroot}%{_localstatedir}/{lib,log}/%{component}
install -d -m 750 %{buildroot}%{_localstatedir}/cache/%{component}
install -d -m 700 %{buildroot}%{_rundir}/%{component}
%if 0%{?suse_version} > 1230
install -D -m 644 %{SOURCE10} %{buildroot}/%_tmpfilesdir/%name.conf
%endif

### configuration files
# all needed files are installed automatically
install -d -m 755 %{buildroot}%{_sysconfdir}/%{component}
install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}

### init scripts
rm %{buildroot}%{_initddir}/%{component}-server
install -p -D -m 755 %{SOURCE1} %{buildroot}%{_initddir}/openstack-%{component}
mkdir -p %{buildroot}%{_sbindir}
ln -s ../..%{_initddir}/openstack-%{component} %{buildroot}%{_sbindir}/rcopenstack-%{component}

agents=(\
     l3-agent \
     lbaas-agent \
     dhcp-agent \
     openvswitch-agent \
     linuxbridge-agent \
     metadata-agent \
     restproxy-agent \
     metering-agent \
     mlnx-agent \
     vpn-agent \
     nvsd-agent \
     cisco-apic-host-agent \
     cisco-apic-service-agent
)
agentPaths=(
     /etc/%{component}/l3_agent.ini \
     /etc/%{component}/lbaas_agent.ini \
     /etc/%{component}/dhcp_agent.ini  \
     /etc/%{component}/plugins/openvswitch/ovs_neutron_plugin.ini \
     /etc/%{component}/plugins/linuxbridge/linuxbridge_conf.ini \
     /etc/%{component}/metadata_agent.ini \
     /etc/%{component}/plugins/ml2/restproxy.ini \
     /etc/%{component}/metering_agent.ini \
     /etc/%{component}/plugins/mlnx-agent.ini \
     /etc/%{component}/vpn_agent.ini \
     /etc/%{component}/plugins/oneconvergence/nvsdplugin.ini
)
agentExtra=(
     --config-file=/etc/%{component}/fwaas_driver.ini
)

for i in ${!agents[@]} ; do
  install -D -m 755 %{SOURCE4} %{buildroot}%{_initddir}/openstack-%{component}-${agents[$i]}
  sed -i -e "s,__NAME__,${agents[$i]},g" %{buildroot}%{_initddir}/openstack-%{component}-${agents[$i]}
  if [ ! -z ${agentPaths[$i]} ] ; then
    sed -i -e "s,__PLUGIN_CONFFILE__,${agentPaths[$i]},g" %{buildroot}%{_initddir}/openstack-%{component}-${agents[$i]}
  else
    sed -i -e "s,__PLUGIN_CONFFILE__,,g" %{buildroot}%{_initddir}/openstack-%{component}-${agents[$i]}
  fi
  sed -i -e "s,__PLUGIN_ARGS__,${agentExtra[$i]},g" %{buildroot}%{_initddir}/openstack-%{component}-${agents[$i]}
  ln -s ../..%{_initddir}/openstack-%{component}-${agents[$i]} %{buildroot}%{_sbindir}/rcopenstack-%{component}-${agents[$i]}
done

%if 0%{?suse_version} && 0%{?suse_version} < 1310
OPENVSWITCH_SERVICE="openvswitch-switch"
%else
OPENVSWITCH_SERVICE="openvswitch"
%endif
install -D -m 755 %{SOURCE6} %{buildroot}%{_initddir}/openstack-%{component}-ovs-cleanup
sed -i -e "s,__OPENVSWITCH_SERVICE__,$OPENVSWITCH_SERVICE,g" %{buildroot}%{_initddir}/openstack-%{component}-ovs-cleanup
ln -s ../..%{_initddir}/openstack-%{component}-ovs-cleanup %{buildroot}%{_sbindir}/rcopenstack-%{component}-ovs-cleanup

### sudoers configuration for nova-rootwrap:
install -D -m 440 %{SOURCE3} %{buildroot}%{_sysconfdir}/sudoers.d/openstack-neutron

### documentation
install -d %{buildroot}%{_mandir}/man1
install -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1

## SUSE configuration defaults
%define neutron_conf %{buildroot}/etc/neutron/neutron.conf
%define plugin_dir %{buildroot}/etc/neutron/plugins/
crudini --set %{neutron_conf} DEFAULT verbose True
crudini --set %{neutron_conf} DEFAULT core_plugin neutron.plugins.ml2.plugin.Ml2Plugin
crudini --set %{neutron_conf} DEFAULT service_plugins "neutron.services.l3_router.l3_router_plugin.L3RouterPlugin, neutron.services.loadbalancer.plugin.LoadBalancerPlugin, neutron.services.vpn.plugin.VPNDriverPlugin, neutron.services.firewall.fwaas_plugin.FirewallPlugin"
crudini --set %{neutron_conf} DEFAULT state_path /var/lib/neutron
crudini --set %{neutron_conf} agent root_helper "sudo neutron-rootwrap /etc/neutron/rootwrap.conf"
crudini --set %{neutron_conf} DEFAULT log_dir /var/log/neutron
crudini --set %{neutron_conf} DEFAULT lock_path /var/run/%component
crudini --set %{neutron_conf} keystone_authtoken signing_dir /var/cache/%component/keystone-signing
for i in dhcp_agent.ini l3_agent.ini lbaas_agent.ini; do
  crudini --set %{buildroot}/etc/neutron/$i DEFAULT interface_driver neutron.agent.linux.interface.BridgeInterfaceDriver
done
crudini --set %{buildroot}/etc/neutron/dhcp_agent.ini DEFAULT dhcp_delete_namespaces True
crudini --set %{buildroot}/etc/neutron/fwaas_driver.ini fwaas driver neutron.services.firewall.drivers.linux.iptables_fwaas.IptablesFwaasDriver
crudini --set %{buildroot}/etc/neutron/fwaas_driver.ini fwaas enabled True

crudini --set %{buildroot}/etc/neutron/l3_agent.ini DEFAULT external_network_bridge "br-ex"
crudini --set %{buildroot}/etc/neutron/l3_agent.ini DEFAULT external_network_bridge ""
crudini --set %plugin_dir/ml2/ml2_conf.ini ml2 mechanism_drivers linuxbridge
crudini --set %plugin_dir/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
crudini --set %plugin_dir/linuxbridge/linuxbridge_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

### test subpackage
%openstack_test_package_install
%fdupes %{buildroot}%{_localstatedir}/lib/%{name}-test

#TODO/FIXME: there's an upstream discussion on how to install these,
# it's related to setuptools_git / MANIFEST.in issues.
for i in \
         neutron/tests/etc/rootwrap.d/neutron.test.filters \
         neutron/tests/etc/api-paste.ini.test \
         neutron/tests/etc/neutron.conf.test ; do
    install -m 0644 -D $i %{buildroot}%{python_sitelib}/$i
done

### ha tool
install -m 755 neutron-ha-tool.py %{buildroot}%{_bindir}/neutron-ha-tool

### sysconfig

install -d -m 755 %{buildroot}/var/adm/fillup-templates
install -m 644 %{S:5} %{buildroot}/var/adm/fillup-templates

### misc
%fdupes %{buildroot}%{python_sitelib}/%{component}
%fdupes %{buildroot}%{_bindir}

### authentication cache dir
mkdir -p %{buildroot}%{_localstatedir}/cache/%{component}

%pre
%openstack_pre_user_group_create %{username} %{groupname}

%post server
%{fillup_and_insserv -f openstack-%{component}}

%preun server
%stop_on_removal openstack-%{component}

%postun server
%restart_on_update openstack-%{component}
%insserv_cleanup

%post
%{fillup_only -n neutron}

%files
%defattr(-,root,root,-)
%doc LICENSE README.rst
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%config %{_sysconfdir}/sudoers.d/openstack-neutron
%dir %{_sysconfdir}/%{component}
%config(noreplace) %{_sysconfdir}/%{component}/api-paste.ini
%config %{_sysconfdir}/%{component}/policy.json
%config(noreplace) %attr(0640, root, %{groupname}) %{_sysconfdir}/%{component}/neutron.conf
%config %{_sysconfdir}/%{component}/rootwrap.conf
%dir %{_sysconfdir}/%{component}/rootwrap.d/
%dir %attr(0755, %{username}, %{groupname}) %{_localstatedir}/lib/%{component}
%dir %attr(0750, %{username}, %{groupname}) %{_localstatedir}/log/%{component}
%dir %attr(0750, %{username}, %{groupname}) %{_localstatedir}/cache/%{component}
%if 0%{?suse_version} > 1230
%_tmpfilesdir/%name.conf
%else
%dir %attr(0700, %{username}, %{groupname}) %{_rundir}/%{component}
%endif
%dir %{_sysconfdir}/%{component}/plugins
%dir %{_sysconfdir}/%{component}/plugins/bigswitch/
%dir %{_sysconfdir}/%{component}/plugins/bigswitch/ssl/
%dir %{_sysconfdir}/%{component}/plugins/bigswitch/ssl/ca_certs/
%dir %{_sysconfdir}/%{component}/plugins/bigswitch/ssl/host_certs/
%dir %{_sysconfdir}/%{component}/plugins/brocade/
%dir %{_sysconfdir}/%{component}/plugins/hyperv/
%dir %{_sysconfdir}/%{component}/plugins/embrane/
%dir %{_sysconfdir}/%{component}/plugins/metaplugin/
%dir %{_sysconfdir}/%{component}/plugins/midonet/
%dir %{_sysconfdir}/%{component}/plugins/ml2/
%dir %{_sysconfdir}/%{component}/plugins/nuage/
%dir %{_sysconfdir}/%{component}/plugins/vmware/
%dir %{_sysconfdir}/%{component}/plugins/oneconvergence/
%dir %{_sysconfdir}/%{component}/plugins/opencontrail/
%dir %{_sysconfdir}/%{component}/plugins/plumgrid/
%{_sysconfdir}/%{component}/plugins/bigswitch/ssl/ca_certs/README
%{_sysconfdir}/%{component}/plugins/bigswitch/ssl/host_certs/README
%config(noreplace) %{_sysconfdir}/%{component}/plugins/bigswitch/restproxy.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/brocade/brocade.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/embrane/heleos_conf.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/hyperv/hyperv_neutron_plugin.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/linuxbridge/linuxbridge_conf.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/metaplugin/metaplugin.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/midonet/midonet.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/nuage/nuage_plugin.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/nuage_plugin.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/ml2_conf.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/ml2_conf_arista.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/ml2_conf_brocade.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/ml2_conf_fslsdn.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/ml2_conf_mlnx.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/ml2_conf_ncs.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/ml2_conf_cisco.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/ml2_conf_odl.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/ml2_conf_ofa.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/ml2_conf_sriov.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ml2/restproxy.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/vmware/nsx.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/opencontrail/contrailplugin.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/openvswitch/ovs_neutron_plugin.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/plumgrid/plumgrid.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/cisco/cisco_cfg_agent.ini
%config(noreplace) %{_sysconfdir}/%{component}/fwaas_driver.ini
%config %{_sysconfdir}/%{component}/rootwrap.d/iptables-firewall.filters
%config %{_sysconfdir}/%{component}/rootwrap.d/ipset-firewall.filters
%config %{_sysconfdir}/%{component}/rootwrap.d/ebtables.filters
%{_bindir}/%{component}-debug
%{_bindir}/neutron-nsx-manage
%{_bindir}/%{component}-check-nsx-config
%{_bindir}/%{component}-netns-cleanup
%{_bindir}/%{component}-ns-metadata-proxy
%{_bindir}/%{component}-rootwrap
%{_bindir}/%{component}-sanity-check
%{_bindir}/%{component}-sriov-nic-agent
%{_bindir}/%{component}-rootwrap-xen-dom0
%{_bindir}/%{component}-usage-audit
%{_bindir}/%{component}-cisco-cfg-agent
%{_mandir}/man1/%{component}-server.1%{?ext_man}
/var/adm/fillup-templates/sysconfig.neutron

%files dhcp-agent
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/%{component}-dhcp-agent
%{_initddir}/openstack-%{component}-dhcp-agent
%{_sbindir}/rcopenstack-%{component}-dhcp-agent
%config(noreplace) %{_sysconfdir}/%{component}/dhcp_agent.ini
%config %{_sysconfdir}/%{component}/rootwrap.d/dhcp.filters

%files hyperv-agent
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/%{component}-hyperv-agent
%dir %{_sysconfdir}/%{component}/plugins/hyperv/

%files l3-agent
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/%{component}-l3-agent
%config %{_sysconfdir}/%{component}/rootwrap.d/l3.filters
%config(noreplace) %{_sysconfdir}/%{component}/l3_agent.ini
%{_initddir}/openstack-%{component}-l3-agent
%{_sbindir}/rcopenstack-%{component}-l3-agent

%files lbaas-agent
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/%{component}-lbaas-agent
%config(noreplace) %{_sysconfdir}/%{component}/lbaas_agent.ini
%config %{_sysconfdir}/%{component}/rootwrap.d/lbaas-haproxy.filters
%{_initddir}/openstack-%{component}-lbaas-agent
%{_sbindir}/rcopenstack-%{component}-lbaas-agent

%files metadata-agent
%defattr(-,root,root,-)
%doc LICENSE
%config(noreplace) %{_sysconfdir}/%{component}/metadata_agent.ini
%{_bindir}/%{component}-metadata-agent
%{_initddir}/openstack-%{component}-metadata-agent
%{_sbindir}/rcopenstack-%{component}-metadata-agent

%files restproxy-agent
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/%{component}-restproxy-agent
%{_initddir}/openstack-%{component}-restproxy-agent
%{_sbindir}/rcopenstack-%{component}-restproxy-agent

%files metering-agent
%defattr(-,root,root,-)
%doc LICENSE
%config(noreplace) %{_sysconfdir}/%{component}/metering_agent.ini
%{_bindir}/%{component}-metering-agent
%{_initddir}/openstack-%{component}-metering-agent
%{_sbindir}/rcopenstack-%{component}-metering-agent

%files mlnx-agent
%defattr(-,root,root,-)
%doc LICENSE
%dir %{_sysconfdir}/%{component}/plugins/mlnx
%config(noreplace) %{_sysconfdir}/%{component}/plugins/mlnx/mlnx_conf.ini
%{_bindir}/%{component}-mlnx-agent
%{_initddir}/openstack-%{component}-mlnx-agent
%{_sbindir}/rcopenstack-%{component}-mlnx-agent

%files ibm-agent
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/%{component}-ibm-agent
%dir %{_sysconfdir}/%{component}/plugins/ibm/
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ibm/sdnve_neutron_plugin.ini

%files nec-agent
%defattr(-,root,root,-)
%doc LICENSE
%config %{_sysconfdir}/%{component}/rootwrap.d/nec-plugin.filters
%{_bindir}/%{component}-nec-agent
%dir %{_sysconfdir}/%{component}/plugins/nec/
%config(noreplace) %{_sysconfdir}/%{component}/plugins/nec/nec.ini

%files ryu-agent
%defattr(-,root,root,-)
%doc LICENSE
%config %{_sysconfdir}/%{component}/rootwrap.d/ryu-plugin.filters
%{_bindir}/%{component}-ryu-agent
%{_bindir}/%{component}-ofagent-agent
%dir %{_sysconfdir}/%{component}/plugins/ryu/
%config(noreplace) %{_sysconfdir}/%{component}/plugins/ryu/ryu.ini

%files linuxbridge-agent
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/%{component}-linuxbridge-agent
%config %{_sysconfdir}/%{component}/rootwrap.d/linuxbridge-plugin.filters
%dir %{_sysconfdir}/%{component}/plugins/linuxbridge/
%{_initddir}/openstack-%{component}-linuxbridge-agent
%{_sbindir}/rcopenstack-%{component}-linuxbridge-agent

%files openvswitch-agent
%defattr(-,root,root,-)
%doc LICENSE
%dir %{_sysconfdir}/%{component}/plugins/openvswitch/
%{_bindir}/%{component}-openvswitch-agent
%{_bindir}/%{component}-ovs-cleanup
%{_initddir}/openstack-%{component}-ovs-cleanup
%{_sbindir}/rcopenstack-%{component}-ovs-cleanup
%config %{_sysconfdir}/%{component}/rootwrap.d/openvswitch-plugin.filters
%{_initddir}/openstack-%{component}-openvswitch-agent
%{_sbindir}/rcopenstack-%{component}-openvswitch-agent

%files vpn-agent
%defattr(-,root,root,-)
%doc LICENSE
%config(noreplace) %{_sysconfdir}/%{component}/vpn_agent.ini
%{_bindir}/%{component}-vpn-agent
%{_initddir}/openstack-%{component}-vpn-agent
%{_sbindir}/rcopenstack-%{component}-vpn-agent
%config %{_sysconfdir}/%{component}/rootwrap.d/vpnaas.filters

%files nvsd-agent
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/neutron-nvsd-agent
%{_initddir}/openstack-%{component}-nvsd-agent
%{_sbindir}/rcopenstack-%{component}-nvsd-agent
%config(noreplace) %{_sysconfdir}/%{component}/plugins/oneconvergence/nvsdplugin.ini

%files server
%defattr(-,root,root,-)
%doc LICENSE
%{_bindir}/%{component}-server
%{_bindir}/%{component}-db-manage
%{_initddir}/openstack-%{component}
%{_sbindir}/rcopenstack-%{component}

%files -n python-neutron
%defattr(-,root,root,-)
%doc LICENSE
%{python_sitelib}/%{component}/
%{python_sitelib}/%{component}-*.egg-info
# Part of test subpackage
%exclude %{python_sitelib}/%{component}/tests/

%files plugin-cisco
%defattr(-,root,root)
%dir %{_sysconfdir}/%{component}/plugins/cisco/
%{_bindir}/neutron-cisco-apic-host-agent
%{_bindir}/neutron-cisco-apic-service-agent
%{_initddir}/openstack-%{component}-cisco-apic-host-agent
%{_initddir}/openstack-%{component}-cisco-apic-service-agent
%{_sbindir}/rcopenstack-%{component}-cisco-apic-host-agent
%{_sbindir}/rcopenstack-%{component}-cisco-apic-service-agent
%config(noreplace) %{_sysconfdir}/%{component}/plugins/cisco/cisco_plugins.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/cisco/cisco_vpn_agent.ini
%config(noreplace) %{_sysconfdir}/%{component}/plugins/cisco/cisco_router_plugin.ini

%files test
%defattr(-,root,root)
%{python_sitelib}/%{component}/tests/
%{_localstatedir}/lib/%{name}-test/
%config %{_sysconfdir}/%{component}/rootwrap.d/debug.filters

%files ha-tool
%defattr(-,root,root,-)
%{_bindir}/neutron-ha-tool

%changelog
openSUSE Build Service is sponsored by