Эх сурвалжийг харах

Merge pull request #4977 from delgod/percona-use-upstream

use upstream percona images
Tianon Gravi 7 жил өмнө
parent
commit
2300b876e9

+ 17 - 17
library/percona

@@ -1,20 +1,20 @@
-# this file is generated via https://github.com/docker-library/percona/blob/2bc351a6c89c243851efc828d7ec19a21663df80/generate-stackbrew-library.sh
-
-Maintainers: Tianon Gravi <[email protected]> (@tianon),
-             Joseph Ferguson <[email protected]> (@yosifkit)
-GitRepo: https://github.com/docker-library/percona.git
-
-Tags: 5.7.23-stretch, 5.7-stretch, 5-stretch, stretch, 5.7.23, 5.7, 5, latest
+Maintainers: Evgeniy Patlan <[email protected]> (@EvgeniyPatlan),
+             Mykola Marzhan <[email protected]> (@delgod)
+GitRepo: https://github.com/percona/percona-docker.git
+GitFetch: refs/heads/master
 Architectures: amd64
-GitCommit: 3cc4caa4d34bf744283d48af4b11f19e28217e3f
-Directory: 5.7
 
-Tags: 5.6.41-stretch, 5.6-stretch, 5.6.41, 5.6
-Architectures: amd64
-GitCommit: c21319e084e50e831f33767d8ee1110711f93472
-Directory: 5.6
+Tags: 8.0.12-2rc1-centos, 8.0-centos, 8-centos, 8.0.12-2rc1, 8.0, 8
+GitCommit: 9f4a229bf338497d47b7216929a53f715fdade17
+Directory: percona-server.80
+File: Dockerfile
 
-Tags: 5.5.61-stretch, 5.5-stretch, 5.5.61, 5.5
-Architectures: amd64
-GitCommit: c21319e084e50e831f33767d8ee1110711f93472
-Directory: 5.5
+Tags: 5.7.23-centos, 5.7-centos, 5-centos, centos, 5.7.23, 5.7, 5, latest
+GitCommit: 9f4a229bf338497d47b7216929a53f715fdade17
+Directory: percona-server.57
+File: Dockerfile-dockerhub
+
+Tags: 5.6.41-centos, 5.6-centos, 5.6.41, 5.6
+GitCommit: 9f4a229bf338497d47b7216929a53f715fdade17
+Directory: percona-server.56
+File: Dockerfile-dockerhub

+ 2 - 0
test/config.sh

