From 8ecb63c999422b55255749d40974279f43b3b608 Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Wed, 6 Jan 2016 13:09:58 -0500 Subject: [PATCH 1/5] Fix V1 image path in migration --- util/migrate/backfill_v1_metadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util/migrate/backfill_v1_metadata.py b/util/migrate/backfill_v1_metadata.py index e9de7e9a2..20680f077 100644 --- a/util/migrate/backfill_v1_metadata.py +++ b/util/migrate/backfill_v1_metadata.py @@ -56,7 +56,7 @@ class ImageStoragePlacement(BaseModel): def image_json_path(storage_uuid): - base_path = storage.image_path(storage_uuid) + base_path = storage._image_path(storage_uuid) return '{0}json'.format(base_path) From f36cdc24cb4925d48cddf336f1f10b360b9731d2 Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Wed, 6 Jan 2016 13:17:39 -0500 Subject: [PATCH 2/5] cut v1.14.1 --- CHANGELOG.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a187f1736..511f37b72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +### v1.14.1 + +- Fixed migration of V1 metadata (#1120) +- Added list view of repositories in all displays (#1109) +- Removed image diff feature (#1102, #1116) +- Fixed log bug around month handling (#1114) +- Added better recovery of organizations (#1108) +- Fixed Content-Type on errors with JSON bodies (#1107) +- Added QE version in footer +- Fixed unhandled exceptions in Queue +- Improved database query performance (#1068, #1097) +- Fixed UI for dismissing notifications (#1094) +- Added namespaces in `docker search` results (#1086) + ### v1.14.0 - Added Docker Registry v2 support (#885) From cd204d8940756f043d273bac640b346d557556de Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Wed, 6 Jan 2016 15:00:36 -0500 Subject: [PATCH 3/5] Fix typo --- endpoints/api/team.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/endpoints/api/team.py b/endpoints/api/team.py index 3eeff7b96..87965fdb7 100644 --- a/endpoints/api/team.py +++ b/endpoints/api/team.py @@ -350,7 +350,7 @@ class InviteTeamMember(ApiResource): @internal_only @show_if(features.MAILING) class TeamMemberInvite(ApiResource): - """ Resource for managing invites to jon a team. """ + """ Resource for managing invites to join a team. """ @require_user_admin @nickname('acceptOrganizationTeamInvite') def put(self, code): From fa42693cddc3202753821eaed042930bddb5e93a Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Thu, 7 Jan 2016 12:34:19 -0500 Subject: [PATCH 4/5] Fix backfill content checksums --- util/migrate/backfill_content_checksums.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/util/migrate/backfill_content_checksums.py b/util/migrate/backfill_content_checksums.py index c03bb13b6..3530498c1 100644 --- a/util/migrate/backfill_content_checksums.py +++ b/util/migrate/backfill_content_checksums.py @@ -54,7 +54,6 @@ class ImageStoragePlacement(BaseModel): location = ForeignKeyField(ImageStorageLocation) - def _get_image_storage_locations(storage_id): placements_query = (ImageStoragePlacement .select(ImageStoragePlacement, ImageStorageLocation) @@ -91,7 +90,7 @@ def backfill_content_checksums(): with CloseForLongOperation(app.config): try: # Compute the checksum - layer_path = storage.image_layer_path(candidate_storage.uuid) + layer_path = storage.v1_image_layer_path(candidate_storage.uuid) with storage.stream_read_file(locations, layer_path) as layer_data_handle: checksum = 'sha256:{0}'.format(checksums.sha256_file(layer_data_handle)) except Exception as exc: From e8c0a8355f5e83d3d7e080443a92e4f2e3a131a1 Mon Sep 17 00:00:00 2001 From: Jimmy Zelinskie Date: Thu, 7 Jan 2016 14:34:19 -0500 Subject: [PATCH 5/5] only check repo usage when billing enabled --- endpoints/api/repository.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/endpoints/api/repository.py b/endpoints/api/repository.py index 851bd644d..0a57e10d6 100644 --- a/endpoints/api/repository.py +++ b/endpoints/api/repository.py @@ -331,8 +331,9 @@ class Repository(RepositoryParamResource): """ Delete a repository. """ model.repository.purge_repository(namespace, repository) user = model.user.get_namespace_user(namespace) - plan = get_namespace_plan(namespace) - check_repository_usage(user, plan) + if features.BILLING: + plan = get_namespace_plan(namespace) + check_repository_usage(user, plan) log_action('delete_repo', namespace, {'repo': repository, 'namespace': namespace}) return 'Deleted', 204