Project

Profile

Help

Test #4464

Content delivery breaks if remote is deleted

Added by bherring 8 months ago. Updated 6 months ago.

Status:
CLOSED - COMPLETE
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
-
Version:
Platform Release:
Tags:
Sprint:

Description

Problem

It is possible to delete a Remote which is referenced by RemoteArtifacts that are part of a Publication/Repo. As cascading delete is used (https://github.com/pulp/pulp/blob/88a6ebf31de83a4877909fa93fd94bf122894838/pulpcore/app/models/content.py#L335), this will delete the RemoteArtifacts as well.

If such an artifact is retrieved via the content app and needs to be streamed, this will fail with an internal server error:

Dec 30 17:41:45 pulp3.dev gunicorn[23755]: Traceback (most recent call last):
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:   File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/aiohttp/web_protocol.py", line 390, in start
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:     resp = await self._request_handler(request)
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:   File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/aiohttp/web_app.py", line 366, in _handle
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:     resp = await handler(request)
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:   File "/home/vagrant/devel/pulp/pulpcore/content/handler.py", line 65, in stream_content
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:     return await self._match_and_stream(path, request)
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:   File "/home/vagrant/devel/pulp/pulpcore/content/handler.py", line 179, in _match_and_stream
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:     return await self._stream_content_artifact(request, web.StreamResponse(), ca)
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:   File "/home/vagrant/devel/pulp/pulpcore/content/handler.py", line 223, in _stream_content_artifact
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:     remote_artifact = content_artifact.remoteartifact_set.get()
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:   File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/models/manager.py", line 82, in manager_method
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:     return getattr(self.get_queryset(), name)(*args, **kwargs)
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:   File "/home/vagrant/.virtualenvs/pulp/lib64/python3.6/site-packages/django/db/models/query.py", line 399, in get
Dec 30 17:41:45 pulp3.dev gunicorn[23755]:     self.model._meta.object_name
Dec 30 17:41:45 pulp3.dev gunicorn[23755]: pulpcore.app.models.content.RemoteArtifact.DoesNotExist: RemoteArtifact matching query does not exist.

Possible solutions:

1. Block the deletion of the remote as long as referencing RemoteArtifacts exist
2. Return a 404 not found error


Related issues

Copied from Pulp - Issue #4289: Content delivery breaks if remote is deleted MODIFIED Actions

Associated revisions

Revision 73b9788f View on GitHub
Added by kersom 6 months ago

Add test to content delivery breaks if remote is deleted

Add test to verify that content delivery breaks if a remote - using lazy
download policy, is deleted.
Also verify that the content can be downloaded from Pulp once the remote
is recreated and another sync is triggered.

https://pulp.plan.io/issues/4464
#4464

History

#1 Updated by bherring 8 months ago

  • Copied from Issue #4289: Content delivery breaks if remote is deleted added

#2 Updated by bherring 8 months ago

Triage Notes

  • lazy sync but don't let it downloaded
  • delete the remote
  • try to get the unit through a distribution;
  • Should get a 404 and NOT 500
  • see #4323 as related for HTTP return updates

#3 Updated by daviddavis 8 months ago

  • Tags deleted (Pulp 3 RC Blocker)

#4 Updated by kersom 7 months ago

  • Assignee set to kersom

#5 Updated by kersom 6 months ago

  • Status changed from NEW to ASSIGNED

#6 Updated by kersom 6 months ago

  • Status changed from ASSIGNED to MODIFIED

#7 Updated by kersom 6 months ago

  • Status changed from MODIFIED to CLOSED - COMPLETE

#8 Updated by bmbouter 6 months ago

  • Tags deleted (Pulp 3)

Please register to edit this issue

Also available in: Atom PDF