summaryrefslogtreecommitdiff
path: root/openstack_dashboard/management
diff options
context:
space:
mode:
authorIvan Kolodyazhny <e0ne@e0ne.info>2020-04-21 18:36:35 +0300
committerIvan Kolodyazhny <e0ne@e0ne.info>2020-06-15 17:33:16 +0300
commit0d290b9184a554cda7f6dc28d82401bb85cad7b3 (patch)
tree1d5f19ea44bee208302061797805cbcd1f7e82bf /openstack_dashboard/management
parent50837618bdbc4ee18ba25da00a4d98cae9744d68 (diff)
downloadhorizon-0d290b9184a554cda7f6dc28d82401bb85cad7b3.tar.gz
Fix django-compress caching issues
django-compress doesn't work well with cache. If horizon is deployed in a containarized environment with pre-built static in images, django-compress tries to load old templates from cache. This patch introduces following changes: * update_angular_template_hash uses the correct Django cache backend now * fixed cache cleanup for memcached backend * added clean_angular_template_cache management command to clean cache manually without executing heavy 'compress' command. Closes-Bug: #1874657 Change-Id: If1fd61fa2e4b36e22797b0f54ac067a2a937f369
Diffstat (limited to 'openstack_dashboard/management')
-rw-r--r--openstack_dashboard/management/commands/cleanup_angular_template_cache.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/openstack_dashboard/management/commands/cleanup_angular_template_cache.py b/openstack_dashboard/management/commands/cleanup_angular_template_cache.py
new file mode 100644
index 000000000..8b7b9dbbd
--- /dev/null
+++ b/openstack_dashboard/management/commands/cleanup_angular_template_cache.py
@@ -0,0 +1,24 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from django.conf import settings
+from django.core.management.base import BaseCommand
+
+from horizon import cache
+
+
+class Command(BaseCommand):
+ help = 'Clears template cache for angularized views.'
+
+ def handle(self, *args, **options):
+ for theme in settings.AVAILABLE_THEMES:
+ cache.cleanup_angular_template_cache(theme[0])