Issue #441
closeddocker repo upload fails for an image ancestry with a parent having multiple children
Description
Description of problem:
When trying to upload to a docker repository, if the image ancestry we are trying to upload has parents having multiple children, upload fails.
Steps to reproduce -
$ sudo docker pull busybox
$ sudo docker save busybox > busybox.tar
$ pulp-admin docker repo create --repo-id=busybox
$ pulp-admin docker repo uploads upload --repo-id=busybox -f /home/skarmark/git/pulp1/pulp/busybox.tar
----------------------------------------------------------------------
Unit Upload
--------------------------------------------------------------------
Extracting necessary metadata for each request...
[==================================================] 100%
Analyzing: busybox.tar
An unexpected error has occurred. More information can be found in the client
log file ~/.pulp/admin.log.
admin.log -
2014-05-29 11:15:32,984 - ERROR - Client-side exception occurred
Traceback (most recent call last):
File "/home/skarmark/git/pulp1/pulp/client_lib/pulp/client/extensions/core.py", line 478, in run
exit_code = Cli.run(self, args)
File "/usr/lib/python2.7/site-packages/okaara/cli.py", line 974, in run
exit_code = command_or_section.execute(self.prompt, remaining_args)
File "/home/skarmark/git/pulp1/pulp/client_lib/pulp/client/extensions/extensions.py", line 224, in execute
return self.method(*arg_list, **clean_kwargs)
File "/home/skarmark/git/pulp1/pulp/client_lib/pulp/client/commands/repo/upload.py", line 252, in run
**user_input)
File "/home/skarmark/git/pulp_docker/extensions_admin/pulp_docker/extensions/admin/upload.py", line 31, in generate_unit_key_and_metadata
unit_key = {'image_id': tarutils.get_youngest_child(filename)}
File "/home/skarmark/git/pulp_docker/common/pulp_docker/common/tarutils.py", line 103, in get_youngest_child
image_ids.remove(parent)
KeyError: u'6c991eb934609424f761d3d0a7c79f4f72b76db286aa02e617659ac116aa7758'
+ This bug was cloned from Bugzilla Bug #1102877 +
Updated by skarmark@redhat.com almost 10 years ago
https://github.com/pulp/pulp_docker/pull/21
+ This comment was cloned from Bugzilla #1102877 comment 1 +
Updated by bmbouter over 9 years ago
- Version deleted (
Master) - Version - Docker set to master
Updated by dkliban@redhat.com over 9 years ago
- Status changed from MODIFIED to 5
- Target Release - Docker set to 1.0.0
Updated by pthomas@redhat.com over 9 years ago
- Status changed from 5 to 6
verified
[root@mgmt7 ~]# pulp-admin docker repo create --repo-id=busybox
Repository [busybox] successfully created
[root@mgmt7 ~]# pulp-admin docker repo uploads upload --repo-id=busybox -f busybox.tar
+----------------------------------------------------------------------+
Unit Upload
+----------------------------------------------------------------------+
Extracting necessary metadata for each request...
[==================================================] 100%
Analyzing: busybox.tar
... completed
Creating upload requests on the server...
[==================================================] 100%
Initializing: busybox.tar
... completed
Starting upload of selected units. If this process is stopped through ctrl+c,
the uploads will be paused and may be resumed later using the resume command or
cancelled entirely using the cancel command.
Uploading: busybox.tar
[==================================================] 100%
2660352/2660352 bytes
... completed
Importing into the repository...
This command may be exited via ctrl+c without affecting the request.
[|]
Running...
Task Succeeded
Deleting the upload request...
... completed
<\pre>
Updated by rbarlow almost 9 years ago
- Status changed from 6 to CLOSED - CURRENTRELEASE