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: python2-devel
36 BuildRequires: python-d2to1
37 BuildRequires: python-keystoneauth1 >= 2.10.0
38 BuildRequires: python-keystonemiddleware
39 BuildRequires: python-neutron-lib >= 0.3.0
40 BuildRequires: python-novaclient
41 BuildRequires: python-oslo-cache
42 BuildRequires: python-oslo-concurrency
43 BuildRequires: python-oslo-config
44 BuildRequires: python-oslo-db
45 BuildRequires: python-oslo-log
46 BuildRequires: python-oslo-messaging
47 BuildRequires: python-oslo-policy
48 BuildRequires: python-oslo-rootwrap
49 BuildRequires: python-oslo-service
50 BuildRequires: python-oslo-versionedobjects
51 BuildRequires: python-osprofiler >= 1.3.0
52 BuildRequires: python-pbr >= 1.6
53 BuildRequires: python-pecan
54 BuildRequires: python-setuptools
55 BuildRequires: systemd-units
57 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
59 # dnsmasq is not a hard requirement, but is currently the only option
60 # when neutron-dhcp-agent is deployed.
62 Requires: dnsmasq-utils
64 # radvd is not a hard requirement, but is currently the only option
65 # for IPv6 deployments.
68 # dibbler is not a hard requirement, but is currently the default option
69 # for IPv6 prefix delegation.
70 #Requires: dibbler-client
72 # conntrack is not a hard requirement, but is currently used by L3 agent
73 # to immediately drop connections after a floating IP is disassociated
74 Requires: conntrack-tools
76 # keepalived is not a hard requirement, but is currently used by DVR L3
80 # those are not hard requirements, but are used to implement firewall
85 Requires(pre): shadow-utils
86 Requires(post): systemd
87 Requires(preun): systemd
88 Requires(postun): systemd
90 Obsoletes: openstack-%{service}-dev-server
93 Neutron is a virtual network service for Openstack. Just like
94 OpenStack Nova provides an API to dynamically request and configure
95 virtual servers, Neutron provides an API to dynamically request and
96 configure virtual networks. These networks connect "interfaces" from
97 other OpenStack services (e.g., virtual NICs from Nova VMs). The
98 Neutron API supports extensions to provide advanced network
99 capabilities (e.g., QoS, ACLs, network monitoring, etc.)
102 %package -n python-%{service}
103 Summary: Neutron Python libraries
104 Requires: python-alembic >= 0.8.4
105 Requires: python-debtcollector >= 1.2.0
106 Requires: python-designateclient >= 1.5.0
107 Requires: python-eventlet >= 0.18.2
108 Requires: python-greenlet >= 0.3.2
109 Requires: python-httplib2 >= 0.7.5
110 Requires: python-jinja2 >= 2.8
111 Requires: python-keystoneauth1 >= 2.10.0
112 Requires: python-keystonemiddleware >= 4.0.0
113 Requires: python-netaddr >= 0.7.12
114 Requires: python-netifaces >= 0.10.4
115 Requires: python-neutronclient >= 4.2.0
116 Requires: python-neutron-lib >= 0.3.0
117 Requires: python-novaclient >= 2.29.0
118 Requires: python-openvswitch
119 Requires: python-oslo-cache >= 1.5.0
120 Requires: python-oslo-concurrency >= 3.8.0
121 Requires: python-oslo-config >= 2:3.14.0
122 Requires: python-oslo-context >= 2.6.0
123 Requires: python-oslo-db >= 4.10.0
124 Requires: python-oslo-i18n >= 2.1.0
125 Requires: python-oslo-log >= 1.14.0
126 Requires: python-oslo-messaging >= 5.2.0
127 Requires: python-oslo-middleware >= 3.0.0
128 Requires: python-oslo-policy >= 1.9.0
129 Requires: python-oslo-reports >= 0.6.0
130 Requires: python-oslo-rootwrap >= 5.0.0
131 Requires: python-oslo-serialization >= 1.10.0
132 Requires: python-oslo-service >= 1.10.0
133 Requires: python-oslo-utils >= 3.16.0
134 Requires: python-oslo-versionedobjects >= 1.13.1
135 Requires: python-osprofiler >= 1.3.0
136 Requires: python-paste
137 Requires: python-paste-deploy >= 1.5.0
138 Requires: python-pecan >= 1.0.0
139 Requires: python-pbr >= 1.6
140 Requires: python-pyroute2
141 Requires: python-requests >= 2.10.0
142 Requires: python-retrying >= 1.2.3
143 Requires: python-routes >= 1.12.3
144 Requires: python-ryu >= 3.30
145 Requires: python-six >= 1.9.0
146 Requires: python-sqlalchemy >= 1.0.10
147 Requires: python-stevedore >= 1.16.0
148 Requires: python-webob >= 1.2.3
152 %description -n python-%{service}
153 Neutron provides an API to dynamically request and configure virtual
156 This package contains the Neutron Python library.
159 %package -n python-%{service}-tests
160 Summary: Neutron tests
161 Requires: python-%{service} = %{epoch}:%{version}-%{release}
165 %description -n python-%{service}-tests
166 Neutron provides an API to dynamically request and configure virtual
169 This package contains Neutron test files.
173 Summary: Neutron common files
174 Requires(pre): shadow-utils
175 Requires: python-%{service} = %{epoch}:%{version}-%{release}
180 Neutron provides an API to dynamically request and configure virtual
183 This package contains Neutron common files.
187 Summary: Neutron Linuxbridge agent
188 Requires: bridge-utils
192 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
195 %description linuxbridge
196 Neutron provides an API to dynamically request and configure virtual
199 This package contains the Neutron agent that implements virtual
200 networks using VLAN or VXLAN using Linuxbridge technology.
203 %package macvtap-agent
204 Summary: Neutron macvtap agent
205 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
208 %description macvtap-agent
209 Neutron provides an API to dynamically request and configure virtual
212 This package contains the Neutron agent that implements
213 macvtap attachments for libvirt qemu/kvm instances.
217 Summary: Neutron ML2 plugin
218 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
219 # needed for brocade and cisco drivers
220 Requires: python-ncclient
224 Neutron provides an API to dynamically request and configure virtual
227 This package contains a Neutron plugin that allows the use of drivers
228 to support separately extensible sets of network types and the mechanisms
229 for accessing those types.
233 Summary: Neutron openvswitch plugin
234 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
235 # We require openvswitch when using vsctl to access ovsdb;
236 # but if we use native access, then we just need python bindings.
237 # since we don't know what users actually use, we depend on both.
240 Requires: openvswitch
241 Requires: python-openvswitch
244 %description openvswitch
245 Neutron provides an API to dynamically request and configure virtual
248 This package contains the Neutron plugin that implements virtual
249 networks using Open vSwitch.
252 %package metering-agent
253 Summary: Neutron bandwidth metering agent
255 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
258 %description metering-agent
259 Neutron provides an API to measure bandwidth utilization
261 This package contains the Neutron agent responsible for generating bandwidth
262 utilization notifications.
266 Summary: Neutron (RPC only) Server
267 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
270 %description rpc-server
271 Neutron provides an API to dynamically request and configure virtual
274 This package contains an alternative Neutron server that handles AMQP RPC
278 %package sriov-nic-agent
279 Summary: Neutron SR-IOV NIC agent
280 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
283 %description sriov-nic-agent
284 Neutron allows to run virtual instances using SR-IOV NIC hardware
286 This package contains the Neutron agent to support advanced features of
287 SR-IOV network cards.
291 Summary: Documentation for OpenStack Neutron
294 BuildRequires: python-sphinx
295 BuildRequires: python-oslo-sphinx
296 BuildRequires: python-alembic
297 BuildRequires: python-debtcollector
298 BuildRequires: python-eventlet
299 BuildRequires: python-greenlet
300 BuildRequires: python-httplib2
301 BuildRequires: python-jinja2
302 BuildRequires: python-keystoneclient
303 BuildRequires: python-keystonemiddleware
304 BuildRequires: python-netaddr
305 BuildRequires: python-neutronclient
306 BuildRequires: python-novaclient
307 BuildRequires: python-oslo-concurrency
308 BuildRequires: python-oslo-config
309 BuildRequires: python-oslo-context
310 BuildRequires: python-oslo-db
311 BuildRequires: python-oslo-i18n
312 BuildRequires: python-oslo-log
313 BuildRequires: python-oslo-messaging
314 BuildRequires: python-oslo-middleware
315 BuildRequires: python-oslo-policy
316 BuildRequires: python-oslo-rootwrap
317 BuildRequires: python-oslo-serialization
318 BuildRequires: python-oslo-service
319 BuildRequires: python-oslo-utils
320 BuildRequires: python-oslo-versionedobjects
321 BuildRequires: python-oslo-context
322 BuildRequires: python-paste
323 BuildRequires: python-paste-deploy
324 BuildRequires: python-pecan
325 BuildRequires: python-pbr
326 BuildRequires: python-requests
327 BuildRequires: python-retrying
328 BuildRequires: python-routes
329 BuildRequires: python-six
330 BuildRequires: python-sqlalchemy
331 BuildRequires: python-stevedore
332 BuildRequires: python-webob
333 BuildRequires: python-testresources
334 BuildRequires: python-testscenarios
335 BuildRequires: python-oslotest
338 Documentation for Openstack Neutron.
342 %autosetup -n %{service}-%{version} -S git
344 find %{service} -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} +
346 # Let's handle dependencies ourseleves
347 rm -f requirements.txt
349 # Kill egg-info in order to generate new SOURCES.txt
350 rm -rf neutron.egg-info
354 export SKIP_PIP_INSTALL=1
355 %{__python2} setup.py build
356 # Generate i18n files
357 %{__python2} setup.py compile_catalog -d build/lib/%{service}/locale
359 # Generate configuration files
360 PYTHONPATH=. tools/generate_config_file_samples.sh
361 find etc -name *.sample | while read filename
363 filedir=$(dirname $filename)
364 file=$(basename $filename .sample)
365 mv ${filename} ${filedir}/${file}
369 %{__python2} setup.py install -O1 --skip-build --root %{buildroot}
371 # Remove unused files
372 rm -rf %{buildroot}%{python2_sitelib}/bin
373 rm -rf %{buildroot}%{python2_sitelib}/doc
374 rm -rf %{buildroot}%{python2_sitelib}/tools
377 export PYTHONPATH="$( pwd ):$PYTHONPATH"
378 sphinx-build -b html doc/source html
380 # Fix hidden-file-or-dir warnings
381 rm -fr html/.doctrees html/.buildinfo
383 # Move rootwrap files to proper location
384 install -d -m 755 %{buildroot}%{_datarootdir}/%{service}/rootwrap
385 mv %{buildroot}/usr/etc/%{service}/rootwrap.d/*.filters %{buildroot}%{_datarootdir}/%{service}/rootwrap
387 # Move config files to proper location
388 install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}
389 mv %{buildroot}/usr/etc/%{service}/* %{buildroot}%{_sysconfdir}/%{service}
390 mv %{buildroot}%{_sysconfdir}/%{service}/api-paste.ini %{buildroot}%{_datadir}/%{service}/api-paste.ini
392 # The generated config files are not moved automatically by setup.py
393 install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2
395 mv etc/%{service}.conf %{buildroot}%{_sysconfdir}/%{service}/%{service}.conf
396 for agent in dhcp l3 metadata metering
398 mv etc/${agent}_agent.ini %{buildroot}%{_sysconfdir}/%{service}/${agent}_agent.ini
400 for file in linuxbridge_agent ml2_conf ml2_conf_sriov openvswitch_agent sriov_agent
402 mv etc/%{service}/plugins/ml2/${file}.ini %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2/${file}.ini
406 install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service}
409 install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/%{service}
411 # Install systemd units
412 install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/neutron-server.service
413 install -p -D -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/neutron-linuxbridge-agent.service
414 install -p -D -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/neutron-openvswitch-agent.service
415 install -p -D -m 644 %{SOURCE15} %{buildroot}%{_unitdir}/neutron-dhcp-agent.service
416 install -p -D -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/neutron-l3-agent.service
417 install -p -D -m 644 %{SOURCE17} %{buildroot}%{_unitdir}/neutron-metadata-agent.service
418 install -p -D -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/neutron-ovs-cleanup.service
419 install -p -D -m 644 %{SOURCE19} %{buildroot}%{_unitdir}/neutron-macvtap-agent.service
420 install -p -D -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/neutron-metering-agent.service
421 install -p -D -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/neutron-sriov-nic-agent.service
422 install -p -D -m 644 %{SOURCE22} %{buildroot}%{_unitdir}/neutron-netns-cleanup.service
423 install -p -D -m 644 %{SOURCE29} %{buildroot}%{_unitdir}/neutron-rpc-server.service
424 install -p -D -m 644 %{SOURCE32} %{buildroot}%{_unitdir}/neutron-linuxbridge-cleanup.service
427 # Install scripts for pacemaker support
428 install -p -D -m 755 %{SOURCE23} %{buildroot}%{_prefix}/lib/ocf/lib/neutron/neutron-netns-cleanup
429 install -p -D -m 755 %{SOURCE24} %{buildroot}%{_prefix}/lib/ocf/lib/neutron/neutron-ovs-cleanup
431 # Install README file that describes how to configure services with custom configuration files
432 install -p -D -m 755 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{service}/conf.d/README
435 install -d -m 755 %{buildroot}%{_datadir}/%{service}
436 install -d -m 755 %{buildroot}%{_sharedstatedir}/%{service}
437 install -d -m 755 %{buildroot}%{_localstatedir}/log/%{service}
438 install -d -m 755 %{buildroot}%{_localstatedir}/run/%{service}
440 # Create and populate configuration directory for L3 agent that is not accessible for user modification
441 mkdir -p %{buildroot}%{_datadir}/%{service}/l3_agent
442 ln -s %{_sysconfdir}/%{service}/l3_agent.ini %{buildroot}%{_datadir}/%{service}/l3_agent/l3_agent.conf
444 # Create dist configuration directory for neutron-server (may be filled by advanced services)
445 mkdir -p %{buildroot}%{_datadir}/%{service}/server
447 # Create configuration directories for all services that can be populated by users with custom *.conf files
448 mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/common
449 for service in server rpc-server ovs-cleanup netns-cleanup linuxbridge-cleanup macvtap-agent; do
450 mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service
452 for service in linuxbridge openvswitch dhcp l3 metadata metering sriov-nic; do
453 mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service-agent
456 # Install i18n .mo files (.po and .pot are not required)
457 install -d -m 755 %{buildroot}%{_datadir}
458 rm -f %{buildroot}%{python2_sitelib}/%{service}/locale/*/LC_*/%{service}*po
459 rm -f %{buildroot}%{python2_sitelib}/%{service}/locale/*pot
460 mv %{buildroot}%{python2_sitelib}/%{service}/locale %{buildroot}%{_datadir}/locale
462 # Find language files
463 %find_lang %{service} --all-name
466 getent group %{service} >/dev/null || groupadd -r %{service}
467 getent passwd %{service} >/dev/null || \
468 useradd -r -g %{service} -d %{_sharedstatedir}/%{service} -s /sbin/nologin \
469 -c "OpenStack Neutron Daemons" %{service}
474 %systemd_post neutron-dhcp-agent.service
475 %systemd_post neutron-l3-agent.service
476 %systemd_post neutron-metadata-agent.service
477 %systemd_post neutron-server.service
478 %systemd_post neutron-netns-cleanup.service
479 %systemd_post neutron-ovs-cleanup.service
480 %systemd_post neutron-linuxbridge-cleanup.service
484 %systemd_preun neutron-dhcp-agent.service
485 %systemd_preun neutron-l3-agent.service
486 %systemd_preun neutron-metadata-agent.service
487 %systemd_preun neutron-server.service
488 %systemd_preun neutron-netns-cleanup.service
489 %systemd_preun neutron-ovs-cleanup.service
490 %systemd_preun neutron-linuxbridge-cleanup.service
494 %systemd_postun_with_restart neutron-dhcp-agent.service
495 %systemd_postun_with_restart neutron-l3-agent.service
496 %systemd_postun_with_restart neutron-metadata-agent.service
497 %systemd_postun_with_restart neutron-server.service
501 %systemd_post neutron-macvtap-agent.service
505 %systemd_preun neutron-macvtap-agent.service
508 %postun macvtap-agent
509 %systemd_postun_with_restart neutron-macvtap-agent.service
513 %systemd_post neutron-linuxbridge-agent.service
514 oldconf=%{_sysconfdir}/%{service}/plugins/linuxbridge/linuxbridge_conf.ini
515 newconf=%{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
516 if [ $1 -gt 1 ]; then
517 if [ -e $oldconf ]; then
519 cp $newconf ${newconf}.rpmnew
526 %systemd_preun neutron-linuxbridge-agent.service
530 %systemd_postun_with_restart neutron-linuxbridge-agent.service
534 %systemd_post neutron-openvswitch-agent.service
535 oldconf=%{_sysconfdir}/%{service}/plugins/openvswitch/ovs_neutron_plugin.ini
536 newconf=%{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
537 if [ $1 -gt 1 ]; then
538 if [ -e $oldconf ]; then
540 cp $newconf ${newconf}.rpmnew
547 %systemd_preun neutron-openvswitch-agent.service
551 %systemd_postun_with_restart neutron-openvswitch-agent.service
555 %systemd_post neutron-metering-agent.service
558 %preun metering-agent
559 %systemd_preun neutron-metering-agent.service
562 %postun metering-agent
563 %systemd_postun_with_restart neutron-metering-agent.service
566 %post sriov-nic-agent
567 %systemd_post neutron-sriov-nic-agent.service
570 %preun sriov-nic-agent
571 %systemd_preun neutron-sriov-nic-agent.service
574 %postun sriov-nic-agent
575 %systemd_postun_with_restart neutron-sriov-nic-agent.service
580 %{_bindir}/neutron-db-manage
581 %{_bindir}/neutron-debug
582 %{_bindir}/neutron-dhcp-agent
583 %{_bindir}/neutron-ipset-cleanup
584 %{_bindir}/neutron-keepalived-state-change
585 %{_bindir}/neutron-l3-agent
586 %{_bindir}/neutron-linuxbridge-cleanup
587 %{_bindir}/neutron-metadata-agent
588 %{_bindir}/neutron-netns-cleanup
589 %{_bindir}/neutron-ns-metadata-proxy
590 %{_bindir}/neutron-ovs-cleanup
591 %{_bindir}/neutron-pd-notify
592 %{_bindir}/neutron-sanity-check
593 %{_bindir}/neutron-server
594 %{_bindir}/neutron-usage-audit
595 %{_prefix}/lib/ocf/lib/neutron/neutron-netns-cleanup
596 %{_prefix}/lib/ocf/lib/neutron/neutron-ovs-cleanup
597 %{_unitdir}/neutron-dhcp-agent.service
598 %{_unitdir}/neutron-l3-agent.service
599 %{_unitdir}/neutron-metadata-agent.service
600 %{_unitdir}/neutron-server.service
601 %{_unitdir}/neutron-netns-cleanup.service
602 %{_unitdir}/neutron-ovs-cleanup.service
603 %{_unitdir}/neutron-linuxbridge-cleanup.service
604 %attr(-, root, %{service}) %{_datadir}/%{service}/api-paste.ini
605 %dir %{_datadir}/%{service}/l3_agent
606 %dir %{_datadir}/%{service}/server
607 %{_datadir}/%{service}/l3_agent/*.conf
608 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/dhcp_agent.ini
609 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/l3_agent.ini
610 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metadata_agent.ini
611 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/policy.json
612 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-dhcp-agent
613 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-l3-agent
614 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-metadata-agent
615 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-server
616 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-netns-cleanup
617 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-ovs-cleanup
618 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-cleanup
621 %files -n python-%{service}-tests
623 %{python2_sitelib}/%{service}/tests
626 %files -n python-%{service}
628 %{python2_sitelib}/%{service}
629 %{python2_sitelib}/%{service}-*.egg-info
630 %exclude %{python2_sitelib}/%{service}/tests
633 %files common -f %{service}.lang
636 %{_bindir}/neutron-rootwrap
637 %{_bindir}/neutron-rootwrap-daemon
638 %{_bindir}/neutron-rootwrap-xen-dom0
639 %dir %{_sysconfdir}/%{service}
640 %{_sysconfdir}/%{service}/conf.d/README
641 %dir %{_sysconfdir}/%{service}/conf.d
642 %dir %{_sysconfdir}/%{service}/conf.d/common
643 %dir %{_sysconfdir}/%{service}/plugins
644 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/%{service}.conf
645 %config(noreplace) %{_sysconfdir}/%{service}/rootwrap.conf
646 %config(noreplace) %{_sysconfdir}/logrotate.d/*
647 %{_sysconfdir}/sudoers.d/%{service}
648 %dir %attr(0755, %{service}, %{service}) %{_sharedstatedir}/%{service}
649 %dir %attr(0750, %{service}, %{service}) %{_localstatedir}/log/%{service}
650 %dir %{_datarootdir}/%{service}
651 %dir %{_datarootdir}/%{service}/rootwrap
652 %{_datarootdir}/%{service}/rootwrap/debug.filters
653 %{_datarootdir}/%{service}/rootwrap/dhcp.filters
654 %{_datarootdir}/%{service}/rootwrap/ebtables.filters
655 %{_datarootdir}/%{service}/rootwrap/ipset-firewall.filters
656 %{_datarootdir}/%{service}/rootwrap/iptables-firewall.filters
657 %{_datarootdir}/%{service}/rootwrap/l3.filters
662 %{_bindir}/neutron-linuxbridge-agent
663 %{_unitdir}/neutron-linuxbridge-agent.service
664 %{_datarootdir}/%{service}/rootwrap/linuxbridge-plugin.filters
665 %dir %{_sysconfdir}/%{service}/plugins/ml2
666 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
667 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-agent
672 %{_bindir}/neutron-macvtap-agent
673 %{_unitdir}/neutron-macvtap-agent.service
674 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-macvtap-agent
679 %doc %{service}/plugins/ml2/README
680 %dir %{_sysconfdir}/%{service}/plugins/ml2
681 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/*.ini
682 %exclude %{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
683 %exclude %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
688 %{_bindir}/neutron-openvswitch-agent
689 %{_unitdir}/neutron-openvswitch-agent.service
690 %{_datarootdir}/%{service}/rootwrap/openvswitch-plugin.filters
691 %dir %{_sysconfdir}/%{service}/plugins/ml2
692 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
693 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-openvswitch-agent
696 %files metering-agent
698 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metering_agent.ini
699 %{_unitdir}/neutron-metering-agent.service
700 %{_bindir}/neutron-metering-agent
701 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-metering-agent
706 %{_bindir}/neutron-rpc-server
707 %{_unitdir}/neutron-rpc-server.service
708 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-rpc-server
711 %files sriov-nic-agent
713 %{_unitdir}/neutron-sriov-nic-agent.service
714 %{_bindir}/neutron-sriov-nic-agent
715 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/sriov_agent.ini
716 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-sriov-nic-agent
725 * Tue Aug 16 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:9.0.0~b2-3.el7
726 - Update requirements
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