Project

Profile

Help

Issue #1463

closed

Node sync fails with "RuntimeError: Will not create a symlink to a non-existent source"

Added by amacdona@redhat.com about 8 years ago. Updated over 3 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
Estimated time:
Severity:
3. High
Version:
2.6.5
Platform Release:
2.8.0
OS:
RHEL 6
Triaged:
Yes
Groomed:
No
Sprint Candidate:
No
Tags:
Pulp 2
Sprint:
Quarter:

Description

This seems to be the cause of the following BZ's:
https://bugzilla.redhat.com/show_bug.cgi?id=1285830
https://bugzilla.redhat.com/show_bug.cgi?id=1288855
https://bugzilla.redhat.com/show_bug.cgi?id=1276911

There is a workaround; however, in at least some one case led to the data being different on the parent and child nodes.
https://access.redhat.com/solutions/2069243

The error

 RuntimeError: Will not create a symlink to a non-existent source" 

seems to occur because the database record of the unit is transferred but the corresponding file is not.

This has only been seen with units of type YumMetadataFile


Files

test-repo.tar (1.53 MB) test-repo.tar Small test repository jortel@redhat.com, 01/21/2016 06:01 PM
Actions #1

Updated by mhrivnak about 8 years ago

  • Description updated (diff)
  • Version set to 2.6.0
Actions #2

Updated by mhrivnak about 8 years ago

  • Status changed from NEW to ASSIGNED
  • Assignee set to jortel@redhat.com
  • Priority changed from Normal to High
  • Severity changed from 2. Medium to 3. High
  • Triaged changed from No to Yes

Added by jortel@redhat.com about 8 years ago

Revision 2aa69b16 | View on GitHub

Better support updated units with associated files. closes #1463.

Added by jortel@redhat.com about 8 years ago

Revision 2aa69b16 | View on GitHub

Better support updated units with associated files. closes #1463.

Actions #3

Updated by jortel@redhat.com about 8 years ago

  • Status changed from ASSIGNED to POST
Actions #4

Updated by jortel@redhat.com about 8 years ago

Steps to reproduce:

This assumes you already have a nodes setup and the child node is named: child.

  1. Create a small test repository on the parent node using the attached https://pulp.plan.io/attachments/download/189/test-repo.tar.
$ cd /tmp
$ untar test-repo.tar
# cd test
$ createrepo .
$ modifyrepo --mdtype=productid productid repodata
  1. Create a pulp repository and sync it with the test repo.
$ pulp-admin rpm repo create --repo-id=test --feed=file:///tmp/test
$ pulp-admin node enable --repo-id=test
$ pulp-admin rpm repo sync run --repo-id=test
  1. Bind (node) the child node to the repository.
$ pulp-admin node bind --repo-id=test --node-id=child
  1. Do a node sync.
$ pulp-admin node sync run --node-id=child
  1. Make sure the sync succeeds!
  1. Edit the productid and update the repository.
$ cd /tmp/test
$ echo "product: 3000-xxxxxxx" > productid
$ rm packages/vim-enhanced-7.4.475-2.fc20.x86_64.rpm
$ createrepo .
$ modifyrepo --mdtype=productid productid repodata
  1. Re-sync the pulp repository with changed upstream.

    $ pulp-admin rpm repo sync run --repo-id=test
    
  1. Do another node sync. This is where the error occurred.

    $ pulp-admin node sync run --node-id=child
    
Actions #5

Updated by jortel@redhat.com about 8 years ago

  • Status changed from POST to MODIFIED
  • % Done changed from 0 to 100
Actions #6

Updated by jortel@redhat.com about 8 years ago

  • Version changed from 2.6.0 to 2.6.5
Actions #7

Updated by rbarlow about 8 years ago

  • Status changed from MODIFIED to 5
  • Platform Release set to 2.8.0
Actions #9

Updated by pthomas@redhat.com about 8 years ago

  • Status changed from 5 to 6
Actions #11

Updated by dkliban@redhat.com almost 8 years ago

  • Status changed from 6 to CLOSED - CURRENTRELEASE
Actions #13

Updated by bmbouter almost 5 years ago

  • Tags Pulp 2 added

Also available in: Atom PDF