[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#990530: unblock: horizon/18.6.2-4 and all of its plugins



Hi Thomas

On 2021-07-01 13:36:01 +0200, Thomas Goirand wrote:
> Package: release.debian.org
> Severity: normal
> User: release.debian.org@packages.debian.org
> Usertags: unblock
> 
> Dear release team,
> 
> As per the discussion at:
> https://bugs.debian.org/988188
> 
> I have uploaded an update of Horizon and all of its plugins.
> The debdiff for Horizon is attached.
> 
> Below, you'll find (inline) a debdiff for cloudkitty-dashboard showing
> what I am updaging in a typical Horizon plugin. I don't think it's necessary
> to provide a debdiff for each individual plugin, as they all look the
> same. However, please note that for heat-dashboard, I also added this
> patch (to warn users that this part of the plugin is broken on Chrome):
> 
> --- heat-dashboard-4.0.0.orig/heat_dashboard/content/template_generator/templates/template_generator/index.html
> +++ heat-dashboard-4.0.0/heat_dashboard/content/template_generator/templates/template_generator/index.html
> @@ -5,6 +5,7 @@
>  {% block page_header %}
>      <div class="page-header" ng-cloak>
>          <h1>{% trans "Template Generator" %}</h1>
> +        <h2>(Not compatible with Chrome based browsers)</h2>
>          <p>{% trans "Please drag and drop resource icons into center canvas to define resource for template." %}</p>
>      </div>
>  {% endblock %}
> 
> and also, for sahara-dashboard, I removed the Breaks+Replaces:
> python-sahara-dashboard, as this is obsolete since the Python 2
> version of this Horizon plugin doesn't exist in Buster (so the
> transition is over). Otherwise, all plugins have recieved similar
> updates.
> 
> Here's the list of unblocks:

All unblocked, except those commented below.

> 
> unblock horizon/3:18.6.2-4
> unblock cloudkitty-dashboard/11.0.0-2
> designate-dashboard/11.0.0-2
> freezer-web-ui/9.0.0-2
> heat-dashboard/4.0.0-2
> ironic-ui/4.2.0-3
> magnum-ui/7.0.0-2

This seems to be missing an upload.

> manila-ui/4.0.0-2
> mistral-dashboard/11.0.0-2
> murano-dashboard/1:10.0.0-2
> neutron-vpnaas-dashboard/3.0.0-2
> octavia-dashboard/6.0.0-2
> sahara-dashboard/13.0.0-2

This introduces piuparts regressions.

> senlin-dashboard/2.0.0-2
> trove-dashboard/15.0.0-2
> vitrage-dashboard/3.2.0-3

This only seems to have a changelog entry.

Cheers

