diff --git a/toolset/databases/mongodb/create.js b/toolset/databases/mongodb/create.js index dc1a1e6ca61..c34e2530232 100644 --- a/toolset/databases/mongodb/create.js +++ b/toolset/databases/mongodb/create.js @@ -1,7 +1,8 @@ +disableTelemetry() db = db.getSiblingDB('hello_world') db.world.drop() for (var i = 1; i <= 10000; i++) { - db.world.save( { _id: i, id: i, randomNumber: Math.min(Math.floor(Math.random() * 10000) + 1, 10000) }) + db.world.insertOne( { _id: i, id: i, randomNumber: Math.min(Math.floor(Math.random() * 10000) + 1, 10000) }) } db.world.createIndex({_id: 1}) @@ -9,17 +10,17 @@ db.world.createIndex({id: 1}) db.fortune.drop() -db.fortune.save( {_id: 1, id: 1, message: 'fortune: No such file or directory'} ); -db.fortune.save( {_id: 2, id: 2, message: "A computer scientist is someone who fixes things that aren't broken."} ); -db.fortune.save( {_id: 3, id: 3, message: 'After enough decimal places, nobody gives a damn.'} ); -db.fortune.save( {_id: 4, id: 4, message: 'A bad random number generator: 1, 1, 1, 1, 1, 4.33e+67, 1, 1, 1'} ); -db.fortune.save( {_id: 5, id: 5, message: 'A computer program does what you tell it to do, not what you want it to do.'} ); -db.fortune.save( {_id: 6, id: 6, message: 'Emacs is a nice operating system, but I prefer UNIX. — Tom Christaensen'} ); -db.fortune.save( {_id: 7, id: 7, message: 'Any program that runs right is obsolete.'} ); -db.fortune.save( {_id: 8, id: 8, message: 'A list is only as strong as its weakest link. — Donald Knuth'} ); -db.fortune.save( {_id: 9, id: 9, message: 'Feature: A bug with seniority.'} ); -db.fortune.save( {_id: 10, id: 10, message: 'Computers make very fast, very accurate mistakes.'} ); -db.fortune.save( {_id: 11, id: 11, message: ''} ); -db.fortune.save( {_id: 12, id: 12, message: 'フレームワークのベンチマーク'} ); +db.fortune.insertOne( {_id: 1, id: 1, message: 'fortune: No such file or directory'} ); +db.fortune.insertOne( {_id: 2, id: 2, message: "A computer scientist is someone who fixes things that aren't broken."} ); +db.fortune.insertOne( {_id: 3, id: 3, message: 'After enough decimal places, nobody gives a damn.'} ); +db.fortune.insertOne( {_id: 4, id: 4, message: 'A bad random number generator: 1, 1, 1, 1, 1, 4.33e+67, 1, 1, 1'} ); +db.fortune.insertOne( {_id: 5, id: 5, message: 'A computer program does what you tell it to do, not what you want it to do.'} ); +db.fortune.insertOne( {_id: 6, id: 6, message: 'Emacs is a nice operating system, but I prefer UNIX. — Tom Christaensen'} ); +db.fortune.insertOne( {_id: 7, id: 7, message: 'Any program that runs right is obsolete.'} ); +db.fortune.insertOne( {_id: 8, id: 8, message: 'A list is only as strong as its weakest link. — Donald Knuth'} ); +db.fortune.insertOne( {_id: 9, id: 9, message: 'Feature: A bug with seniority.'} ); +db.fortune.insertOne( {_id: 10, id: 10, message: 'Computers make very fast, very accurate mistakes.'} ); +db.fortune.insertOne( {_id: 11, id: 11, message: ''} ); +db.fortune.insertOne( {_id: 12, id: 12, message: 'フレームワークのベンチマーク'} ); db.fortune.createIndex({_id: 1}) diff --git a/toolset/databases/mongodb/mongodb.dockerfile b/toolset/databases/mongodb/mongodb.dockerfile index 63931966a16..36cae299628 100644 --- a/toolset/databases/mongodb/mongodb.dockerfile +++ b/toolset/databases/mongodb/mongodb.dockerfile @@ -1,17 +1,20 @@ -FROM buildpack-deps:bionic +FROM buildpack-deps:jammy + +ARG MONGODB_VERSION=6.0 COPY ./ ./ -RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 4B7C549A058F8B6B -RUN echo "deb https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org.list -RUN apt-get -yqq update > /dev/null +ARG DEBIAN_FRONTEND=noninteractive +RUN wget -qO - https://www.mongodb.org/static/pgp/server-${MONGODB_VERSION}.asc > /etc/apt/keyrings/mongodb-org.asc +RUN echo "deb [ signed-by=/etc/apt/keyrings/mongodb-org.asc ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/$MONGODB_VERSION multiverse" > \ + /etc/apt/sources.list.d/mongodb-org.list # Complete and utter hax if works RUN ln -s /bin/echo /bin/systemctl -RUN DEBIAN_FRONTEND=noninteractive apt-get -yqq install apt-transport-https mongodb-org > /dev/null +RUN apt-get -yqq update && apt-get -yqq install mongodb-org RUN mkdir -p /data/db RUN chmod 777 /data/db -RUN mongod --fork --logpath /var/log/mongodb.log --bind_ip_all && sleep 10 && mongo < create.js && sleep 10 +RUN mongod --fork --logpath /var/log/mongodb.log --bind_ip_all && sleep 10 && mongosh < create.js && sleep 10 CMD ["mongod", "--bind_ip_all"] diff --git a/toolset/databases/postgres/pgdg.list b/toolset/databases/postgres/pgdg.list deleted file mode 100644 index 64b2188359e..00000000000 --- a/toolset/databases/postgres/pgdg.list +++ /dev/null @@ -1,2 +0,0 @@ -deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main -deb-src http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main diff --git a/toolset/databases/postgres/postgres.dockerfile b/toolset/databases/postgres/postgres.dockerfile index f00cf2b0f8c..7e02d8d972d 100644 --- a/toolset/databases/postgres/postgres.dockerfile +++ b/toolset/databases/postgres/postgres.dockerfile @@ -1,31 +1,30 @@ -FROM buildpack-deps:bionic +FROM buildpack-deps:jammy + +ARG PG_VERSION=15 ADD postgresql.conf postgresql.conf ADD pg_hba.conf pg_hba.conf ADD 60-postgresql-shm.conf 60-postgresql-shm.conf ADD create-postgres-database.sql create-postgres-database.sql ADD create-postgres.sql create-postgres.sql -ADD pgdg.list pgdg.list # prepare PostgreSQL APT repository -RUN cp pgdg.list /etc/apt/sources.list.d/ -RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - - -RUN apt-get -yqq update > /dev/null -RUN apt-get -yqq install locales +ARG DEBIAN_FRONTEND=noninteractive +RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc > /etc/apt/keyrings/postgresql.asc +RUN echo "deb [ signed-by=/etc/apt/keyrings/postgresql.asc ] http://apt.postgresql.org/pub/repos/apt jammy-pgdg main" > \ + /etc/apt/sources.list.d/pgdg.list +RUN apt-get -yqq update && apt-get -yqq install apt-utils locales -ENV PG_VERSION 14 RUN locale-gen en_US.UTF-8 -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 -ENV DEBIAN_FRONTEND noninteractive +ENV LANG=en_US.UTF-8 +ENV LANGUAGE=en_US:en +ENV LC_ALL=en_US.UTF-8 # install postgresql on database machine RUN apt-get -yqq install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" postgresql-${PG_VERSION} postgresql-contrib-${PG_VERSION} # Make sure all the configuration files in main belong to postgres -RUN sed -i "s|PG_VERSION|${PG_VERSION}|g" postgresql.conf +RUN sed -i "s|PG_VERSION|${PG_VERSION}|g" postgresql.conf RUN mv postgresql.conf /etc/postgresql/${PG_VERSION}/main/postgresql.conf RUN mv pg_hba.conf /etc/postgresql/${PG_VERSION}/main/pg_hba.conf @@ -53,6 +52,6 @@ RUN service postgresql start && \ psql -a hello_world < create-postgres.sql && \ service postgresql stop -ENV PATH $PATH:/usr/lib/postgresql/$PG_VERSION/bin +ENV PATH=$PATH:/usr/lib/postgresql/$PG_VERSION/bin CMD ["postgres"] diff --git a/toolset/databases/postgres/postgresql.conf b/toolset/databases/postgres/postgresql.conf index 8e54a812f2f..fd90cd2b15b 100644 --- a/toolset/databases/postgres/postgresql.conf +++ b/toolset/databases/postgres/postgresql.conf @@ -46,7 +46,7 @@ ident_file = '/etc/postgresql/PG_VERSION/main/pg_ident.conf' # ident configurati # (change requires restart) # If external_pid_file is not explicitly set, no extra PID file is written. -external_pid_file = '/var/run/postgresql/13-main.pid' # write an extra PID file +external_pid_file = '/var/run/postgresql/PG_VERSION-main.pid' # write an extra PID file # (change requires restart) diff --git a/toolset/wrk/wrk.dockerfile b/toolset/wrk/wrk.dockerfile index 783c73307c2..036b8e7bd19 100644 --- a/toolset/wrk/wrk.dockerfile +++ b/toolset/wrk/wrk.dockerfile @@ -1,11 +1,12 @@ -FROM buildpack-deps:bionic +FROM buildpack-deps:jammy -RUN apt-get update && apt-get install -yqq libluajit-5.1-dev libssl-dev luajit +ARG DEBIAN_FRONTEND=noninteractive +RUN apt-get -yqq update && apt-get -yqq install libluajit-5.1-dev libssl-dev luajit WORKDIR /wrk -RUN curl -sL https://github.com/wg/wrk/archive/4.1.0.tar.gz | tar xz --strip-components=1 -ENV LDFLAGS="-O3 -march=native -mtune=native -flto" -ENV CFLAGS="-I /usr/include/luajit-2.1 $LDFLAGS" +RUN curl -sL https://github.com/wg/wrk/archive/4.2.0.tar.gz | tar xz --strip-components=1 +ARG LDFLAGS="-O3 -march=native -mtune=native -flto" +ARG CFLAGS="-I /usr/include/luajit-2.1 $LDFLAGS" RUN make WITH_LUAJIT=/usr WITH_OPENSSL=/usr -j "$(nproc)" RUN cp wrk /usr/local/bin @@ -19,11 +20,11 @@ COPY query.sh query.sh RUN chmod 777 pipeline.lua concurrency.sh pipeline.sh query.sh # Environment vars required by the wrk scripts with nonsense defaults -ENV name name -ENV server_host server_host -ENV levels levels -ENV duration duration -ENV max_concurrency max_concurrency -ENV max_threads max_threads -ENV pipeline pipeline -ENV accept accept +ENV name=name +ENV server_host=server_host +ENV levels=levels +ENV duration=duration +ENV max_concurrency=max_concurrency +ENV max_threads=max_threads +ENV pipeline=pipeline +ENV accept=accept