Statistics
| Branch: | Tag: | Revision:

root / snf-django-lib @ c20a9da5

# Date Author Comment
c20a9da5 11/28/2013 01:36 pm Christos Stavrakakis

snf_django: Log all 5xx to 'django.request'

Change api_method decorator to log besides unhandled exceptions, all
5xx API responses to 'django.request'.

93505a12 11/28/2013 01:30 pm Christos Stavrakakis

snf_django: Log exceptions to 'django.request'

Change api_method decorator to log unhandled exception in
'django.request' handler in order to match with Django's default
behaviour to log unhandled exceptions as 'error' in 'django.request' and
sent mail to admins for such cases.

aad21b81 11/27/2013 08:12 pm Christos Stavrakakis

snf_django: Propper logging of unexpected errors

Extend logging of unexpected errors, in 'api_method' decorator to
include the request and the status code in the log record, in order to
be properly displayed by Django's AdminMailHandler.

c406d7d9 11/25/2013 01:13 pm Dionysis Grigoropoulos

django: Add a RemoveCommand class

  • Add a new class for snf-manage *-remove commands
0f89715b 11/25/2013 01:13 pm Dionysis Grigoropoulos

cyclades: Update some snf-manage commands

  • Update network-remove, server-remove, floating-ip-remove, port-remove
    to extend RemoveCommand class added in commit
    ec15e2ab68f90dcc7310863c9293708055fbfb7d
d27b16cc 11/25/2013 01:13 pm Dionysis Grigoropoulos

cyclades: Verbal fixes on some snf-manage commands

83157287 11/25/2013 01:13 pm Dionysis Grigoropoulos

Add a new function to assert success code 201

  • Add assertSuccess201 function
  • Use this new function in test/subnets.py
d9f2a9e1 11/21/2013 01:28 pm Christos Stavrakakis

cyclades: Command to export Cyclades statistics

Add new 'snf-manage stats-cyclades' management command to export basic
statistics about Cyclades, like number of servers, network and resource
utilization. The command can either export the statistics either in JSON...

bda47e03 11/21/2013 01:28 pm Christos Stavrakakis

cyclades: Export Cyclades detailed stats from API

Add '/admin/stats/detail' API endpoint to export basic statistics about
Cyclades. Access to this view is only allowed to the users that belong
to specific Astakos groups, as specified in the new setting
'ADMIN_STATS_PERMITTED_GROUPS.' Also, added the new 'user_in_groups' API...

78c79ac7 11/14/2013 06:17 pm Giorgos Korfiatis

snf_django: Impose ordering on operator parsing

Turn the dict of operators to a list to make sure a certain ordering is
preserved.

a1dae38d 11/12/2013 01:34 pm Christos Stavrakakis

Merge branch 'feature-cyclades-networks' into develop

Conflicts:
snf-cyclades-app/synnefo/api/management/commands/server-inspect.py
snf-cyclades-app/synnefo/app_settings/urls.py
snf-cyclades-app/synnefo/logic/backend.py
snf-cyclades-app/synnefo/logic/backend_allocator.py...

3b6afb38 11/07/2013 04:28 pm Christos Stavrakakis

snf-django: Optimize DB queries in ListCommand

Add options to use 'prefetch_related' and 'select_related' options of
Django queries to optimize the DB queries.

f019f93d 10/29/2013 05:10 pm Ilias Tsitsimpis

Fix pep8 errors

837d85bb 10/29/2013 04:15 pm Ilias Tsitsimpis

astakosclient: Usage request parameter deprecated

Astakos' Authenticate Api Method has deprecated the `usage' request
parameter. Remove it from AstakosClient.

45c0bcf8 10/29/2013 04:15 pm Giorgos Korfiatis

astakosclient: Separate public/private POST /tokens

Introduce function authenticate(), which performs POST /tokens in
private mode, i.e. giving a token to be checked for authentication.
Function get_endpoints() performs the call in public mode, in order
to retrieve the endpoints....

b4b82ec4 10/29/2013 04:15 pm Giorgos Korfiatis

astakos: Remove call GET /authenticate

