From: Peter Amstutz Date: Fri, 8 Sep 2017 16:58:43 +0000 (-0400) Subject: 12234: Update arvbox to Debian stretch, Docker 17, Postgres 9.6 X-Git-Tag: 1.1.0~58^2~1 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/d50079258389d087f4a9e7758f8f64877c356606 12234: Update arvbox to Debian stretch, Docker 17, Postgres 9.6 Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- diff --git a/tools/arvbox/lib/arvbox/docker/Dockerfile.base b/tools/arvbox/lib/arvbox/docker/Dockerfile.base index db9b64887f..bf42951300 100644 --- a/tools/arvbox/lib/arvbox/docker/Dockerfile.base +++ b/tools/arvbox/lib/arvbox/docker/Dockerfile.base @@ -2,14 +2,14 @@ # # SPDX-License-Identifier: AGPL-3.0 -FROM debian:8 +FROM debian:9 ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && \ apt-get -yq --no-install-recommends -o Acquire::Retries=6 install \ - postgresql-9.4 git build-essential runit curl libpq-dev \ - libcurl4-openssl-dev libssl-dev zlib1g-dev libpcre3-dev \ + postgresql-9.6 git build-essential runit curl libpq-dev \ + libcurl4-openssl-dev libssl1.0-dev zlib1g-dev libpcre3-dev \ openssh-server python-setuptools netcat-traditional \ python-epydoc graphviz bzip2 less sudo virtualenv \ libpython-dev fuse libfuse-dev python-pip python-yaml \ @@ -18,19 +18,11 @@ RUN apt-get update && \ libjson-perl nginx gitolite3 lsof libreadline-dev \ apt-transport-https ca-certificates slurm-wlm \ linkchecker python3-virtualenv python-virtualenv xvfb iceweasel \ - libgnutls28-dev python3-dev && \ + libgnutls28-dev python3-dev vim cython gnupg dirmngr && \ apt-get clean -ENV GOVERSION 1.8.3 - -# Install golang binary -RUN curl -f http://storage.googleapis.com/golang/go${GOVERSION}.linux-amd64.tar.gz | \ - tar -C /usr/local -xzf - - -ENV PATH ${PATH}:/usr/local/go/bin - ENV RUBYVERSION_MINOR 2.3 -ENV RUBYVERSION 2.3.3 +ENV RUBYVERSION 2.3.4 # Install Ruby from source RUN cd /tmp && \ @@ -46,6 +38,14 @@ ENV GEM_HOME /var/lib/gems ENV GEM_PATH /var/lib/gems ENV PATH $PATH:/var/lib/gems/bin +ENV GOVERSION 1.8.3 + +# Install golang binary +RUN curl -f http://storage.googleapis.com/golang/go${GOVERSION}.linux-amd64.tar.gz | \ + tar -C /usr/local -xzf - + +ENV PATH ${PATH}:/usr/local/go/bin + VOLUME /var/lib/docker VOLUME /var/log/nginx VOLUME /etc/ssl/private @@ -54,9 +54,9 @@ RUN apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys 58118E8 apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D RUN mkdir -p /etc/apt/sources.list.d && \ - echo deb https://apt.dockerproject.org/repo debian-jessie main > /etc/apt/sources.list.d/docker.list && \ + echo deb https://apt.dockerproject.org/repo debian-stretch main > /etc/apt/sources.list.d/docker.list && \ apt-get update && \ - apt-get -yq install docker-engine=1.9.1-0~jessie && \ + apt-get -yq --no-install-recommends install docker-engine=17.05.0~ce-0~debian-stretch && \ apt-get clean RUN rm -rf /var/lib/postgresql && mkdir -p /var/lib/postgresql diff --git a/tools/arvbox/lib/arvbox/docker/Dockerfile.dev b/tools/arvbox/lib/arvbox/docker/Dockerfile.dev index 223ede7f9e..c017f70875 100644 --- a/tools/arvbox/lib/arvbox/docker/Dockerfile.dev +++ b/tools/arvbox/lib/arvbox/docker/Dockerfile.dev @@ -6,6 +6,6 @@ FROM arvados/arvbox-base ARG arvados_version ADD service/ /var/lib/arvbox/service -RUN rmdir /etc/service && ln -sf /var/lib/arvbox/service /etc +RUN ln -sf /var/lib/arvbox/service /etc RUN mkdir /etc/test-service && ln -sf /var/lib/arvbox/service/postgres /etc/test-service diff --git a/tools/arvbox/lib/arvbox/docker/api-setup.sh b/tools/arvbox/lib/arvbox/docker/api-setup.sh index 14b4ac2998..b81ba00b86 100755 --- a/tools/arvbox/lib/arvbox/docker/api-setup.sh +++ b/tools/arvbox/lib/arvbox/docker/api-setup.sh @@ -59,7 +59,7 @@ development: auto_setup_new_users_with_vm_uuid: $vm_uuid auto_setup_new_users_with_repository: true default_collection_replication: 1 - docker_image_formats: ["v1"] + docker_image_formats: ["v2"] EOF (cd config && /usr/local/lib/arvbox/application_yml_override.py) diff --git a/tools/arvbox/lib/arvbox/docker/service/postgres/run b/tools/arvbox/lib/arvbox/docker/service/postgres/run index 8c0d6e9664..45407cb9ab 100755 --- a/tools/arvbox/lib/arvbox/docker/service/postgres/run +++ b/tools/arvbox/lib/arvbox/docker/service/postgres/run @@ -11,5 +11,6 @@ chown -R $PGUSER:$PGGROUP /var/lib/postgresql chown -R $PGUSER:$PGGROUP /var/run/postgresql chown -R $PGUSER:$PGGROUP /etc/postgresql chown -R $PGUSER:$PGGROUP /etc/ssl/private +chmod -R g-r /etc/ssl/private exec chpst -u $PGUSER:$PGGROUP $0-service diff --git a/tools/arvbox/lib/arvbox/docker/service/postgres/run-service b/tools/arvbox/lib/arvbox/docker/service/postgres/run-service index 207cd46d29..9137aa03af 100755 --- a/tools/arvbox/lib/arvbox/docker/service/postgres/run-service +++ b/tools/arvbox/lib/arvbox/docker/service/postgres/run-service @@ -6,12 +6,14 @@ exec 2>&1 set -eux -o pipefail -if ! test -d /var/lib/postgresql/9.4/main ; then - /usr/lib/postgresql/9.4/bin/initdb -D /var/lib/postgresql/9.4/main +PGVERSION=9.6 + +if ! test -d /var/lib/postgresql/$PGVERSION/main ; then + /usr/lib/postgresql/$PGVERSION/bin/initdb -D /var/lib/postgresql/$PGVERSION/main sh -c "while ! (psql postgres -c'\du' | grep '^ arvbox ') >/dev/null ; do createuser -s arvbox ; sleep 1 ; done" & fi -mkdir -p /var/run/postgresql/9.4-main.pg_stat_tmp +mkdir -p /var/run/postgresql/$PGVERSION-main.pg_stat_tmp -rm -f /var/lib/postgresql/9.4/main/postmaster.pid +rm -f /var/lib/postgresql/$PGVERSION/main/postmaster.pid -exec /usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c config_file=/etc/postgresql/9.4/main/postgresql.conf +exec /usr/lib/postgresql/$PGVERSION/bin/postgres -D /var/lib/postgresql/$PGVERSION/main -c config_file=/etc/postgresql/$PGVERSION/main/postgresql.conf