%global service neutron
-Name: openstack-%{service}
-Version: 7.0.1
-Release: 1%{?dist}~mos8.0.1
-Epoch: 1
-Summary: OpenStack Networking Service
-
-License: ASL 2.0
-URL: http://launchpad.net/%{service}/
-
-Source0: %{service}-%{version}.tar.gz
-Source1: %{service}.logrotate
-Source2: %{service}-sudoers
-Source10: neutron-server.service
-Source11: neutron-linuxbridge-agent.service
-Source12: neutron-openvswitch-agent.service
-Source15: neutron-dhcp-agent.service
-Source16: neutron-l3-agent.service
-Source17: neutron-metadata-agent.service
-Source18: neutron-ovs-cleanup.service
-Source19: neutron-mlnx-agent.service
-Source20: neutron-metering-agent.service
-Source21: neutron-sriov-nic-agent.service
-Source22: neutron-netns-cleanup.service
-Source23: neutron-netns-cleanup.init
-Source24: neutron-ovs-cleanup.init
-Source28: neutron-dev-server.service
-Source29: neutron-rpc-server.service
-
-Source31: conf.README
-
-BuildArch: noarch
+Name: openstack-%{service}
+Version: 8.0.0
+Release: 1%{?dist}
+Epoch: 1
+Summary: OpenStack Networking Service
+
+License: ASL 2.0
+URL: http://launchpad.net/%{service}/
+
+Source0: %{service}-%{version}.tar.gz
+Source1: %{service}.logrotate
+Source2: %{service}-sudoers
+Source10: neutron-server.service
+Source11: neutron-linuxbridge-agent.service
+Source12: neutron-openvswitch-agent.service
+Source13: neutron-bgp-dragent.service
+Source15: neutron-dhcp-agent.service
+Source16: neutron-l3-agent.service
+Source17: neutron-metadata-agent.service
+Source18: neutron-ovs-cleanup.service
+Source19: neutron-macvtap-agent.service
+Source20: neutron-metering-agent.service
+Source21: neutron-sriov-nic-agent.service
+Source22: neutron-netns-cleanup.service
+Source23: neutron-netns-cleanup.init
+Source24: neutron-ovs-cleanup.init
+Source29: neutron-rpc-server.service
+
+Source31: conf.README
+Source32: neutron-linuxbridge-cleanup.service
+
+BuildArch: noarch
+BuildRequires: git
+BuildRequires: python-backports-ssl_match_hostname
BuildRequires: python2-devel
BuildRequires: python-d2to1
+BuildRequires: python-keystoneauth1 >= 2.1.0
+BuildRequires: python-keystonemiddleware
+BuildRequires: python-neutron-lib
+BuildRequires: python-novaclient
+BuildRequires: python-oslo-concurrency
+BuildRequires: python-oslo-config
+BuildRequires: python-oslo-db
+BuildRequires: python-oslo-log
+BuildRequires: python-oslo-messaging
+BuildRequires: python-oslo-policy
+BuildRequires: python-oslo-rootwrap
+BuildRequires: python-oslo-service
BuildRequires: python-pbr
BuildRequires: python-pecan
BuildRequires: python-setuptools
BuildRequires: systemd-units
-BuildRequires: git
-
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
+Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
# dnsmasq is not a hard requirement, but is currently the only option
# when neutron-dhcp-agent is deployed.
-Requires: dnsmasq
-Requires: dnsmasq-utils
+Requires: dnsmasq
+Requires: dnsmasq-utils
# radvd is not a hard requirement, but is currently the only option
# for IPv6 deployments.
-Requires: radvd
+Requires: radvd
# dibbler is not a hard requirement, but is currently the default option
# for IPv6 prefix delegation.
-#Requires: dibbler-client
+#Requires: dibbler-client
# conntrack is not a hard requirement, but is currently used by L3 agent
# to immediately drop connections after a floating IP is disassociated
-Requires: conntrack-tools
+Requires: conntrack-tools
# keepalived is not a hard requirement, but is currently used by DVR L3
# agent
-Requires: keepalived
+Requires: keepalived
# those are not hard requirements, but are used to implement firewall
# drivers.
-Requires: ipset
-Requires: iptables
+Requires: ipset
+Requires: iptables
Requires(pre): shadow-utils
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
+Obsoletes: openstack-%{service}-dev-server
+
%description
Neutron is a virtual network service for Openstack. Just like
OpenStack Nova provides an API to dynamically request and configure
%package -n python-%{service}
-Summary: Neutron Python libraries
-Requires: MySQL-python
-Requires: python-alembic >= 0.8.0
-Requires: python-debtcollector >= 0.3.0
-Requires: python-eventlet >= 0.17.4
-Requires: python-greenlet >= 0.3.2
-Requires: python-httplib2 >= 0.7.5
-Requires: python-jinja2 >= 2.6
-Requires: python-keystoneclient >= 1:1.6.0
-Requires: python-keystonemiddleware >= 2.0.0
-Requires: python-netaddr >= 0.7.12
-Requires: python-neutronclient >= 2.6.0
-Requires: python-novaclient >= 1:2.26.0
-Requires: python-openvswitch
-Requires: python-oslo-concurrency >= 2.3.0
-Requires: python-oslo-config >= 2:2.1.0
-Requires: python-oslo-context >= 0.2.0
-Requires: python-oslo-db >= 2.0
-Requires: python-oslo-i18n >= 1.5.0
-Requires: python-oslo-log >= 1.8.0
-Requires: python-oslo-messaging >= 1.16.0
-Requires: python-oslo-middleware >= 2.4.0
-Requires: python-oslo-policy >= 0.5.0
-Requires: python-oslo-rootwrap >= 2.0.0
-Requires: python-oslo-serialization >= 1.4.0
-Requires: python-oslo-service >= 0.6.0
-Requires: python-oslo-utils >= 2.0.0
-Requires: python-oslo-versionedobjects >= 0.6.0
-Requires: python-oslo-context >= 0.2.0
-Requires: python-paste
-Requires: python-paste-deploy >= 1.5.0
-Requires: python-pecan >= 1.0.0
-Requires: python-pbr
-Requires: python-pyroute2
-Requires: python-requests >= 2.5.2
-Requires: python-retrying >= 1.2.3
-Requires: python-routes >= 1.12.3
-Requires: python-six >= 1.9.0
-Requires: python-sqlalchemy >= 0.9.7
-Requires: python-stevedore >= 1.5.0
-Requires: python-webob >= 1.2.3
-Requires: python-unicodecsv
+Summary: Neutron Python libraries
+Requires: python-alembic >= 0.8.0
+Requires: python-debtcollector >= 1.2.0
+Requires: python-eventlet >= 0.18.2
+Requires: python-greenlet >= 0.3.2
+Requires: python-httplib2 >= 0.7.5
+Requires: python-jinja2 >= 2.8
+Requires: python-keystoneauth1 >= 2.1.0
+Requires: python-keystoneclient >= 1.6.0
+Requires: python-keystonemiddleware >= 4.0.0
+Requires: python-netaddr >= 0.7.12
+Requires: python-neutronclient >= 2.6.0
+Requires: python-neutron-lib
+Requires: python-novaclient >= 2.29.0
+Requires: python-openvswitch
+Requires: python-oslo-concurrency >= 3.5.0
+Requires: python-oslo-config >= 2:3.7.0
+Requires: python-oslo-context >= 0.2.0
+Requires: python-oslo-db >= 4.1.0
+Requires: python-oslo-i18n >= 2.1.0
+Requires: python-oslo-log >= 1.14.0
+Requires: python-oslo-messaging >= 4.0.0
+Requires: python-oslo-middleware >= 3.0.0
+Requires: python-oslo-policy >= 0.5.0
+Requires: python-oslo-reports >= 0.6.0
+Requires: python-oslo-rootwrap >= 2.0.0
+Requires: python-oslo-serialization >= 1.10.0
+Requires: python-oslo-service >= 1.0.0
+Requires: python-oslo-utils >= 3.5.0
+Requires: python-oslo-versionedobjects >= 1.5.0
+Requires: python-oslo-context >= 0.2.0
+Requires: python-paste
+Requires: python-paste-deploy >= 1.5.0
+Requires: python-pecan >= 1.0.0
+Requires: python-pbr
+Requires: python-pyroute2
+Requires: python-requests >= 2.8.1
+Requires: python-retrying >= 1.2.3
+Requires: python-routes >= 1.12.3
+Requires: python-ryu >= 3.30
+Requires: python-six >= 1.9.0
+Requires: python-sqlalchemy >= 1.0.10
+Requires: python-stevedore >= 1.5.0
+Requires: python-unicodecsv
+Requires: python-webob >= 1.2.3
%package -n python-%{service}-tests
-Summary: Neutron tests
-Requires: openstack-%{service} = %{epoch}:%{version}-%{release}
+Summary: Neutron tests
+Requires: python-%{service} = %{epoch}:%{version}-%{release}
%description -n python-%{service}-tests
%package common
-Summary: Neutron common files
-Requires: python-%{service} = %{epoch}:%{version}-%{release}
-Requires: sudo
+Summary: Neutron common files
+Requires: python-%{service} = %{epoch}:%{version}-%{release}
+Requires: sudo
%description common
This package contains Neutron common files.
-%package bigswitch
-Summary: Neutron Big Switch plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-
-
-%description 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 brocade
-Summary: Neutron Brocade plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-Requires: python-ncclient
-
-
-%description 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 cisco
-Summary: Neutron Cisco plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-Requires: python-ncclient
-
-
-%description 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 dev-server
-Summary: Neutron Server (WSGI pecan)
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
+%package bgp-dragent
+Summary: Neutron BGP Dynamic Routing agent
+Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-%description dev-server
+%description bgp-dragent
Neutron provides an API to dynamically request and configure virtual
networks.
-This package contains an alternative Neutron server implementation that uses
-pecan library as its WSGI backend.
-
-
-%package embrane
-Summary: Neutron Embrane plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-
-
-%description embrane
-Neutron provides an API to dynamically request and configure virtual
-networks.
-
-This package contains the Neutron plugin that implements virtual
-L3-L7 network services using Embrane's heleos platform.
+This package contains the Neutron BGP Dynamic Routing agent that will host
+different BGP speaking drivers and makes the required BGP peering session/s for
+Neutron.
%package linuxbridge
-Summary: Neutron linuxbridge plugin
-Requires: bridge-utils
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
+Summary: Neutron Linuxbridge agent
+Requires: bridge-utils
+Requires: ebtables
+Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
%description 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 mellanox
-Summary: Neutron Mellanox plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-
+This package contains the Neutron agent that implements virtual
+networks using VLAN or VXLAN using Linuxbridge technology.
-%description mellanox
-This plugin implements Neutron v2 APIs with support for Mellanox embedded
-switch functionality as part of the VPI (Ethernet/InfiniBand) HCA.
+%package macvtap-agent
+Summary: Neutron macvtap agent
+Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-%package midonet
-Summary: Neutron MidoNet plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-
-%description midonet
+%description macvtap-agent
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.
+This package contains the Neutron agent that implements
+macvtap attachments for libvirt qemu/kvm instances.
%package ml2
-Summary: Neutron ML2 plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
+Summary: Neutron ML2 plugin
+Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
# needed for brocade and cisco drivers
-Requires: python-ncclient
+Requires: python-ncclient
%description ml2
for accessing those types.
-%package nuage
-Summary: Neutron Nuage plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-
-
-%description nuage
-This plugin implements Neutron v2 APIs with support for Nuage Networks
-Virtual Service Platform (VSP).
-
-
-%package ofagent
-Summary: Neutron ofagent plugin from ryu project
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-
-
-%description ofagent
-This plugin implements Neutron v2 APIs with support for the ryu ofagent
-plugin.
-
-
-%package oneconvergence-nvsd
-Summary: Neutron One Convergence NVSD plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-
-
-%description oneconvergence-nvsd
-Neutron provides an API to dynamnically request and configure virtual
-networks.
-
-This package contains the Neutron plugin that implements virtual
-networks using One Convergence NVSD
-
-
-%package opencontrail
-Summary: Neutron OpenContrail plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-
-
-%description opencontrail
-This plugin implements Neutron v2 APIs with support for the OpenContrail
-plugin.
-
-
%package openvswitch
-Summary: Neutron openvswitch plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
+Summary: Neutron openvswitch plugin
+Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
# We require openvswitch when using vsctl to access ovsdb;
# but if we use native access, then we just need python bindings.
# since we don't know what users actually use, we depend on both.
-Requires: openvswitch
-Requires: python-openvswitch
+Requires: openvswitch
+Requires: python-openvswitch
%description openvswitch
networks using Open vSwitch.
-%package ovsvapp
-Summary: Neutron OVSvApp vSphere plugin
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-
-
-%description ovsvapp
-Neutron provides an API to dynamically request and configure virtual
-networks.
-
-This package contains the Neutron plugin that implements virtual
-networks using OVSvApp vSphere L2 agent.
-
-
%package metering-agent
-Summary: Neutron bandwidth metering agent
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
+Summary: Neutron bandwidth metering agent
+Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
%description metering-agent
%package rpc-server
-Summary: Neutron (RPC only) Server
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
+Summary: Neutron (RPC only) Server
+Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
%description rpc-server
%package sriov-nic-agent
-Summary: Neutron SR-IOV NIC agent
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
+Summary: Neutron SR-IOV NIC agent
+Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
%description sriov-nic-agent
BuildRequires: python-sphinx
BuildRequires: python-oslo-sphinx
-BuildRequires: python-alembic >= 0.8.0
-BuildRequires: python-debtcollector >= 0.3.0
-BuildRequires: python-eventlet >= 0.17.4
-BuildRequires: python-greenlet >= 0.3.2
-BuildRequires: python-httplib2 >= 0.7.5
-BuildRequires: python-jinja2 >= 2.6
-BuildRequires: python-keystoneclient >= 1:1.6.0
-BuildRequires: python-keystonemiddleware >= 2.0.0
-BuildRequires: python-netaddr >= 0.7.12
-BuildRequires: python-neutronclient >= 2.6.0
-BuildRequires: python-novaclient >= 1:2.26.0
-BuildRequires: python-oslo-concurrency >= 2.3.0
-BuildRequires: python-oslo-config >= 2:2.1.0
-BuildRequires: python-oslo-context >= 0.2.0
-BuildRequires: python-oslo-db >= 2.0
-BuildRequires: python-oslo-i18n >= 1.5.0
-BuildRequires: python-oslo-log >= 1.8.0
-BuildRequires: python-oslo-messaging >= 1.16.0
-BuildRequires: python-oslo-middleware >= 2.4.0
-BuildRequires: python-oslo-policy >= 0.5.0
-BuildRequires: python-oslo-rootwrap >= 2.0.0
-BuildRequires: python-oslo-serialization >= 1.4.0
-BuildRequires: python-oslo-service >= 0.6.0
-BuildRequires: python-oslo-utils >= 2.0.0
-BuildRequires: python-oslo-versionedobjects >= 0.6.0
-BuildRequires: python-oslo-context >= 0.2.0
+BuildRequires: python-alembic
+BuildRequires: python-debtcollector
+BuildRequires: python-eventlet
+BuildRequires: python-greenlet
+BuildRequires: python-httplib2
+BuildRequires: python-jinja2
+BuildRequires: python-keystoneclient
+BuildRequires: python-keystonemiddleware
+BuildRequires: python-netaddr
+BuildRequires: python-neutronclient
+BuildRequires: python-novaclient
+BuildRequires: python-oslo-concurrency
+BuildRequires: python-oslo-config
+BuildRequires: python-oslo-context
+BuildRequires: python-oslo-db
+BuildRequires: python-oslo-i18n
+BuildRequires: python-oslo-log
+BuildRequires: python-oslo-messaging
+BuildRequires: python-oslo-middleware
+BuildRequires: python-oslo-policy
+BuildRequires: python-oslo-rootwrap
+BuildRequires: python-oslo-serialization
+BuildRequires: python-oslo-service
+BuildRequires: python-oslo-utils
+BuildRequires: python-oslo-versionedobjects
+BuildRequires: python-oslo-context
BuildRequires: python-paste
-BuildRequires: python-paste-deploy >= 1.5.0
-BuildRequires: python-pecan >= 1.0.0
+BuildRequires: python-paste-deploy
+BuildRequires: python-pecan
BuildRequires: python-pbr
-BuildRequires: python-pyroute2
-BuildRequires: python-requests >= 2.5.2
-BuildRequires: python-retrying >= 1.2.3
-BuildRequires: python-routes >= 1.12.3
-BuildRequires: python-six >= 1.9.0
-BuildRequires: python-sqlalchemy >= 0.9.7
-BuildRequires: python-stevedore >= 1.5.0
-BuildRequires: python-webob >= 1.2.3
+BuildRequires: python-requests
+BuildRequires: python-retrying
+BuildRequires: python-routes
+BuildRequires: python-six
+BuildRequires: python-sqlalchemy
+BuildRequires: python-stevedore
+BuildRequires: python-webob
BuildRequires: python-testresources
BuildRequires: python-testscenarios
BuildRequires: python-oslotest
# Kill egg-info in order to generate new SOURCES.txt
rm -rf neutron.egg-info
+
%build
export SKIP_PIP_INSTALL=1
%{__python2} setup.py build
+# Generate configuration files
+PYTHONPATH=. tools/generate_config_file_samples.sh
+find etc -name *.sample | while read filename
+do
+ filedir=$(dirname $filename)
+ file=$(basename $filename .sample)
+ mv ${filename} ${filedir}/${file}
+done
+
%install
-# pbr does not like dashes in version strings, neither it likes fc* prefixes (dev* is fine)
-#export PBR_VERSION=%{version}.%(echo %{release} | sed 's/%{?dist}//')
%{__python2} setup.py install -O1 --skip-build --root %{buildroot}
# Remove unused files
rm -rf %{buildroot}%{python2_sitelib}/bin
rm -rf %{buildroot}%{python2_sitelib}/doc
rm -rf %{buildroot}%{python2_sitelib}/tools
-rm %{buildroot}/usr/etc/init.d/neutron-server
# Build HTML docs
export PYTHONPATH="$( pwd ):$PYTHONPATH"
install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}
mv %{buildroot}/usr/etc/%{service}/* %{buildroot}%{_sysconfdir}/%{service}
mv %{buildroot}%{_sysconfdir}/%{service}/api-paste.ini %{buildroot}%{_datadir}/%{service}/api-paste.ini
-chmod 640 %{buildroot}%{_sysconfdir}/%{service}/plugins/*/*.ini
+
+# The generated config files are not moved automatically by setup.py
+install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2
+
+mv etc/%{service}.conf %{buildroot}%{_sysconfdir}/%{service}/%{service}.conf
+for agent in dhcp l3 metadata metering
+do
+ mv etc/${agent}_agent.ini %{buildroot}%{_sysconfdir}/%{service}/${agent}_agent.ini
+done
+for file in linuxbridge_agent ml2_conf ml2_conf_sriov openvswitch_agent sriov_agent
+do
+ mv etc/%{service}/plugins/ml2/${file}.ini %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2/${file}.ini
+done
# Install logrotate
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service}
install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/neutron-server.service
install -p -D -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/neutron-linuxbridge-agent.service
install -p -D -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/neutron-openvswitch-agent.service
+install -p -D -m 644 %{SOURCE13} %{buildroot}%{_unitdir}/neutron-bgp-dragent.service
install -p -D -m 644 %{SOURCE15} %{buildroot}%{_unitdir}/neutron-dhcp-agent.service
install -p -D -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/neutron-l3-agent.service
install -p -D -m 644 %{SOURCE17} %{buildroot}%{_unitdir}/neutron-metadata-agent.service
install -p -D -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/neutron-ovs-cleanup.service
-install -p -D -m 644 %{SOURCE19} %{buildroot}%{_unitdir}/neutron-mlnx-agent.service
+install -p -D -m 644 %{SOURCE19} %{buildroot}%{_unitdir}/neutron-macvtap-agent.service
install -p -D -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/neutron-metering-agent.service
install -p -D -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/neutron-sriov-nic-agent.service
install -p -D -m 644 %{SOURCE22} %{buildroot}%{_unitdir}/neutron-netns-cleanup.service
-install -p -D -m 644 %{SOURCE28} %{buildroot}%{_unitdir}/neutron-dev-server.service
install -p -D -m 644 %{SOURCE29} %{buildroot}%{_unitdir}/neutron-rpc-server.service
+install -p -D -m 644 %{SOURCE32} %{buildroot}%{_unitdir}/neutron-linuxbridge-cleanup.service
# Install scripts for pacemaker support
# Create configuration directories for all services that can be populated by users with custom *.conf files
mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/common
-for service in server dev-server rpc-server ovs-cleanup netns-cleanup; do
+for service in server rpc-server ovs-cleanup netns-cleanup linuxbridge-cleanup bgp-dragent macvtap-agent; do
mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service
done
-for service in linuxbridge openvswitch dhcp l3 metadata mlnx metering sriov-nic; do
+for service in linuxbridge openvswitch dhcp l3 metadata metering sriov-nic; do
mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service-agent
done
-# Kill hyperv agent since it's of no use for Linux
-rm %{buildroot}/%{_bindir}/neutron-hyperv-agent
-
%pre common
getent group %{service} >/dev/null || groupadd -r %{service}
%systemd_post neutron-server.service
%systemd_post neutron-netns-cleanup.service
%systemd_post neutron-ovs-cleanup.service
+%systemd_post neutron-linuxbridge-cleanup.service
%preun
%systemd_preun neutron-server.service
%systemd_preun neutron-netns-cleanup.service
%systemd_preun neutron-ovs-cleanup.service
+%systemd_preun neutron-linuxbridge-cleanup.service
%postun
%systemd_postun_with_restart neutron-server.service
+%post bgp-dragent
+%systemd_post neutron-bgp-dragent.service
+
+
+%preun bgp-dragent
+%systemd_preun neutron-bgp-dragent.service
+
+
+%postun bgp-dragent
+%systemd_postun_with_restart neutron-bgp-dragent.service
+
+
+%post macvtap-agent
+%systemd_post neutron-macvtap-agent.service
+
+
+%preun macvtap-agent
+%systemd_preun neutron-macvtap-agent.service
+
+
+%postun macvtap-agent
+%systemd_postun_with_restart neutron-macvtap-agent.service
+
+
%post linuxbridge
%systemd_post neutron-linuxbridge-agent.service
oldconf=%{_sysconfdir}/%{service}/plugins/linuxbridge/linuxbridge_conf.ini
%systemd_postun_with_restart neutron-linuxbridge-agent.service
-%post mellanox
-%systemd_post neutron-mlnx-agent.service
-
-
-%preun mellanox
-%systemd_preun neutron-mlnx-agent.service
-
-
-%postun mellanox
-%systemd_postun_with_restart neutron-mlnx-agent.service
-
-
%post openvswitch
%systemd_post neutron-openvswitch-agent.service
oldconf=%{_sysconfdir}/%{service}/plugins/openvswitch/ovs_neutron_plugin.ini
%{_bindir}/neutron-ipset-cleanup
%{_bindir}/neutron-keepalived-state-change
%{_bindir}/neutron-l3-agent
+%{_bindir}/neutron-linuxbridge-cleanup
%{_bindir}/neutron-metadata-agent
%{_bindir}/neutron-netns-cleanup
%{_bindir}/neutron-ns-metadata-proxy
%{_unitdir}/neutron-server.service
%{_unitdir}/neutron-netns-cleanup.service
%{_unitdir}/neutron-ovs-cleanup.service
+%{_unitdir}/neutron-linuxbridge-cleanup.service
%attr(-, root, %{service}) %{_datadir}/%{service}/api-paste.ini
%dir %{_datadir}/%{service}/l3_agent
%dir %{_datadir}/%{service}/server
%dir %{_sysconfdir}/%{service}/conf.d/%{service}-server
%dir %{_sysconfdir}/%{service}/conf.d/%{service}-netns-cleanup
%dir %{_sysconfdir}/%{service}/conf.d/%{service}-ovs-cleanup
+%dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-cleanup
%files -n python-%{service}-tests
%{_datarootdir}/%{service}/rootwrap/l3.filters
-%files bigswitch
-%license LICENSE
-%{_bindir}/neutron-restproxy-agent
-%dir %{_sysconfdir}/%{service}/plugins/bigswitch
-%{_sysconfdir}/%{service}/plugins/bigswitch/ssl
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/bigswitch/*.ini
-
-
-%files brocade
-%license LICENSE
-%doc %{service}/plugins/brocade/README.md
-%dir %{_sysconfdir}/%{service}/plugins/brocade
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/brocade/*.ini
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/brocade/vyatta/*.ini
-
-
-%files cisco
-%license LICENSE
-%dir %{_sysconfdir}/%{service}/plugins/cisco
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/cisco/*.ini
-
-
-%files embrane
-%license LICENSE
-%doc %{service}/plugins/embrane/README
-%dir %{_sysconfdir}/%{service}/plugins/embrane
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/embrane/*.ini
-
-
-%files dev-server
+%files bgp-dragent
%license LICENSE
-%{_bindir}/neutron-dev-server
-%{_unitdir}/neutron-dev-server.service
-%dir %{_sysconfdir}/%{service}/conf.d/%{service}-dev-server
+%{_bindir}/neutron-bgp-dragent
+%{_unitdir}/neutron-bgp-dragent.service
+%dir %{_sysconfdir}/%{service}/conf.d/%{service}-bgp-dragent
%files linuxbridge
%dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-agent
-%files mellanox
-%license LICENSE
-%doc %{service}/plugins/ml2/drivers/mlnx/README
-%{_bindir}/neutron-mlnx-agent
-%{_unitdir}/neutron-mlnx-agent.service
-%dir %{_sysconfdir}/%{service}/plugins/mlnx
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/mlnx/*.ini
-%dir %{_sysconfdir}/%{service}/conf.d/%{service}-mlnx-agent
-
-
-%files midonet
+%files macvtap-agent
%license LICENSE
-#%doc %{service}/plugins/midonet/README
-%dir %{_sysconfdir}/%{service}/plugins/midonet
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/midonet/*.ini
+%{_bindir}/neutron-macvtap-agent
+%{_unitdir}/neutron-macvtap-agent.service
+%dir %{_sysconfdir}/%{service}/conf.d/%{service}-macvtap-agent
%files ml2
%exclude %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
-%files nuage
-%license LICENSE
-%{python2_sitelib}/%{service}/plugins/nuage
-%dir %{_sysconfdir}/%{service}/plugins/nuage
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/nuage/*.ini
-
-
-%files ofagent
-%license LICENSE
-
-
-%files oneconvergence-nvsd
-%license LICENSE
-%doc %{service}/plugins/oneconvergence/README
-%dir %{_sysconfdir}/%{service}/plugins/oneconvergence
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/oneconvergence/*.ini
-%{_bindir}/neutron-nvsd-agent
-
-
-%files opencontrail
-%license LICENSE
-#%doc %{service}/plugins/opencontrail/README
-%dir %{_sysconfdir}/%{service}/plugins/opencontrail
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/opencontrail/*.ini
-
-
%files openvswitch
%license LICENSE
%{_bindir}/neutron-openvswitch-agent
%dir %{_sysconfdir}/%{service}/conf.d/%{service}-openvswitch-agent
-%files ovsvapp
-%license LICENSE
-%{_bindir}/neutron-ovsvapp-agent
-# TODO: add a systemd unit file
-%dir %{_sysconfdir}/%{service}/plugins/ovsvapp
-%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ovsvapp/*.ini
-
-
%files metering-agent
%license LICENSE
%config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metering_agent.ini
%changelog
+* Fri Apr 8 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:8.0.0-1%{?dist}~mos1
+- Update specs for Mitaka Final release
+* Sun Mar 6 2016 Sergey Kolekonov <skolekonov@mirantis.com> 1:8.0.0.0b3-1.el7
+- Rebuild for Mitaka-b3
+* Thu Feb 25 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:8.0.0.0b2-1%{?dist}~mos2
+- Update specs for Mitaka release
+- Remove vendor specific subpackages (mellanox, bigswitch, cisco, etc)
+- Add neutron-linuxbridge-cleanup service
+- Add neutron-bgp-dragent service
+- Add sample config file generation
+- Add macvtap agent
+- Add new build/run requirement: python-neutron-lib
+- Remove neutron-mlnx-agent service
+- Remove neutron-dev-server service
* Fri Dec 18 2015 Sergey Kolekonov <skolekonov@mirantis.com> 1:7.0.1-1%{?dist}~mos8.0.1
- Bump version according to the latest tag
* Tue Dec 15 2015 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:7.0.0-1%{?dist}~mos8.0.1