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 Source13: neutron-bgp-dragent.service
19 Source15: neutron-dhcp-agent.service
20 Source16: neutron-l3-agent.service
21 Source17: neutron-metadata-agent.service
22 Source18: neutron-ovs-cleanup.service
23 Source19: neutron-macvtap-agent.service
24 Source20: neutron-metering-agent.service
25 Source21: neutron-sriov-nic-agent.service
26 Source22: neutron-netns-cleanup.service
27 Source23: neutron-netns-cleanup.init
28 Source24: neutron-ovs-cleanup.init
29 Source29: neutron-rpc-server.service
32 Source32: neutron-linuxbridge-cleanup.service
37 BuildRequires: python-backports-ssl_match_hostname
38 BuildRequires: python2-devel
39 BuildRequires: python-d2to1
40 BuildRequires: python-keystoneauth1 >= 2.1.0
41 BuildRequires: python-keystonemiddleware
42 BuildRequires: python-neutron-lib >= 0.2.0
43 BuildRequires: python-novaclient
44 BuildRequires: python-oslo-cache
45 BuildRequires: python-oslo-concurrency
46 BuildRequires: python-oslo-config
47 BuildRequires: python-oslo-db
48 BuildRequires: python-oslo-log
49 BuildRequires: python-oslo-messaging
50 BuildRequires: python-oslo-policy
51 BuildRequires: python-oslo-rootwrap
52 BuildRequires: python-oslo-service
53 BuildRequires: python-oslo-versionedobjects
54 BuildRequires: python-osprofiler >= 1.3.0
55 BuildRequires: python-pbr >= 1.6
56 BuildRequires: python-pecan
57 BuildRequires: python-setuptools
58 BuildRequires: systemd-units
60 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
62 # dnsmasq is not a hard requirement, but is currently the only option
63 # when neutron-dhcp-agent is deployed.
65 Requires: dnsmasq-utils
67 # radvd is not a hard requirement, but is currently the only option
68 # for IPv6 deployments.
71 # dibbler is not a hard requirement, but is currently the default option
72 # for IPv6 prefix delegation.
73 #Requires: dibbler-client
75 # conntrack is not a hard requirement, but is currently used by L3 agent
76 # to immediately drop connections after a floating IP is disassociated
77 Requires: conntrack-tools
79 # keepalived is not a hard requirement, but is currently used by DVR L3
83 # those are not hard requirements, but are used to implement firewall
88 Requires(pre): shadow-utils
89 Requires(post): systemd
90 Requires(preun): systemd
91 Requires(postun): systemd
93 Obsoletes: openstack-%{service}-dev-server
96 Neutron is a virtual network service for Openstack. Just like
97 OpenStack Nova provides an API to dynamically request and configure
98 virtual servers, Neutron provides an API to dynamically request and
99 configure virtual networks. These networks connect "interfaces" from
100 other OpenStack services (e.g., virtual NICs from Nova VMs). The
101 Neutron API supports extensions to provide advanced network
102 capabilities (e.g., QoS, ACLs, network monitoring, etc.)
105 %package -n python-%{service}
106 Summary: Neutron Python libraries
107 Requires: python-alembic >= 0.8.4
108 Requires: python-debtcollector >= 1.2.0
109 Requires: python-designateclient >= 1.5.0
110 Requires: python-eventlet >= 0.18.2
111 Requires: python-greenlet >= 0.3.2
112 Requires: python-httplib2 >= 0.7.5
113 Requires: python-jinja2 >= 2.8
114 Requires: python-keystoneauth1 >= 2.1.0
115 Requires: python-keystoneclient >= 1.6.0
116 Requires: python-keystonemiddleware >= 4.0.0
117 Requires: python-netaddr >= 0.7.12
118 Requires: python-neutronclient >= 4.2.0
119 Requires: python-neutron-lib >= 0.2.0
120 Requires: python-novaclient >= 2.29.0
121 Requires: python-openvswitch
122 Requires: python-oslo-cache >= 1.5.0
123 Requires: python-oslo-concurrency >= 3.8.0
124 Requires: python-oslo-config >= 2:3.10.0
125 Requires: python-oslo-context >= 2.4.0
126 Requires: python-oslo-db >= 4.1.0
127 Requires: python-oslo-i18n >= 2.1.0
128 Requires: python-oslo-log >= 1.14.0
129 Requires: python-oslo-messaging >= 5.2.0
130 Requires: python-oslo-middleware >= 3.0.0
131 Requires: python-oslo-policy >= 1.9.0
132 Requires: python-oslo-reports >= 0.6.0
133 Requires: python-oslo-rootwrap >= 2.0.0
134 Requires: python-oslo-serialization >= 1.10.0
135 Requires: python-oslo-service >= 1.10.0
136 Requires: python-oslo-utils >= 3.11.0
137 Requires: python-oslo-versionedobjects >= 1.9.1
138 Requires: python-osprofiler >= 1.3.0
139 Requires: python-paste
140 Requires: python-paste-deploy >= 1.5.0
141 Requires: python-pecan >= 1.0.0
142 Requires: python-pbr >= 1.6
143 Requires: python-pyroute2
144 Requires: python-requests >= 2.10.0
145 Requires: python-retrying >= 1.2.3
146 Requires: python-routes >= 1.12.3
147 Requires: python-ryu >= 3.30
148 Requires: python-six >= 1.9.0
149 Requires: python-sqlalchemy >= 1.0.10
150 Requires: python-stevedore >= 1.5.0
151 Requires: python-unicodecsv
152 Requires: python-webob >= 1.2.3
156 %description -n python-%{service}
157 Neutron provides an API to dynamically request and configure virtual
160 This package contains the Neutron Python library.
163 %package -n python-%{service}-tests
164 Summary: Neutron tests
165 Requires: python-%{service} = %{epoch}:%{version}-%{release}
169 %description -n python-%{service}-tests
170 Neutron provides an API to dynamically request and configure virtual
173 This package contains Neutron test files.
177 Summary: Neutron common files
178 Requires(pre): shadow-utils
179 Requires: python-%{service} = %{epoch}:%{version}-%{release}
184 Neutron provides an API to dynamically request and configure virtual
187 This package contains Neutron common files.
191 Summary: Neutron Linuxbridge agent
192 Requires: bridge-utils
196 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
199 %description linuxbridge
200 Neutron provides an API to dynamically request and configure virtual
203 This package contains the Neutron agent that implements virtual
204 networks using VLAN or VXLAN using Linuxbridge technology.
207 %package macvtap-agent
208 Summary: Neutron macvtap agent
209 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
212 %description macvtap-agent
213 Neutron provides an API to dynamically request and configure virtual
216 This package contains the Neutron agent that implements
217 macvtap attachments for libvirt qemu/kvm instances.
221 Summary: Neutron ML2 plugin
222 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
223 # needed for brocade and cisco drivers
224 Requires: python-ncclient
228 Neutron provides an API to dynamically request and configure virtual
231 This package contains a Neutron plugin that allows the use of drivers
232 to support separately extensible sets of network types and the mechanisms
233 for accessing those types.
237 Summary: Neutron openvswitch plugin
238 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
239 # We require openvswitch when using vsctl to access ovsdb;
240 # but if we use native access, then we just need python bindings.
241 # since we don't know what users actually use, we depend on both.
244 Requires: openvswitch
245 Requires: python-openvswitch
248 %description openvswitch
249 Neutron provides an API to dynamically request and configure virtual
252 This package contains the Neutron plugin that implements virtual
253 networks using Open vSwitch.
256 %package metering-agent
257 Summary: Neutron bandwidth metering agent
259 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
262 %description metering-agent
263 Neutron provides an API to measure bandwidth utilization
265 This package contains the Neutron agent responsible for generating bandwidth
266 utilization notifications.
270 Summary: Neutron (RPC only) Server
271 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
274 %description rpc-server
275 Neutron provides an API to dynamically request and configure virtual
278 This package contains an alternative Neutron server that handles AMQP RPC
282 %package sriov-nic-agent
283 Summary: Neutron SR-IOV NIC agent
284 Requires: openstack-%{service}-common = %{epoch}:%{version}-%{release}
287 %description sriov-nic-agent
288 Neutron allows to run virtual instances using SR-IOV NIC hardware
290 This package contains the Neutron agent to support advanced features of
291 SR-IOV network cards.
295 Summary: Documentation for OpenStack Neutron
298 BuildRequires: python-sphinx
299 BuildRequires: python-oslo-sphinx
300 BuildRequires: python-alembic
301 BuildRequires: python-debtcollector
302 BuildRequires: python-eventlet
303 BuildRequires: python-greenlet
304 BuildRequires: python-httplib2
305 BuildRequires: python-jinja2
306 BuildRequires: python-keystoneclient
307 BuildRequires: python-keystonemiddleware
308 BuildRequires: python-netaddr
309 BuildRequires: python-neutronclient
310 BuildRequires: python-novaclient
311 BuildRequires: python-oslo-concurrency
312 BuildRequires: python-oslo-config
313 BuildRequires: python-oslo-context
314 BuildRequires: python-oslo-db
315 BuildRequires: python-oslo-i18n
316 BuildRequires: python-oslo-log
317 BuildRequires: python-oslo-messaging
318 BuildRequires: python-oslo-middleware
319 BuildRequires: python-oslo-policy
320 BuildRequires: python-oslo-rootwrap
321 BuildRequires: python-oslo-serialization
322 BuildRequires: python-oslo-service
323 BuildRequires: python-oslo-utils
324 BuildRequires: python-oslo-versionedobjects
325 BuildRequires: python-oslo-context
326 BuildRequires: python-paste
327 BuildRequires: python-paste-deploy
328 BuildRequires: python-pecan
329 BuildRequires: python-pbr
330 BuildRequires: python-requests
331 BuildRequires: python-retrying
332 BuildRequires: python-routes
333 BuildRequires: python-six
334 BuildRequires: python-sqlalchemy
335 BuildRequires: python-stevedore
336 BuildRequires: python-webob
337 BuildRequires: python-testresources
338 BuildRequires: python-testscenarios
339 BuildRequires: python-oslotest
342 Documentation for Openstack Neutron.
346 %autosetup -n %{service}-%{version} -S git
348 find %{service} -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} +
350 # Let's handle dependencies ourseleves
351 rm -f requirements.txt
353 # Kill egg-info in order to generate new SOURCES.txt
354 rm -rf neutron.egg-info
358 export SKIP_PIP_INSTALL=1
359 %{__python2} setup.py build
360 # Generate i18n files
361 %{__python2} setup.py compile_catalog -d build/lib/%{service}/locale
363 # Generate configuration files
364 PYTHONPATH=. tools/generate_config_file_samples.sh
365 find etc -name *.sample | while read filename
367 filedir=$(dirname $filename)
368 file=$(basename $filename .sample)
369 mv ${filename} ${filedir}/${file}
373 %{__python2} setup.py install -O1 --skip-build --root %{buildroot}
375 # Remove unused files
376 rm -rf %{buildroot}%{python2_sitelib}/bin
377 rm -rf %{buildroot}%{python2_sitelib}/doc
378 rm -rf %{buildroot}%{python2_sitelib}/tools
381 export PYTHONPATH="$( pwd ):$PYTHONPATH"
382 sphinx-build -b html doc/source html
384 # Fix hidden-file-or-dir warnings
385 rm -fr html/.doctrees html/.buildinfo
387 # Move rootwrap files to proper location
388 install -d -m 755 %{buildroot}%{_datarootdir}/%{service}/rootwrap
389 mv %{buildroot}/usr/etc/%{service}/rootwrap.d/*.filters %{buildroot}%{_datarootdir}/%{service}/rootwrap
391 # Move config files to proper location
392 install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}
393 mv %{buildroot}/usr/etc/%{service}/* %{buildroot}%{_sysconfdir}/%{service}
394 mv %{buildroot}%{_sysconfdir}/%{service}/api-paste.ini %{buildroot}%{_datadir}/%{service}/api-paste.ini
396 # The generated config files are not moved automatically by setup.py
397 install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2
399 mv etc/%{service}.conf %{buildroot}%{_sysconfdir}/%{service}/%{service}.conf
400 for agent in dhcp l3 metadata metering
402 mv etc/${agent}_agent.ini %{buildroot}%{_sysconfdir}/%{service}/${agent}_agent.ini
404 for file in linuxbridge_agent ml2_conf ml2_conf_sriov openvswitch_agent sriov_agent
406 mv etc/%{service}/plugins/ml2/${file}.ini %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2/${file}.ini
410 install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service}
413 install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/%{service}
415 # Install systemd units
416 install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/neutron-server.service
417 install -p -D -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/neutron-linuxbridge-agent.service
418 install -p -D -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/neutron-openvswitch-agent.service
419 install -p -D -m 644 %{SOURCE15} %{buildroot}%{_unitdir}/neutron-dhcp-agent.service
420 install -p -D -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/neutron-l3-agent.service
421 install -p -D -m 644 %{SOURCE17} %{buildroot}%{_unitdir}/neutron-metadata-agent.service
422 install -p -D -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/neutron-ovs-cleanup.service
423 install -p -D -m 644 %{SOURCE19} %{buildroot}%{_unitdir}/neutron-macvtap-agent.service
424 install -p -D -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/neutron-metering-agent.service
425 install -p -D -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/neutron-sriov-nic-agent.service
426 install -p -D -m 644 %{SOURCE22} %{buildroot}%{_unitdir}/neutron-netns-cleanup.service
427 install -p -D -m 644 %{SOURCE29} %{buildroot}%{_unitdir}/neutron-rpc-server.service
428 install -p -D -m 644 %{SOURCE32} %{buildroot}%{_unitdir}/neutron-linuxbridge-cleanup.service
431 # Install scripts for pacemaker support
432 install -p -D -m 755 %{SOURCE23} %{buildroot}%{_prefix}/lib/ocf/lib/neutron/neutron-netns-cleanup
433 install -p -D -m 755 %{SOURCE24} %{buildroot}%{_prefix}/lib/ocf/lib/neutron/neutron-ovs-cleanup
435 # Install README file that describes how to configure services with custom configuration files
436 install -p -D -m 755 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{service}/conf.d/README
439 install -d -m 755 %{buildroot}%{_datadir}/%{service}
440 install -d -m 755 %{buildroot}%{_sharedstatedir}/%{service}
441 install -d -m 755 %{buildroot}%{_localstatedir}/log/%{service}
442 install -d -m 755 %{buildroot}%{_localstatedir}/run/%{service}
444 # Create and populate configuration directory for L3 agent that is not accessible for user modification
445 mkdir -p %{buildroot}%{_datadir}/%{service}/l3_agent
446 ln -s %{_sysconfdir}/%{service}/l3_agent.ini %{buildroot}%{_datadir}/%{service}/l3_agent/l3_agent.conf
448 # Create dist configuration directory for neutron-server (may be filled by advanced services)
449 mkdir -p %{buildroot}%{_datadir}/%{service}/server
451 # Create configuration directories for all services that can be populated by users with custom *.conf files
452 mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/common
453 for service in server rpc-server ovs-cleanup netns-cleanup linuxbridge-cleanup macvtap-agent; do
454 mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service
456 for service in linuxbridge openvswitch dhcp l3 metadata metering sriov-nic; do
457 mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service-agent
460 # Install i18n .mo files (.po and .pot are not required)
461 install -d -m 755 %{buildroot}%{_datadir}
462 rm -f %{buildroot}%{python2_sitelib}/%{service}/locale/*/LC_*/%{service}*po
463 rm -f %{buildroot}%{python2_sitelib}/%{service}/locale/*pot
464 mv %{buildroot}%{python2_sitelib}/%{service}/locale %{buildroot}%{_datadir}/locale
466 # Find language files
467 %find_lang %{service} --all-name
470 getent group %{service} >/dev/null || groupadd -r %{service}
471 getent passwd %{service} >/dev/null || \
472 useradd -r -g %{service} -d %{_sharedstatedir}/%{service} -s /sbin/nologin \
473 -c "OpenStack Neutron Daemons" %{service}
478 %systemd_post neutron-dhcp-agent.service
479 %systemd_post neutron-l3-agent.service
480 %systemd_post neutron-metadata-agent.service
481 %systemd_post neutron-server.service
482 %systemd_post neutron-netns-cleanup.service
483 %systemd_post neutron-ovs-cleanup.service
484 %systemd_post neutron-linuxbridge-cleanup.service
488 %systemd_preun neutron-dhcp-agent.service
489 %systemd_preun neutron-l3-agent.service
490 %systemd_preun neutron-metadata-agent.service
491 %systemd_preun neutron-server.service
492 %systemd_preun neutron-netns-cleanup.service
493 %systemd_preun neutron-ovs-cleanup.service
494 %systemd_preun neutron-linuxbridge-cleanup.service
498 %systemd_postun_with_restart neutron-dhcp-agent.service
499 %systemd_postun_with_restart neutron-l3-agent.service
500 %systemd_postun_with_restart neutron-metadata-agent.service
501 %systemd_postun_with_restart neutron-server.service
505 %systemd_post neutron-macvtap-agent.service
509 %systemd_preun neutron-macvtap-agent.service
512 %postun macvtap-agent
513 %systemd_postun_with_restart neutron-macvtap-agent.service
517 %systemd_post neutron-linuxbridge-agent.service
518 oldconf=%{_sysconfdir}/%{service}/plugins/linuxbridge/linuxbridge_conf.ini
519 newconf=%{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
520 if [ $1 -gt 1 ]; then
521 if [ -e $oldconf ]; then
523 cp $newconf ${newconf}.rpmnew
530 %systemd_preun neutron-linuxbridge-agent.service
534 %systemd_postun_with_restart neutron-linuxbridge-agent.service
538 %systemd_post neutron-openvswitch-agent.service
539 oldconf=%{_sysconfdir}/%{service}/plugins/openvswitch/ovs_neutron_plugin.ini
540 newconf=%{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
541 if [ $1 -gt 1 ]; then
542 if [ -e $oldconf ]; then
544 cp $newconf ${newconf}.rpmnew
551 %systemd_preun neutron-openvswitch-agent.service
555 %systemd_postun_with_restart neutron-openvswitch-agent.service
559 %systemd_post neutron-metering-agent.service
562 %preun metering-agent
563 %systemd_preun neutron-metering-agent.service
566 %postun metering-agent
567 %systemd_postun_with_restart neutron-metering-agent.service
570 %post sriov-nic-agent
571 %systemd_post neutron-sriov-nic-agent.service
574 %preun sriov-nic-agent
575 %systemd_preun neutron-sriov-nic-agent.service
578 %postun sriov-nic-agent
579 %systemd_postun_with_restart neutron-sriov-nic-agent.service
584 %{_bindir}/neutron-db-manage
585 %{_bindir}/neutron-debug
586 %{_bindir}/neutron-dhcp-agent
587 %{_bindir}/neutron-ipset-cleanup
588 %{_bindir}/neutron-keepalived-state-change
589 %{_bindir}/neutron-l3-agent
590 %{_bindir}/neutron-linuxbridge-cleanup
591 %{_bindir}/neutron-metadata-agent
592 %{_bindir}/neutron-netns-cleanup
593 %{_bindir}/neutron-ns-metadata-proxy
594 %{_bindir}/neutron-ovs-cleanup
595 %{_bindir}/neutron-pd-notify
596 %{_bindir}/neutron-sanity-check
597 %{_bindir}/neutron-server
598 %{_bindir}/neutron-usage-audit
599 %{_prefix}/lib/ocf/lib/neutron/neutron-netns-cleanup
600 %{_prefix}/lib/ocf/lib/neutron/neutron-ovs-cleanup
601 %{_unitdir}/neutron-dhcp-agent.service
602 %{_unitdir}/neutron-l3-agent.service
603 %{_unitdir}/neutron-metadata-agent.service
604 %{_unitdir}/neutron-server.service
605 %{_unitdir}/neutron-netns-cleanup.service
606 %{_unitdir}/neutron-ovs-cleanup.service
607 %{_unitdir}/neutron-linuxbridge-cleanup.service
608 %attr(-, root, %{service}) %{_datadir}/%{service}/api-paste.ini
609 %dir %{_datadir}/%{service}/l3_agent
610 %dir %{_datadir}/%{service}/server
611 %{_datadir}/%{service}/l3_agent/*.conf
612 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/dhcp_agent.ini
613 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/l3_agent.ini
614 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metadata_agent.ini
615 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/policy.json
616 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-dhcp-agent
617 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-l3-agent
618 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-metadata-agent
619 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-server
620 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-netns-cleanup
621 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-ovs-cleanup
622 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-cleanup
625 %files -n python-%{service}-tests
627 %{python2_sitelib}/%{service}/tests
630 %files -n python-%{service}
632 %{python2_sitelib}/%{service}
633 %{python2_sitelib}/%{service}-*.egg-info
634 %exclude %{python2_sitelib}/%{service}/tests
637 %files common -f %{service}.lang
640 %{_bindir}/neutron-rootwrap
641 %{_bindir}/neutron-rootwrap-daemon
642 %{_bindir}/neutron-rootwrap-xen-dom0
643 %dir %{_sysconfdir}/%{service}
644 %{_sysconfdir}/%{service}/conf.d/README
645 %dir %{_sysconfdir}/%{service}/conf.d
646 %dir %{_sysconfdir}/%{service}/conf.d/common
647 %dir %{_sysconfdir}/%{service}/plugins
648 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/%{service}.conf
649 %config(noreplace) %{_sysconfdir}/%{service}/rootwrap.conf
650 %config(noreplace) %{_sysconfdir}/logrotate.d/*
651 %{_sysconfdir}/sudoers.d/%{service}
652 %dir %attr(0755, %{service}, %{service}) %{_sharedstatedir}/%{service}
653 %dir %attr(0750, %{service}, %{service}) %{_localstatedir}/log/%{service}
654 %dir %{_datarootdir}/%{service}
655 %dir %{_datarootdir}/%{service}/rootwrap
656 %{_datarootdir}/%{service}/rootwrap/debug.filters
657 %{_datarootdir}/%{service}/rootwrap/dhcp.filters
658 %{_datarootdir}/%{service}/rootwrap/ebtables.filters
659 %{_datarootdir}/%{service}/rootwrap/ipset-firewall.filters
660 %{_datarootdir}/%{service}/rootwrap/iptables-firewall.filters
661 %{_datarootdir}/%{service}/rootwrap/l3.filters
666 %{_bindir}/neutron-linuxbridge-agent
667 %{_unitdir}/neutron-linuxbridge-agent.service
668 %{_datarootdir}/%{service}/rootwrap/linuxbridge-plugin.filters
669 %dir %{_sysconfdir}/%{service}/plugins/ml2
670 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
671 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-agent
676 %{_bindir}/neutron-macvtap-agent
677 %{_unitdir}/neutron-macvtap-agent.service
678 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-macvtap-agent
683 %doc %{service}/plugins/ml2/README
684 %dir %{_sysconfdir}/%{service}/plugins/ml2
685 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/*.ini
686 %exclude %{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
687 %exclude %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
692 %{_bindir}/neutron-openvswitch-agent
693 %{_unitdir}/neutron-openvswitch-agent.service
694 %{_datarootdir}/%{service}/rootwrap/openvswitch-plugin.filters
695 %dir %{_sysconfdir}/%{service}/plugins/ml2
696 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
697 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-openvswitch-agent
700 %files metering-agent
702 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metering_agent.ini
703 %{_unitdir}/neutron-metering-agent.service
704 %{_bindir}/neutron-metering-agent
705 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-metering-agent
710 %{_bindir}/neutron-rpc-server
711 %{_unitdir}/neutron-rpc-server.service
712 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-rpc-server
715 %files sriov-nic-agent
717 %{_unitdir}/neutron-sriov-nic-agent.service
718 %{_bindir}/neutron-sriov-nic-agent
719 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/sriov_agent.ini
720 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-sriov-nic-agent
729 * Mon Jun 27 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:9.0.0.0b1-1.el7
730 - Update specs for Newton b1 release
731 - Remove neutron-bgp-dragent service
732 * Fri Apr 8 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:8.0.0-1%{?dist}~mos1
733 - Update specs for Mitaka Final release
734 * Sun Mar 6 2016 Sergey Kolekonov <skolekonov@mirantis.com> 1:8.0.0.0b3-1.el7
735 - Rebuild for Mitaka-b3
736 * Thu Feb 25 2016 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:8.0.0.0b2-1%{?dist}~mos2
737 - Update specs for Mitaka release
738 - Remove vendor specific subpackages (mellanox, bigswitch, cisco, etc)
739 - Add neutron-linuxbridge-cleanup service
740 - Add neutron-bgp-dragent service
741 - Add sample config file generation
743 - Add new build/run requirement: python-neutron-lib
744 - Remove neutron-mlnx-agent service
745 - Remove neutron-dev-server service
746 * Fri Dec 18 2015 Sergey Kolekonov <skolekonov@mirantis.com> 1:7.0.1-1%{?dist}~mos8.0.1
747 - Bump version according to the latest tag
748 * Tue Dec 15 2015 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:7.0.0-1%{?dist}~mos8.0.1
749 - Add python-openvswitch package dependency
750 * Fri Nov 20 2015 Sergey Kolekonov <skolekonov@mirantis.com> 7.0.0
751 - Remove neutron-dist.conf from packages
752 * Fri Nov 6 2015 Sergey Kolekonov <skolekonov@mirantis.com> 7.0.0
753 - Update specs for 7.0.0 release
754 * Thu Sep 3 2015 Sergey Kolekonov <skolekonov@mirantis.com> 7.0.0.0b3
755 - Update specs for Liberty release