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