Use POST /tokens to authenticate. Delete AstakosClient.get_user_info()
and replace its uses by AstakosClient.authenticate().

ef57e622 10/29/2013 03:37 pm Ilias Tsitsimpis

django-lib: Use the new AstakosClient

a859190b 10/29/2013 02:57 pm Christos Stavrakakis

cyclades: Fix output of network-inspect command

2ef199c9 10/14/2013 05:42 pm Dionysis Grigoropoulos

django-lib: Add assertConflict (409) in testing.py

fde2c1f7 10/14/2013 03:51 pm Christos Stavrakakis

cyclades: Fix the os-floating-ips API

Rewrite the of-floating-ips API to match with the new DB schema.

a96e84cf 10/10/2013 08:08 pm Christos Stavrakakis

cyclades: Fix code for networks logic and API

5b8a9240 10/10/2013 08:08 pm Christos Stavrakakis

cyclades: Fix and add new tests for /networks

Also, delete tests for old networks.

c7e03d20 10/09/2013 04:52 pm Giorgos Korfiatis

astakos: Remove custom ForUpdateManager

Remove custom manager that implemented select_for_update(), since this
is already implemented in Django 1.4.

a3e3917f 10/09/2013 04:52 pm Giorgos Korfiatis

astakos: Remove custom commit_on_success decorator

Prior to 1.3, django wouldn't set the transaction dirty upon a DB
exception and thus wouldn't trigger a rollback, resulting in a dangling
aborted DB exception. See https://code.djangoproject.com/ticket/9964...

6b256427 10/01/2013 06:56 pm Christos Stavrakakis

Request Django=>1.4, <1.5

Drop support for Django 1.2. Remove compatibility code that were used in
order to support Django 1.2 and 1.4. Finally update django documentation
link in the docs.

b694875c 10/01/2013 06:56 pm Christos Stavrakakis

wheezy: Rename depricated HttpRequest attribute

From django docs:
"""
HttpRequest.raw_post_data renamed to HttpRequest.body

This attribute was confusingly named HttpRequest.raw_post_data, but it
actually provided the body of the HTTP request. It’s been renamed to...

0a70d2c5 10/01/2013 06:16 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.8' into develop

Merge hotfix-0.14.8 which ports Synnefo to wheezy and Django 1.4.5

Conflicts:
ci/ci_squeeze.conf
ci/ci_wheezy.conf
ci/schemas/one_node_squeeze/packages.conf
ci/schemas/one_node_squeeze/squeeze.conf
ci/schemas/one_node_squeeze/wheezy.conf...

b64a6cb5 09/30/2013 01:35 pm Sofia Papagiannaki

snf_django: Decode the mocked userid to a unicode object

8299ef23 09/27/2013 04:50 pm Christos Stavrakakis

Revert "wheezy: Rename depricated HttpRequest attribute"

This reverts commit cfc4b87c301504627e6a75ab2e4d32c8cd7a6e15. This
commit is reverted because it breaks compatibility with Django 1.2. This
should be applied for Synnefo 0.15.

cfc4b87c 09/27/2013 03:22 pm Christos Stavrakakis

wheezy: Rename depricated HttpRequest attribute

From django docs:
"""
HttpRequest.raw_post_data renamed to HttpRequest.body

This attribute was confusingly named HttpRequest.raw_post_data, but it
actually provided the body of the HTTP request. It’s been renamed to...

34bd6588 09/25/2013 12:39 am Christos Stavrakakis

wheezy: HttpResponse has no _is_string attribute

06014b1c 09/24/2013 05:16 pm Christos Stavrakakis

wheezy: fix _patch_resolve to comply with Django

Class RegexURLPattern doesn't contain `_get_callback' method any more
and resolve the callback when we try to retrieve it.

a6b17d33 09/24/2013 05:16 pm Christos Stavrakakis

wheezy: urls module doesn't export defaults

f82ed034 09/24/2013 05:16 pm Christos Stavrakakis

wheezy: Update Django dependency to <=1.4.5

0f66865f 09/24/2013 05:16 pm Ilias Tsitsimpis

wheezy: is_hop_by_hop has been removed from Django

