%global service neutron
-Name: openstack-%{service}
-Version: 8.0.0.0b3
-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
+Name: openstack-%{service}
+Version: 9.0.0~b1
+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: python-d2to1
BuildRequires: python-keystoneauth1 >= 2.1.0
BuildRequires: python-keystonemiddleware
-BuildRequires: python-neutron-lib
+BuildRequires: python-neutron-lib >= 0.2.0
BuildRequires: python-novaclient
+BuildRequires: python-oslo-cache
BuildRequires: python-oslo-concurrency
BuildRequires: python-oslo-config
BuildRequires: python-oslo-db
BuildRequires: python-oslo-policy
BuildRequires: python-oslo-rootwrap
BuildRequires: python-oslo-service
-BuildRequires: python-pbr
+BuildRequires: python-oslo-versionedobjects
+BuildRequires: python-osprofiler >= 1.3.0
+BuildRequires: python-pbr >= 1.6
BuildRequires: python-pecan
BuildRequires: python-setuptools
BuildRequires: systemd-units
-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
%package -n python-%{service}
-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-webob >= 1.2.3
-Requires: python-unicodecsv
+Summary: Neutron Python libraries
+Requires: python-alembic >= 0.8.4
+Requires: python-debtcollector >= 1.2.0
+Requires: python-designateclient >= 1.5.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 >= 4.2.0
+Requires: python-neutron-lib >= 0.2.0
+Requires: python-novaclient >= 2.29.0
+Requires: python-openvswitch
+Requires: python-oslo-cache >= 1.5.0
+Requires: python-oslo-concurrency >= 3.8.0
+Requires: python-oslo-config >= 2:3.10.0
+Requires: python-oslo-context >= 2.4.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 >= 5.2.0
+Requires: python-oslo-middleware >= 3.0.0
+Requires: python-oslo-policy >= 1.9.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.10.0
+Requires: python-oslo-utils >= 3.11.0
+Requires: python-oslo-versionedobjects >= 1.9.1
+Requires: python-osprofiler >= 1.3.0
+Requires: python-paste
+Requires: python-paste-deploy >= 1.5.0
+Requires: python-pecan >= 1.0.0
+Requires: python-pbr >= 1.6
+Requires: python-pyroute2
+Requires: python-requests >= 2.10.0
+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}
+Requires: python-ddt
%description -n python-%{service}-tests
%package common
-Summary: Neutron common files
-Requires: python-%{service} = %{epoch}:%{version}-%{release}
-Requires: sudo
+Summary: Neutron common files
+Requires(pre): shadow-utils
+Requires: python-%{service} = %{epoch}:%{version}-%{release}
+Requires: sudo
%description common
This package contains Neutron common files.
-%package bgp-dragent
-Summary: Neutron BGP Dynamic Routing agent
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
-
-
-%description bgp-dragent
-Neutron provides an API to dynamically request and configure virtual
-networks.
-
-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: ebtables
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
+Summary: Neutron Linuxbridge agent
+Requires: bridge-utils
+Requires: ebtables
+Requires: ipset
+Requires: iptables
+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.
+This package contains the Neutron agent that implements virtual
+networks using VLAN or VXLAN using Linuxbridge technology.
%package macvtap-agent
%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
%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: ipset
+Requires: iptables
+Requires: openvswitch
+Requires: python-openvswitch
%description openvswitch
%package metering-agent
-Summary: Neutron bandwidth metering agent
-Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
+Summary: Neutron bandwidth metering agent
+Requires: iptables
+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
%build
export SKIP_PIP_INSTALL=1
%{__python2} setup.py build
+# Generate i18n files
+%{__python2} setup.py compile_catalog -d build/lib/%{service}/locale
# Generate configuration files
PYTHONPATH=. tools/generate_config_file_samples.sh
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
# 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 rpc-server ovs-cleanup netns-cleanup linuxbridge-cleanup bgp-dragent macvtap-agent; do
+for service in server rpc-server ovs-cleanup netns-cleanup linuxbridge-cleanup macvtap-agent; do
mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service
done
for service in linuxbridge openvswitch dhcp l3 metadata metering sriov-nic; do
mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service-agent
done
+# Install i18n .mo files (.po and .pot are not required)
+install -d -m 755 %{buildroot}%{_datadir}
+rm -f %{buildroot}%{python2_sitelib}/%{service}/locale/*/LC_*/%{service}*po
+rm -f %{buildroot}%{python2_sitelib}/%{service}/locale/*pot
+mv %{buildroot}%{python2_sitelib}/%{service}/locale %{buildroot}%{_datadir}/locale
+
+# Find language files
+%find_lang %{service} --all-name
%pre common
getent group %{service} >/dev/null || groupadd -r %{service}
%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
%exclude %{python2_sitelib}/%{service}/tests
-%files common
+%files common -f %{service}.lang
%license LICENSE
%doc README.rst
%{_bindir}/neutron-rootwrap
%{_datarootdir}/%{service}/rootwrap/l3.filters
-%files bgp-dragent
-%license LICENSE
-%{_bindir}/neutron-bgp-dragent
-%{_unitdir}/neutron-bgp-dragent.service
-%dir %{_sysconfdir}/%{service}/conf.d/%{service}-bgp-dragent
-
-
%files linuxbridge
%license LICENSE
%{_bindir}/neutron-linuxbridge-agent
%changelog
+* Mon Jun 27 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:9.0.0.0b1-1.el7
+- Update specs for Newton b1 release
+- Remove neutron-bgp-dragent service
+* 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