mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-24366 Use environment variables as S3 test case variables
Move the S3 test case variables to suite.pm to use environment variables. Use minio credentials if a TCP connection to localhost:9000 is accepted so the current build works corrected. Reviewer: Daniel Black closes #1711
This commit is contained in:
@ -5,6 +5,15 @@
|
|||||||
plugin-maturity = gamma
|
plugin-maturity = gamma
|
||||||
plugin-load-add=@ENV.HA_S3_SO
|
plugin-load-add=@ENV.HA_S3_SO
|
||||||
s3=ON
|
s3=ON
|
||||||
|
s3-host-name=@ENV.S3_HOST_NAME
|
||||||
|
s3-protocol-version=@ENV.S3_PROTOCOL_VERSION
|
||||||
|
s3-bucket=@ENV.S3_BUCKET
|
||||||
|
s3-access-key=@ENV.S3_ACCESS_KEY
|
||||||
|
s3-secret-key=@ENV.S3_SECRET_KEY
|
||||||
|
s3-region=@ENV.S3_REGION
|
||||||
|
s3-port=@ENV.S3_PORT
|
||||||
|
s3-use-http=@ENV.S3_USE_HTTP
|
||||||
|
|
||||||
#s3-host-name=s3.amazonaws.com
|
#s3-host-name=s3.amazonaws.com
|
||||||
#s3-protocol-version=Amazon
|
#s3-protocol-version=Amazon
|
||||||
#s3-bucket=MariaDB
|
#s3-bucket=MariaDB
|
||||||
@ -15,11 +24,11 @@ s3=ON
|
|||||||
##
|
##
|
||||||
## Configuration for local MinIO
|
## Configuration for local MinIO
|
||||||
##
|
##
|
||||||
s3-host-name="127.0.0.1"
|
#s3-host-name="127.0.0.1"
|
||||||
# Note: s3-host-name="localhost" doesn't work. It causes
|
## Note: s3-host-name="localhost" doesn't work. It causes
|
||||||
# libmarias3 to use the wrong variant of the protocol.
|
## libmarias3 to use the wrong variant of the protocol.
|
||||||
s3-bucket=storage-engine
|
#s3-bucket=storage-engine
|
||||||
s3-access-key=minio
|
#s3-access-key=minio
|
||||||
s3-secret-key=minioadmin
|
#s3-secret-key=minioadmin
|
||||||
s3-port=9000
|
#s3-port=9000
|
||||||
s3-use-http=ON
|
#s3-use-http=ON
|
||||||
|
@ -3,6 +3,14 @@ plugin-maturity = gamma
|
|||||||
plugin-load-add=@ENV.HA_S3_SO
|
plugin-load-add=@ENV.HA_S3_SO
|
||||||
s3=ON
|
s3=ON
|
||||||
s3-slave-ignore-updates=1
|
s3-slave-ignore-updates=1
|
||||||
|
s3-host-name=@ENV.S3_HOST_NAME
|
||||||
|
s3-protocol-version=@ENV.S3_PROTOCOL_VERSION
|
||||||
|
s3-bucket=@ENV.S3_BUCKET
|
||||||
|
s3-access-key=@ENV.S3_ACCESS_KEY
|
||||||
|
s3-secret-key=@ENV.S3_SECRET_KEY
|
||||||
|
s3-region=@ENV.S3_REGION
|
||||||
|
s3-port=@ENV.S3_PORT
|
||||||
|
s3-use-http=@ENV.S3_USE_HTTP
|
||||||
|
|
||||||
# You can change the following when running the tests against
|
# You can change the following when running the tests against
|
||||||
# your own S3 setup
|
# your own S3 setup
|
||||||
@ -17,11 +25,11 @@ s3-slave-ignore-updates=1
|
|||||||
##
|
##
|
||||||
## Configuration for local MinIO
|
## Configuration for local MinIO
|
||||||
##
|
##
|
||||||
s3-host-name="127.0.0.1"
|
#s3-host-name="127.0.0.1"
|
||||||
# Note: s3-host-name="localhost" doesn't work. It causes
|
## Note: s3-host-name="localhost" doesn't work. It causes
|
||||||
# libmarias3 to use the wrong variant of the protocol.
|
## libmarias3 to use the wrong variant of the protocol.
|
||||||
s3-bucket=storage-engine
|
#s3-bucket=storage-engine
|
||||||
s3-access-key=minio
|
#s3-access-key=minio
|
||||||
s3-secret-key=minioadmin
|
#s3-secret-key=minioadmin
|
||||||
s3-port=9000
|
#s3-port=9000
|
||||||
s3-use-http=ON
|
#s3-use-http=ON
|
||||||
|
@ -1,8 +1,67 @@
|
|||||||
package My::Suite::S3;
|
package My::Suite::S3;
|
||||||
|
|
||||||
|
use Socket;
|
||||||
|
|
||||||
@ISA = qw(My::Suite);
|
@ISA = qw(My::Suite);
|
||||||
|
|
||||||
return "Need S3 engine" unless $::mysqld_variables{'s3'} eq "ON" or $ENV{HA_S3_SO};
|
return "Need S3 engine" unless $::mysqld_variables{'s3'} eq "ON" or $ENV{HA_S3_SO};
|
||||||
|
|
||||||
|
my $paddr = sockaddr_in(9000, INADDR_ANY);
|
||||||
|
my $protocol = getprotobyname("tcp");
|
||||||
|
socket(SOCK, PF_INET, SOCK_STREAM, $protocol);
|
||||||
|
|
||||||
|
if(connect(SOCK, $paddr))
|
||||||
|
{
|
||||||
|
$ENV{'S3_HOST_NAME'} = "127.0.0.1";
|
||||||
|
$ENV{'S3_PORT'} = 9000;
|
||||||
|
$ENV{'S3_BUCKET'} = "storage-engine";
|
||||||
|
$ENV{'S3_ACCESS_KEY'} = "minio";
|
||||||
|
$ENV{'S3_SECRET_KEY'} = "minioadmin";
|
||||||
|
$ENV{'S3_REGION'} = "";
|
||||||
|
$ENV{'S3_PROTOCOL_VERSION'} = "Auto";
|
||||||
|
$ENV{'S3_USE_HTTP'} = "ON";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (!$ENV{'S3_HOST_NAME'})
|
||||||
|
{
|
||||||
|
return "Environment variable S3_HOST_NAME need to be set";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$ENV{'S3_BUCKET'})
|
||||||
|
{
|
||||||
|
return "Environment variable S3_BUCKET need to be set";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$ENV{'S3_REGION'})
|
||||||
|
{
|
||||||
|
$ENV{'S3_REGION'} = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$ENV{'S3_ACCESS_KEY'})
|
||||||
|
{
|
||||||
|
return "Environment variable S3_ACCESS_KEY need to be set";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$ENV{'S3_SECRET_KEY'})
|
||||||
|
{
|
||||||
|
return "Environment variable S3_SECRET_KEY need to be set";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$ENV{'S3_PROTOCOL_VERSION'})
|
||||||
|
{
|
||||||
|
$ENV{'S3_PROTOCOL_VERSION'} = "Auto";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$ENV{'S3_PORT'})
|
||||||
|
{
|
||||||
|
$ENV{'S3_PORT'} = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$ENV{'S3_USE_HTTP'})
|
||||||
|
{
|
||||||
|
$ENV{'S3_USE_HTTP'} = "OFF";
|
||||||
|
}
|
||||||
|
}
|
||||||
bless { };
|
bless { };
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user