Implement our own is_hop_by_hop function.

2c6ac437 09/24/2013 12:30 pm Christos Stavrakakis

Fix missing import and broken test

dcb8545f 09/24/2013 11:39 am Christos Stavrakakis

snf-django: Add missing import

3f9db536 09/24/2013 10:55 am Christos Stavrakakis

snf-django: pep8 fixes

7f59d209 09/23/2013 05:03 pm Christos Stavrakakis

snf-django: pep8 fixes

c9a2aff3 09/23/2013 01:39 pm Christos Stavrakakis

snf_django: Fix encoding in mocked userid

ed2064f8 09/18/2013 05:17 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.6' into develop

Conflicts:
Changelog
docs/admin-guide.rst
snf-cyclades-app/synnefo/api/management/commands/network-remove.py
snf-cyclades-app/synnefo/api/servers.py
snf-cyclades-app/synnefo/api/tests/servers.py
snf-cyclades-app/synnefo/logic/backend.py...

f2080d16 09/17/2013 02:33 pm Christos Stavrakakis

cyclades: Mock vm removal if creation fails

In case creating a VM fails before the OP_INSTANCE_CREATE job is
enqueued in Ganeti, the VM and its NICs must be deleted, and the
resources must be released from Quotaholder, which is exactly what is
done when a VM is deleted from Ganeti. Instead of duplicating the code,...

39974c71 09/17/2013 01:55 pm Ilias Tsitsimpis

snf-django-lib: AssertionError in proxy

When we use proxy, we have to check that path starts with
the given proxy_base, and raise an AssertionError otherwise.

The check was there but it was wrong (there was missing
a not) and also no exception was raised.

981d3b0d 09/16/2013 05:39 pm Sofia Papagiannaki

pithos: Fix partial content responses

Refs: #4063

347b2ba1 09/12/2013 06:26 pm Giorgos Korfiatis

common: Strip trailing slash from endpoints

Remove trailing slash from the endpoints' publicURL field in service
definitions. These values end up in the response of POST /tokens, and,
according to the keystone API, should not end in slash. A trailing slash...

c1b7f449 09/10/2013 03:29 pm Christos Stavrakakis

Update objpool dependency to version 0.3

6ee6677e 08/08/2013 05:17 pm Sofia Papagiannaki

pithos: Add tests

d546637f 08/05/2013 04:06 pm Christos Stavrakakis

snf-django: PEP8 fixes

d758784b 08/05/2013 02:39 pm Christos Stavrakakis

Fix stale import statements

Commit 7cfc0ce moved code from webproject to snf_django. This commit
fixes some stale imports that skipped renaming.

7cfc0cef 08/05/2013 12:45 pm Christos Stavrakakis

snf-django: Move ListCommand to snf-django

snf-webproject contained the generic ListCommand, and because of this it
had a dependency from snf-django-lib. This commit moves this command from
snf-webproject to snf-django-lib and removes this dependency. Also,...

1a60832d 07/09/2013 05:10 pm Christos Stavrakakis

snf_django: Fix type error

4691814d 07/09/2013 04:30 pm Ilias Tsitsimpis

pep8 changes

32e4e343 07/07/2013 03:04 pm Christos Stavrakakis

PEP8 fixes

b6bc4afa 07/07/2013 03:04 pm Christos Stavrakakis

cyclades: Common filtering based on changes-since

Add 'filter_modified_since' function in snf_django api utils, for
parsing 'changes-since' HTTP parameter and filter the DB objects that
are updated after that date. Otherwise the deleted objects are returned.

3a19e99b 07/02/2013 04:56 pm Sofia Papagiannaki

pithos: update tests

f3787696 07/02/2013 04:23 pm Sofia Papagiannaki

pithos: WIP - rewrite pithos tests

41a7fae7 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Major refactor to api and logic apps

Major refactor to cyclades api and logic apps that removes most code
from the api views and moves it to logic app, so that the same logic
code can be used by different apps (e.g. EC2 API). Code is moved into...

f724142f 07/02/2013 12:31 pm Christos Stavrakakis

snf_django: Fix bug in BaseAPITest

