Update neutron to 9.0.0.0b1
[openstack-build/neutron-build.git] / centos7 / rpm / SPECS / openstack-neutron.spec
1 %global service neutron
2
3 Name:           openstack-%{service}
4 Version:        9.0.0~b1
5 Release:        1%{?dist}
6 Epoch:          1
7 Summary:        OpenStack Networking Service
8
9 License:        ASL 2.0
10 URL:            http://launchpad.net/%{service}/
11
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
30
31 Source31:       conf.README
32 Source32:       neutron-linuxbridge-cleanup.service
33
34 BuildArch:      noarch
35
36 BuildRequires:  git
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
59
60 Requires:       openstack-%{service}-common = %{epoch}:%{version}-%{release}
61
62 # dnsmasq is not a hard requirement, but is currently the only option
63 # when neutron-dhcp-agent is deployed.
64 Requires:       dnsmasq
65 Requires:       dnsmasq-utils
66
67 # radvd is not a hard requirement, but is currently the only option
68 # for IPv6 deployments.
69 Requires:       radvd
70
71 # dibbler is not a hard requirement, but is currently the default option
72 # for IPv6 prefix delegation.
73 #Requires:       dibbler-client
74
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
78
79 # keepalived is not a hard requirement, but is currently used by DVR L3
80 # agent
81 Requires:       keepalived
82
83 # those are not hard requirements, but are used to implement firewall
84 # drivers.
85 Requires:       ipset
86 Requires:       iptables
87
88 Requires(pre): shadow-utils
89 Requires(post): systemd
90 Requires(preun): systemd
91 Requires(postun): systemd
92
93 Obsoletes:      openstack-%{service}-dev-server
94
95 %description
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.)
103
104
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
153
154
155
156 %description -n python-%{service}
157 Neutron provides an API to dynamically request and configure virtual
158 networks.
159
160 This package contains the Neutron Python library.
161
162
163 %package -n python-%{service}-tests
164 Summary:        Neutron tests
165 Requires:       python-%{service} = %{epoch}:%{version}-%{release}
166 Requires:       python-ddt
167
168
169 %description -n python-%{service}-tests
170 Neutron provides an API to dynamically request and configure virtual
171 networks.
172
173 This package contains Neutron test files.
174
175
176 %package common
177 Summary:        Neutron common files
178 Requires(pre):  shadow-utils
179 Requires:       python-%{service} = %{epoch}:%{version}-%{release}
180 Requires:       sudo
181
182
183 %description common
184 Neutron provides an API to dynamically request and configure virtual
185 networks.
186
187 This package contains Neutron common files.
188
189
190 %package linuxbridge
191 Summary:        Neutron Linuxbridge agent
192 Requires:       bridge-utils
193 Requires:       ebtables
194 Requires:       ipset
195 Requires:       iptables
196 Requires:       openstack-%{service}-common = %{epoch}:%{version}-%{release}
197
198
199 %description linuxbridge
200 Neutron provides an API to dynamically request and configure virtual
201 networks.
202
203 This package contains the Neutron agent that implements virtual
204 networks using VLAN or VXLAN using Linuxbridge technology.
205
206
207 %package macvtap-agent
208 Summary:        Neutron macvtap agent
209 Requires:       openstack-%{service}-common = %{epoch}:%{version}-%{release}
210
211
212 %description macvtap-agent
213 Neutron provides an API to dynamically request and configure virtual
214 networks.
215
216 This package contains the Neutron agent that implements
217 macvtap attachments for libvirt qemu/kvm instances.
218
219
220 %package ml2
221 Summary:        Neutron ML2 plugin
222 Requires:       openstack-%{service}-common = %{epoch}:%{version}-%{release}
223 # needed for brocade and cisco drivers
224 Requires:       python-ncclient
225
226
227 %description ml2
228 Neutron provides an API to dynamically request and configure virtual
229 networks.
230
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.
234
235
236 %package openvswitch
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.
242 Requires:       ipset
243 Requires:       iptables
244 Requires:       openvswitch
245 Requires:       python-openvswitch
246
247
248 %description openvswitch
249 Neutron provides an API to dynamically request and configure virtual
250 networks.
251
252 This package contains the Neutron plugin that implements virtual
253 networks using Open vSwitch.
254
255
256 %package metering-agent
257 Summary:        Neutron bandwidth metering agent
258 Requires:       iptables
259 Requires:       openstack-%{service}-common = %{epoch}:%{version}-%{release}
260
261
262 %description metering-agent
263 Neutron provides an API to measure bandwidth utilization
264
265 This package contains the Neutron agent responsible for generating bandwidth
266 utilization notifications.
267
268
269 %package rpc-server
270 Summary:        Neutron (RPC only) Server
271 Requires:       openstack-%{service}-common = %{epoch}:%{version}-%{release}
272
273
274 %description rpc-server
275 Neutron provides an API to dynamically request and configure virtual
276 networks.
277
278 This package contains an alternative Neutron server that handles AMQP RPC
279 workload only.
280
281
282 %package sriov-nic-agent
283 Summary:        Neutron SR-IOV NIC agent
284 Requires:       openstack-%{service}-common = %{epoch}:%{version}-%{release}
285
286
287 %description sriov-nic-agent
288 Neutron allows to run virtual instances using SR-IOV NIC hardware
289
290 This package contains the Neutron agent to support advanced features of
291 SR-IOV network cards.
292
293
294 %package doc
295 Summary:    Documentation for OpenStack Neutron
296 Group:      Documentation
297
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
340
341 %description doc
342 Documentation for Openstack Neutron.
343
344
345 %prep
346 %autosetup -n %{service}-%{version} -S git
347
348 find %{service} -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} +
349
350 # Let's handle dependencies ourseleves
351 rm -f requirements.txt
352
353 # Kill egg-info in order to generate new SOURCES.txt
354 rm -rf neutron.egg-info
355
356
357 %build
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
362
363 # Generate configuration files
364 PYTHONPATH=. tools/generate_config_file_samples.sh
365 find etc -name *.sample | while read filename
366 do
367     filedir=$(dirname $filename)
368     file=$(basename $filename .sample)
369     mv ${filename} ${filedir}/${file}
370 done
371
372 %install
373 %{__python2} setup.py install -O1 --skip-build --root %{buildroot}
374
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
379
380 # Build HTML docs
381 export PYTHONPATH="$( pwd ):$PYTHONPATH"
382 sphinx-build -b html doc/source html
383
384 # Fix hidden-file-or-dir warnings
385 rm -fr html/.doctrees html/.buildinfo
386
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
390
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
395
396 # The generated config files are not moved automatically by setup.py
397 install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2
398
399 mv etc/%{service}.conf %{buildroot}%{_sysconfdir}/%{service}/%{service}.conf
400 for agent in dhcp l3 metadata metering
401 do
402   mv etc/${agent}_agent.ini %{buildroot}%{_sysconfdir}/%{service}/${agent}_agent.ini
403 done
404 for file in linuxbridge_agent ml2_conf ml2_conf_sriov openvswitch_agent sriov_agent
405 do
406   mv etc/%{service}/plugins/ml2/${file}.ini %{buildroot}%{_sysconfdir}/%{service}/plugins/ml2/${file}.ini
407 done
408
409 # Install logrotate
410 install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service}
411
412 # Install sudoers
413 install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/%{service}
414
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
429
430
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
434
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
437
438 # Setup directories
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}
443
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
447
448 # Create dist configuration directory for neutron-server (may be filled by advanced services)
449 mkdir -p %{buildroot}%{_datadir}/%{service}/server
450
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
455 done
456 for service in linuxbridge openvswitch dhcp l3 metadata metering sriov-nic; do
457     mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service-agent
458 done
459
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
465
466 # Find language files
467 %find_lang %{service} --all-name
468
469 %pre common
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}
474 exit 0
475
476
477 %post
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
485
486
487 %preun
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
495
496
497 %postun
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
502
503
504 %post macvtap-agent
505 %systemd_post neutron-macvtap-agent.service
506
507
508 %preun macvtap-agent
509 %systemd_preun neutron-macvtap-agent.service
510
511
512 %postun macvtap-agent
513 %systemd_postun_with_restart neutron-macvtap-agent.service
514
515
516 %post linuxbridge
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
522         # Imitate noreplace
523         cp $newconf ${newconf}.rpmnew
524         cp $oldconf $newconf
525     fi
526 fi
527
528
529 %preun linuxbridge
530 %systemd_preun neutron-linuxbridge-agent.service
531
532
533 %postun linuxbridge
534 %systemd_postun_with_restart neutron-linuxbridge-agent.service
535
536
537 %post openvswitch
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
543         # Imitate noreplace
544         cp $newconf ${newconf}.rpmnew
545         cp $oldconf $newconf
546     fi
547 fi
548
549
550 %preun openvswitch
551 %systemd_preun neutron-openvswitch-agent.service
552
553
554 %postun openvswitch
555 %systemd_postun_with_restart neutron-openvswitch-agent.service
556
557
558 %post metering-agent
559 %systemd_post neutron-metering-agent.service
560
561
562 %preun metering-agent
563 %systemd_preun neutron-metering-agent.service
564
565
566 %postun metering-agent
567 %systemd_postun_with_restart neutron-metering-agent.service
568
569
570 %post sriov-nic-agent
571 %systemd_post neutron-sriov-nic-agent.service
572
573
574 %preun sriov-nic-agent
575 %systemd_preun neutron-sriov-nic-agent.service
576
577
578 %postun sriov-nic-agent
579 %systemd_postun_with_restart neutron-sriov-nic-agent.service
580
581
582 %files
583 %license LICENSE
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
623
624
625 %files -n python-%{service}-tests
626 %license LICENSE
627 %{python2_sitelib}/%{service}/tests
628
629
630 %files -n python-%{service}
631 %license LICENSE
632 %{python2_sitelib}/%{service}
633 %{python2_sitelib}/%{service}-*.egg-info
634 %exclude %{python2_sitelib}/%{service}/tests
635
636
637 %files common -f %{service}.lang
638 %license LICENSE
639 %doc README.rst
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
662
663
664 %files linuxbridge
665 %license LICENSE
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
672
673
674 %files macvtap-agent
675 %license LICENSE
676 %{_bindir}/neutron-macvtap-agent
677 %{_unitdir}/neutron-macvtap-agent.service
678 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-macvtap-agent
679
680
681 %files ml2
682 %license LICENSE
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
688
689
690 %files openvswitch
691 %license LICENSE
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
698
699
700 %files metering-agent
701 %license LICENSE
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
706
707
708 %files rpc-server
709 %license LICENSE
710 %{_bindir}/neutron-rpc-server
711 %{_unitdir}/neutron-rpc-server.service
712 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-rpc-server
713
714
715 %files sriov-nic-agent
716 %license LICENSE
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
721
722
723 %files doc
724 %license LICENSE
725 %doc html
726
727
728 %changelog
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
742 - Add macvtap agent
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