Bug 136733 - OSError exception (file already exists) during initial sync with /var/satellite mounted
Summary: OSError exception (file already exists) during initial sync with /var/satelli...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Satellite 5
Classification: Red Hat
Component: Server
Version: 360
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Mihai Ibanescu
QA Contact: Fanny Augustin
URL:
Whiteboard:
Depends On:
Blocks: rhn360sat
TreeView+ depends on / blocked
 
Reported: 2004-10-21 23:11 UTC by Max Spevack
Modified: 2007-07-31 15:11 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-03-22 17:36:49 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Max Spevack 2004-10-21 23:11:06 UTC
During the initial sync on a rhel3 satellite (with /var/satellite
mounted), satellite-sync dies with an unhandled OSError exception.

Log below:

Note:
- this did *not* happen on the rhel2 satellite
- after taw added a simple try/catch statement that just passes the
exception and prints out an error message, re-running the sync command
did not raise the exception again, though the file existing that
generated the exception in the first place is still there.

*************************

18:58:17 Downloading rpm packages
18:58:17    Fetching any missing RPMs: redhat-advanced-server-i386
(NONE MISSING)
18:58:17    Fetching any missing RPMs: rhel-i386-as-3 (14)
+++ sending log as an email +++
 
SYNC ERROR: unhandled exception occurred:
 
(Check logs/email for potentially more detail)
 
[Errno 17] File exists:
'/var/satellite/redhat/NULL/initscripts/7.31.18.EL-1'

The full traceback:

Exception Handler Information
Traceback (most recent call last):
  File "/usr/bin/satellite-sync", line 128, in main
    return satsync.Runner().main()
  File "/usr/share/rhn/satellite_tools/satsync.py", line 153, in main
    ret = method()
  File "/usr/share/rhn/satellite_tools/satsync.py", line 241, in
_step_rpms
    self._packages_report = self.syncer.download_rpms()
  File "/usr/share/rhn/satellite_tools/satsync.py", line 856, in
download_rpms
    self._fetch_packages(channel, missing_fs_packages)
  File "/usr/share/rhn/satellite_tools/satsync.py", line 1697, in
_fetch_packages
    s = rpmManip.write_file(stream)
  File "/usr/share/rhn/satellite_tools/syncLib.py", line 165, in
write_file
    createPath(dirname)
  File "/usr/share/rhn/satellite_tools/syncLib.py", line 380, in
createPath
    makedirs(path, mode=chmod, user=user, group=group)
  File "/usr/share/rhn/satellite_tools/syncLib.py", line 359, in makedirs
    os.mkdir(dirname, mode)
OSError: [Errno 17] File exists:
'/var/satellite/redhat/NULL/initscripts/7.31.18.EL-1'

Comment 1 Mihai Ibanescu 2004-10-22 22:07:53 UTC
Not an easy way to reproduce this, since it's a race condition. I was
checking for missing directories and then creating them, but it's
possible for someone else to create the dirs in the meantime.

I've added the try/except statement to catch this.

Comment 2 Todd Warner 2004-10-28 19:10:35 UTC
ON_DEV/QA_READY --> ON_QA (webQA and RHN Sat ISO/package push complete)

Comment 3 Todd Warner 2004-10-28 19:57:11 UTC
ON_DEV/QA_READY --> ON_QA (webQA and RHN Sat ISO/package push complete) REALLY!

Comment 4 Todd Warner 2004-12-01 13:02:38 UTC
FAILS_QAing this. Misa, is there *any* way to test this? If not...
closeit as NOTABUG. And we'll refile if it ever crops up again. It's
been a month+ now without it coming back. Probably just an oddball
race condition.

Comment 5 Mihai Ibanescu 2004-12-02 03:11:50 UTC
Moving to PROD_READY, since I did add code to fix the potential race
condition, it's just difficult to test.

Comment 6 Todd Warner 2005-03-22 17:36:49 UTC
Mass move from PROD_READY to CLOSED:CURRENTRELEASE


Note You need to log in before you can comment on or make changes to this bug.