@@ -138,6 +138,8 @@ imageTests+=(
 		open-liberty-hello-world
 	'
 	[percona]='
+		percona-tokudb
+		percona-rocksdb
 	'
 	[perl]='
 		perl-hello-world

+ 1 - 0
test/tests/mysql-log-bin/run.sh

@@ -21,6 +21,7 @@ mysql() {
 		--link "$cname":mysql \
 		--entrypoint mysql \
 		"$image" \
+		-uroot \
 		-hmysql \
 		--silent \
 		"$@"

+ 48 - 0
test/tests/percona-rocksdb/run.sh

@@ -0,0 +1,48 @@
+#!/bin/bash
+set -eo pipefail
+
+dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
+
+image="$1"
+
+export MYSQL_ROOT_PASSWORD='this is an example test password'
+export MYSQL_USER='0123456789012345' # "ERROR: 1470  String 'my cool mysql user' is too long for user name (should be no longer than 16)"
+export MYSQL_PASSWORD='my cool mysql password'
+export MYSQL_DATABASE='my cool mysql database'
+VERSION=$(docker run --rm "$image" --version | awk '{print$3}')
+
+if [[ $VERSION =~ ^5.[56] ]]; then
+	echo [skipped] no RocksDB support in 5.5, 5.6
+	exit 0
+fi
+
+cname="mysql-container-$RANDOM-$RANDOM"
+cid="$(
+	docker run -d \
+		-e INIT_ROCKSDB=1 \
+		-e MYSQL_ROOT_PASSWORD \
+		-e MYSQL_USER \
+		-e MYSQL_PASSWORD \
+		-e MYSQL_DATABASE \
+		--name "$cname" \
+		"$image"
+)"
+trap "docker rm -vf $cid > /dev/null" EXIT
+
+mysql() {
+	docker run --rm -i \
+		--link "$cname":mysql \
+		--entrypoint mysql \
+		-e MYSQL_PWD="$MYSQL_PASSWORD" \
+		"$image" \
+		-hmysql \
+		-u"$MYSQL_USER" \
+		--silent \
+		"$@" \
+		"$MYSQL_DATABASE"
+}
+
+. "$dir/../../retry.sh" --tries 20 "echo 'SELECT 1' | mysql"
+
+echo 'CREATE TABLE test (a INT, b INT, c VARCHAR(255)) ENGINE=RocksDB' | mysql
+[ "$(echo 'SELECT COUNT(*) FROM test' | mysql)" = 0 ]

+ 60 - 0
test/tests/percona-tokudb/run.sh

@@ -0,0 +1,60 @@
+#!/bin/bash
+set -eo pipefail
+
+dir="$(dirname "$(readlink -f "$BASH_SOURCE")")"
+
+image="$1"
+
+export MYSQL_ROOT_PASSWORD='this is an example test password'
+export MYSQL_USER='0123456789012345' # "ERROR: 1470  String 'my cool mysql user' is too long for user name (should be no longer than 16)"
+export MYSQL_PASSWORD='my cool mysql password'
+export MYSQL_DATABASE='my cool mysql database'
+
+# TokuDB can be checked only if transparent_hugepage is disabled
+if [ -f /sys/kernel/mm/transparent_hugepage/defrag ]; then
+	DEFRAG_OLDSTATE=$(cat /sys/kernel/mm/transparent_hugepage/defrag | sed -e 's/.*\[//; s/].*//')
+	if [ "${DEFRAG_OLDSTATE}" != "never" -a ! -w /sys/kernel/mm/transparent_hugepage/defrag ]; then
+		echo [skipped] due to enabled transparent_hugepage
+		exit 0
+	fi
+fi
+
+# TokuDB can be checked only if transparent_hugepage is disabled
+if [ -f /sys/kernel/mm/transparent_hugepage/enabled ]; then
+	HUGEPAGE_OLDSTATE=$(cat /sys/kernel/mm/transparent_hugepage/enabled | sed -e 's/.*\[//; s/].*//')
+	if [ "$HUGEPAGE_OLDSTATE" != "never" -a ! -w /sys/kernel/mm/transparent_hugepage/enabled ]; then
+		echo [skipped] due to enabled transparent_hugepage
+		exit 0
+	fi
+fi
+
+cname="mysql-container-$RANDOM-$RANDOM"
+cid="$(
+	docker run -d \
+		-e INIT_TOKUDB=1 \
+		-e MYSQL_ROOT_PASSWORD \
+		-e MYSQL_USER \
+		-e MYSQL_PASSWORD \
+		-e MYSQL_DATABASE \
+		--name "$cname" \
+		"$image"
+)"
+trap "docker rm -vf $cid > /dev/null" EXIT
+
+mysql() {
+	docker run --rm -i \
+		--link "$cname":mysql \
+		--entrypoint mysql \
+		-e MYSQL_PWD="$MYSQL_PASSWORD" \
+		"$image" \
+		-hmysql \
+		-u"$MYSQL_USER" \
+		--silent \
+		"$@" \
+		"$MYSQL_DATABASE"
+}
+
+. "$dir/../../retry.sh" --tries 20 "echo 'SELECT 1' | mysql"
+
+echo 'CREATE TABLE test (a INT, b INT, c VARCHAR(255), PRIMARY KEY index_a (a), CLUSTERING KEY index_b (b)) ENGINE=TokuDB' | mysql
+[ "$(echo 'SELECT COUNT(*) FROM test' | mysql)" = 0 ]