Include 202 in success responses.

e5a47968 07/02/2013 12:31 pm Christos Stavrakakis

snf_django: Mock quotaholder to BaseAPITest

Mock quotaholder in all of BaseAPITest calls.

ce264c16 06/28/2013 09:27 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.2' into develop

Conflicts:
snf-astakos-app/astakos/im/views/projects.py
snf-cyclades-app/synnefo/logic/backend.py
snf-django-lib/snf_django/lib/astakos.py
version

5e903a58 06/28/2013 09:15 pm Christos Stavrakakis

snf-django: Add retry option to AstakosClient

API method decorator should initialize the AstakosClient with the retry
argument set, in order to avoid errors caused by getting an old
connection from pool.

abe6915b 06/28/2013 09:12 pm Christos Stavrakakis

Merge branch 'release-0.14' into develop

Conflicts:
snf-astakos-app/astakos/im/views/target/redirect.py
snf-cyclades-app/synnefo/logic/backend.py
version

2ea2e173 06/28/2013 01:11 pm Stratos Psomadakis

Add proper logging for UserCache

15c05cb7 06/28/2013 11:05 am Stratos Psomadakis

Fix regressions in snf-manage list commands

c4b059b1 06/28/2013 09:47 am Stratos Psomadakis

Fix regressions in snf-manage list commands

584bdc72 06/26/2013 01:28 pm Sofia Papagiannaki

pithos: compatibility code for django greater than 1.2

Change condition for being compatible with django 1.2 or greater

4d244f4a 06/25/2013 08:20 pm Sofia Papagiannaki

pithos: Fix partial content responses

Refs: #4063

f089ffca 06/25/2013 03:24 pm Christos Stavrakakis

snf-django: Add retry option to AstakosClient

API method decorator should initialize the AstakosClient with the retry
argument set, in order to avoid errors caused by getting an old
connection from pool.

f9662798 06/19/2013 04:09 pm Kostas Papadimitriou

django-lib: Use requested default serialization

d0d9a3f5 06/18/2013 06:42 pm Kostas Papadimitriou

django-lib: api_method decorator improvements

allow API views to define supported serializations.

2ad4eb80 06/17/2013 01:35 pm Kostas Papadimitriou

django-lib: Additional BaseAPITest helper assertion

Introduce assertMethodNotAllowed method in BaseAPITest class. The method
asserts that provided response is a valid ``Method not allowed`` API response.

561803f6 06/13/2013 04:11 pm Georgios D. Tsoukalas

snf-django-lib: depend on python-objpool>=0.2

5f13452e 06/13/2013 03:15 pm Georgios D. Tsoukalas

snf-django-lib: depend on python-dateutil

fced411d 06/13/2013 01:43 pm Kostas Papadimitriou

djangolib: Common JSONP helper method

67c10753 06/13/2013 12:37 pm Kostas Papadimitriou

djangolib: Improve root redirect handling

- avoid registering root url in case <base_path> equals to root url
- additional helper redirect for non trailing slash <base_path> endpoint

2ea43f58 06/13/2013 11:38 am Kostas Papadimitriou

djangolib: Append trailling slash on default root redirects

269ac8de 06/12/2013 02:28 pm Christos Stavrakakis

Ensure we return cloud faults under any API prefix

2b40f200 06/10/2013 08:00 pm Christos Stavrakakis

Make API faults have default 500 status code

Make the default status code of API Fault and AstakosClientException
to be 500.

6b560707 06/10/2013 11:06 am Sofia Papagiannaki

snf_django: Optionally use other default serialization than json

Pithos api default serialization for listing is text insted of json.
However the common api decorator if not specified otherwise used to
json as the default serialization.
So we introduced a new optional argument (defaults to json) to override...

a0a3da60 06/07/2013 12:56 am Kostas Papadimitriou

django-lib: API url patterns helper

`snf_django.lib.api.urls.api_patterns` acts as django `patterns` method
used commonly in urls modules. Using api_patterns to register urls will
result all patterns to be exempted from csrf protection.

81e19e70 06/07/2013 12:49 am Kostas Papadimitriou

