Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
environment:
MIRRORCACHE_DB_PROVIDER: << parameters.db >>
T_EXPERIMENTAL: << parameters.experimental >>
MIRRORCACHE_DB_AIO: "0"
working_directory: ~/project
steps:
- checkout:
Expand Down
17 changes: 7 additions & 10 deletions t/lib/Dockerfile.environ.mariadb
Original file line number Diff line number Diff line change
@@ -1,29 +1,26 @@
FROM opensuse/leap:15.6
FROM opensuse/leap:16.0
ENV container docker

ENV LANG en_US.UTF-8

RUN sed -i 's,http://download.opensuse.org,http://cdn.opensuse.org,g' /etc/zypp/repos.d/*repo
RUN zypper ar -f http://cdn.opensuse.org/repositories/openSUSE:infrastructure:MirrorCache/15.6 mc
RUN zypper ar -f http://cdn.opensuse.org/repositories/openSUSE:infrastructure:MirrorCache/16.0 mc
RUN zypper --gpg-auto-import-keys ref

# install MirrorCache here to fetch all dependencies
RUN zypper -vvv -n install MirrorCache perl-MaxMind-DB-Reader perl-Mojolicious-Plugin-ClientIP \
vim mariadb mariadb-server curl sudo git-core wget tar m4 make rsync \
apache2 perl-Digest-MD4 tidy nginx bbe perl-DBD-mysql perl-Mojo-mysql perl-Minion-Backend-mysql perl-DateTime-HiRes \
perl-Config-IniFiles environ eatmydata
apache2 perl-Digest-MD4 tidy nginx perl-DBD-mysql perl-Mojo-mysql perl-Minion-Backend-mysql perl-DateTime-HiRes \
perl-Config-IniFiles environ eatmydata which

# optional dependencies used in testing
RUN zypper -vvv -n install perl-Geo-IP2Location perl-Digest-Zsync perl-DateTime-Format-MySQL libxml2-tools iputils

# this hack is needed because old nginx versions cannot run as non-root
RUN bbe -e 's,/var/log/nginx/error.log,/tmp/log_nginx_error.log,' /usr/sbin/nginx > /usr/sbin/nginx.hacked
RUN mv /usr/sbin/nginx.hacked /usr/sbin/nginx
RUN chmod +x /usr/sbin/nginx
RUN zypper -vvv -n install perl-Geo-IP2Location perl-Digest-Zsync perl-DateTime-Format-MySQL libxml2-tools iputils findutils systemd

WORKDIR /opt/project
ENV TZ UTC
ENV MOJO_PUBSUB_EXPERIMENTAL 1

# see MDEV-39860
RUN systemd-tmpfiles --create /usr/lib/tmpfiles.d/mariadb.conf

ENTRYPOINT ["/usr/bin/tail", "-f", "/dev/null"]
19 changes: 6 additions & 13 deletions t/lib/Dockerfile.environ.mariadb.experimental
Original file line number Diff line number Diff line change
@@ -1,37 +1,30 @@
FROM opensuse/leap:15.6
FROM opensuse/leap:16.0
ENV container docker

ENV LANG en_US.UTF-8

RUN zypper -n in curl # rpm --import needs curl atm
RUN curl -IL https://mirror.mariadb.org/yum/11.8/sles15-amd64/repodata/repomd.xml
RUN zypper ar -f http://cdn.opensuse.org/repositories/openSUSE:infrastructure:MirrorCache/15.6 mc
RUN zypper ar -f http://cdn.opensuse.org/repositories/openSUSE:infrastructure:MirrorCache/16.0 mc
# RUN zypper ar -f https://mirror.mariadb.org/yum/11.8/sles15-amd64 mariadb
RUN zypper ar -f https://mirror.netcologne.de/mariadb/mariadb-11.8.8/yum/sles/15.7/x86_64 mariadb
RUN zypper ar -f https://mirror.netcologne.de/mariadb/mariadb-11.8.8/yum/sles/16.0/x86_64 mariadb
RUN rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
RUN zypper --gpg-auto-import-keys ref

# install MirrorCache here to fetch all dependencies
RUN zypper -vvv -n install MirrorCache perl-MaxMind-DB-Reader perl-Mojolicious-Plugin-ClientIP \
vim MariaDB-server MariaDB-client curl sudo git-core wget tar m4 make rsync \
apache2 perl-Digest-MD4 tidy nginx bbe perl-DBD-mysql perl-Mojo-mysql perl-Minion-Backend-mysql perl-DateTime-HiRes \
perl-Config-IniFiles environ eatmydata
apache2 perl-Digest-MD4 tidy nginx perl-DBD-mysql perl-Mojo-mysql perl-Minion-Backend-mysql perl-DateTime-HiRes \
perl-Config-IniFiles environ eatmydata which

# optional dependencies used in testing
RUN zypper -vvv -n install perl-Geo-IP2Location perl-Digest-Zsync perl-DateTime-Format-MySQL libxml2-tools iputils
RUN zypper -vvv -n install perl-Geo-IP2Location perl-Digest-Zsync perl-DateTime-Format-MySQL libxml2-tools iputils findutils

RUN zypper -vvv -n install MariaDB-server-compat MariaDB-client-compat

# this hack is needed because old nginx versions cannot run as non-root
RUN bbe -e 's,/var/log/nginx/error.log,/tmp/log_nginx_error.log,' /usr/sbin/nginx > /usr/sbin/nginx.hacked
RUN mv /usr/sbin/nginx.hacked /usr/sbin/nginx
RUN chmod +x /usr/sbin/nginx

WORKDIR /opt/project
ENV TZ UTC
ENV MOJO_PUBSUB_EXPERIMENTAL 1




ENTRYPOINT ["/usr/bin/tail", "-f", "/dev/null"]
14 changes: 4 additions & 10 deletions t/lib/Dockerfile.environ.postgresql
Original file line number Diff line number Diff line change
@@ -1,24 +1,18 @@
FROM opensuse/leap:15.6
FROM opensuse/leap:16.0
ENV container docker

ENV LANG en_US.UTF-8

RUN sed -i 's,http://download.opensuse.org,http://cdn.opensuse.org,g' /etc/zypp/repos.d/*repo
RUN zypper ar -f http://cdn.opensuse.org/repositories/openSUSE:infrastructure:MirrorCache/15.6 mc
RUN zypper ar -f http://cdn.opensuse.org/repositories/openSUSE:infrastructure:MirrorCache/16.0 mc
RUN zypper --gpg-auto-import-keys ref

# install MirrorCache here to fetch all dependencies
RUN zypper -vvv -n install MirrorCache perl-MaxMind-DB-Reader perl-Mojolicious-Plugin-ClientIP \
vim postgresql postgresql-server curl sudo git-core wget tar m4 make rsync \
apache2 perl-Digest-MD4 tidy nginx bbe perl-DateTime-HiRes perl-Config-IniFiles environ
apache2 perl-Digest-MD4 tidy nginx perl-DateTime-HiRes perl-Config-IniFiles environ

# optional dependencies used in testing
RUN zypper -vvv -n install perl-Geo-IP2Location perl-Digest-Zsync libxml2-tools iputils

# this hack is needed because old nginx versions cannot run as non-root
RUN bbe -e 's,/var/log/nginx/error.log,/tmp/log_nginx_error.log,' /usr/sbin/nginx > /usr/sbin/nginx.hacked
RUN mv /usr/sbin/nginx.hacked /usr/sbin/nginx
RUN chmod +x /usr/sbin/nginx
RUN zypper -vvv -n install perl-Geo-IP2Location perl-Digest-Zsync libxml2-tools iputils findutils

WORKDIR /opt/project
ENV TZ UTC
Expand Down
6 changes: 3 additions & 3 deletions t/lib/Dockerfile.systemd.mariadb
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
FROM opensuse/leap:15.6
FROM opensuse/leap:16.0
ENV container podman

ENV LANG en_US.UTF-8

RUN zypper ar -f http://cdn.opensuse.org/repositories/openSUSE:infrastructure:MirrorCache/15.6 mc
RUN zypper ar -f http://cdn.opensuse.org/repositories/openSUSE:infrastructure:MirrorCache/16.0 mc
RUN zypper --gpg-auto-import-keys -vvv ref

RUN zypper -vvvn install systemd curl sudo iputils vi

# install MirrorCache here to fetch all dependencies
RUN zypper -vvv -n install MirrorCache perl-MaxMind-DB-Reader perl-Mojolicious-Plugin-ClientIP \
vim mariadb mariadb-server curl sudo git-core wget tar m4 \
apache2 perl-Digest-MD4 tidy nginx bbe perl-DBD-mysql perl-Mojo-mysql perl-Minion-Backend-mysql perl-DateTime-HiRes make \
apache2 perl-Digest-MD4 tidy nginx perl-DBD-mysql perl-Mojo-mysql perl-Minion-Backend-mysql perl-DateTime-HiRes make \
perl-Config-IniFiles

ADD src/city.mmdb /var/lib/GeoIP/GeoLite2-City.mmdb
Expand Down
6 changes: 3 additions & 3 deletions t/lib/Dockerfile.systemd.postgresql
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
FROM opensuse/leap:15.6
FROM opensuse/leap:16.0
ENV container podman

ENV LANG en_US.UTF-8

RUN zypper ar -f http://cdn.opensuse.org/repositories/openSUSE:infrastructure:MirrorCache/15.6 mc
RUN zypper ar -f http://cdn.opensuse.org/repositories/openSUSE:infrastructure:MirrorCache/16.0 mc
RUN zypper --gpg-auto-import-keys -vvv ref

RUN zypper -vvvn install systemd curl sudo iputils vi

# install MirrorCache here to fetch all dependencies
# install MirrorCache h/re to fetch all dependencies
RUN zypper -vvv -n install MirrorCache perl-MaxMind-DB-Reader perl-Mojolicious-Plugin-ClientIP \
vim postgresql postgresql-server curl sudo git-core wget tar m4 \
apache2 perl-Digest-MD4 tidy make perl-DateTime-HiRes perl-Config-IniFiles
Expand Down
2 changes: 1 addition & 1 deletion t/lib/environ/mc/source/_exec.m4
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ __workdir/gen_env
set -a
source __workdir/conf.env
set +a
test 1 != "${ENVIRON_MC_DB_AUTOSTART-1}" || __workdir/db/status >& /dev/null || __workdir/db/start "--transaction-isolation=read-committed"
test 1 != "${ENVIRON_MC_DB_AUTOSTART-1}" || __workdir/db/status >& /dev/null || __workdir/db/start "--transaction-isolation=read-committed" ${MIRRORCACHE_DB_START_OPTS:-}
[ -e __workdir/db/sql_mc_test ] || __workdir/db/create_db mc_test

(
Expand Down
2 changes: 1 addition & 1 deletion t/lib/environ/mc/source/backstage-exec/shoot.sh.m4
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ set -e
__workdir/../gen_env
source __workdir/../conf.env

__workdir/../db/status >& /dev/null || __workdir/../db/start
__workdir/../db/status >& /dev/null || __workdir/../db/start ${MIRRORCACHE_DB_START_OPTS:-}
[ -e __workdir/../db/sql_mc_test ] || __workdir/../db/create_db mc_test

(
Expand Down
2 changes: 1 addition & 1 deletion t/lib/environ/mc/source/backstage-exec/start.sh.m4
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ set -e
__workdir/../gen_env
source __workdir/../conf.env

__workdir/../db/status >& /dev/null || __workdir/../db/start
__workdir/../db/status >& /dev/null || __workdir/../db/start ${MIRRORCACHE_DB_START_OPTS:-}
[ -e __workdir/../db/sql_mc_test ] || __workdir/../db/create_db mc_test

(
Expand Down
2 changes: 1 addition & 1 deletion t/lib/environ/mc/source/backstage/job.sh.m4
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ set -e
__workdir/../gen_env
source __workdir/../conf.env

__workdir/../db/status >& /dev/null || __workdir/../db/start
__workdir/../db/status >& /dev/null || __workdir/../db/start ${MIRRORCACHE_DB_START_OPTS:-}
[ -e __workdir/../db/sql_mc_test ] || __workdir/../db/create_db mc_test

(
Expand Down
2 changes: 1 addition & 1 deletion t/lib/environ/mc/source/backstage/shoot.sh.m4
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ set -e
__workdir/../gen_env
source __workdir/../conf.env

__workdir/../db/status >& /dev/null || __workdir/../db/start
__workdir/../db/status >& /dev/null || __workdir/../db/start ${MIRRORCACHE_DB_START_OPTS:-}
[ -e __workdir/../db/sql_mc_test ] || __workdir/../db/create_db mc_test

(
Expand Down
2 changes: 1 addition & 1 deletion t/lib/environ/mc/source/backstage/start.sh.m4
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ set -e
__workdir/../gen_env
source __workdir/../conf.env

__workdir/../db/status >& /dev/null || __workdir/../db/start
__workdir/../db/status >& /dev/null || __workdir/../db/start ${MIRRORCACHE_DB_START_OPTS:-}
[ -e __workdir/../db/sql_mc_test ] || __workdir/../db/create_db mc_test

(
Expand Down
2 changes: 2 additions & 0 deletions t/lib/environ/mc/source/build.sh.m4
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
if [ "$MIRRORCACHE_DB_PROVIDER" == mariadb ]; then
ln -sf __workdir/ma __workdir/db
rm -r __workdir/pg
# Patch the compiled ma/start script so that all manual/standalone db starts also respect MIRRORCACHE_DB_AIO=0
sed -i 's,\$eatmydata /usr/sbin/mariadbd,extra_opts=""; if [ "${MIRRORCACHE_DB_AIO:-1}" = "0" ]; then extra_opts="--innodb-use-native-aio=0"; fi; \$eatmydata /usr/sbin/mariadbd \$extra_opts,g' __workdir/ma/start
else
ln -sf __workdir/pg __workdir/db
rm -r __workdir/ma
Expand Down
3 changes: 3 additions & 0 deletions t/lib/environ/mc/source/gen_env.sh.m4
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ echo __dbi='$(__workdir/db/print_dbi mc_test)'
if test "${MIRRORCACHE_DB_PROVIDER}" == mariadb; then
echo export TEST_MYSQL='${__dbi//\/ma\//\/db\//}'
echo export MARIADB_TLS_DISABLE_PEER_VERIFICATION=1
if test "${MIRRORCACHE_DB_AIO:-1}" == 0; then
echo 'export MIRRORCACHE_DB_START_OPTS="--innodb-use-native-aio=0 ${MIRRORCACHE_DB_START_OPTS:-}"'
fi
else
echo export TEST_PG='${__dbi//\/pg\//\/db\//}'
fi
Expand Down
4 changes: 2 additions & 2 deletions t/lib/test-in-container-environ.sh
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ if [[ -n "$MIRRORCACHE_CITY_MMDB" ]]; then
[[ -f "$MIRRORCACHE_CITY_MMDB" ]] && mc_database+=" -v $MIRRORCACHE_CITY_MMDB:$MIRRORCACHE_CITY_MMDB"
fi

docker run $map_port $mc_database --env MIRRORCACHE_PERMANENT_JOBS="" --env MIRRORCACHE_DB_PROVIDER=$dbprovider --rm --name "$containername" --env REBUILD=1 -d -v"$thisdir/../../..":/opt/project -- $ident.image
docker run $map_port $mc_database --env MIRRORCACHE_PERMANENT_JOBS="" --env MIRRORCACHE_DB_PROVIDER=$dbprovider --env MIRRORCACHE_DB_AIO="${MIRRORCACHE_DB_AIO:-}" --rm --name "$containername" --env REBUILD=1 -d -v"$thisdir/../../..":/opt/project -- $ident.image

in_cleanup=0

Expand Down Expand Up @@ -94,6 +94,6 @@ echo "$*"
[ -z $initscript ] || echo "bash -xe /opt/project/t/$initscript" | docker exec -i "$containername" bash -x

set +ex
docker exec -e TESTCASE="$testcase" -e MIRRORCACHE_DB_PROVIDER=$dbprovider -i "$containername" bash -c "useradd $(id -nu) -u $(id -u) || :; sudo -E -u \#$(id -u) bash" < "$testcase"
docker exec -e TESTCASE="$testcase" -e MIRRORCACHE_DB_PROVIDER=$dbprovider -e MIRRORCACHE_DB_AIO="${MIRRORCACHE_DB_AIO:-}" -i "$containername" bash -c "useradd $(id -nu) -u $(id -u) || :; sudo -E -u \#$(id -u) bash" < "$testcase"
ret=$?
( exit $ret )
Loading