From e2651eb9e92de60d5fa7302103b04c3f8710a145 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Thu, 25 Dec 2014 22:16:17 +0100 Subject: [PATCH 1/7] sync with gvafile --- gvaldap/gvaldap/settings/base.py | 1 - gvaldap/gvaldap/urls.py | 1 - 2 files changed, 2 deletions(-) diff --git a/gvaldap/gvaldap/settings/base.py b/gvaldap/gvaldap/settings/base.py index f985254..136f641 100644 --- a/gvaldap/gvaldap/settings/base.py +++ b/gvaldap/gvaldap/settings/base.py @@ -5,7 +5,6 @@ Common settings and globals. """ - from os.path import abspath, basename, dirname, join, normpath from sys import path from os import environ diff --git a/gvaldap/gvaldap/urls.py b/gvaldap/gvaldap/urls.py index 37d1d10..ca59fb7 100644 --- a/gvaldap/gvaldap/urls.py +++ b/gvaldap/gvaldap/urls.py @@ -12,7 +12,6 @@ admin.autodiscover() urlpatterns = patterns( '', - # Uncomment the next line to enable the admin: url(r'^admin/', include(admin.site.urls)), ) From 287756f160711ea5f1e2b349d24e5400f16abbca Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Thu, 25 Dec 2014 22:31:05 +0100 Subject: [PATCH 2/7] make ldap group members field editable --- gvaldap/ldapentities/admin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gvaldap/ldapentities/admin.py b/gvaldap/ldapentities/admin.py index 97c81c5..6e5deb2 100644 --- a/gvaldap/ldapentities/admin.py +++ b/gvaldap/ldapentities/admin.py @@ -19,7 +19,7 @@ class LdapGroupAdmin(admin.ModelAdmin): entities. """ - exclude = ['dn', 'members'] + exclude = ['dn'] list_display = ['name', 'gid'] search_fields = ['name'] From 9572c2cec542d2b2e3e1f8b4dfc8e3f34071a598 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 26 Dec 2014 12:40:49 +0100 Subject: [PATCH 3/7] change default serializer to json --- gvaldap/gvaldap/settings/base.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gvaldap/gvaldap/settings/base.py b/gvaldap/gvaldap/settings/base.py index 136f641..66e1433 100644 --- a/gvaldap/gvaldap/settings/base.py +++ b/gvaldap/gvaldap/settings/base.py @@ -290,6 +290,6 @@ BROKER_URL = get_env_setting('GVALDAP_BROKER_URL') CELERY_RESULT_BACKEND = 'amqp' CELERY_RESULT_PERSISTENT = True CELERY_TASK_RESULT_EXPIRES = None -CELERY_ACCEPT_CONTENT = ['yaml'] -CELERY_RESULT_SERIALIZER = 'yaml' +CELERY_ACCEPT_CONTENT = ['yaml', 'json'] +CELERY_RESULT_SERIALIZER = 'json' ########## END CELERY CONFIGURATION From 787a943c6923da2a098ce2a1ecbb0c89776da33e Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 26 Dec 2014 12:58:28 +0100 Subject: [PATCH 4/7] define CELERY_TASK_SERIALIZER --- gvaldap/gvaldap/settings/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/gvaldap/gvaldap/settings/base.py b/gvaldap/gvaldap/settings/base.py index 66e1433..4106419 100644 --- a/gvaldap/gvaldap/settings/base.py +++ b/gvaldap/gvaldap/settings/base.py @@ -291,5 +291,6 @@ CELERY_RESULT_BACKEND = 'amqp' CELERY_RESULT_PERSISTENT = True CELERY_TASK_RESULT_EXPIRES = None CELERY_ACCEPT_CONTENT = ['yaml', 'json'] +CELERY_TASK_SERAILIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' ########## END CELERY CONFIGURATION From ac4693d0eba496bc1bd3e82dc30e3972e768c5df Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 26 Dec 2014 13:13:57 +0100 Subject: [PATCH 5/7] define celery routing --- gvaldap/gvaldap/settings/base.py | 4 ++++ gvaldap/osusers/tasks.py | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/gvaldap/gvaldap/settings/base.py b/gvaldap/gvaldap/settings/base.py index 4106419..fa4467c 100644 --- a/gvaldap/gvaldap/settings/base.py +++ b/gvaldap/gvaldap/settings/base.py @@ -290,6 +290,10 @@ BROKER_URL = get_env_setting('GVALDAP_BROKER_URL') CELERY_RESULT_BACKEND = 'amqp' CELERY_RESULT_PERSISTENT = True CELERY_TASK_RESULT_EXPIRES = None +CELERY_ROUTES = ( + 'osusers.tasks.LdapRouter', + 'osusers.tasks.FileRouter', +) CELERY_ACCEPT_CONTENT = ['yaml', 'json'] CELERY_TASK_SERAILIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' diff --git a/gvaldap/osusers/tasks.py b/gvaldap/osusers/tasks.py index 591d22a..29e07e3 100644 --- a/gvaldap/osusers/tasks.py +++ b/gvaldap/osusers/tasks.py @@ -21,6 +21,26 @@ from ldapentities.models import ( _logger = get_task_logger(__name__) +class LdapRouter(object): + + def route_for_task(self, task, args=None, kwargs=None): + if 'ldap' in task: + return {'exchange': 'ldap', + 'exchange_type': 'direct', + 'queue': 'ldap'} + return None + + +class FileRouter(object): + + def route_for_task(self, task, args=None, kwargs=None): + if 'file' in task: + return {'exchange': 'file', + 'exchange_type': 'direct', + 'queue': 'file'} + return None + + @shared_task def create_ldap_group(groupname, gid, descr): """ From 6c7f4d22887f8736f4825a4f57f8e19542ec8511 Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 26 Dec 2014 13:16:54 +0100 Subject: [PATCH 6/7] allow pickle content --- gvaldap/gvaldap/settings/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gvaldap/gvaldap/settings/base.py b/gvaldap/gvaldap/settings/base.py index fa4467c..d115c34 100644 --- a/gvaldap/gvaldap/settings/base.py +++ b/gvaldap/gvaldap/settings/base.py @@ -294,7 +294,7 @@ CELERY_ROUTES = ( 'osusers.tasks.LdapRouter', 'osusers.tasks.FileRouter', ) -CELERY_ACCEPT_CONTENT = ['yaml', 'json'] +CELERY_ACCEPT_CONTENT = ['pickle', 'yaml', 'json'] CELERY_TASK_SERAILIZER = 'json' CELERY_RESULT_SERIALIZER = 'json' ########## END CELERY CONFIGURATION From ad721d5827fff26ed125897aca15a358ffc6b17e Mon Sep 17 00:00:00 2001 From: Jan Dittberner Date: Fri, 26 Dec 2014 15:20:08 +0100 Subject: [PATCH 7/7] update version number --- docs/changelog.rst | 3 +++ docs/conf.py | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 6a20d48..01ebe81 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,6 +1,9 @@ Changelog ========= +* :release:`0.1.3 <2014-12-26>` +* :support:`-` add celery routing for file server tasks + * :release:`0.1.2 <2014-12-17>` * :support:`-` update Django and other dependencies diff --git a/docs/conf.py b/docs/conf.py index 94d9feb..0e168f4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -57,9 +57,9 @@ copyright = u'2014, Jan Dittberner' # built documents. # # The short X.Y version. -version = '0.1.2' +version = '0.1.3' # The full version, including alpha/beta/rc tags. -release = '0.1.2' +release = '0.1.3' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages.