[OpenStack-Infra] Fwd: JJB 1.6.0 "Cannot create a file when that file already exists"
Sebastian Schuberth
sschuberth at gmail.com
Thu Jun 9 09:39:28 UTC 2016
I've done the change myself, please review: https://review.openstack.org/327539
I decided to catch the exception instead of always deleting the dst
file first to keep it being an atomic operation on Unix.
--
Sebastian Schuberth
On Thu, Jun 9, 2016 at 7:01 AM, Sebastian Schuberth
<sschuberth at gmail.com> wrote:
> Hi Darragh,
>
> are you going to make that change in Gerrit?
>
> --
> Sebastian Schuberth
>
>
> On Thu, Jun 9, 2016 at 12:52 AM, Darragh Bailey <daragh.bailey at gmail.com> wrote:
>
>> Doh! It's called not using windows enough.
>>
>> The os.rename() it appears throws an error on windows if the target file
>> exists.
>>
>> We need to catch that and remove the file, then retry, or remove the old
>> file first.
>>
>> The fun of cross platform.
>>
>> Sorry about that.
>>
>> Darragh Bailey
>> "Nothing is foolproof to a sufficiently talented fool" - unknown
>>
>> On 8 Jun 2016 21:15, "Sebastian Schuberth" <sschuberth at gmail.com> wrote:
>>>
>>> Hi,
>>>
>>> since upgrading to JJB 1.6.0 from 1.5.0 today I consistently get
>>> "Cannot create a file when that file already exists" errors on update
>>> / delete operations on Windows. The stack trace looks like
>>>
>>> $ jenkins-jobs delete github-checker.yaml
>>> INFO:jenkins_jobs.builder:Removing jenkins job(s): github-checker.yaml
>>> Traceback (most recent call last):
>>> File "c:\python27\lib\runpy.py", line 162, in _run_module_as_main
>>> "__main__", fname, loader, pkg_name)
>>> File "c:\python27\lib\runpy.py", line 72, in _run_code
>>> exec code in run_globals
>>> File "C:\Python\Scripts\jenkins-jobs.exe\__main__.py", line 9, in
>>> <module>
>>> File "c:\python27\lib\site-packages\jenkins_jobs\cmd.py", line 191, in
>>> main
>>> execute(options, config)
>>> File "c:\python27\lib\site-packages\jenkins_jobs\cmd.py", line 357, in
>>> execute
>>> builder.delete_job(job, options.path)
>>> File "c:\python27\lib\site-packages\jenkins_jobs\builder.py", line
>>> 322, in delete_job
>>> self.cache.save()
>>> File "c:\python27\lib\site-packages\jenkins_jobs\builder.py", line
>>> 113, in save
>>> self._os.rename(tfile.name, self.cachefilename)
>>> WindowsError: [Error 183] Cannot create a file when that file already
>>> exists
>>> ERROR:jenkins_jobs.builder:Failed to write to cache file
>>>
>>> 'C:\Users\name\.cache\jenkins_jobs\cache-host-jobs-https___hostname_com_.yml'
>>> on exit: [Error 183] Cannot create a file when that file already
>>> exists
>>>
>>> Is anyone else seeing this?
>>>
>>> --
>>> Sebastian Schuberth
>>>
>>> _______________________________________________
>>> OpenStack-Infra mailing list
>>> OpenStack-Infra at lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-infra
More information about the OpenStack-Infra
mailing list