From 3cda1a9c931ed9680f33dd4d0f490d8d4e40df76 Mon Sep 17 00:00:00 2001 From: Dmitry Burmistrov Date: Tue, 10 Dec 2013 16:08:55 +0400 Subject: [PATCH] Update RPM specs to pre 2013.2.1 Change-Id: Icc91c53cc8d052fa18c5d2b8310727d637d35001 --- ...parallel-installed-versions-in-RHEL6.patch | 15 +- rpm/SOURCES/neutron-dhcp-setup | 0 rpm/SOURCES/neutron-dist.conf | 4 +- rpm/SOURCES/neutron-l3-setup | 0 rpm/SOURCES/neutron-node-setup | 0 rpm/SOURCES/neutron-ovs-cleanup.init | 3 +- rpm/SOURCES/neutron-server-setup | 0 rpm/SPECS/openstack-neutron.spec | 169 +++++++++++++----- 8 files changed, 135 insertions(+), 56 deletions(-) mode change 100755 => 100644 rpm/SOURCES/neutron-dhcp-setup mode change 100755 => 100644 rpm/SOURCES/neutron-l3-setup mode change 100755 => 100644 rpm/SOURCES/neutron-node-setup mode change 100755 => 100644 rpm/SOURCES/neutron-server-setup diff --git a/rpm/SOURCES/0001-use-parallel-installed-versions-in-RHEL6.patch b/rpm/SOURCES/0001-use-parallel-installed-versions-in-RHEL6.patch index 7e668fd51..0d2dbd4ae 100644 --- a/rpm/SOURCES/0001-use-parallel-installed-versions-in-RHEL6.patch +++ b/rpm/SOURCES/0001-use-parallel-installed-versions-in-RHEL6.patch @@ -1,20 +1,20 @@ -From 1e3dd04afbfa4f29b2a43acf4075117b12fcad5e Mon Sep 17 00:00:00 2001 +From 9e51bf76149105791742f84a4a639f9a0f661aad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?= Date: Fri, 13 Apr 2012 17:24:40 +0100 Subject: [PATCH] use parallel installed versions in RHEL6 -of webob sqlalchemy python-routes and paste-deploy +of webob sqlalchemy python-routes paste-deploy python-jinja2-26 Change-Id: I290f56eae61c87893639a9e5d29f7fff760452cf --- - neutron/__init__.py | 30 ++++++++++++++++++++++++++++++ - 1 file changed, 30 insertions(+) + neutron/__init__.py | 31 +++++++++++++++++++++++++++++++ + 1 file changed, 31 insertions(+) diff --git a/neutron/__init__.py b/neutron/__init__.py -index b2c81bd..764eee4 100644 +index b2c81bd..fef4d32 100644 --- a/neutron/__init__.py +++ b/neutron/__init__.py -@@ -15,6 +15,36 @@ +@@ -15,6 +15,37 @@ # License for the specific language governing permissions and limitations # under the License. @@ -37,9 +37,10 @@ index b2c81bd..764eee4 100644 + # and the associated pkg_resources.working_set.entries + return pkg_resources.require(requirement) + -+replace_dist("WebOb >= 1.0") ++replace_dist("WebOb >= 1.2") +replace_dist("SQLAlchemy >= 0.6.3") +replace_dist("Routes >= 1.12.3") ++replace_dist("Jinja2 >= 2.6") + +replace_dist("PasteDeploy >= 1.5.0") +# This hack is needed because replace_dist() results in diff --git a/rpm/SOURCES/neutron-dhcp-setup b/rpm/SOURCES/neutron-dhcp-setup old mode 100755 new mode 100644 diff --git a/rpm/SOURCES/neutron-dist.conf b/rpm/SOURCES/neutron-dist.conf index 9b1a6358c..a4a55c8fe 100644 --- a/rpm/SOURCES/neutron-dist.conf +++ b/rpm/SOURCES/neutron-dist.conf @@ -3,13 +3,13 @@ verbose = True lock_path = $state_path/lock auth_strategy = noauth notification_driver = neutron.openstack.common.notifier.rpc_notifier -rpc_backend = quantum.openstack.common.rpc.impl_qpid +rpc_backend = neutron.openstack.common.rpc.impl_qpid allow_overlapping_ips = True [quotas] [agent] -root_helper = sudo quantum-rootwrap /etc/quantum/rootwrap.conf +root_helper = sudo neutron-rootwrap /etc/neutron/rootwrap.conf [keystone_authtoken] auth_host = 127.0.0.1 diff --git a/rpm/SOURCES/neutron-l3-setup b/rpm/SOURCES/neutron-l3-setup old mode 100755 new mode 100644 diff --git a/rpm/SOURCES/neutron-node-setup b/rpm/SOURCES/neutron-node-setup old mode 100755 new mode 100644 diff --git a/rpm/SOURCES/neutron-ovs-cleanup.init b/rpm/SOURCES/neutron-ovs-cleanup.init index 8978cac4a..0694022a5 100644 --- a/rpm/SOURCES/neutron-ovs-cleanup.init +++ b/rpm/SOURCES/neutron-ovs-cleanup.init @@ -17,6 +17,7 @@ configs=( "/etc/$proj/$proj.conf" \ "/etc/$proj/plugins/openvswitch/ovs_neutron_plugin.ini" \ ) +configs_str=${configs[@]/#/--config-file } [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog @@ -27,7 +28,7 @@ start() { for config in ${configs[@]}; do [ -f $config ] || exit 6 done - daemon --user neutron $exec --log-file /var/log/$proj/ovs-cleanup.log ${configs[@]/#/--config-file } &>/dev/null + runuser -s /bin/bash neutron -c "$exec --log-file /var/log/$proj/ovs-cleanup.log $configs_str &>/dev/null" retval=$? [ $retval -eq 0 ] && touch $lockfile return $retval diff --git a/rpm/SOURCES/neutron-server-setup b/rpm/SOURCES/neutron-server-setup old mode 100755 new mode 100644 diff --git a/rpm/SPECS/openstack-neutron.spec b/rpm/SPECS/openstack-neutron.spec index f8a4a6e6c..7ef4344e1 100644 --- a/rpm/SPECS/openstack-neutron.spec +++ b/rpm/SPECS/openstack-neutron.spec @@ -1,11 +1,11 @@ # -# This is 2013.1.2 release +# This is 2013.2 release # %global release_name havana Name: openstack-neutron Version: 2013.2 -Release: 1%{?dist} +Release: 11%{?dist} Provides: openstack-quantum = %{version}-%{release} Obsoletes: openstack-quantum < 2013.2-0.3.b3 @@ -52,7 +52,7 @@ Source42: neutron-metering-agent.upstart Source90: neutron-dist.conf # -# patches_base=2013.2 +# patches_base=2013.2+1 # Patch0001: 0001-use-parallel-installed-versions-in-RHEL6.patch @@ -64,14 +64,16 @@ BuildRequires: python-setuptools # as setup.py build imports neutron.openstack.common.setup # which will then check for these BuildRequires: python-sqlalchemy0.7 -BuildRequires: python-webob1.0 +BuildRequires: python-webob1.2 BuildRequires: python-paste-deploy1.5 BuildRequires: python-routes1.12 +BuildRequires: python-jinja2-26 BuildRequires: dos2unix BuildRequires: python-pbr BuildRequires: python-d2to1 +Requires: dnsmasq-utils Requires: python-neutron = %{version}-%{release} Requires: openstack-utils Requires: python-keystone @@ -89,17 +91,17 @@ Requires: dnsmasq %description -Quantum is a virtual network service for Openstack. Just like +Neutron is a virtual network service for Openstack. Just like OpenStack Nova provides an API to dynamically request and configure -virtual servers, Quantum provides an API to dynamically request and +virtual servers, Neutron provides an API to dynamically request and configure virtual networks. These networks connect "interfaces" from other OpenStack services (e.g., virtual NICs from Nova VMs). The -Quantum API supports extensions to provide advanced network +Neutron API supports extensions to provide advanced network capabilities (e.g., QoS, ACLs, network monitoring, etc.) %package -n python-neutron -Summary: Quantum Python libraries +Summary: Neutron Python libraries Group: Applications/System Provides: python-quantum = %{version}-%{release} @@ -109,31 +111,34 @@ Requires: MySQL-python Requires: python-alembic Requires: python-amqplib Requires: python-anyjson +Requires: python-babel Requires: python-eventlet Requires: python-greenlet Requires: python-httplib2 Requires: python-iso8601 +Requires: python-jinja2-26 +Requires: python-keystoneclient Requires: python-kombu Requires: python-lxml Requires: python-paste-deploy1.5 Requires: python-routes1.12 Requires: python-sqlalchemy0.7 -Requires: python-webob1.0 +Requires: python-webob1.2 Requires: python-netaddr -Requires: python-oslo-config +Requires: python-oslo-config >= 1:1.2.0 Requires: python-qpid Requires: python-neutronclient Requires: sudo %description -n python-neutron -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron Python library. %package -n openstack-neutron-bigswitch -Summary: Quantum Big Switch plugin +Summary: Neutron Big Switch plugin Group: Applications/System Provides: openstack-quantum-bigswitch = %{version}-%{release} @@ -143,7 +148,7 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-bigswitch -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -152,7 +157,7 @@ Networks Controller. %package -n openstack-neutron-brocade -Summary: Quantum Brocade plugin +Summary: Neutron Brocade plugin Group: Applications/System Provides: openstack-quantum-brocade = %{version}-%{release} @@ -162,7 +167,7 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-brocade -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -170,7 +175,7 @@ networks using Brocade VCS switches running NOS. %package -n openstack-neutron-cisco -Summary: Quantum Cisco plugin +Summary: Neutron Cisco plugin Group: Applications/System Provides: openstack-quantum-cisco = %{version}-%{release} @@ -181,7 +186,7 @@ Requires: python-configobj %description -n openstack-neutron-cisco -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -189,7 +194,7 @@ networks using Cisco UCS and Nexus. %package -n openstack-neutron-hyperv -Summary: Quantum Hyper-V plugin +Summary: Neutron Hyper-V plugin Group: Applications/System Provides: openstack-quantum-hyperv = %{version}-%{release} @@ -199,7 +204,7 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-hyperv -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -207,7 +212,7 @@ networks using Microsoft Hyper-V. %package -n openstack-neutron-linuxbridge -Summary: Quantum linuxbridge plugin +Summary: Neutron linuxbridge plugin Group: Applications/System Provides: openstack-quantum-linuxbridge = %{version}-%{release} @@ -219,7 +224,7 @@ Requires: python-pyudev %description -n openstack-neutron-linuxbridge -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -227,7 +232,7 @@ networks as VLANs using Linux bridging. %package -n openstack-neutron-midonet -Summary: Quantum MidoNet plugin +Summary: Neutron MidoNet plugin Group: Applications/System Provides: openstack-quantum-midonet = %{version}-%{release} @@ -237,7 +242,7 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-midonet -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -245,7 +250,7 @@ networks using MidoNet from Midokura. %package -n openstack-neutron-ml2 -Summary: Quantum ML2 plugin +Summary: Neutron ML2 plugin Group: Applications/System Provides: openstack-quantum-ml2 = %{version}-%{release} @@ -255,7 +260,7 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-ml2 -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains a neutron plugin that allows the use of drivers @@ -264,7 +269,7 @@ for accessing those types. %package -n openstack-neutron-mellanox -Summary: Quantum Mellanox plugin +Summary: Neutron Mellanox plugin Group: Applications/System Provides: openstack-quantum-mellanox = %{version}-%{release} @@ -274,12 +279,12 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-mellanox -This plugin implements Quantum v2 APIs with support for Mellanox embedded +This plugin implements Neutron v2 APIs with support for Mellanox embedded switch functionality as part of the VPI (Ethernet/InfiniBand) HCA. %package -n openstack-neutron-nicira -Summary: Quantum Nicira plugin +Summary: Neutron Nicira plugin Group: Applications/System Provides: openstack-quantum-nicira = %{version}-%{release} @@ -289,7 +294,7 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-nicira -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -297,7 +302,7 @@ networks using Nicira NVP. %package -n openstack-neutron-openvswitch -Summary: Quantum openvswitch plugin +Summary: Neutron openvswitch plugin Group: Applications/System Provides: openstack-quantum-openvswitch = %{version}-%{release} @@ -308,7 +313,7 @@ Requires: openvswitch %description -n openstack-neutron-openvswitch -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -316,7 +321,7 @@ networks using Open vSwitch. %package -n openstack-neutron-plumgrid -Summary: Quantum PLUMgrid plugin +Summary: Neutron PLUMgrid plugin Group: Applications/System Provides: openstack-quantum-plumgrid = %{version}-%{release} @@ -326,7 +331,7 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-plumgrid -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -334,7 +339,7 @@ networks using the PLUMgrid platform. %package -n openstack-neutron-ryu -Summary: Quantum Ryu plugin +Summary: Neutron Ryu plugin Group: Applications/System Provides: openstack-quantum-ryu = %{version}-%{release} @@ -344,7 +349,7 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-ryu -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -352,7 +357,7 @@ networks using the Ryu Network Operating System. %package -n openstack-neutron-nec -Summary: Quantum NEC plugin +Summary: Neutron NEC plugin Group: Applications/System Provides: openstack-quantum-nec = %{version}-%{release} @@ -362,7 +367,7 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-nec -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -370,7 +375,7 @@ networks using the NEC OpenFlow controller. %package -n openstack-neutron-metaplugin -Summary: Quantum meta plugin +Summary: Neutron meta plugin Group: Applications/System Provides: openstack-quantum-metaplugin = %{version}-%{release} @@ -380,7 +385,7 @@ Requires: openstack-neutron = %{version}-%{release} %description -n openstack-neutron-metaplugin -Quantum provides an API to dynamically request and configure virtual +Neutron provides an API to dynamically request and configure virtual networks. This package contains the neutron plugin that implements virtual @@ -404,7 +409,6 @@ Summary: Neutron VPNaaS agent Group: Applications/System Requires: openstack-neutron = %{version}-%{release} -Requires: python-jinja2-26 %description -n openstack-neutron-vpn-agent Neutron provides an API to implement VPN as a service @@ -418,7 +422,7 @@ IPSec. %patch0001 -p1 -find neutron -name \*.py -exec sed -i '/\/usr\/bin\/env python/d' {} \; +find neutron -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} + chmod 644 neutron/plugins/cisco/README @@ -518,17 +522,17 @@ install -p -D -m 640 %{SOURCE90} %{buildroot}%{_datadir}/neutron/neutron-dist.co # Install version info file cat > %{buildroot}%{_sysconfdir}/neutron/release </dev/null || groupadd -o -r neutron --gid 164 +getent group neutron >/dev/null || groupadd -r neutron getent passwd neutron >/dev/null || \ - useradd -o --uid 164 -r -g neutron -d %{_sharedstatedir}/neutron -s /sbin/nologin \ - -c "OpenStack Quantum Daemons" neutron + useradd -r -g neutron -d %{_sharedstatedir}/neutron -s /sbin/nologin \ + -c "OpenStack Neutron Daemons" neutron exit 0 @@ -561,6 +565,47 @@ if [ $1 -ge 1 ] ; then done fi +%pretrans +if rpm --quiet -q openstack-quantum; then + mkdir -p %{_localstatedir}/lib/rpm-state/ + + # Create a script for restoring init script enabling that we can also + # use as a flag to detect quantum -> grizzly upgrades in %posttrans + chkconfig --type sysv --list|grep ^quantum| \ + sed -re 's/[0-6]:off//g + s/([0-6]):on\s*/\1/g + s/quantum/neutron/g + s/^([a-z0-9-]+)\s+([0-6]+)/chkconfig --levels \2 \1 on/' > %{_localstatedir}/lib/rpm-state/UPGRADE_FROM_QUANTUM +fi + +%posttrans +# Handle migration from quantum -> neutron +if [ -e %{_localstatedir}/lib/rpm-state/UPGRADE_FROM_QUANTUM ];then + # Migrate existing config files + for i in `find /etc/quantum -name *.rpmsave`;do + new=${i//quantum/neutron} + new=${new/%.rpmsave/} + sed -e '/^sql_connection/ b + /^admin_user/ b + s/quantum/neutron/g + s/Quantum/Neutron/g' $i > $new + done + + # Re-create plugin.ini if it existed. + if [ -h %{_sysconfdir}/quantum/plugin.ini ];then + plugin_ini=$(readlink %{_sysconfdir}/quantum/plugin.ini) + ln -s ${plugin_ini//quantum/neutron} %{_sysconfdir}/neutron/plugin.ini + fi + + # Stamp the existing db as grizzly to avoid neutron-server breaking db migration + neutron-db-manage --config-file %{_sysconfdir}/neutron/neutron.conf --config-file %{_sysconfdir}/neutron/plugin.ini stamp grizzly || : + + # Restore the enablement of the various neutron services + source %{_localstatedir}/lib/rpm-state/UPGRADE_FROM_QUANTUM + + rm -f %{_localstatedir}/lib/rpm-state/UPGRADE_FROM_QUANTUM +fi + %post -n openstack-neutron-linuxbridge if [ $1 -eq 1 ] ; then @@ -766,6 +811,7 @@ fi %dir %attr(0755, neutron, neutron) %{_localstatedir}/log/neutron %dir %attr(0755, neutron, neutron) %{_localstatedir}/run/neutron %dir %{_datarootdir}/neutron/rootwrap +%{_datarootdir}/neutron/rootwrap/debug.filters %{_datarootdir}/neutron/rootwrap/dhcp.filters %{_datarootdir}/neutron/rootwrap/iptables-firewall.filters %{_datarootdir}/neutron/rootwrap/l3.filters @@ -951,9 +997,40 @@ fi %{_initrddir}/neutron-vpn-agent %{_datadir}/neutron/neutron-vpn-agent.upstart %{_bindir}/neutron-vpn-agent +%{_datarootdir}/neutron/rootwrap/vpnaas.filters %changelog +* Wed Dec 04 2013 Terry Wilson - 2013.2-11 +- Add missing debug and vpnaas rootwrap filters, bz#1034207 + +* Mon Dec 02 2013 Terry Wilson - 2013.2-10 +- Replace quantum references in neutron-dist.conf + +* Tue Nov 19 2013 Pádraig Brady - 2013.2-9 +- Fix dependency on parallel installed python-jinja2-26 + +* Tue Nov 19 2013 Pádraig Brady - 2013.2-8 +- Depend on python-webob1.2 rather than deprecated python-webob1.0 + +* Wed Nov 13 2013 Terry Wilson - 2013.2-7 +- Add dnsmasq-utils dependency to openstack-neutron + +* Wed Nov 13 2013 Pádraig Brady - 2013.2-6 +- Fix jinja2 import in openstack-neutron-vpn-agent + +* Thu Nov 07 2013 Terry Wilson - 2013.2-5 +- Update deps for python-{babel,keystoneclient,oslo-config} + +* Wed Oct 30 2013 Terry Wilson - 2013.2-4 +- Better support for upgrading from grizzly to havana + +* Thu Oct 24 2013 Terry Wilson - 2013.2-3 +- Fix previous neutron-ovs-cleanup fix + +* Thu Oct 24 2013 Terry Wilson - 2013.2-2 +- Ensure that neutron-ovs-cleanup completes before exiting (rhbz#1010941) + * Fri Oct 18 2013 Pádraig Brady - 2013.2-1 - Update to havana GA -- 2.32.3