]> review.fuel-infra Code Review - openstack-build/neutron-build.git/blob - centos7/rpm/SPECS/openstack-neutron.spec
Update to 8.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:    7.0.1
5 Release:    1%{?dist}~mos8.0.1
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-mlnx-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 Source28:   neutron-dev-server.service
29 Source29:   neutron-rpc-server.service
30
31 Source31:   conf.README
32
33 BuildArch:  noarch
34
35 BuildRequires:  python2-devel
36 BuildRequires:  python-d2to1
37 BuildRequires:  python-pbr
38 BuildRequires:  python-pecan
39 BuildRequires:  python-setuptools
40 BuildRequires:  systemd-units
41
42 BuildRequires:  git
43
44 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
45
46 # dnsmasq is not a hard requirement, but is currently the only option
47 # when neutron-dhcp-agent is deployed.
48 Requires:   dnsmasq
49 Requires:   dnsmasq-utils
50
51 # radvd is not a hard requirement, but is currently the only option
52 # for IPv6 deployments.
53 Requires:   radvd
54
55 # dibbler is not a hard requirement, but is currently the default option
56 # for IPv6 prefix delegation.
57 #Requires:  dibbler-client
58
59 # conntrack is not a hard requirement, but is currently used by L3 agent
60 # to immediately drop connections after a floating IP is disassociated
61 Requires:   conntrack-tools
62
63 # keepalived is not a hard requirement, but is currently used by DVR L3
64 # agent
65 Requires:   keepalived
66
67 # those are not hard requirements, but are used to implement firewall
68 # drivers.
69 Requires:   ipset
70 Requires:   iptables
71
72 Requires(pre): shadow-utils
73 Requires(post): systemd
74 Requires(preun): systemd
75 Requires(postun): systemd
76
77 %description
78 Neutron is a virtual network service for Openstack. Just like
79 OpenStack Nova provides an API to dynamically request and configure
80 virtual servers, Neutron provides an API to dynamically request and
81 configure virtual networks. These networks connect "interfaces" from
82 other OpenStack services (e.g., virtual NICs from Nova VMs). The
83 Neutron API supports extensions to provide advanced network
84 capabilities (e.g., QoS, ACLs, network monitoring, etc.)
85
86
87 %package -n python-%{service}
88 Summary:    Neutron Python libraries
89 Requires:   MySQL-python
90 Requires:   python-alembic >= 0.8.0
91 Requires:   python-debtcollector >= 0.3.0
92 Requires:   python-eventlet >= 0.17.4
93 Requires:   python-greenlet >= 0.3.2
94 Requires:   python-httplib2 >= 0.7.5
95 Requires:   python-jinja2 >= 2.6
96 Requires:   python-keystoneclient >= 1:1.6.0
97 Requires:   python-keystonemiddleware >= 2.0.0
98 Requires:   python-netaddr >= 0.7.12
99 Requires:   python-neutronclient >= 2.6.0
100 Requires:   python-novaclient >= 1:2.26.0
101 Requires:   python-openvswitch
102 Requires:   python-oslo-concurrency >= 2.3.0
103 Requires:   python-oslo-config >= 2:2.1.0
104 Requires:   python-oslo-context >= 0.2.0
105 Requires:   python-oslo-db >= 2.0
106 Requires:   python-oslo-i18n >= 1.5.0
107 Requires:   python-oslo-log >= 1.8.0
108 Requires:   python-oslo-messaging >= 1.16.0
109 Requires:   python-oslo-middleware >= 2.4.0
110 Requires:   python-oslo-policy >= 0.5.0
111 Requires:   python-oslo-rootwrap >= 2.0.0
112 Requires:   python-oslo-serialization >= 1.4.0
113 Requires:   python-oslo-service >= 0.6.0
114 Requires:   python-oslo-utils >= 2.0.0
115 Requires:   python-oslo-versionedobjects >= 0.6.0
116 Requires:   python-oslo-context >= 0.2.0
117 Requires:   python-paste
118 Requires:   python-paste-deploy >= 1.5.0
119 Requires:   python-pecan >= 1.0.0
120 Requires:   python-pbr
121 Requires:   python-pyroute2
122 Requires:   python-requests >= 2.5.2
123 Requires:   python-retrying >= 1.2.3
124 Requires:   python-routes >= 1.12.3
125 Requires:   python-six >= 1.9.0
126 Requires:   python-sqlalchemy >= 0.9.7
127 Requires:   python-stevedore >= 1.5.0
128 Requires:   python-webob >= 1.2.3
129 Requires:   python-unicodecsv
130
131
132
133 %description -n python-%{service}
134 Neutron provides an API to dynamically request and configure virtual
135 networks.
136
137 This package contains the Neutron Python library.
138
139
140 %package -n python-%{service}-tests
141 Summary:    Neutron tests
142 Requires:   openstack-%{service} = %{epoch}:%{version}-%{release}
143
144
145 %description -n python-%{service}-tests
146 Neutron provides an API to dynamically request and configure virtual
147 networks.
148
149 This package contains Neutron test files.
150
151
152 %package common
153 Summary:    Neutron common files
154 Requires:   python-%{service} = %{epoch}:%{version}-%{release}
155 Requires:   sudo
156
157
158 %description common
159 Neutron provides an API to dynamically request and configure virtual
160 networks.
161
162 This package contains Neutron common files.
163
164
165 %package bigswitch
166 Summary:    Neutron Big Switch plugin
167 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
168
169
170 %description bigswitch
171 Neutron provides an API to dynamically request and configure virtual
172 networks.
173
174 This package contains the Neutron plugin that implements virtual
175 networks using the FloodLight Openflow Controller or the Big Switch
176 Networks Controller.
177
178
179 %package brocade
180 Summary:    Neutron Brocade plugin
181 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
182 Requires:   python-ncclient
183
184
185 %description brocade
186 Neutron provides an API to dynamically request and configure virtual
187 networks.
188
189 This package contains the Neutron plugin that implements virtual
190 networks using Brocade VCS switches running NOS.
191
192
193 %package cisco
194 Summary:    Neutron Cisco plugin
195 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
196 Requires:   python-ncclient
197
198
199 %description cisco
200 Neutron provides an API to dynamically request and configure virtual
201 networks.
202
203 This package contains the Neutron plugin that implements virtual
204 networks using Cisco UCS and Nexus.
205
206
207 %package dev-server
208 Summary:    Neutron Server (WSGI pecan)
209 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
210
211
212 %description dev-server
213 Neutron provides an API to dynamically request and configure virtual
214 networks.
215
216 This package contains an alternative Neutron server implementation that uses
217 pecan library as its WSGI backend.
218
219
220 %package embrane
221 Summary:    Neutron Embrane plugin
222 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
223
224
225 %description embrane
226 Neutron provides an API to dynamically request and configure virtual
227 networks.
228
229 This package contains the Neutron plugin that implements virtual
230 L3-L7 network services using Embrane's heleos platform.
231
232
233 %package linuxbridge
234 Summary:    Neutron linuxbridge plugin
235 Requires:   bridge-utils
236 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
237
238
239 %description linuxbridge
240 Neutron provides an API to dynamically request and configure virtual
241 networks.
242
243 This package contains the Neutron plugin that implements virtual
244 networks as VLANs using Linux bridging.
245
246
247 %package mellanox
248 Summary:    Neutron Mellanox plugin
249 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
250
251
252 %description mellanox
253 This plugin implements Neutron v2 APIs with support for Mellanox embedded
254 switch functionality as part of the VPI (Ethernet/InfiniBand) HCA.
255
256
257 %package midonet
258 Summary:    Neutron MidoNet plugin
259 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
260
261
262 %description midonet
263 Neutron provides an API to dynamically request and configure virtual
264 networks.
265
266 This package contains the Neutron plugin that implements virtual
267 networks using MidoNet from Midokura.
268
269
270 %package ml2
271 Summary:    Neutron ML2 plugin
272 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
273 # needed for brocade and cisco drivers
274 Requires:   python-ncclient
275
276
277 %description ml2
278 Neutron provides an API to dynamically request and configure virtual
279 networks.
280
281 This package contains a Neutron plugin that allows the use of drivers
282 to support separately extensible sets of network types and the mechanisms
283 for accessing those types.
284
285
286 %package nuage
287 Summary:    Neutron Nuage plugin
288 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
289
290
291 %description nuage
292 This plugin implements Neutron v2 APIs with support for Nuage Networks
293 Virtual Service Platform (VSP).
294
295
296 %package ofagent
297 Summary:    Neutron ofagent plugin from ryu project
298 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
299
300
301 %description ofagent
302 This plugin implements Neutron v2 APIs with support for the ryu ofagent
303 plugin.
304
305
306 %package oneconvergence-nvsd
307 Summary:    Neutron One Convergence NVSD plugin
308 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
309
310
311 %description oneconvergence-nvsd
312 Neutron provides an API to dynamnically request and configure virtual
313 networks.
314
315 This package contains the Neutron plugin that implements virtual
316 networks using One Convergence NVSD
317
318
319 %package opencontrail
320 Summary:    Neutron OpenContrail plugin
321 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
322
323
324 %description opencontrail
325 This plugin implements Neutron v2 APIs with support for the OpenContrail
326 plugin.
327
328
329 %package openvswitch
330 Summary:    Neutron openvswitch plugin
331 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
332 # We require openvswitch when using vsctl to access ovsdb;
333 # but if we use native access, then we just need python bindings.
334 # since we don't know what users actually use, we depend on both.
335 Requires:   openvswitch
336 Requires:   python-openvswitch
337
338
339 %description openvswitch
340 Neutron provides an API to dynamically request and configure virtual
341 networks.
342
343 This package contains the Neutron plugin that implements virtual
344 networks using Open vSwitch.
345
346
347 %package ovsvapp
348 Summary:    Neutron OVSvApp vSphere plugin
349 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
350
351
352 %description ovsvapp
353 Neutron provides an API to dynamically request and configure virtual
354 networks.
355
356 This package contains the Neutron plugin that implements virtual
357 networks using OVSvApp vSphere L2 agent.
358
359
360 %package metering-agent
361 Summary:    Neutron bandwidth metering agent
362 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
363
364
365 %description metering-agent
366 Neutron provides an API to measure bandwidth utilization
367
368 This package contains the Neutron agent responsible for generating bandwidth
369 utilization notifications.
370
371
372 %package rpc-server
373 Summary:    Neutron (RPC only) Server
374 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
375
376
377 %description rpc-server
378 Neutron provides an API to dynamically request and configure virtual
379 networks.
380
381 This package contains an alternative Neutron server that handles AMQP RPC
382 workload only.
383
384
385 %package sriov-nic-agent
386 Summary:    Neutron SR-IOV NIC agent
387 Requires:   openstack-%{service}-common = %{epoch}:%{version}-%{release}
388
389
390 %description sriov-nic-agent
391 Neutron allows to run virtual instances using SR-IOV NIC hardware
392
393 This package contains the Neutron agent to support advanced features of
394 SR-IOV network cards.
395
396
397 %package doc
398 Summary:    Documentation for OpenStack Neutron
399 Group:      Documentation
400
401 BuildRequires:  python-sphinx
402 BuildRequires:  python-oslo-sphinx
403 BuildRequires:  python-alembic >= 0.8.0
404 BuildRequires:  python-debtcollector >= 0.3.0
405 BuildRequires:  python-eventlet >= 0.17.4
406 BuildRequires:  python-greenlet >= 0.3.2
407 BuildRequires:  python-httplib2 >= 0.7.5
408 BuildRequires:  python-jinja2 >= 2.6
409 BuildRequires:  python-keystoneclient >= 1:1.6.0
410 BuildRequires:  python-keystonemiddleware >= 2.0.0
411 BuildRequires:  python-netaddr >= 0.7.12
412 BuildRequires:  python-neutronclient >= 2.6.0
413 BuildRequires:  python-novaclient >= 1:2.26.0
414 BuildRequires:  python-oslo-concurrency >= 2.3.0
415 BuildRequires:  python-oslo-config >= 2:2.1.0
416 BuildRequires:  python-oslo-context >= 0.2.0
417 BuildRequires:  python-oslo-db >= 2.0
418 BuildRequires:  python-oslo-i18n >= 1.5.0
419 BuildRequires:  python-oslo-log >= 1.8.0
420 BuildRequires:  python-oslo-messaging >= 1.16.0
421 BuildRequires:  python-oslo-middleware >= 2.4.0
422 BuildRequires:  python-oslo-policy >= 0.5.0
423 BuildRequires:  python-oslo-rootwrap >= 2.0.0
424 BuildRequires:  python-oslo-serialization >= 1.4.0
425 BuildRequires:  python-oslo-service >= 0.6.0
426 BuildRequires:  python-oslo-utils >= 2.0.0
427 BuildRequires:  python-oslo-versionedobjects >= 0.6.0
428 BuildRequires:  python-oslo-context >= 0.2.0
429 BuildRequires:  python-paste
430 BuildRequires:  python-paste-deploy >= 1.5.0
431 BuildRequires:  python-pecan >= 1.0.0
432 BuildRequires:  python-pbr
433 BuildRequires:  python-pyroute2
434 BuildRequires:  python-requests >= 2.5.2
435 BuildRequires:  python-retrying >= 1.2.3
436 BuildRequires:  python-routes >= 1.12.3
437 BuildRequires:  python-six >= 1.9.0
438 BuildRequires:  python-sqlalchemy >= 0.9.7
439 BuildRequires:  python-stevedore >= 1.5.0
440 BuildRequires:  python-webob >= 1.2.3
441 BuildRequires:  python-testresources
442 BuildRequires:  python-testscenarios
443 BuildRequires:  python-oslotest
444
445 %description doc
446 Documentation for Openstack Neutron.
447
448
449 %prep
450 %autosetup -n %{service}-%{version} -S git
451
452 find %{service} -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} +
453
454 # Let's handle dependencies ourseleves
455 rm -f requirements.txt
456
457 # Kill egg-info in order to generate new SOURCES.txt
458 rm -rf neutron.egg-info
459
460 %build
461 export SKIP_PIP_INSTALL=1
462 %{__python2} setup.py build
463
464 %install
465 # pbr does not like dashes in version strings, neither it likes fc* prefixes (dev* is fine)
466 #export PBR_VERSION=%{version}.%(echo %{release} | sed 's/%{?dist}//')
467 %{__python2} setup.py install -O1 --skip-build --root %{buildroot}
468
469 # Remove unused files
470 rm -rf %{buildroot}%{python2_sitelib}/bin
471 rm -rf %{buildroot}%{python2_sitelib}/doc
472 rm -rf %{buildroot}%{python2_sitelib}/tools
473 rm %{buildroot}/usr/etc/init.d/neutron-server
474
475 # Build HTML docs
476 export PYTHONPATH="$( pwd ):$PYTHONPATH"
477 sphinx-build -b html doc/source html
478
479 # Fix hidden-file-or-dir warnings
480 rm -fr html/.doctrees html/.buildinfo
481
482 # Move rootwrap files to proper location
483 install -d -m 755 %{buildroot}%{_datarootdir}/%{service}/rootwrap
484 mv %{buildroot}/usr/etc/%{service}/rootwrap.d/*.filters %{buildroot}%{_datarootdir}/%{service}/rootwrap
485
486 # Move config files to proper location
487 install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}
488 mv %{buildroot}/usr/etc/%{service}/* %{buildroot}%{_sysconfdir}/%{service}
489 mv %{buildroot}%{_sysconfdir}/%{service}/api-paste.ini %{buildroot}%{_datadir}/%{service}/api-paste.ini
490 chmod 640 %{buildroot}%{_sysconfdir}/%{service}/plugins/*/*.ini
491
492 # Install logrotate
493 install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service}
494
495 # Install sudoers
496 install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/%{service}
497
498 # Install systemd units
499 install -p -D -m 644 %{SOURCE10} %{buildroot}%{_unitdir}/neutron-server.service
500 install -p -D -m 644 %{SOURCE11} %{buildroot}%{_unitdir}/neutron-linuxbridge-agent.service
501 install -p -D -m 644 %{SOURCE12} %{buildroot}%{_unitdir}/neutron-openvswitch-agent.service
502 install -p -D -m 644 %{SOURCE15} %{buildroot}%{_unitdir}/neutron-dhcp-agent.service
503 install -p -D -m 644 %{SOURCE16} %{buildroot}%{_unitdir}/neutron-l3-agent.service
504 install -p -D -m 644 %{SOURCE17} %{buildroot}%{_unitdir}/neutron-metadata-agent.service
505 install -p -D -m 644 %{SOURCE18} %{buildroot}%{_unitdir}/neutron-ovs-cleanup.service
506 install -p -D -m 644 %{SOURCE19} %{buildroot}%{_unitdir}/neutron-mlnx-agent.service
507 install -p -D -m 644 %{SOURCE20} %{buildroot}%{_unitdir}/neutron-metering-agent.service
508 install -p -D -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/neutron-sriov-nic-agent.service
509 install -p -D -m 644 %{SOURCE22} %{buildroot}%{_unitdir}/neutron-netns-cleanup.service
510 install -p -D -m 644 %{SOURCE28} %{buildroot}%{_unitdir}/neutron-dev-server.service
511 install -p -D -m 644 %{SOURCE29} %{buildroot}%{_unitdir}/neutron-rpc-server.service
512
513
514 # Install scripts for pacemaker support
515 install -p -D -m 755 %{SOURCE23} %{buildroot}%{_prefix}/lib/ocf/lib/neutron/neutron-netns-cleanup
516 install -p -D -m 755 %{SOURCE24} %{buildroot}%{_prefix}/lib/ocf/lib/neutron/neutron-ovs-cleanup
517
518 # Install README file that describes how to configure services with custom configuration files
519 install -p -D -m 755 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{service}/conf.d/README
520
521 # Setup directories
522 install -d -m 755 %{buildroot}%{_datadir}/%{service}
523 install -d -m 755 %{buildroot}%{_sharedstatedir}/%{service}
524 install -d -m 755 %{buildroot}%{_localstatedir}/log/%{service}
525 install -d -m 755 %{buildroot}%{_localstatedir}/run/%{service}
526
527 # Create and populate configuration directory for L3 agent that is not accessible for user modification
528 mkdir -p %{buildroot}%{_datadir}/%{service}/l3_agent
529 ln -s %{_sysconfdir}/%{service}/l3_agent.ini %{buildroot}%{_datadir}/%{service}/l3_agent/l3_agent.conf
530
531 # Create dist configuration directory for neutron-server (may be filled by advanced services)
532 mkdir -p %{buildroot}%{_datadir}/%{service}/server
533
534 # Create configuration directories for all services that can be populated by users with custom *.conf files
535 mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/common
536 for service in server dev-server rpc-server ovs-cleanup netns-cleanup; do
537     mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service
538 done
539 for service in linuxbridge openvswitch dhcp l3 metadata mlnx metering sriov-nic; do
540     mkdir -p %{buildroot}/%{_sysconfdir}/%{service}/conf.d/%{service}-$service-agent
541 done
542
543 # Kill hyperv agent since it's of no use for Linux
544 rm %{buildroot}/%{_bindir}/neutron-hyperv-agent
545
546
547 %pre common
548 getent group %{service} >/dev/null || groupadd -r %{service}
549 getent passwd %{service} >/dev/null || \
550     useradd -r -g %{service} -d %{_sharedstatedir}/%{service} -s /sbin/nologin \
551     -c "OpenStack Neutron Daemons" %{service}
552 exit 0
553
554
555 %post
556 %systemd_post neutron-dhcp-agent.service
557 %systemd_post neutron-l3-agent.service
558 %systemd_post neutron-metadata-agent.service
559 %systemd_post neutron-server.service
560 %systemd_post neutron-netns-cleanup.service
561 %systemd_post neutron-ovs-cleanup.service
562
563
564 %preun
565 %systemd_preun neutron-dhcp-agent.service
566 %systemd_preun neutron-l3-agent.service
567 %systemd_preun neutron-metadata-agent.service
568 %systemd_preun neutron-server.service
569 %systemd_preun neutron-netns-cleanup.service
570 %systemd_preun neutron-ovs-cleanup.service
571
572
573 %postun
574 %systemd_postun_with_restart neutron-dhcp-agent.service
575 %systemd_postun_with_restart neutron-l3-agent.service
576 %systemd_postun_with_restart neutron-metadata-agent.service
577 %systemd_postun_with_restart neutron-server.service
578
579
580 %post linuxbridge
581 %systemd_post neutron-linuxbridge-agent.service
582 oldconf=%{_sysconfdir}/%{service}/plugins/linuxbridge/linuxbridge_conf.ini
583 newconf=%{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
584 if [ $1 -gt 1 ]; then
585     if [ -e $oldconf ]; then
586         # Imitate noreplace
587         cp $newconf ${newconf}.rpmnew
588         cp $oldconf $newconf
589     fi
590 fi
591
592
593 %preun linuxbridge
594 %systemd_preun neutron-linuxbridge-agent.service
595
596
597 %postun linuxbridge
598 %systemd_postun_with_restart neutron-linuxbridge-agent.service
599
600
601 %post mellanox
602 %systemd_post neutron-mlnx-agent.service
603
604
605 %preun mellanox
606 %systemd_preun neutron-mlnx-agent.service
607
608
609 %postun mellanox
610 %systemd_postun_with_restart neutron-mlnx-agent.service
611
612
613 %post openvswitch
614 %systemd_post neutron-openvswitch-agent.service
615 oldconf=%{_sysconfdir}/%{service}/plugins/openvswitch/ovs_neutron_plugin.ini
616 newconf=%{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
617 if [ $1 -gt 1 ]; then
618     if [ -e $oldconf ]; then
619         # Imitate noreplace
620         cp $newconf ${newconf}.rpmnew
621         cp $oldconf $newconf
622     fi
623 fi
624
625
626 %preun openvswitch
627 %systemd_preun neutron-openvswitch-agent.service
628
629
630 %postun openvswitch
631 %systemd_postun_with_restart neutron-openvswitch-agent.service
632
633
634 %post metering-agent
635 %systemd_post neutron-metering-agent.service
636
637
638 %preun metering-agent
639 %systemd_preun neutron-metering-agent.service
640
641
642 %postun metering-agent
643 %systemd_postun_with_restart neutron-metering-agent.service
644
645
646 %post sriov-nic-agent
647 %systemd_post neutron-sriov-nic-agent.service
648
649
650 %preun sriov-nic-agent
651 %systemd_preun neutron-sriov-nic-agent.service
652
653
654 %postun sriov-nic-agent
655 %systemd_postun_with_restart neutron-sriov-nic-agent.service
656
657
658 %files
659 %license LICENSE
660 %{_bindir}/neutron-db-manage
661 %{_bindir}/neutron-debug
662 %{_bindir}/neutron-dhcp-agent
663 %{_bindir}/neutron-ipset-cleanup
664 %{_bindir}/neutron-keepalived-state-change
665 %{_bindir}/neutron-l3-agent
666 %{_bindir}/neutron-metadata-agent
667 %{_bindir}/neutron-netns-cleanup
668 %{_bindir}/neutron-ns-metadata-proxy
669 %{_bindir}/neutron-ovs-cleanup
670 %{_bindir}/neutron-pd-notify
671 %{_bindir}/neutron-sanity-check
672 %{_bindir}/neutron-server
673 %{_bindir}/neutron-usage-audit
674 %{_prefix}/lib/ocf/lib/neutron/neutron-netns-cleanup
675 %{_prefix}/lib/ocf/lib/neutron/neutron-ovs-cleanup
676 %{_unitdir}/neutron-dhcp-agent.service
677 %{_unitdir}/neutron-l3-agent.service
678 %{_unitdir}/neutron-metadata-agent.service
679 %{_unitdir}/neutron-server.service
680 %{_unitdir}/neutron-netns-cleanup.service
681 %{_unitdir}/neutron-ovs-cleanup.service
682 %attr(-, root, %{service}) %{_datadir}/%{service}/api-paste.ini
683 %dir %{_datadir}/%{service}/l3_agent
684 %dir %{_datadir}/%{service}/server
685 %{_datadir}/%{service}/l3_agent/*.conf
686 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/dhcp_agent.ini
687 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/l3_agent.ini
688 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metadata_agent.ini
689 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/policy.json
690 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-dhcp-agent
691 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-l3-agent
692 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-metadata-agent
693 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-server
694 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-netns-cleanup
695 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-ovs-cleanup
696
697
698 %files -n python-%{service}-tests
699 %license LICENSE
700 %{python2_sitelib}/%{service}/tests
701
702
703 %files -n python-%{service}
704 %license LICENSE
705 %{python2_sitelib}/%{service}
706 %{python2_sitelib}/%{service}-*.egg-info
707 %exclude %{python2_sitelib}/%{service}/tests
708
709
710 %files common
711 %license LICENSE
712 %doc README.rst
713 %{_bindir}/neutron-rootwrap
714 %{_bindir}/neutron-rootwrap-daemon
715 %{_bindir}/neutron-rootwrap-xen-dom0
716 %dir %{_sysconfdir}/%{service}
717 %{_sysconfdir}/%{service}/conf.d/README
718 %dir %{_sysconfdir}/%{service}/conf.d
719 %dir %{_sysconfdir}/%{service}/conf.d/common
720 %dir %{_sysconfdir}/%{service}/plugins
721 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/%{service}.conf
722 %config(noreplace) %{_sysconfdir}/%{service}/rootwrap.conf
723 %config(noreplace) %{_sysconfdir}/logrotate.d/*
724 %{_sysconfdir}/sudoers.d/%{service}
725 %dir %attr(0755, %{service}, %{service}) %{_sharedstatedir}/%{service}
726 %dir %attr(0750, %{service}, %{service}) %{_localstatedir}/log/%{service}
727 %dir %{_datarootdir}/%{service}
728 %dir %{_datarootdir}/%{service}/rootwrap
729 %{_datarootdir}/%{service}/rootwrap/debug.filters
730 %{_datarootdir}/%{service}/rootwrap/dhcp.filters
731 %{_datarootdir}/%{service}/rootwrap/ebtables.filters
732 %{_datarootdir}/%{service}/rootwrap/ipset-firewall.filters
733 %{_datarootdir}/%{service}/rootwrap/iptables-firewall.filters
734 %{_datarootdir}/%{service}/rootwrap/l3.filters
735
736
737 %files bigswitch
738 %license LICENSE
739 %{_bindir}/neutron-restproxy-agent
740 %dir %{_sysconfdir}/%{service}/plugins/bigswitch
741 %{_sysconfdir}/%{service}/plugins/bigswitch/ssl
742 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/bigswitch/*.ini
743
744
745 %files brocade
746 %license LICENSE
747 %doc %{service}/plugins/brocade/README.md
748 %dir %{_sysconfdir}/%{service}/plugins/brocade
749 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/brocade/*.ini
750 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/brocade/vyatta/*.ini
751
752
753 %files cisco
754 %license LICENSE
755 %dir %{_sysconfdir}/%{service}/plugins/cisco
756 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/cisco/*.ini
757
758
759 %files embrane
760 %license LICENSE
761 %doc %{service}/plugins/embrane/README
762 %dir %{_sysconfdir}/%{service}/plugins/embrane
763 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/embrane/*.ini
764
765
766 %files dev-server
767 %license LICENSE
768 %{_bindir}/neutron-dev-server
769 %{_unitdir}/neutron-dev-server.service
770 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-dev-server
771
772
773 %files linuxbridge
774 %license LICENSE
775 %{_bindir}/neutron-linuxbridge-agent
776 %{_unitdir}/neutron-linuxbridge-agent.service
777 %{_datarootdir}/%{service}/rootwrap/linuxbridge-plugin.filters
778 %dir %{_sysconfdir}/%{service}/plugins/ml2
779 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
780 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-linuxbridge-agent
781
782
783 %files mellanox
784 %license LICENSE
785 %doc %{service}/plugins/ml2/drivers/mlnx/README
786 %{_bindir}/neutron-mlnx-agent
787 %{_unitdir}/neutron-mlnx-agent.service
788 %dir %{_sysconfdir}/%{service}/plugins/mlnx
789 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/mlnx/*.ini
790 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-mlnx-agent
791
792
793 %files midonet
794 %license LICENSE
795 #%doc %{service}/plugins/midonet/README
796 %dir %{_sysconfdir}/%{service}/plugins/midonet
797 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/midonet/*.ini
798
799
800 %files ml2
801 %license LICENSE
802 %doc %{service}/plugins/ml2/README
803 %dir %{_sysconfdir}/%{service}/plugins/ml2
804 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/*.ini
805 %exclude %{_sysconfdir}/%{service}/plugins/ml2/linuxbridge_agent.ini
806 %exclude %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
807
808
809 %files nuage
810 %license LICENSE
811 %{python2_sitelib}/%{service}/plugins/nuage
812 %dir %{_sysconfdir}/%{service}/plugins/nuage
813 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/nuage/*.ini
814
815
816 %files ofagent
817 %license LICENSE
818
819
820 %files oneconvergence-nvsd
821 %license LICENSE
822 %doc %{service}/plugins/oneconvergence/README
823 %dir %{_sysconfdir}/%{service}/plugins/oneconvergence
824 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/oneconvergence/*.ini
825 %{_bindir}/neutron-nvsd-agent
826
827
828 %files opencontrail
829 %license LICENSE
830 #%doc %{service}/plugins/opencontrail/README
831 %dir %{_sysconfdir}/%{service}/plugins/opencontrail
832 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/opencontrail/*.ini
833
834
835 %files openvswitch
836 %license LICENSE
837 %{_bindir}/neutron-openvswitch-agent
838 %{_unitdir}/neutron-openvswitch-agent.service
839 %{_datarootdir}/%{service}/rootwrap/openvswitch-plugin.filters
840 %dir %{_sysconfdir}/%{service}/plugins/ml2
841 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/openvswitch_agent.ini
842 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-openvswitch-agent
843
844
845 %files ovsvapp
846 %license LICENSE
847 %{_bindir}/neutron-ovsvapp-agent
848 # TODO: add a systemd unit file
849 %dir %{_sysconfdir}/%{service}/plugins/ovsvapp
850 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ovsvapp/*.ini
851
852
853 %files metering-agent
854 %license LICENSE
855 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/metering_agent.ini
856 %{_unitdir}/neutron-metering-agent.service
857 %{_bindir}/neutron-metering-agent
858 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-metering-agent
859
860
861 %files rpc-server
862 %license LICENSE
863 %{_bindir}/neutron-rpc-server
864 %{_unitdir}/neutron-rpc-server.service
865 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-rpc-server
866
867
868 %files sriov-nic-agent
869 %license LICENSE
870 %{_unitdir}/neutron-sriov-nic-agent.service
871 %{_bindir}/neutron-sriov-nic-agent
872 %config(noreplace) %attr(0640, root, %{service}) %{_sysconfdir}/%{service}/plugins/ml2/sriov_agent.ini
873 %dir %{_sysconfdir}/%{service}/conf.d/%{service}-sriov-nic-agent
874
875
876 %files doc
877 %license LICENSE
878 %doc html
879
880
881 %changelog
882 * Fri Dec 18 2015 Sergey Kolekonov <skolekonov@mirantis.com> 1:7.0.1-1%{?dist}~mos8.0.1
883 - Bump version according to the latest tag
884 * Tue Dec 15 2015 Jerzy Mikolajczak <jmikolajczak@mirantis.com> 1:7.0.0-1%{?dist}~mos8.0.1
885 - Add python-openvswitch package dependency
886 * Fri Nov 20 2015 Sergey Kolekonov <skolekonov@mirantis.com> 7.0.0
887 - Remove neutron-dist.conf from packages
888 * Fri Nov 6 2015 Sergey Kolekonov <skolekonov@mirantis.com> 7.0.0
889 - Update specs for 7.0.0 release
890 * Thu Sep 3 2015 Sergey Kolekonov <skolekonov@mirantis.com> 7.0.0.0b3
891 - Update specs for Liberty release