Project

General

Profile

Actions

Bug #6682

closed

[Deployment] Fix centos6 build image

Added by Brett Smith over 8 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Deployment
Target version:
Story points:
1.0

Description

Our Docker image to build centos6 packages (in the arvados-dev repository) has bugs such that the build process exits with a nonzero exit code. Find and fix those bugs.


Subtasks 1 (0 open1 closed)

Task #6741: Review arvados-dev branch 6682-use-docker-build-cmd-wipResolvedBrett Smith07/21/2015Actions
Actions #2

Updated by Brett Smith over 8 years ago

So at least part of the problem is that we're overriding the Docker image's own command. The appropriate Software Collections need to be enabled before running the package build script. We may need to integrate those smarts into our build wrapper.

Actions #3

Updated by Brett Smith over 8 years ago

  • Assigned To set to Brett Smith
Actions #4

Updated by Brett Smith over 8 years ago

  • Status changed from New to In Progress
Actions #6

Updated by Tom Clegg over 8 years ago

I ran this locally and it looks like I successfully generated a lot of debian7, debian8, and ubuntu1204 packages, but this seems to have prevented centos6 from working (oops, scrollback buffer not long enough to go back further):

Step 0 : FROM centos:6
 ---> a005304e4e74
[...]
Step 5 : RUN gpg --keyserver pool.sks-keyservers.net --recv-keys D39DC0E3 &&     curl -L https://get.rvm.io | bash -s stable &&     /usr/local/rvm/b
in/rvm install 2.1 &&     /usr/local/rvm/bin/rvm alias create default ruby-2.1 &&     /usr/local/rvm/bin/rvm-exec default gem install fpm
 ---> Using cache
 ---> 6c5c74a464cb
Step 6 : ADD https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-6-x86_64/download/rhscl-rh-python34-epel-6-x86_64.noarch.rpm https:/
/www.softwarecollections.org/en/scls/rhscl/python27/epel-6-x86_64/download/rhscl-python27-epel-6-x86_64.noarch.rpm /opt/
 ---> Using cache
 ---> 1f1e21be1d5b
Step 7 : RUN yum -q -y install /opt/rhscl-*.rpm
 ---> Running in 85946f117e99
Error: Nothing to do
2015/07/23 13:43:36 The command [/bin/sh -c yum -q -y install /opt/rhscl-*.rpm] returned a non-zero code: 1
debian8
[...]
Successfully built 3a1f88c64db1

real    21m7.939s
user    0m1.240s
sys     0m10.172s
Unable to find image 'arvados/build:centos6' locally
Pulling repository arvados/build
2015/07/23 12:21:07 HTTP code: 404
ERROR: centos6 build failed with exit status 1.
/jenkins/run-build-packages.sh is running from /jenkins
Workspace is /arvados
xargs: chmod: Text file busy
umask is 0022

The previous "ADD" step seems not to have achieved the desired result:

$ docker run -it 1f1e21be1d5b
bash-4.1# find /opt -ls
    60    4 drwxr-xr-x   3 root     root         4096 Jul 23 16:03 /opt
    62    4 drwxr-xr-x   2 root     root         4096 Mar 26 12:22 /opt/rh

I didn't (yet) get any further than this debugging.

Actions #7

Updated by Brett Smith over 8 years ago

Tom Clegg wrote:

The previous "ADD" step seems not to have achieved the desired result:

For me, using Docker 1.6.0, these steps look like:

 ---> c4fcc26894d5
Removing intermediate container 288ac9ea4402
Step 6 : ADD https://www.softwarecollections.org/en/scls/rhscl/rh-python34/epel-6-x86_64/download/rhscl-rh-python34-epel-6-x86_64.noarch.rpm https://www.softwarecollections.org/en/scls/rhscl/python27/epel-6-x86_64/download/rhscl-python27-epel-6-x86_64.noarch.rpm /opt/
Downloading [==================================================>]  3.08 kB/3.08 kB
Downloading [==================================================>] 3.096 kB/3.096 kB
 ---> 9163d8a5647f
Removing intermediate container eb6f020f12ba
Step 7 : RUN yum -q -y install /opt/rhscl-*.rpm
 ---> Running in 10009d0ac129
 ---> dd4163193c40
Removing intermediate container 10009d0ac129

ci is also using Docker 1.6.0. Please upgrade and try again.

Actions #8

Updated by Tom Clegg over 8 years ago

Indeed, with docker 1.6 everything works fine. Tried installing the centos6 packages, which worked fine.

I noticed the Workbench and API packages don't seem to have dependencies encoded (at least in centos6). AIUI that would be a separate feature request, not a bug introduced here. I haven't actually installed all of the packages on all the OS to make sure they work. Unless you think I should actually do that, LGTM. Thanks.

Actions #9

Updated by Brett Smith over 8 years ago

Tom Clegg wrote:

I noticed the Workbench and API packages don't seem to have dependencies encoded (at least in centos6). AIUI that would be a separate feature request, not a bug introduced here. I haven't actually installed all of the packages on all the OS to make sure they work. Unless you think I should actually do that, LGTM. Thanks.

This is sort of how they're designed to work: the packages just include source code, and then you actually get their dependencies and run them with Bundler. It's goofy, but at least it's consistent with our documentation.

I'll merge the branch. Thanks.

Actions #10

Updated by Brett Smith over 8 years ago

  • Status changed from In Progress to Resolved
Actions

Also available in: Atom PDF