2 # This is 2013.2 release
4 %global release_name havana
6 Name: openstack-neutron
9 Provides: openstack-quantum = %{version}-%{release}
10 Obsoletes: openstack-quantum < 2013.2-0.3.b3
12 Summary: OpenStack Networking Service
14 Group: Applications/System
16 URL: http://launchpad.net/neutron/
18 Source0: http://launchpad.net/neutron/%{release_name}/%{version}/+download/neutron-%{version}.tar.gz
19 Source1: neutron.logrotate
20 Source2: neutron-sudoers
21 Source4: neutron-server-setup
22 Source5: neutron-node-setup
23 Source6: neutron-dhcp-setup
24 Source7: neutron-l3-setup
26 Source10: neutron-server.init
27 Source20: neutron-server.upstart
28 Source11: neutron-linuxbridge-agent.init
29 Source21: neutron-linuxbridge-agent.upstart
30 Source12: neutron-openvswitch-agent.init
31 Source22: neutron-openvswitch-agent.upstart
32 Source13: neutron-ryu-agent.init
33 Source23: neutron-ryu-agent.upstart
34 Source14: neutron-nec-agent.init
35 Source24: neutron-nec-agent.upstart
36 Source15: neutron-dhcp-agent.init
37 Source25: neutron-dhcp-agent.upstart
38 Source16: neutron-l3-agent.init
39 Source26: neutron-l3-agent.upstart
40 Source17: neutron-metadata-agent.init
41 Source27: neutron-metadata-agent.upstart
42 Source18: neutron-ovs-cleanup.init
43 Source28: neutron-ovs-cleanup.upstart
44 Source19: neutron-lbaas-agent.init
45 Source29: neutron-lbaas-agent.upstart
46 Source30: neutron-mlnx-agent.init
47 Source40: neutron-mlnx-agent.upstart
48 Source31: neutron-vpn-agent.init
49 Source41: neutron-vpn-agent.upstart
50 Source32: neutron-metering-agent.init
51 Source42: neutron-metering-agent.upstart
53 Source90: neutron-dist.conf
55 # patches_base=2013.2+1
57 Patch0001: 0001-use-parallel-installed-versions-in-RHEL6.patch
61 BuildRequires: python2-devel
62 BuildRequires: python-setuptools
63 # Build require these parallel versions
64 # as setup.py build imports neutron.openstack.common.setup
65 # which will then check for these
66 BuildRequires: python-sqlalchemy0.7
67 BuildRequires: python-webob1.2
68 BuildRequires: python-paste-deploy1.5
69 BuildRequires: python-routes1.12
70 BuildRequires: python-jinja2-26
71 BuildRequires: dos2unix
72 BuildRequires: python-pbr
73 BuildRequires: python-d2to1
76 Requires: dnsmasq-utils
77 Requires: python-neutron = %{version}-%{release}
78 Requires: openstack-utils
79 Requires: python-keystone
82 Requires(post): chkconfig
83 Requires(postun): initscripts
84 Requires(preun): chkconfig
85 Requires(preun): initscripts
86 Requires(pre): shadow-utils
88 # dnsmasq is not a hard requirement, but is currently the only option
89 # when neutron-dhcp-agent is deployed.
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.)
103 %package -n python-neutron
104 Summary: Neutron Python libraries
105 Group: Applications/System
107 Provides: python-quantum = %{version}-%{release}
108 Obsoletes: python-quantum < 2013.2-0.3.b3
110 Requires: MySQL-python
111 Requires: python-alembic
112 Requires: python-amqplib
113 Requires: python-anyjson
114 Requires: python-babel
115 Requires: python-eventlet
116 Requires: python-greenlet
117 Requires: python-httplib2
118 Requires: python-iso8601
119 Requires: python-jinja2-26
120 Requires: python-keystoneclient
121 Requires: python-kombu
122 Requires: python-lxml
123 Requires: python-paste-deploy1.5
124 Requires: python-routes1.12
125 Requires: python-sqlalchemy0.7
126 Requires: python-webob1.2
127 Requires: python-netaddr
128 Requires: python-oslo-config >= 1:1.2.0
129 Requires: python-qpid
130 Requires: python-neutronclient
133 %description -n python-neutron
134 Neutron provides an API to dynamically request and configure virtual
137 This package contains the neutron Python library.
140 %package -n openstack-neutron-bigswitch
141 Summary: Neutron Big Switch plugin
142 Group: Applications/System
144 Provides: openstack-quantum-bigswitch = %{version}-%{release}
145 Obsoletes: openstack-quantum-bigswitch < 2013.2-0.3.b3
147 Requires: openstack-neutron = %{version}-%{release}
150 %description -n openstack-neutron-bigswitch
151 Neutron provides an API to dynamically request and configure virtual
154 This package contains the neutron plugin that implements virtual
155 networks using the FloodLight Openflow Controller or the Big Switch
159 %package -n openstack-neutron-brocade
160 Summary: Neutron Brocade plugin
161 Group: Applications/System
163 Provides: openstack-quantum-brocade = %{version}-%{release}
164 Obsoletes: openstack-quantum-brocade < 2013.2-0.3.b3
166 Requires: openstack-neutron = %{version}-%{release}
169 %description -n openstack-neutron-brocade
170 Neutron provides an API to dynamically request and configure virtual
173 This package contains the neutron plugin that implements virtual
174 networks using Brocade VCS switches running NOS.
177 %package -n openstack-neutron-cisco
178 Summary: Neutron Cisco plugin
179 Group: Applications/System
181 Provides: openstack-quantum-cisco = %{version}-%{release}
182 Obsoletes: openstack-quantum-cisco < 2013.2-0.3.b3
184 Requires: openstack-neutron = %{version}-%{release}
185 Requires: python-configobj
188 %description -n openstack-neutron-cisco
189 Neutron provides an API to dynamically request and configure virtual
192 This package contains the neutron plugin that implements virtual
193 networks using Cisco UCS and Nexus.
196 %package -n openstack-neutron-hyperv
197 Summary: Neutron Hyper-V plugin
198 Group: Applications/System
200 Provides: openstack-quantum-hyperv = %{version}-%{release}
201 Obsoletes: openstack-quantum-hyperv < 2013.2-0.3.b3
203 Requires: openstack-neutron = %{version}-%{release}
206 %description -n openstack-neutron-hyperv
207 Neutron provides an API to dynamically request and configure virtual
210 This package contains the neutron plugin that implements virtual
211 networks using Microsoft Hyper-V.
214 %package -n openstack-neutron-linuxbridge
215 Summary: Neutron linuxbridge plugin
216 Group: Applications/System
218 Provides: openstack-quantum-linuxbridge = %{version}-%{release}
219 Obsoletes: openstack-quantum-linuxbridge < 2013.2-0.3.b3
221 Requires: bridge-utils
222 Requires: openstack-neutron = %{version}-%{release}
223 Requires: python-pyudev
226 %description -n openstack-neutron-linuxbridge
227 Neutron provides an API to dynamically request and configure virtual
230 This package contains the neutron plugin that implements virtual
231 networks as VLANs using Linux bridging.
234 %package -n openstack-neutron-midonet
235 Summary: Neutron MidoNet plugin
236 Group: Applications/System
238 Provides: openstack-quantum-midonet = %{version}-%{release}
239 Obsoletes: openstack-quantum-midonet < 2013.2-0.3.b3
241 Requires: openstack-neutron = %{version}-%{release}
244 %description -n openstack-neutron-midonet
245 Neutron provides an API to dynamically request and configure virtual
248 This package contains the neutron plugin that implements virtual
249 networks using MidoNet from Midokura.
252 %package -n openstack-neutron-ml2
253 Summary: Neutron ML2 plugin
254 Group: Applications/System
256 Provides: openstack-quantum-ml2 = %{version}-%{release}
257 Obsoletes: openstack-quantum-ml2 < 2013.2-0.3.b3
259 Requires: openstack-neutron = %{version}-%{release}
262 %description -n openstack-neutron-ml2
263 Neutron provides an API to dynamically request and configure virtual
266 This package contains a neutron plugin that allows the use of drivers
267 to support separately extensible sets of network types and the mechanisms
268 for accessing those types.
271 %package -n openstack-neutron-mellanox
272 Summary: Neutron Mellanox plugin
273 Group: Applications/System
275 Provides: openstack-quantum-mellanox = %{version}-%{release}
276 Obsoletes: openstack-quantum-mellanox < 2013.2-0.3.b3
278 Requires: openstack-neutron = %{version}-%{release}
281 %description -n openstack-neutron-mellanox
282 This plugin implements Neutron v2 APIs with support for Mellanox embedded
283 switch functionality as part of the VPI (Ethernet/InfiniBand) HCA.
286 %package -n openstack-neutron-nicira
287 Summary: Neutron Nicira plugin
288 Group: Applications/System
290 Provides: openstack-quantum-nicira = %{version}-%{release}
291 Obsoletes: openstack-quantum-nicira < 2013.2-0.3.b3
293 Requires: openstack-neutron = %{version}-%{release}
296 %description -n openstack-neutron-nicira
297 Neutron provides an API to dynamically request and configure virtual
300 This package contains the neutron plugin that implements virtual
301 networks using Nicira NVP.
304 %package -n openstack-neutron-openvswitch
305 Summary: Neutron openvswitch plugin
306 Group: Applications/System
308 Provides: openstack-quantum-openvswitch = %{version}-%{release}
309 Obsoletes: openstack-quantum-openvswitch < 2013.2-0.3.b3
311 Requires: openstack-neutron = %{version}-%{release}
312 Requires: openvswitch
315 %description -n openstack-neutron-openvswitch
316 Neutron provides an API to dynamically request and configure virtual
319 This package contains the neutron plugin that implements virtual
320 networks using Open vSwitch.
323 %package -n openstack-neutron-plumgrid
324 Summary: Neutron PLUMgrid plugin
325 Group: Applications/System
327 Provides: openstack-quantum-plumgrid = %{version}-%{release}
328 Obsoletes: openstack-quantum-plumgrid < 2013.2-0.3.b3
330 Requires: openstack-neutron = %{version}-%{release}
333 %description -n openstack-neutron-plumgrid
334 Neutron provides an API to dynamically request and configure virtual
337 This package contains the neutron plugin that implements virtual
338 networks using the PLUMgrid platform.
341 %package -n openstack-neutron-ryu
342 Summary: Neutron Ryu plugin
343 Group: Applications/System
345 Provides: openstack-quantum-ryu = %{version}-%{release}
346 Obsoletes: openstack-quantum-ryu < 2013.2-0.3.b3
348 Requires: openstack-neutron = %{version}-%{release}
351 %description -n openstack-neutron-ryu
352 Neutron provides an API to dynamically request and configure virtual
355 This package contains the neutron plugin that implements virtual
356 networks using the Ryu Network Operating System.
359 %package -n openstack-neutron-nec
360 Summary: Neutron NEC plugin
361 Group: Applications/System
363 Provides: openstack-quantum-nec = %{version}-%{release}
364 Obsoletes: openstack-quantum-nec < 2013.2-0.3.b3
366 Requires: openstack-neutron = %{version}-%{release}
369 %description -n openstack-neutron-nec
370 Neutron provides an API to dynamically request and configure virtual
373 This package contains the neutron plugin that implements virtual
374 networks using the NEC OpenFlow controller.
377 %package -n openstack-neutron-metaplugin
378 Summary: Neutron meta plugin
379 Group: Applications/System
381 Provides: openstack-quantum-metaplugin = %{version}-%{release}
382 Obsoletes: openstack-quantum-metaplugin < 2013.2-0.3.b3
384 Requires: openstack-neutron = %{version}-%{release}
387 %description -n openstack-neutron-metaplugin
388 Neutron provides an API to dynamically request and configure virtual
391 This package contains the neutron plugin that implements virtual
392 networks using multiple other neutron plugins.
395 %package -n openstack-neutron-metering-agent
396 Summary: Neutron bandwidth metering agent
397 Group: Applications/System
399 Requires: openstack-neutron = %{version}-%{release}
401 %description -n openstack-neutron-metering-agent
402 Neutron provides an API to measure bandwidth utilization
404 This package contains the neutron agent responsible for generating bandwidth
405 utilization notifications.
407 %package -n openstack-neutron-vpn-agent
408 Summary: Neutron VPNaaS agent
409 Group: Applications/System
411 Requires: openstack-neutron = %{version}-%{release}
413 %description -n openstack-neutron-vpn-agent
414 Neutron provides an API to implement VPN as a service
416 This package contains the neutron agent responsible for implenting VPNaaS with
421 %setup -q -n neutron-%{version}
425 find neutron -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} +
427 chmod 644 neutron/plugins/cisco/README
429 # Let's handle dependencies ourseleves
430 rm -f requirements.txt
433 %{__python} setup.py build
435 # Loop through values in neutron-dist.conf and make sure that the values
436 # are substituted into the neutron.conf as comments. Some of these values
437 # will have been uncommented as a way of upstream setting defaults outside
438 # of the code. For service_provider and notification-driver, there are
439 # commented examples above uncommented settings, so this specifically
440 # skips those comments and instead comments out the actual settings and
441 # substitutes the correct default values.
442 while read name eq value; do
443 test "$name" && test "$value" || continue
444 if [ "$name" = "service_provider" -o "$name" = "notification_driver" ]; then
445 sed -ri "0,/^$name *=/{s!^$name *=.*!# $name = $value!}" etc/neutron.conf
447 sed -ri "0,/^(#)? *$name *=/{s!^(#)? *$name *=.*!# $name = $value!}" etc/neutron.conf
452 %{__python} setup.py install -O1 --skip-build --root %{buildroot}
454 # Remove unused files
455 rm -rf %{buildroot}%{python_sitelib}/bin
456 rm -rf %{buildroot}%{python_sitelib}/doc
457 rm -rf %{buildroot}%{python_sitelib}/tools
458 rm -rf %{buildroot}%{python_sitelib}/neutron/tests
459 rm -rf %{buildroot}%{python_sitelib}/neutron/plugins/*/tests
460 rm -f %{buildroot}%{python_sitelib}/neutron/plugins/*/run_tests.*
461 rm %{buildroot}/usr/etc/init.d/neutron-server
463 # Move rootwrap files to proper location
464 install -d -m 755 %{buildroot}%{_datarootdir}/neutron/rootwrap
465 mv %{buildroot}/usr/etc/neutron/rootwrap.d/*.filters %{buildroot}%{_datarootdir}/neutron/rootwrap
467 # Move config files to proper location
468 install -d -m 755 %{buildroot}%{_sysconfdir}/neutron
469 mv %{buildroot}/usr/etc/neutron/* %{buildroot}%{_sysconfdir}/neutron
470 chmod 640 %{buildroot}%{_sysconfdir}/neutron/plugins/*/*.ini
473 install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-neutron
476 install -p -D -m 440 %{SOURCE2} %{buildroot}%{_sysconfdir}/sudoers.d/neutron
478 # Install sysv init scripts
479 install -p -D -m 755 %{SOURCE10} %{buildroot}%{_initrddir}/neutron-server
480 install -p -D -m 755 %{SOURCE11} %{buildroot}%{_initrddir}/neutron-linuxbridge-agent
481 install -p -D -m 755 %{SOURCE12} %{buildroot}%{_initrddir}/neutron-openvswitch-agent
482 install -p -D -m 755 %{SOURCE13} %{buildroot}%{_initrddir}/neutron-ryu-agent
483 install -p -D -m 755 %{SOURCE14} %{buildroot}%{_initrddir}/neutron-nec-agent
484 install -p -D -m 755 %{SOURCE15} %{buildroot}%{_initrddir}/neutron-dhcp-agent
485 install -p -D -m 755 %{SOURCE16} %{buildroot}%{_initrddir}/neutron-l3-agent
486 install -p -D -m 755 %{SOURCE17} %{buildroot}%{_initrddir}/neutron-metadata-agent
487 install -p -D -m 755 %{SOURCE18} %{buildroot}%{_initrddir}/neutron-ovs-cleanup
488 install -p -D -m 755 %{SOURCE19} %{buildroot}%{_initrddir}/neutron-lbaas-agent
489 install -p -D -m 755 %{SOURCE30} %{buildroot}%{_initrddir}/neutron-mlnx-agent
490 install -p -D -m 755 %{SOURCE31} %{buildroot}%{_initrddir}/neutron-vpn-agent
491 install -p -D -m 755 %{SOURCE32} %{buildroot}%{_initrddir}/neutron-metering-agent
494 install -d -m 755 %{buildroot}%{_datadir}/neutron
495 install -d -m 755 %{buildroot}%{_sharedstatedir}/neutron
496 install -d -m 755 %{buildroot}%{_localstatedir}/log/neutron
497 install -d -m 755 %{buildroot}%{_localstatedir}/run/neutron
499 # Install setup helper scripts
500 install -p -D -m 755 %{SOURCE4} %{buildroot}%{_bindir}/neutron-server-setup
501 install -p -D -m 755 %{SOURCE5} %{buildroot}%{_bindir}/neutron-node-setup
502 install -p -D -m 755 %{SOURCE6} %{buildroot}%{_bindir}/neutron-dhcp-setup
503 install -p -D -m 755 %{SOURCE7} %{buildroot}%{_bindir}/neutron-l3-setup
505 # Install upstart jobs examples
506 install -p -m 644 %{SOURCE20} %{buildroot}%{_datadir}/neutron/
507 install -p -m 644 %{SOURCE21} %{buildroot}%{_datadir}/neutron/
508 install -p -m 644 %{SOURCE22} %{buildroot}%{_datadir}/neutron/
509 install -p -m 644 %{SOURCE23} %{buildroot}%{_datadir}/neutron/
510 install -p -m 644 %{SOURCE24} %{buildroot}%{_datadir}/neutron/
511 install -p -m 644 %{SOURCE25} %{buildroot}%{_datadir}/neutron/
512 install -p -m 644 %{SOURCE26} %{buildroot}%{_datadir}/neutron/
513 install -p -m 644 %{SOURCE27} %{buildroot}%{_datadir}/neutron/
514 install -p -m 644 %{SOURCE28} %{buildroot}%{_datadir}/neutron/
515 install -p -m 644 %{SOURCE29} %{buildroot}%{_datadir}/neutron/
516 install -p -m 644 %{SOURCE40} %{buildroot}%{_datadir}/neutron/
517 install -p -m 644 %{SOURCE41} %{buildroot}%{_datadir}/neutron/
518 install -p -m 644 %{SOURCE42} %{buildroot}%{_datadir}/neutron/
521 install -p -D -m 640 %{SOURCE90} %{buildroot}%{_datadir}/neutron/neutron-dist.conf
523 # Install version info file
524 cat > %{buildroot}%{_sysconfdir}/neutron/release <<EOF
526 vendor = Fedora Project
527 product = OpenStack Neutron
532 getent group neutron >/dev/null || groupadd -r neutron
533 getent passwd neutron >/dev/null || \
534 useradd -r -g neutron -d %{_sharedstatedir}/neutron -s /sbin/nologin \
535 -c "OpenStack Neutron Daemons" neutron
540 if [ $1 -eq 1 ] ; then
541 # Initial installation
542 /sbin/chkconfig --add neutron-server
543 for agent in dhcp l3 metadata lbaas; do
544 /sbin/chkconfig --add neutron-$agent-agent
549 if [ $1 -eq 0 ] ; then
550 # Package removal, not upgrade
551 /sbin/service neutron-server stop >/dev/null 2>&1
552 /sbin/chkconfig --del neutron-server
553 for agent in dhcp l3 metadata lbaas; do
554 /sbin/service neutron-$agent-agent stop >/dev/null 2>&1
555 /sbin/chkconfig --del neutron-$agent-agent
560 if [ $1 -ge 1 ] ; then
561 # Package upgrade, not uninstall
562 /sbin/service neutron-server condrestart >/dev/null 2>&1 || :
563 for agent in dhcp l3 metadata lbaas; do
564 /sbin/service neutron-$agent-agent condrestart >/dev/null 2>&1 || :
569 if rpm --quiet -q openstack-quantum; then
570 mkdir -p %{_localstatedir}/lib/rpm-state/
572 # Create a script for restoring init script enabling that we can also
573 # use as a flag to detect quantum -> grizzly upgrades in %posttrans
574 chkconfig --type sysv --list|grep ^quantum| \
575 sed -re 's/[0-6]:off//g
578 s/^([a-z0-9-]+)\s+([0-6]+)/chkconfig --levels \2 \1 on/' > %{_localstatedir}/lib/rpm-state/UPGRADE_FROM_QUANTUM
582 # Handle migration from quantum -> neutron
583 if [ -e %{_localstatedir}/lib/rpm-state/UPGRADE_FROM_QUANTUM ];then
584 # Migrate existing config files
585 for i in `find /etc/quantum -name *.rpmsave`;do
586 new=${i//quantum/neutron}
587 new=${new/%.rpmsave/}
588 sed -e '/^sql_connection/ b
591 s/Quantum/Neutron/g' $i > $new
594 # Re-create plugin.ini if it existed.
595 if [ -h %{_sysconfdir}/quantum/plugin.ini ];then
596 plugin_ini=$(readlink %{_sysconfdir}/quantum/plugin.ini)
597 ln -s ${plugin_ini//quantum/neutron} %{_sysconfdir}/neutron/plugin.ini
600 # Stamp the existing db as grizzly to avoid neutron-server breaking db migration
601 neutron-db-manage --config-file %{_sysconfdir}/neutron/neutron.conf --config-file %{_sysconfdir}/neutron/plugin.ini stamp grizzly || :
603 # Restore the enablement of the various neutron services
604 source %{_localstatedir}/lib/rpm-state/UPGRADE_FROM_QUANTUM
606 rm -f %{_localstatedir}/lib/rpm-state/UPGRADE_FROM_QUANTUM
610 %post -n openstack-neutron-linuxbridge
611 if [ $1 -eq 1 ] ; then
612 # Initial installation
613 /sbin/chkconfig --add neutron-linuxbridge-agent
616 %preun -n openstack-neutron-linuxbridge
617 if [ $1 -eq 0 ] ; then
618 # Package removal, not upgrade
619 /sbin/service neutron-linuxbridge-agent stop >/dev/null 2>&1
620 /sbin/chkconfig --del neutron-linuxbridge-agent
623 %postun -n openstack-neutron-linuxbridge
624 if [ $1 -ge 1 ] ; then
625 # Package upgrade, not uninstall
626 /sbin/service neutron-linuxbridge-agent condrestart >/dev/null 2>&1 || :
630 %post -n openstack-neutron-openvswitch
631 if [ $1 -eq 1 ] ; then
632 # Initial installation
633 /sbin/chkconfig --add neutron-openvswitch-agent
636 %preun -n openstack-neutron-openvswitch
637 if [ $1 -eq 0 ] ; then
638 # Package removal, not upgrade
639 /sbin/service neutron-openvswitch-agent stop >/dev/null 2>&1
640 /sbin/chkconfig --del neutron-openvswitch-agent
643 %postun -n openstack-neutron-openvswitch
644 if [ $1 -ge 1 ] ; then
645 # Package upgrade, not uninstall
646 /sbin/service neutron-openvswitch-agent condrestart >/dev/null 2>&1 || :
650 %post -n openstack-neutron-ryu
651 if [ $1 -eq 1 ] ; then
652 # Initial installation
653 /sbin/chkconfig --add neutron-ryu-agent
656 %preun -n openstack-neutron-ryu
657 if [ $1 -eq 0 ] ; then
658 # Package removal, not upgrade
659 /sbin/service neutron-ryu-agent stop >/dev/null 2>&1
660 /sbin/chkconfig --del neutron-ryu-agent
663 %postun -n openstack-neutron-ryu
664 if [ $1 -ge 1 ] ; then
665 # Package upgrade, not uninstall
666 /sbin/service neutron-ryu-agent condrestart >/dev/null 2>&1 || :
670 %post -n openstack-neutron-nec
671 if [ $1 -eq 1 ] ; then
672 # Initial installation
673 /sbin/chkconfig --add neutron-nec-agent
676 %preun -n openstack-neutron-nec
677 if [ $1 -eq 0 ] ; then
678 # Package removal, not upgrade
679 /sbin/service neutron-nec-agent stop >/dev/null 2>&1
680 /sbin/chkconfig --del neutron-nec-agent
684 %postun -n openstack-neutron-nec
685 /bin/systemctl daemon-reload >/dev/null 2>&1 || :
686 if [ $1 -ge 1 ] ; then
687 # Package upgrade, not uninstall
688 /sbin/service neutron-nec-agent condrestart >/dev/null 2>&1 || :
692 %post -n openstack-neutron-mellanox
693 if [ $1 -eq 1 ] ; then
694 # Initial installation
695 /sbin/chkconfig --add neutron-mlnx-agent
698 %preun -n openstack-neutron-mellanox
699 if [ $1 -eq 0 ] ; then
700 # Package removal, not upgrade
701 /sbin/service neutron-mlnx-agent stop >/dev/null 2>&1
702 /sbin/chkconfig --del neutron-mlnx-agent
705 %postun -n openstack-neutron-mellanox
706 if [ $1 -ge 1 ] ; then
707 # Package upgrade, not uninstall
708 /sbin/service neutron-mlnx-agent condrestart >/dev/null 2>&1 || :
712 %post -n openstack-neutron-vpn-agent
713 if [ $1 -eq 1 ] ; then
714 # Initial installation
715 /sbin/chkconfig --add neutron-vpn-agent
718 %preun -n openstack-neutron-vpn-agent
719 if [ $1 -eq 0 ] ; then
720 # Package removal, not upgrade
721 /sbin/service neutron-vpn-agent stop >/dev/null 2>&1
722 /sbin/chkconfig --del neutron-vpn-agent
725 %postun -n openstack-neutron-vpn-agent
726 if [ $1 -ge 1 ] ; then
727 # Package upgrade, not uninstall
728 /sbin/service neutron-vpn-agent condrestart >/dev/null 2>&1 || :
732 %post -n openstack-neutron-metering-agent
733 if [ $1 -eq 1 ] ; then
734 # Initial installation
735 /sbin/chkconfig --add neutron-metering-agent
738 %preun -n openstack-neutron-metering-agent
739 if [ $1 -eq 0 ] ; then
740 # Package removal, not upgrade
741 /sbin/service neutron-metering-agent stop >/dev/null 2>&1
742 /sbin/chkconfig --del neutron-metering-agent
745 %postun -n openstack-neutron-metering-agent
746 if [ $1 -ge 1 ] ; then
747 # Package upgrade, not uninstall
748 /sbin/service neutron-metering-agent condrestart >/dev/null 2>&1 || :
754 %{_bindir}/quantum-db-manage
755 %{_bindir}/quantum-debug
756 %{_bindir}/quantum-dhcp-agent
757 %{_bindir}/quantum-l3-agent
758 %{_bindir}/quantum-lbaas-agent
759 %{_bindir}/quantum-metadata-agent
760 %{_bindir}/quantum-netns-cleanup
761 %{_bindir}/quantum-ns-metadata-proxy
762 %{_bindir}/quantum-rootwrap
763 %{_bindir}/quantum-rootwrap-xen-dom0
764 %{_bindir}/quantum-server
765 %{_bindir}/quantum-usage-audit
767 %{_bindir}/neutron-db-manage
768 %{_bindir}/neutron-debug
769 %{_bindir}/neutron-dhcp-agent
770 %{_bindir}/neutron-dhcp-setup
771 %{_bindir}/neutron-l3-agent
772 %{_bindir}/neutron-l3-setup
773 %{_bindir}/neutron-lbaas-agent
774 %{_bindir}/neutron-metadata-agent
775 %{_bindir}/neutron-netns-cleanup
776 %{_bindir}/neutron-node-setup
777 %{_bindir}/neutron-ns-metadata-proxy
778 %{_bindir}/neutron-rootwrap
779 %{_bindir}/neutron-rootwrap-xen-dom0
780 %{_bindir}/neutron-server
781 %{_bindir}/neutron-server-setup
782 %{_bindir}/neutron-usage-audit
784 %{_initrddir}/neutron-server
785 %{_initrddir}/neutron-dhcp-agent
786 %{_initrddir}/neutron-l3-agent
787 %{_initrddir}/neutron-metadata-agent
788 %{_initrddir}/neutron-ovs-cleanup
789 %{_initrddir}/neutron-lbaas-agent
790 %dir %{_datadir}/neutron
791 %{_datadir}/neutron/neutron-server.upstart
792 %{_datadir}/neutron/neutron-dhcp-agent.upstart
793 %{_datadir}/neutron/neutron-metadata-agent.upstart
794 %{_datadir}/neutron/neutron-l3-agent.upstart
795 %{_datadir}/neutron/neutron-lbaas-agent.upstart
796 %dir %{_sysconfdir}/neutron
797 %{_sysconfdir}/neutron/release
798 %attr(-, root, neutron) %{_datadir}/neutron/neutron-dist.conf
799 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/api-paste.ini
800 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/dhcp_agent.ini
801 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/fwaas_driver.ini
802 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/l3_agent.ini
803 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/metadata_agent.ini
804 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/lbaas_agent.ini
805 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/policy.json
806 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/neutron.conf
807 %config(noreplace) %{_sysconfdir}/neutron/rootwrap.conf
808 %dir %{_sysconfdir}/neutron/plugins
809 %config(noreplace) %{_sysconfdir}/logrotate.d/*
810 %config(noreplace) %{_sysconfdir}/sudoers.d/neutron
811 %dir %attr(0755, neutron, neutron) %{_sharedstatedir}/neutron
812 %dir %attr(0755, neutron, neutron) %{_localstatedir}/log/neutron
813 %dir %attr(0755, neutron, neutron) %{_localstatedir}/run/neutron
814 %dir %{_datarootdir}/neutron/rootwrap
815 %{_datarootdir}/neutron/rootwrap/debug.filters
816 %{_datarootdir}/neutron/rootwrap/dhcp.filters
817 %{_datarootdir}/neutron/rootwrap/iptables-firewall.filters
818 %{_datarootdir}/neutron/rootwrap/l3.filters
819 %{_datarootdir}/neutron/rootwrap/lbaas-haproxy.filters
822 %files -n python-neutron
825 %{python_sitelib}/neutron
826 %{python_sitelib}/quantum
827 %exclude %{python_sitelib}/neutron/plugins/bigswitch
828 %exclude %{python_sitelib}/neutron/plugins/brocade
829 %exclude %{python_sitelib}/neutron/plugins/cisco
830 %exclude %{python_sitelib}/neutron/plugins/hyperv
831 %exclude %{python_sitelib}/neutron/plugins/linuxbridge
832 %exclude %{python_sitelib}/neutron/plugins/metaplugin
833 %exclude %{python_sitelib}/neutron/plugins/midonet
834 %exclude %{python_sitelib}/neutron/plugins/ml2
835 %exclude %{python_sitelib}/neutron/plugins/mlnx
836 %exclude %{python_sitelib}/neutron/plugins/nec
837 %exclude %{python_sitelib}/neutron/plugins/nicira
838 %exclude %{python_sitelib}/neutron/plugins/openvswitch
839 %exclude %{python_sitelib}/neutron/plugins/plumgrid
840 %exclude %{python_sitelib}/neutron/plugins/ryu
841 %{python_sitelib}/neutron-%%{version}*.egg-info
844 %files -n openstack-neutron-bigswitch
846 %doc neutron/plugins/bigswitch/README
847 %{python_sitelib}/neutron/plugins/bigswitch
848 %dir %{_sysconfdir}/neutron/plugins/bigswitch
849 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/bigswitch/*.ini
852 %files -n openstack-neutron-brocade
854 %doc neutron/plugins/brocade/README.md
855 %{python_sitelib}/neutron/plugins/brocade
856 %dir %{_sysconfdir}/neutron/plugins/brocade
857 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/brocade/*.ini
860 %files -n openstack-neutron-cisco
862 %doc neutron/plugins/cisco/README
863 %{python_sitelib}/neutron/plugins/cisco
864 %dir %{_sysconfdir}/neutron/plugins/cisco
865 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/cisco/*.ini
868 %files -n openstack-neutron-hyperv
870 #%%doc neutron/plugins/hyperv/README
871 %{_bindir}/neutron-hyperv-agent
872 %{_bindir}/quantum-hyperv-agent
873 %{python_sitelib}/neutron/plugins/hyperv
874 %dir %{_sysconfdir}/neutron/plugins/hyperv
875 %exclude %{python_sitelib}/neutron/plugins/hyperv/agent
876 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/hyperv/*.ini
879 %files -n openstack-neutron-linuxbridge
881 %doc neutron/plugins/linuxbridge/README
882 %{_bindir}/neutron-linuxbridge-agent
883 %{_bindir}/quantum-linuxbridge-agent
884 %{_initrddir}/neutron-linuxbridge-agent
885 %{_datadir}/neutron/neutron-linuxbridge-agent.upstart
886 %{python_sitelib}/neutron/plugins/linuxbridge
887 %{_datarootdir}/neutron/rootwrap/linuxbridge-plugin.filters
888 %dir %{_sysconfdir}/neutron/plugins/linuxbridge
889 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/linuxbridge/*.ini
892 %files -n openstack-neutron-midonet
894 #%%doc neutron/plugins/midonet/README
895 %{python_sitelib}/neutron/plugins/midonet
896 %dir %{_sysconfdir}/neutron/plugins/midonet
897 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/midonet/*.ini
900 %files -n openstack-neutron-ml2
901 %doc neutron/plugins/ml2/README
902 %{python_sitelib}/neutron/plugins/ml2
903 %dir %{_sysconfdir}/neutron/plugins/ml2
904 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/ml2/*.ini
907 %files -n openstack-neutron-mellanox
908 %doc neutron/plugins/mlnx/README
909 %{_bindir}/neutron-mlnx-agent
910 %{_bindir}/quantum-mlnx-agent
911 %{python_sitelib}/neutron/plugins/mlnx
912 %{_initrddir}/neutron-mlnx-agent
913 %{_datadir}/neutron/neutron-mlnx-agent.upstart
914 %dir %{_sysconfdir}/neutron/plugins/mlnx
915 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/mlnx/*.ini
918 %files -n openstack-neutron-nicira
920 %doc neutron/plugins/nicira/README
921 %{_bindir}/neutron-check-nvp-config
922 %{_bindir}/quantum-check-nvp-config
923 %{python_sitelib}/neutron/plugins/nicira
924 %dir %{_sysconfdir}/neutron/plugins/nicira
925 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/nicira/*.ini
928 %files -n openstack-neutron-openvswitch
930 %doc neutron/plugins/openvswitch/README
931 %{_bindir}/neutron-openvswitch-agent
932 %{_bindir}/quantum-openvswitch-agent
933 %{_bindir}/neutron-ovs-cleanup
934 %{_bindir}/quantum-ovs-cleanup
935 %{_initrddir}/neutron-openvswitch-agent
936 %{_datadir}/neutron/neutron-openvswitch-agent.upstart
937 %{_initrddir}/neutron-ovs-cleanup
938 %{_datadir}/neutron/neutron-ovs-cleanup.upstart
939 %{python_sitelib}/neutron/plugins/openvswitch
940 %{_datarootdir}/neutron/rootwrap/openvswitch-plugin.filters
941 %dir %{_sysconfdir}/neutron/plugins/openvswitch
942 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/openvswitch/*.ini
945 %files -n openstack-neutron-plumgrid
947 %doc neutron/plugins/plumgrid/README
948 %{python_sitelib}/neutron/plugins/plumgrid
949 %dir %{_sysconfdir}/neutron/plugins/plumgrid
950 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/plumgrid/*.ini
953 %files -n openstack-neutron-ryu
955 %doc neutron/plugins/ryu/README
956 %{_bindir}/neutron-ryu-agent
957 %{_bindir}/quantum-ryu-agent
958 %{_initrddir}/neutron-ryu-agent
959 %{_datadir}/neutron/neutron-ryu-agent.upstart
960 %{python_sitelib}/neutron/plugins/ryu
961 %{_datarootdir}/neutron/rootwrap/ryu-plugin.filters
962 %dir %{_sysconfdir}/neutron/plugins/ryu
963 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/ryu/*.ini
966 %files -n openstack-neutron-nec
968 %doc neutron/plugins/nec/README
969 %{_bindir}/neutron-nec-agent
970 %{_bindir}/quantum-nec-agent
971 %{_initrddir}/neutron-nec-agent
972 %{_datadir}/neutron/neutron-nec-agent.upstart
973 %{python_sitelib}/neutron/plugins/nec
974 %{_datarootdir}/neutron/rootwrap/nec-plugin.filters
975 %dir %{_sysconfdir}/neutron/plugins/nec
976 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/nec/*.ini
979 %files -n openstack-neutron-metaplugin
981 %doc neutron/plugins/metaplugin/README
982 %{python_sitelib}/neutron/plugins/metaplugin
983 %dir %{_sysconfdir}/neutron/plugins/metaplugin
984 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/plugins/metaplugin/*.ini
987 %files -n openstack-neutron-metering-agent
989 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/metering_agent.ini
990 %{_initrddir}/neutron-metering-agent
991 %{_datadir}/neutron/neutron-metering-agent.upstart
992 %{_bindir}/neutron-metering-agent
995 %files -n openstack-neutron-vpn-agent
997 %config(noreplace) %attr(0640, root, neutron) %{_sysconfdir}/neutron/vpn_agent.ini
998 %{_initrddir}/neutron-vpn-agent
999 %{_datadir}/neutron/neutron-vpn-agent.upstart
1000 %{_bindir}/neutron-vpn-agent
1001 %{_datarootdir}/neutron/rootwrap/vpnaas.filters
1005 * Wed Dec 04 2013 Terry Wilson <twilson@redhat.com> - 2013.2-11
1006 - Add missing debug and vpnaas rootwrap filters, bz#1034207
1008 * Mon Dec 02 2013 Terry Wilson <twilson@redhat.com> - 2013.2-10
1009 - Replace quantum references in neutron-dist.conf
1011 * Tue Nov 19 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-9
1012 - Fix dependency on parallel installed python-jinja2-26
1014 * Tue Nov 19 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-8
1015 - Depend on python-webob1.2 rather than deprecated python-webob1.0
1017 * Wed Nov 13 2013 Terry Wilson <twilson@redhat.com> - 2013.2-7
1018 - Add dnsmasq-utils dependency to openstack-neutron
1020 * Wed Nov 13 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-6
1021 - Fix jinja2 import in openstack-neutron-vpn-agent
1023 * Thu Nov 07 2013 Terry Wilson <twilson@redhat.com> - 2013.2-5
1024 - Update deps for python-{babel,keystoneclient,oslo-config}
1026 * Wed Oct 30 2013 Terry Wilson <twilson@redaht.com> - 2013.2-4
1027 - Better support for upgrading from grizzly to havana
1029 * Thu Oct 24 2013 Terry Wilson <twilson@redhat.com> - 2013.2-3
1030 - Fix previous neutron-ovs-cleanup fix
1032 * Thu Oct 24 2013 Terry Wilson <twilson@redhat.com> - 2013.2-2
1033 - Ensure that neutron-ovs-cleanup completes before exiting (rhbz#1010941)
1035 * Fri Oct 18 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-1
1036 - Update to havana GA
1038 * Thu Oct 10 2013 Terry Wilson <twilson@redhat.com> - 2013.2-0.12.rc1
1039 - Update to havana rc1
1041 * Wed Oct 2 2013 Terry Wilson <twilson@redhat.com> - 2013.2-0.11.b3
1042 - Add python-jinja2 requires to VPN agent
1043 - Ad missing services for VPN and metering agent
1045 * Thu Sep 26 2013 Terry Wilson <twilson@redhat.com> - 2013.2-0.10.b3
1046 - Add support for neutron-dist.conf
1048 * Tue Sep 17 2013 Pádraig Brady <pbrady@redhat.com> - 2013.2-0.9.b3
1049 - Fix typo in openstack-neutron-meetering-agent package name
1050 - Register all agent services with chkconfig during installation
1052 * Mon Sep 09 2013 Terry Wilson <twilson@rehdat.com> - 2013.2-0.4.b3
1053 - Update to havana milestone 3 release
1055 * Thu Jul 25 2013 Terry Wilson <twilson@redhat.com> - 2013.2-0.3.b2
1056 - Update to havana milestone 2 release
1057 - Rename quantum to neutron
1059 * Mon Jun 17 2013 Terry Wilson <twilson@redhat.com> - 2013.2-0.2.b1
1060 - Update to havana milestone 1 release
1062 * Fri Jun 07 2013 Terry Wilson <twilson@redhat.com> - 2013.1.2-1
1063 - Update to grizzly 2013.1.2 release
1065 * Sun May 26 2013 Gary Kotton <gkotton@redhat.com> - 2013.1.1-6
1066 - Fixes rootwarp path
1068 * Fri May 24 2013 Pádraig Brady <P@draigBrady.com> - 2013.1.1-5
1069 - Fix inclusion of db migrations
1071 * Wed May 22 2013 Gary Kotton <gkotton@redhat.com> - 2013.1.1-3
1072 - Updates to work with namespaces
1073 - Fix kill-metadata rootwrap filter
1075 * Mon May 13 2013 Gary Kotton <gkotton@redhat.com> - 2013.1.1-2
1076 - Update to grizzly stable release 2013.1.1
1077 - Update install scripts to configure security groups
1078 - Update install scripts to remove virtual interface configurations
1080 * Mon Apr 29 2013 Pádraig Brady <pbrady@redhat.com> 2013.1-3
1081 - Fix quantum-ovs-cleanup.init to reference the correct config files
1083 * Thu Apr 4 2013 Gary Kotton <gkotton@redhat.com> - 2013.1-1
1084 - Update to grizzly release
1086 * Thu Apr 4 2013 Gary Kotton <gkotton@redhat.com> - 2013.1-0.7.rc3
1087 - Update to grizzly rc3
1088 - Update rootwrap (bug 947793)
1089 - Update l3-agent-setup to support qpid (bug 947532)
1090 - Update l3-agent-setup to support metadata-agent credentials
1091 - Update keystone authentication details (bug 947776)
1093 * Tue Mar 26 2013 Terry Wilson <twilson@redhat.com> - 2013.1-0.6.rc2
1094 - Update to grizzly rc2
1096 * Tue Mar 12 2013 Pádraig Brady <P@draigBrady.Com> - 2013.1-0.5.g3
1097 - Relax the dependency requirements on sqlalchemy
1099 * Mon Feb 25 2013 Robert Kukura <rkukura@redhat.com> - 2013.1-0.4.g3
1100 - Update to grizzly milestone 3
1101 - Add brocade, hyperv, midonet, and plumgrid plugins as sub-packages
1102 - Remove cisco files that were eliminated
1103 - Add quantum-check-nvp-config
1104 - Include patch for https://code.launchpad.net/bugs/1132889
1105 - Require python-oslo-config
1106 - Require compatible version of python-sqlalchemy
1107 - Various spec file improvements
1109 * Thu Feb 14 2013 Robert Kukura <rkukura@redhat.com> - 2013.1-0.3.g2
1110 - Update to grizzly milestone 2
1111 - Add quantum-db-manage, quantum-metadata-agent,
1112 quantum-ns-metadata-proxy, quantum-ovs-cleanup, and
1113 quantum-usage-audit executables
1114 - Add systemd units for quantum-metadata-agent and quantum-ovs-cleanup
1115 - Fix /etc/quantum/policy.json permissions (bug 877600)
1116 - Require dnsmasq (bug 890041)
1117 - Add the version info file
1118 - Remove python-lxml dependency
1119 - Add python-alembic dependency
1121 * Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2013.1-0.2.g1
1122 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
1124 * Wed Jan 23 2013 Martin Magr <mmagr@redhat.com> - 2012.2.1-1
1125 - Added python-keystone requirement
1127 * Wed Dec 5 2012 Robert Kukura <rkukura@redhat.com> - 2013.1-0.1.g1
1128 - Update to grizzly milestone 1
1129 - Require python-quantumclient >= 1:2.1.10
1130 - Remove unneeded rpc control_exchange patch
1131 - Add bigswitch plugin as sub-package
1132 - Work around bigswitch conf file missing from setup.py
1134 * Mon Dec 3 2012 Robert Kukura <rkukura@redhat.com> - 2012.2.1-1
1135 - Update to folsom stable 2012.2.1
1136 - Add upstream patch: Fix rpc control_exchange regression.
1137 - Remove workaround for missing l3_agent.ini
1139 * Thu Nov 01 2012 Alan Pevec <apevec@redhat.com> 2012.2-2
1140 - l3_agent not disabling namespace use lp#1060559
1142 * Fri Sep 28 2012 Robert Kukura <rkukura@redhat.com> - 2012.2-1
1143 - Update to folsom final
1144 - Require python-quantumclient >= 1:2.1.1
1146 * Tue Aug 21 2012 Robert Kukura <rkukura@redhat.com> - 2012.1-8
1147 - fix database config generated by install scripts (#847785)
1149 * Wed Jul 25 2012 Robert Kukura <rkukura@redhat.com> - 2012.1-6
1150 - Update to 20120715 essex stable branch snapshot
1152 * Mon May 28 2012 Pádraig Brady <P@draigBrady.com> - 2012.1-5
1153 - Fix helper scripts to use the always available openstack-config util
1155 * Mon May 07 2012 Pádraig Brady <P@draigBrady.com> - 2012.1-4
1156 - Fix handling of the mysql service in quantum-server-setup
1158 * Tue May 01 2012 Pádraig Brady <P@draigBrady.com> - 2012.1-3
1159 - Start the services later in the boot sequence
1161 * Wed Apr 25 2012 Pádraig Brady <P@draigBrady.com> - 2012.1-2
1162 - Use parallel installed versions of python-routes and python-paste-deploy
1164 * Thu Apr 12 2012 Pádraig Brady <pbrady@redhat.com> - 2012.1-1
1165 - Initial essex release