django-lib: Exempt api_method views from csrf

b657485d 06/05/2013 08:31 pm Kostas Papadimitriou

django_lib: Component's urlpatterns utilty

extend_with_root_redirects can be used by components to easily extend the
registered urlpatterns with utility redirect views for the root urls.

12c730d9 06/03/2013 03:32 pm Georgios D. Tsoukalas

django-lib: fix missing 'raise' typo

152e7bba 06/03/2013 11:50 am Georgios D. Tsoukalas

snf-django proxy: preserve the response's headers

e3ff6830 06/03/2013 11:49 am Georgios D. Tsoukalas

make synnefo URLs consistent and configurable

https://service.deployment.vendor.tld/service-base/api-prefix/hard/path |___________________________________| |__________| |________| |_______|
BASE_HOST BASE_PATH PREFIX Hardcoded...

499d9bfe 05/31/2013 01:13 pm Christos Stavrakakis

cyclades: Raise 500 for commission errors

Wrap all calls to astakosclient for commissions to raise 500, if any
error other than QuotaLimit(413) occurs.

b8525481 05/28/2013 07:56 pm Sofia Papagiannaki

snf-django-lib: Fix minor string formatting issue

c50825bf 05/28/2013 07:56 pm Sofia Papagiannaki

snf-django-lib: Fix minor spelling issue in get_serialization

f870efe2 05/28/2013 07:56 pm Sofia Papagiannaki

snf-django-lib: Fix proxy issue

The ``X-Forwarded-Host`` header should not be forwared to the target
because django appends its value to the Host header and
results in validate_host() failure.

87dd67af 05/24/2013 04:15 pm Christos Stavrakakis

snf-django: BadRequest if no content-type

Raise a BadRequest if request is missing Content-Type header field.

ed8c7696 05/23/2013 01:28 pm Constantinos Venetsanopoulos

Make README files of sub-components obsolete

Since v0.14 everything belonging in a README file should be written
as part of the documentation and thus under docs/. Remove all
unnecessary README files, adjust MANIFEST.in and setup.py files
accordingly and move README files that should be merged into the...

4833a703 05/23/2013 12:43 pm Constantinos Venetsanopoulos

Keep single Changelog, remove all local ones

Since 0.13 there is only one single Changelog file at the root
directory. Thus, any new component should not have its own
Changelog file. Specifically, remove local Changelog files for:

  • snf-astakosclient
  • snf-branding...
5ad8eca1 05/20/2013 04:16 pm Kostas Papadimitriou

django-lib: Preserve proxy target path

142133fb 05/20/2013 03:08 pm Kostas Papadimitriou

snf-django: Improve headers handling in common proxy util

- Avoid proxying Connection, Host and Cookie headers
- Cleanup non headers keys (e.g. wsgi.*)
- Set X-Forwarded-For header

222305b7 05/20/2013 12:44 pm Sofia Papagiannaki

astakos: replace CookieAuthenticationMiddleware with a view decorator

reverse commits ab30f5f163a13dfc7f9bec4d263208dd35f09d16 &
1439d6383113b151b6a3316e320a0418fa30d421

decorate also ``django.contrib.auth.views`` utilized by
astakos

1439d638 05/16/2013 08:27 pm Sofia Papagiannaki

astakos: api calls authenticated via X-Auth-Token shall not affect cookie

CookieAuthenticationMiddleware.process_request() synchronizes
the astakos cookie with the request user.
If an astakos cookie is set but there is no logged in user,
the middleware deletes the cookie....

aba462a2 05/16/2013 02:55 pm Giorgos Korfiatis

astakos: Adapt tests to 2.6-style unittest

Define assertGreater, assertIn, assertRaises in snf_django.utils.testing

fed0b230 05/15/2013 06:38 pm Christos Stavrakakis

Replace 'synnefo.lib.http' with 'objpool.http'

33c84784 05/15/2013 06:20 pm Sofia Papagiannaki

snf-django-lib: provide proxy functionality

0148b2cb 05/14/2013 05:06 pm Giorgos Korfiatis

snf_django: Use wraps in transaction decorator

This is to preserve name of called function.