1 %global service neutron
3 Name: openstack-%{service}
7 Summary: OpenStack Networking Service
10 URL: http://launchpad.net/%{service}/
12 Source0: %{service}-%{version}.tar.gz
13 Source1: %{service}.logrotate
14 Source2: %{service}-sudoers
15 Source10: neutron-server.service
16 Source11: neutron-linuxbridge-agent.service
17 Source12: neutron-openvswitch-agent.service
18 Source15: neutron-dhcp-agent.service
19 Source16: neutron-l3-agent.service
20 Source17: neutron-metadata-agent.service
21 Source18: neutron-ovs-cleanup.service
22 Source19: neutron-macvtap-agent.service
23 Source20: neutron-metering-agent.service
24 Source21: neutron-sriov-nic-agent.service
25 Source22: neutron-netns-cleanup.service
26 Source23: neutron-netns-cleanup.init
27 Source24: neutron-ovs-cleanup.init
28 Source29: neutron-rpc-server.service
30 Source32: neutron-linuxbridge-cleanup.service
35 BuildRequires: python-backports-ssl_match_hostname
36 BuildRequires: python2-devel
37 BuildRequires: python-d2to1
38 BuildRequires: python-keystoneauth1 >= 2.1.0
39 BuildRequires: python-keystonemiddleware
40 BuildRequires: python-neutron-lib >= 0.2.0
41 BuildRequires: python-novaclient
42 BuildRequires: python-oslo-cache
43 BuildRequires: python-oslo-concurrency
44 BuildRequires: python-oslo-config
45 BuildRequires: python-oslo-db
46 BuildRequires: python-oslo-log
47 BuildRequires: python-oslo-messaging
48 BuildRequires: python-oslo-policy
49 BuildRequires: python-oslo-rootwrap
50 BuildRequires: python-oslo-service
51 BuildRequires: python-oslo-versionedobjects
52 BuildRequires: python-osprofiler >= 1.3.0
53 BuildRequires: python-pbr >= 1.6
54 BuildRequires: python-pecan
55 BuildRequires: python-setuptools
56 BuildRequires: systemd-units
58 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
60 # dnsmasq is not a hard requirement, but is currently the only option
61 # when neutron-dhcp-agent is deployed.
63 Requires: dnsmasq-utils
65 # radvd is not a hard requirement, but is currently the only option
66 # for IPv6 deployments.
69 # dibbler is not a hard requirement, but is currently the default option
70 # for IPv6 prefix delegation.
71 #Requires: dibbler-client
73 # conntrack is not a hard requirement, but is currently used by L3 agent
74 # to immediately drop connections after a floating IP is disassociated
75 Requires: conntrack-tools
77 # keepalived is not a hard requirement, but is currently used by DVR L3
81 # those are not hard requirements, but are used to implement firewall
86 Requires(pre): shadow-utils
87 Requires(post): systemd
88 Requires(preun): systemd
89 Requires(postun): systemd
91 Obsoletes: openstack-%{service}-dev-server
94 Neutron is a virtual network service for Openstack. Just like
95 OpenStack Nova provides an API to dynamically request and configure
96 virtual servers, Neutron provides an API to dynamically request and
97 configure virtual networks. These networks connect "interfaces" from
98 other OpenStack services (e.g., virtual NICs from Nova VMs). The
99 Neutron API supports extensions to provide advanced network
100 capabilities (e.g., QoS, ACLs, network monitoring, etc.)
103 %package -n python-%{service}
104 Summary: Neutron Python libraries
105 Requires: python-alembic >= 0.8.4
106 Requires: python-debtcollector >= 1.2.0
107 Requires: python-designateclient >= 1.5.0
108 Requires: python-eventlet >= 0.18.2
109 Requires: python-greenlet >= 0.3.2
110 Requires: python-httplib2 >= 0.7.5
111 Requires: python-jinja2 >= 2.8
112 Requires: python-keystoneauth1 >= 2.7.0
113 Requires: python-keystoneclient >= 1.6.0
114 Requires: python-keystonemiddleware >= 4.0.0
115 Requires: python-netaddr >= 0.7.12
116 Requires: python-neutronclient >= 4.2.0
117 Requires: python-neutron-lib >= 0.2.0
118 Requires: python-novaclient >= 2.29.0
119 Requires: python-openvswitch
120 Requires: python-oslo-cache >= 1.5.0
121 Requires: python-oslo-concurrency >= 3.8.0
122 Requires: python-oslo-config >= 2:3.12.0
123 Requires: python-oslo-context >= 2.4.0
124 Requires: python-oslo-db >= 4.1.0
125 Requires: python-oslo-i18n >= 2.1.0
126 Requires: python-oslo-log >= 1.14.0
127 Requires: python-oslo-messaging >= 5.2.0
128 Requires: python-oslo-middleware >= 3.0.0
129 Requires: python-oslo-policy >= 1.9.0
130 Requires: python-oslo-reports >= 0.6.0
131 Requires: python-oslo-rootwrap >= 2.0.0
132 Requires: python-oslo-serialization >= 1.10.0
133 Requires: python-oslo-service >= 1.10.0
134 Requires: python-oslo-utils >= 3.15.0
135 Requires: python-oslo-versionedobjects >= 1.9.1
136 Requires: python-osprofiler >= 1.3.0
137 Requires: python-paste
138 Requires: python-paste-deploy >= 1.5.0
139 Requires: python-pecan >= 1.0.0
140 Requires: python-pbr >= 1.6
141 Requires: python-pyroute2
142 Requires: python-requests >= 2.10.0
143 Requires: python-retrying >= 1.2.3
144 Requires: python-routes >= 1.12.3
145 Requires: python-ryu >= 3.30
146 Requires: python-six >= 1.9.0
147 Requires: python-sqlalchemy >= 1.0.10
148 Requires: python-stevedore >= 1.15.0
149 Requires: python-unicodecsv
150 Requires: python-webob >= 1.2.3
154 %description -n python-%{service}
155 Neutron provides an API to dynamically request and configure virtual
158 This package contains the Neutron Python library.
161 %package -n python-%{service}-tests
162 Summary: Neutron tests
163 Requires: python-%{service} = %{epoch}:%{version}-%{release}
167 %description -n python-%{service}-tests
168 Neutron provides an API to dynamically request and configure virtual
171 This package contains Neutron test files.
175 Summary: Neutron common files
176 Requires(pre): shadow-utils
177 Requires: python-%{service} = %{epoch}:%{version}-%{release}
182 Neutron provides an API to dynamically request and configure virtual
185 This package contains Neutron common files.
189 Summary: Neutron Linuxbridge agent
190 Requires: bridge-utils
194 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
197 %description linuxbridge
198 Neutron provides an API to dynamically request and configure virtual
201 This package contains the Neutron agent that implements virtual
202 networks using VLAN or VXLAN using Linuxbridge technology.
205 %package macvtap-agent
206 Summary: Neutron macvtap agent
207 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
210 %description macvtap-agent
211 Neutron provides an API to dynamically request and configure virtual
214 This package contains the Neutron agent that implements
215 macvtap attachments for libvirt qemu/kvm instances.
219 Summary: Neutron ML2 plugin
220 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
221 # needed for brocade and cisco drivers
222 Requires: python-ncclient
226 Neutron provides an API to dynamically request and configure virtual
229 This package contains a Neutron plugin that allows the use of drivers
230 to support separately extensible sets of network types and the mechanisms
231 for accessing those types.
235 Summary: Neutron openvswitch plugin
236 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
237 # We require openvswitch when using vsctl to access ovsdb;
238 # but if we use native access, then we just need python bindings.
239 # since we don't know what users actually use, we depend on both.
242 Requires: openvswitch
243 Requires: python-openvswitch
246 %description openvswitch
247 Neutron provides an API to dynamically request and configure virtual
250 This package contains the Neutron plugin that implements virtual
251 networks using Open vSwitch.
254 %package metering-agent
255 Summary: Neutron bandwidth metering agent
257 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
260 %description metering-agent
261 Neutron provides an API to measure bandwidth utilization
263 This package contains the Neutron agent responsible for generating bandwidth
264 utilization notifications.
268 Summary: Neutron (RPC only) Server
269 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
272 %description rpc-server
273 Neutron provides an API to dynamically request and configure virtual
276 This package contains an alternative Neutron server that handles AMQP RPC
280 %package sriov-nic-agent
281 Summary: Neutron SR-IOV NIC agent
282 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
285 %description sriov-nic-agent
286 Neutron allows to run virtual instances using SR-IOV NIC hardware
288 This package contains the Neutron agent to support advanced features of
289 SR-IOV network cards.
293 Summary: Documentation for OpenStack Neutron
296 BuildRequires: python-sphinx
297 BuildRequires: python-oslo-sphinx
298 BuildRequires: python-alembic
299 BuildRequires: python-debtcollector
300 BuildRequires: python-eventlet
301 BuildRequires: python-greenlet
302 BuildRequires: python-httplib2
303 BuildRequires: python-jinja2
304 BuildRequires: python-keystoneclient
305 BuildRequires: python-keystonemiddleware
306 BuildRequires: python-netaddr
307 BuildRequires: python-neutronclient
308 BuildRequires: python-novaclient
309 BuildRequires: python-oslo-concurrency
310 BuildRequires: python-oslo-config
311 BuildRequires: python-oslo-context
312 BuildRequires: python-oslo-db
313 BuildRequires: python-oslo-i18n
314 BuildRequires: python-oslo-log
315 BuildRequires: python-oslo-messaging
316 BuildRequires: python-oslo-middleware
317 BuildRequires: python-oslo-policy
318 BuildRequires: python-oslo-rootwrap
319 BuildRequires: python-oslo-serialization
320 BuildRequires: python-oslo-service
321 BuildRequires: python-oslo-utils
322 BuildRequires: python-oslo-versionedobjects
323 BuildRequires: python-oslo-context
324 BuildRequires: python-paste
325 BuildRequires: python-paste-deploy
326 BuildRequires: python-pecan
327 BuildRequires: python-pbr
328 BuildRequires: python-requests
329 BuildRequires: python-retrying
330 BuildRequires: python-routes
331 BuildRequires: python-six
332 BuildRequires: python-sqlalchemy
333 BuildRequires: python-stevedore
334 BuildRequires: python-webob
335 BuildRequires: python-testresources
336 BuildRequires: python-testscenarios
337 BuildRequires: python-oslotest
340 Documentation for Openstack Neutron.
344 %autosetup -n %{service}-%{version} -S git
346 find %{service} -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} +
348 # Let's handle dependencies ourseleves
349 rm -f requirements.txt
351 # Kill egg-info in order to generate new SOURCES.txt
352 rm -rf neutron.egg-info
356 export SKIP_PIP_INSTALL=1
357 %{__python2} setup.py build
358 # Generate i18n files
359 %{__python2} setup.py compile_catalog -d build/lib/%{service}/locale
361 # Generate configuration files
362 PYTHONPATH=. tools/generate_config_file_samples.sh
363 find etc -name *.sample | while read filename
365 filedir=$(dirname $filename)
366 file=$(basename $filename .sample)
367 mv ${filename} ${filedir}/${file}
371 %{__python2} setup.py install -O1 --skip-build --root %{buildroot}
373 # Remove unused files
374 rm -rf %{buildroot}%{python2_sitelib}/bin
375 rm -rf %{buildroot}%{python2_sitelib}/doc
376 rm -rf %{buildroot}%{python2_sitelib}/tools
379 export PYTHONPATH="$( pwd ):$PYTHONPATH"
380 sphinx-build -b html doc/source html
382 # Fix hidden-file-or-dir warnings
383 rm -fr html/.doctrees html/.buildinfo
385 # Move rootwrap files to proper location
386 install -d -m 755 %{buildroot}%{_datarootdir}/%{service}/rootwrap
387 mv %{buildroot}/usr/etc/%{service}/rootwrap.d/*.filters %{buildroot}%{_datarootdir}/%{service}/rootwrap
389 # Move config files to proper location
390 install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}
391 mv %{buildroot}/usr/etc/%{service}/* %{buildroot}%{_sysconfdir}/%{service}
392 mv %{buildroot}%{_sysconfdir}/%{service}/api-paste.ini %{buildroot}%{_datadir}/%{service}/api-paste.ini
394 # The generated config files are not moved automatically by setup.py
395 install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2
397 mv etc/%{service}.conf %{buildroot}%{_sysconfdir}/%{service}/%{service}.conf
398 for agent in dhcp l3 metadata metering
400 mv etc/${agent}_agent.ini %{buildroot}%{_sysconfdir}/%{service}/${agent}_agent.ini
402 for file in linuxbridge_agent ml2_conf ml2_conf_sriov openvswitch_agent sriov_agent
404 mv etc/%{service}/plugins/ml2/${file}.ini %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2/${file}.ini
408 install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service}
411 install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/%{service}
413 # Install systemd units
414 install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/neutron-server.service
415 install -p -D -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/neutron-linuxbridge-agent.service
416 install -p -D -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/neutron-openvswitch-agent.service
417 install -p -D -m 644 %{SOURCE15} %{buildroot}%{_unitdir}/neutron-dhcp-agent.service
418 install -p -D -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/neutron-l3-agent.service
419 install -p -D -m 644 %{SOURCE17} %{buildroot}%{_unitdir}/neutron-metadata-agent.service
420 install -p -D -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/neutron-ovs-cleanup.service
421 install -p -D -m 644 %{SOURCE19} %{buildroot}%{_unitdir}/neutron-macvtap-agent.service
422 install -p -D -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/neutron-metering-agent.service
423 install -p -D -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/neutron-sriov-nic-agent.service
424 install -p -D -m 644 %{SOURCE22} %{buildroot}%{_unitdir}/neutron-netns-cleanup.service
425 install -p -D -m 644 %{SOURCE29} %{buildroot}%{_unitdir}/neutron-rpc-server.service
426 install -p -D -m 644 %{SOURCE32} %{buildroot}%{_unitdir}/neutron-linuxbridge-cleanup.service
429 # Install scripts for pacemaker support
430 install -p -D -m 755 %{SOURCE23} %{buildroot}%{_prefix}/lib/ocf/lib/neutron/neutron-netns-cleanup
431 install -p -D -m 755 %{SOURCE24} %{buildroot}%{_prefix}/lib/ocf/lib/neutron/neutron-ovs-cleanup
433 # Install README file that describes how to configure services with custom configuration files
434 install -p -D -m 755 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{service}/conf.d/README
437 install -d -m 755 %{buildroot}%{_datadir}/%{service}
438 install -d -m 755 %{buildroot}%{_sharedstatedir}/%{service}
439 install -d -m 755 %{buildroot}%{_localstatedir}/log/%{service}
440 install -d -m 755 %{buildroot}%{_localstatedir}/run/%{service}
442 # Create and populate configuration directory for L3 agent that is not accessible for user modification
443 mkdir -p %{buildroot}%{_datadir}/%{service}/l3_agent
444 ln -s %{_sysconfdir}/%{service}/l3_agent.ini %{buildroot}%{_datadir}/%{service}/l3_agent/l3_agent.conf
446 # Create dist configuration directory for neutron-server (may be filled by advanced services)
447 mkdir -p %{buildroot}%{_datadir}/%{service}/server
449 # Create configuration directories for all services that can be populated by users with custom *.conf files
450 mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/common
451 for service in server rpc-server ovs-cleanup netns-cleanup linuxbridge-cleanup macvtap-agent; do
452 mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service
454 for service in linuxbridge openvswitch dhcp l3 metadata metering sriov-nic; do
455 mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service-agent
458 # Install i18n .mo files (.po and .pot are not required)
459 install -d -m 755 %{buildroot}%{_datadir}
460 rm -f %{buildroot}%{python2_sitelib}/%{service}/locale/*/LC_*/%{service}*po
461 rm -f %{buildroot}%{python2_sitelib}/%{service}/locale/*pot
462 mv %{buildroot}%{python2_sitelib}/%{service}/locale %{buildroot}%{_datadir}/locale
464 # Find language files
465 %find_lang %{service} --all-name
468 getent group %{service} >/dev/null || groupadd -r %{service}
469 getent passwd %{service} >/dev/null || \
470 useradd -r -g %{service} -d %{_sharedstatedir}/%{service} -s /sbin/nologin \
471 -c "OpenStack Neutron Daemons" %{service}
476 %systemd_post neutron-dhcp-agent.service
477 %systemd_post neutron-l3-agent.service
478 %systemd_post neutron-metadata-agent.service
479 %systemd_post neutron-server.service
480 %systemd_post neutron-netns-cleanup.service
481 %systemd_post neutron-ovs-cleanup.service
482 %systemd_post neutron-linuxbridge-cleanup.service
486 %systemd_preun neutron-dhcp-agent.service
487 %systemd_preun neutron-l3-agent.service
488 %systemd_preun neutron-metadata-agent.service
489 %systemd_preun neutron-server.service
490 %systemd_preun neutron-netns-cleanup.service
491 %systemd_preun neutron-ovs-cleanup.service
492 %systemd_preun neutron-linuxbridge-cleanup.service
496 %systemd_postun_with_restart neutron-dhcp-agent.service
497 %systemd_postun_with_restart neutron-l3-agent.service
498 %systemd_postun_with_restart neutron-metadata-agent.service
499 %systemd_postun_with_restart neutron-server.service
503 %systemd_post neutron-macvtap-agent.service
507 %systemd_preun neutron-macvtap-agent.service
510 %postun macvtap-agent
511 %systemd_postun_with_restart neutron-macvtap-agent.service
515 %systemd_post neutron-linuxbridge-agent.service
516 oldconf=%{_sysconfdir}/%{service}/plugins/linuxbridge/linuxbridge_conf.ini
517 newconf=%{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
518 if [ $1 -gt 1 ]; then
519 if [ -e $oldconf ]; then
521 cp $newconf ${newconf}.rpmnew
528 %systemd_preun neutron-linuxbridge-agent.service
532 %systemd_postun_with_restart neutron-linuxbridge-agent.service
536 %systemd_post neutron-openvswitch-agent.service
537 oldconf=%{_sysconfdir}/%{service}/plugins/openvswitch/ovs_neutron_plugin.ini
538 newconf=%{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
539 if [ $1 -gt 1 ]; then
540 if [ -e $oldconf ]; then
542 cp $newconf ${newconf}.rpmnew
549 %systemd_preun neutron-openvswitch-agent.service
553 %systemd_postun_with_restart neutron-openvswitch-agent.service
557 %systemd_post neutron-metering-agent.service
560 %preun metering-agent
561 %systemd_preun neutron-metering-agent.service
564 %postun metering-agent
565 %systemd_postun_with_restart neutron-metering-agent.service
568 %post sriov-nic-agent
569 %systemd_post neutron-sriov-nic-agent.service
572 %preun sriov-nic-agent
573 %systemd_preun neutron-sriov-nic-agent.service
576 %postun sriov-nic-agent
577 %systemd_postun_with_restart neutron-sriov-nic-agent.service
582 %{_bindir}/neutron-db-manage
583 %{_bindir}/neutron-debug
584 %{_bindir}/neutron-dhcp-agent
585 %{_bindir}/neutron-ipset-cleanup
586 %{_bindir}/neutron-keepalived-state-change
587 %{_bindir}/neutron-l3-agent
588 %{_bindir}/neutron-linuxbridge-cleanup
589 %{_bindir}/neutron-metadata-agent
590 %{_bindir}/neutron-netns-cleanup
591 %{_bindir}/neutron-ns-metadata-proxy
592 %{_bindir}/neutron-ovs-cleanup
593 %{_bindir}/neutron-pd-notify
594 %{_bindir}/neutron-sanity-check
595 %{_bindir}/neutron-server
596 %{_bindir}/neutron-usage-audit
597 %{_prefix}/lib/ocf/lib/neutron/neutron-netns-cleanup
598 %{_prefix}/lib/ocf/lib/neutron/neutron-ovs-cleanup
599 %{_unitdir}/neutron-dhcp-agent.service
600 %{_unitdir}/neutron-l3-agent.service
601 %{_unitdir}/neutron-metadata-agent.service
602 %{_unitdir}/neutron-server.service
603 %{_unitdir}/neutron-netns-cleanup.service
604 %{_unitdir}/neutron-ovs-cleanup.service
605 %{_unitdir}/neutron-linuxbridge-cleanup.service
606 %attr(-, root, %{service}) %{_datadir}/%{service}/api-paste.ini
607 %dir %{_datadir}/%{service}/l3_agent
608 %dir %{_datadir}/%{service}/server
609 %{_datadir}/%{service}/l3_agent/*.conf
610 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/dhcp_agent.ini
611 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/l3_agent.ini
612 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metadata_agent.ini
613 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/policy.json
614 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-dhcp-agent
615 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-l3-agent
616 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-metadata-agent
617 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-server
618 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-netns-cleanup
619 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-ovs-cleanup
620 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-cleanup
623 %files -n python-%{service}-tests
625 %{python2_sitelib}/%{service}/tests
628 %files -n python-%{service}
630 %{python2_sitelib}/%{service}
631 %{python2_sitelib}/%{service}-*.egg-info
632 %exclude %{python2_sitelib}/%{service}/tests
635 %files common -f %{service}.lang
638 %{_bindir}/neutron-rootwrap
639 %{_bindir}/neutron-rootwrap-daemon
640 %{_bindir}/neutron-rootwrap-xen-dom0
641 %dir %{_sysconfdir}/%{service}
642 %{_sysconfdir}/%{service}/conf.d/README
643 %dir %{_sysconfdir}/%{service}/conf.d
644 %dir %{_sysconfdir}/%{service}/conf.d/common
645 %dir %{_sysconfdir}/%{service}/plugins
646 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/%{service}.conf
647 %config(noreplace) %{_sysconfdir}/%{service}/rootwrap.conf
648 %config(noreplace) %{_sysconfdir}/logrotate.d/*
649 %{_sysconfdir}/sudoers.d/%{service}
650 %dir %attr(0755, %{service}, %{service}) %{_sharedstatedir}/%{service}
651 %dir %attr(0750, %{service}, %{service}) %{_localstatedir}/log/%{service}
652 %dir %{_datarootdir}/%{service}
653 %dir %{_datarootdir}/%{service}/rootwrap
654 %{_datarootdir}/%{service}/rootwrap/debug.filters
655 %{_datarootdir}/%{service}/rootwrap/dhcp.filters
656 %{_datarootdir}/%{service}/rootwrap/ebtables.filters
657 %{_datarootdir}/%{service}/rootwrap/ipset-firewall.filters
658 %{_datarootdir}/%{service}/rootwrap/iptables-firewall.filters
659 %{_datarootdir}/%{service}/rootwrap/l3.filters
664 %{_bindir}/neutron-linuxbridge-agent
665 %{_unitdir}/neutron-linuxbridge-agent.service
666 %{_datarootdir}/%{service}/rootwrap/linuxbridge-plugin.filters
667 %dir %{_sysconfdir}/%{service}/plugins/ml2
668 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
669 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-agent
674 %{_bindir}/neutron-macvtap-agent
675 %{_unitdir}/neutron-macvtap-agent.service
676 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-macvtap-agent
681 %doc %{service}/plugins/ml2/README
682 %dir %{_sysconfdir}/%{service}/plugins/ml2
683 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/*.ini
684 %exclude %{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
685 %exclude %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
690 %{_bindir}/neutron-openvswitch-agent
691 %{_unitdir}/neutron-openvswitch-agent.service
692 %{_datarootdir}/%{service}/rootwrap/openvswitch-plugin.filters
693 %dir %{_sysconfdir}/%{service}/plugins/ml2
694 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
695 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-openvswitch-agent
698 %files metering-agent
700 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metering_agent.ini
701 %{_unitdir}/neutron-metering-agent.service
702 %{_bindir}/neutron-metering-agent
703 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-metering-agent
708 %{_bindir}/neutron-rpc-server
709 %{_unitdir}/neutron-rpc-server.service
710 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-rpc-server
713 %files sriov-nic-agent
715 %{_unitdir}/neutron-sriov-nic-agent.service
716 %{_bindir}/neutron-sriov-nic-agent
717 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/sriov_agent.ini
718 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-sriov-nic-agent
727 * Wed Jul 19 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:9.0.0~b2-2.el7
728 - Update specs for Newton b2 release
729 * Mon Jul 18 2016 Sergey Kolekonov <skolekonov@mirantis.com> 1:9.0.0~b2-1.el7
730 - Add Restart=always directive for systemd units
731 * Mon Jun 27 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:9.0.0.0b1-1.el7
732 - Update specs for Newton b1 release
733 - Remove neutron-bgp-dragent service
734 * Fri Apr 8 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:8.0.0-1%{?dist}~mos1
735 - Update specs for Mitaka Final release
736 * Sun Mar 6 2016 Sergey Kolekonov <skolekonov@mirantis.com> 1:8.0.0.0b3-1.el7
737 - Rebuild for Mitaka-b3
738 * Thu Feb 25 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:8.0.0.0b2-1%{?dist}~mos2
739 - Update specs for Mitaka release
740 - Remove vendor specific subpackages (mellanox, bigswitch, cisco, etc)
741 - Add neutron-linuxbridge-cleanup service
742 - Add neutron-bgp-dragent service
743 - Add sample config file generation
745 - Add new build/run requirement: python-neutron-lib
746 - Remove neutron-mlnx-agent service
747 - Remove neutron-dev-server service
748 * Fri Dec 18 2015 Sergey Kolekonov <skolekonov@mirantis.com> 1:7.0.1-1%{?dist}~mos8.0.1
749 - Bump version according to the latest tag
750 * Tue Dec 15 2015 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:7.0.0-1%{?dist}~mos8.0.1
751 - Add python-openvswitch package dependency
752 * Fri Nov 20 2015 Sergey Kolekonov <skolekonov@mirantis.com> 7.0.0
753 - Remove neutron-dist.conf from packages
754 * Fri Nov 6 2015 Sergey Kolekonov <skolekonov@mirantis.com> 7.0.0
755 - Update specs for 7.0.0 release
756 * Thu Sep 3 2015 Sergey Kolekonov <skolekonov@mirantis.com> 7.0.0.0b3
757 - Update specs for Liberty release