ISO fails to build: The lock file './db/lockfile' already exists

Bug #1449723 reported by Alexei Sheplyakov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Fix Committed
High
Alexei Sheplyakov

Bug Description

make -j4 mirror
[skippped]

rm -rf /home/stack/stackforge/fuel-main/local_mirror/ubuntu/.temp /home/stack/stackforge/fuel-main/local_mirror/ubuntu/project
touch /home/stack/stackforge/fuel-main/build/mirror/ubuntu/mirror.done
mkdir -p /home/stack/stackforge/fuel-main/local_mirror/ubuntu/conf
#FIXME(aglarendil): do not touch upstream repo. instead - build new repo
sh -c "${SANDBOX_UBUNTU_UP}"
sh -c "${config_reprepro}"
mkdir -p /home/stack/stackforge/fuel-main/build/packages/deb
SANDBOX_UBUNTU_UP: start
perl /home/stack/stackforge/fuel-main/packages/deb/genpkgnames.pl /home/stack/stackforge/fuel-main/build/repos/nailgun/debian/control > /home/stack/stackforge/fuel-main/build
/packages/deb/nailgun.cleanup.list
#Import existing Ubuntu repository
cd /home/stack/stackforge/fuel-main/local_mirror/ubuntu && reprepro --confdir=/home/stack/stackforge/fuel-main/local_mirror/ubuntu/conf -V update
Running debootstrap
I: Retrieving Release
cd /home/stack/stackforge/fuel-main/local_mirror/ubuntu && cat /home/stack/stackforge/fuel-main/build/packages/deb/nailgun.cleanup.list | xargs -n1 -I{} reprepro --confdir=/home/stack/stackforge/fuel-main/local_mirror/ubuntu/conf remove mos6.1 {}
The lock file './db/lockfile' already exists. There might be another instance with the
same database dir running. To avoid locking overhead, only one process
can access the database at the same time. Do not delete the lock file unless
you are sure no other version is still running!
There have been errors!
make: *** [/home/stack/stackforge/fuel-main/build/mirror/ubuntu/reprepro.done] Error 239
make: *** Waiting for unfinished jobs....
Not removed as not found: fencing-agent
Exporting indices...
Not removed as not found: nailgun-agent
Exporting indices...
Not removed as not found: nailgun-net-check
Exporting indices...
#FIXME(aglarendil): do not touch upstream repo. instead - build new repo
mkdir -p /home/stack/stackforge/fuel-main/build/packages/deb
perl /home/stack/stackforge/fuel-main/packages/deb/genpkgnames.pl /home/stack/stackforge/fuel-main/build/repos/astute/debian/control > /home/stack/stackforge/fuel-main/build/packages/deb/astute.cleanup.list
cd /home/stack/stackforge/fuel-main/local_mirror/ubuntu && cat /home/stack/stackforge/fuel-main/build/packages/deb/astute.cleanup.list | xargs -n1 -I{} reprepro --confdir=/home/stack/stackforge/fuel-main/local_mirror/ubuntu/conf remove mos6.1 {}
Not removed as not found: nailgun-mcagents
Exporting indices...

The complete build log is attached

Revision history for this message
Alexei Sheplyakov (asheplyakov) wrote :
Changed in fuel:
assignee: nobody → Fuel build team (fuel-build)
Revision history for this message
Alexei Sheplyakov (asheplyakov) wrote :

Several instances of reprepro operate concurrently on the very same repo:

https://github.com/stackforge/fuel-main/blob/master/mirror/ubuntu/module.mk#L50
https://github.com/stackforge/fuel-main/blob/master/packages/deb/module.mk#L59

The dependencies of repocleanup.done target are messed up (which proves that injecting locally built debs into the mirrored
repo is a *BAD* idea)

Changed in fuel:
status: New → In Progress
assignee: Fuel build team (fuel-build) → Alexei Sheplyakov (asheplyakov)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to fuel-main (master)

Fix proposed to branch: master
Review: https://review.openstack.org/178557

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to fuel-main (master)

Reviewed: https://review.openstack.org/178557
Committed: https://git.openstack.org/cgit/stackforge/fuel-main/commit/?id=84e40b4a0fa85be9d143ad74e1fdc59ea6d41b34
Submitter: Jenkins
Branch: master

commit 84e40b4a0fa85be9d143ad74e1fdc59ea6d41b34
Author: Alexei Sheplyakov <email address hidden>
Date: Wed Apr 29 16:03:25 2015 +0300

    packages/deb: fix target dependencies so make -j works again

    Both repocleanup.done and reprepro.done targets
     - modify the local copy of MOS repo (which is a bad idea),
     - depend on ubuntu/mirror.done target

    As a result two instances of reprepro try to concurrently modify the same
    APT repo (which fails). Make repocleanup.done depend on reprepro.done to
    avoid the problem.

    Closes-Bug: #1449723
    Change-Id: I283f4f10f9e1b43eb8a30cb9458a3443cc614e23

Changed in fuel:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.