> watcher-dashboard/4.0.0-2
> zaqar-ui/8.0.0-2
> 
> A typical plugin fix looks like this (here, cloudkitty-dashboard):
> 
> diff --git a/debian/changelog b/debian/changelog
> index f08809f..adaf71e 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,3 +1,9 @@
> +cloudkitty-dashboard (11.0.0-2) unstable; urgency=medium
> +
> +  * Fix installation of files in the enable folder.
> +
> + -- Thomas Goirand <zigo@debian.org>  Wed, 30 Jun 2021 11:20:03 +0200
> +
>  cloudkitty-dashboard (11.0.0-1) unstable; urgency=medium
>  
>    * New upstream release.
> diff --git a/debian/control b/debian/control
> index 7525cc7..6295d6a 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -41,6 +41,8 @@ Depends:
>   python3-xstatic-rickshaw,
>   ${misc:Depends},
>   ${python3:Depends},
> +Breaks:
> + python3-django-horizon (<< 3:18.6.2-4~),
>  Description: OpenStack data processing cluster as a service - dashboard plugin
>   The Sahara project provides a simple means to provision a data-intensive
>   application cluster (Hadoop or Spark) on top of OpenStack. It's the ex
> diff --git a/debian/python3-cloudkitty-dashboard.install b/debian/python3-cloudkitty-dashboard.install
> index 94ac7fd..9b4d16b 100644
> --- a/debian/python3-cloudkitty-dashboard.install
> +++ b/debian/python3-cloudkitty-dashboard.install
> @@ -1,2 +1 @@
> -/etc/openstack-dashboard/*
>  /usr/*
> diff --git a/debian/python3-cloudkitty-dashboard.maintscript b/debian/python3-cloudkitty-dashboard.maintscript
> new file mode 100644
> index 0000000..24bcd97
> --- /dev/null
> +++ b/debian/python3-cloudkitty-dashboard.maintscript
> @@ -0,0 +1,9 @@
> +rm_conffile /etc/openstack-dashboard/enable/_10_admin_group.py
> +rm_conffile /etc/openstack-dashboard/enable/_10_project_group.py
> +rm_conffile /etc/openstack-dashboard/enable/_11_admin_hashmap_panel.py
> +rm_conffile /etc/openstack-dashboard/enable/_11_admin_rating_panel.py
> +rm_conffile /etc/openstack-dashboard/enable/_11_admin_summary_panel.py
> +rm_conffile /etc/openstack-dashboard/enable/_11_project_rating_panel.py
> +rm_conffile /etc/openstack-dashboard/enable/_12_project_reporting_panel.py
> +rm_conffile /etc/openstack-dashboard/enable/_13_admin_pyscripts_panel.py
> +rm_conffile /etc/openstack-dashboard/enable/_31000_cloudkitty.py
> diff --git a/debian/rules b/debian/rules
> index 37b6a8d..b253002 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -23,11 +23,9 @@ override_dh_install:
>                 python$$i setup.py install --install-layout=deb --root $(CURDIR)/debian/tmp ; \
>         done
>  
> -       # Move config files to standard location
> -       install -d -m 755 $(CURDIR)/debian/tmp/etc/openstack-dashboard/enabled
> -
>         # Copy config enabled to openstack-dashboard enabled location
> -       cp $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/cloudkittydashboard/enabled/_[0-9]*.py $(CURDIR)/debian/tmp/etc/openstack-dashboard/enabled/
> +       mkdir -p $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/local/enabled
> +       cp $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/cloudkittydashboard/enabled/_[0-9]*.py $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/openstack_dashboard/local/enabled
>  
>         dh_install
>         dh_missing --fail-missing

> diff -Nru horizon-18.6.2/debian/changelog horizon-18.6.2/debian/changelog
> --- horizon-18.6.2/debian/changelog	2021-04-04 14:13:10.000000000 +0200
> +++ horizon-18.6.2/debian/changelog	2021-06-29 14:53:41.000000000 +0200
> @@ -1,3 +1,18 @@
> +horizon (3:18.6.2-4) unstable; urgency=medium
> +
> +  * Do not use an enable folder in /etc, as this marks all files from plugins
> +    as CONFFILE, meaning they aren't removed when plugins are removed, which
> +    makes Horizon crash (Closes: #987904):
> +    - In python3-django-horizon.preinst, transform the symlink
> +      /usr/lib/python3/dist-packages/openstack_dashboard/local/enabled into a
> +      folder.
> +    - Remove the symlink creation from the openstack-dashboard.postinst.
> +    - Remove the symlink in prerm if it exists.
> +    - Add versioned Breaks: on all the Horizon plugins, as they now must push
> +      the files into that folder instead of /etc.
> +
> + -- Thomas Goirand <zigo@debian.org>  Tue, 29 Jun 2021 14:53:41 +0200
> +
>  horizon (3:18.6.2-3) unstable; urgency=medium
>  
>    * Revert previous fix, which is in fact a problem in the fonts-font-awesome
> diff -Nru horizon-18.6.2/debian/control horizon-18.6.2/debian/control
> --- horizon-18.6.2/debian/control	2021-04-04 14:13:10.000000000 +0200
> +++ horizon-18.6.2/debian/control	2021-06-29 14:53:41.000000000 +0200
> @@ -126,26 +126,23 @@
>   memcached,
>   openstack-dashboard-apache,
>  Breaks:
> - python-app-catalog-ui,
> - python-designate-dashboard,
> - python-ironic-ui,
> - python-murano-dashboard,
> - python-zaqar-ui,
> - python3-cloudkitty-dashboard (<< 8.0.0-3~),
> - python3-designate-dashboard (<< 7.0.0-2~),
> - python3-heat-dashboard (<< 1.4.0-2~),
> - python3-ironic-ui (<< 3.3.0-4~),
> - python3-magnum-ui (<< 5.0.1-2~),
> - python3-manila-ui (<< 2.16.0-2~),
> - python3-mistral-dashboard (<< 7.0.1-2~),
> - python3-murano-dashboard (<< 1:6.0.0-2~),
> - python3-neutron-fwaas-dashboard (<< 1.5.0-3~),
> + python3-cloudkitty-dashboard (<< 11.0.0-2~),
> + python3-designate-dashboard (<< 11.0.0-2~),
> + python3-freezer-web-ui (<< 9.0.0-2~),
> + python3-heat-dashboard (<< 4.0.0-2~),
> + python3-ironic-ui (<< 4.2.0-3~),
> + python3-magnum-ui (<< 7.0.0-2~),
> + python3-manila-ui (<< 4.0.0-2~),
> + python3-mistral-dashboard (<< 11.0.0-2~),
> + python3-murano-dashboard (<< 1:10.0.0-2~),
>   python3-neutron-vpnaas-dashboard (<< 1.4.0-2~),
> - python3-octavia-dashboard (<< 2.0.0-3~),
> - python3-sahara-dashboard (<< 9.0.1-1~),
> - python3-senlin-dashboard (<< 0.9.0-3~),
> - python3-trove-dashboard (<< 11.0.0-2~),
> - python3-zaqar-ui (<< 5.0.0-2~),
> + python3-octavia-dashboard (<< 6.0.0-2~),
> + python3-sahara-dashboard (<< 13.0.0-2~),
> + python3-senlin-dashboard (<< 2.0.0-2~),
> + python3-trove-dashboard (<< 15.0.0-2~),
> + python3-vitrage-dashboard (<< 2.0.0-2~),
> + python3-watcher-dashboard (<< 4.0.0-2~),
> + python3-zaqar-ui (<< 8.0.0-2~),
>  Description: web application to control an OpenStack cloud
>   The OpenStack Dashboard is a web application to control an OpenStack
>   cloud. It connects to OpenStack services such as Nova, Swift, or Keystone
> diff -Nru horizon-18.6.2/debian/openstack-dashboard.postinst horizon-18.6.2/debian/openstack-dashboard.postinst
> --- horizon-18.6.2/debian/openstack-dashboard.postinst	2021-04-04 14:13:10.000000000 +0200
> +++ horizon-18.6.2/debian/openstack-dashboard.postinst	2021-06-29 14:53:41.000000000 +0200
> @@ -111,10 +111,6 @@
>  		ln -sf /etc/openstack-dashboard/policy /usr/lib/python3/dist-packages/openstack_dashboard/conf
>  	fi
>  
> -	if [ ! -L /usr/lib/python3/dist-packages/openstack_dashboard/local/enabled ]; then
> -		ln -sf /etc/openstack-dashboard/enabled /usr/lib/python3/dist-packages/openstack_dashboard/local/enabled
> -	fi
> -
>  	# Some dashboard plugins are not deleting their files under
>  	# /usr/share/openstack-dashboard/openstack_dashboard/{local,enabled}
>  	#
> diff -Nru horizon-18.6.2/debian/openstack-dashboard.prerm horizon-18.6.2/debian/openstack-dashboard.prerm
> --- horizon-18.6.2/debian/openstack-dashboard.prerm	2021-04-04 14:13:10.000000000 +0200
> +++ horizon-18.6.2/debian/openstack-dashboard.prerm	2021-06-29 14:53:41.000000000 +0200
> @@ -10,7 +10,11 @@
>  	# This have to be done in prerm.
>  	rm -f /usr/lib/python3/dist-packages/openstack_dashboard/local/local_settings.d
>  	rm -f /usr/lib/python3/dist-packages/openstack_dashboard/local/local_settings.py
> -	rm -f /usr/lib/python3/dist-packages/openstack_dashboard/local/enabled
> +	# If this is a symlink, we should remove it ASAP (it should be a folder
> +	# where plugins install their files).
> +	if [ -L /usr/lib/python3/dist-packages/openstack_dashboard/local/enabled ]; then
> +		rm -f /usr/lib/python3/dist-packages/openstack_dashboard/local/enabled || true
> +	fi
>  	rm -f /usr/lib/python3/dist-packages/openstack_dashboard/themes
>  	rm -f /usr/lib/python3/dist-packages/openstack_dashboard/conf
>  fi
> diff -Nru horizon-18.6.2/debian/python3-django-horizon.preinst horizon-18.6.2/debian/python3-django-horizon.preinst
> --- horizon-18.6.2/debian/python3-django-horizon.preinst	1970-01-01 01:00:00.000000000 +0100
> +++ horizon-18.6.2/debian/python3-django-horizon.preinst	2021-06-29 14:53:41.000000000 +0200
> @@ -0,0 +1,12 @@
> +#!/bin/sh
> +
> +set -e
> +
> +if [ "${1}" = "install" ] || [ "${1}" = "upgrade" ] ; then
> +	if [ -L /usr/lib/python3/dist-packages/openstack_dashboard/local/enabled ]; then
> +		rm /usr/lib/python3/dist-packages/openstack_dashboard/local/enabled
> +	fi
> +	mkdir -p /usr/lib/python3/dist-packages/openstack_dashboard/local/enabled
> +fi
> +
> +#DEBHELPER#
> diff -Nru horizon-18.6.2/debian/python3-django-horizon.prerm horizon-18.6.2/debian/python3-django-horizon.prerm
> --- horizon-18.6.2/debian/python3-django-horizon.prerm	2021-04-04 14:13:10.000000000 +0200
> +++ horizon-18.6.2/debian/python3-django-horizon.prerm	1970-01-01 01:00:00.000000000 +0100
> @@ -1,9 +0,0 @@
> -#!/bin/sh
> -
> -set -e
> -
> -if [ -d /usr/lib/python3/dist-packages/openstack_dashboard/local ] ; then
> -	rm -rf /usr/lib/python3/dist-packages/openstack_dashboard/local
> -fi
> -
> -#DEBHELPER#


-- 
Sebastian Ramacher

Attachment: signature.asc
Description: PGP signature


Reply to: