Merge pull request #4666 from nextcloud/enable-redis-cluster
Add redis cluster tests to our CI jobs
This commit is contained in:
commit
78e6c2dea4
4 changed files with 44 additions and 6 deletions
18
.drone.yml
18
.drone.yml
|
@ -526,6 +526,17 @@ pipeline:
|
|||
when:
|
||||
matrix:
|
||||
TEST: memcache-memcached
|
||||
memcache-redis-cluster:
|
||||
image: nextcloudci/php7.0:php7.0-7
|
||||
commands:
|
||||
- sleep 10
|
||||
- ./autotest.sh sqlite tests/lib/Memcache/RedisTest.php
|
||||
- wget https://codecov.io/bash -O codecov.sh
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' = 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -P $DRONE_PULL_REQUEST -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
- sh -c "if [ '$DRONE_BUILD_EVENT' != 'pull_request' ]; then bash codecov.sh -B $DRONE_BRANCH -C $DRONE_COMMIT -t 117641e2-a9e8-4b7b-984b-ae872d9b05f5 -f tests/autotest-clover-sqlite.xml; fi"
|
||||
when:
|
||||
matrix:
|
||||
TEST: memcache-redis-cluster
|
||||
matrix:
|
||||
include:
|
||||
- TESTS: checkers
|
||||
|
@ -582,6 +593,8 @@ matrix:
|
|||
- TESTS: sqlite-php7.0-samba-native
|
||||
- TESTS: sqlite-php7.0-samba-non-native
|
||||
- TEST: memcache-memcached
|
||||
- TEST: memcache-redis-cluster
|
||||
ENABLE_REDIS_CLUSTER: true
|
||||
- TESTS: sqlite-php7.0-webdav-apache
|
||||
ENABLE_REDIS: true
|
||||
- DB: NODB
|
||||
|
@ -618,6 +631,11 @@ services:
|
|||
when:
|
||||
matrix:
|
||||
ENABLE_REDIS: true
|
||||
cache-cluster:
|
||||
image: grokzen/redis-cluster
|
||||
when:
|
||||
matrix:
|
||||
ENABLE_REDIS_CLUSTER: true
|
||||
postgres:
|
||||
image: postgres
|
||||
environment:
|
||||
|
|
|
@ -184,6 +184,8 @@ function execute_tests {
|
|||
|
||||
if [ "$ENABLE_REDIS" == "true" ] ; then
|
||||
cp tests/redis.config.php config/redis.config.php
|
||||
elif [ "$ENABLE_REDIS_CLUSTER" == "true" ] ; then
|
||||
cp tests/redis-cluster.config.php config/redis.config.php
|
||||
fi
|
||||
|
||||
_DB=$DB
|
||||
|
|
|
@ -79,12 +79,10 @@ class Redis extends Cache implements IMemcacheTTL {
|
|||
|
||||
public function clear($prefix = '') {
|
||||
$prefix = $this->getNameSpace() . $prefix . '*';
|
||||
$it = null;
|
||||
self::$cache->setOption(\Redis::OPT_SCAN, \Redis::SCAN_RETRY);
|
||||
while ($keys = self::$cache->scan($it, $prefix)) {
|
||||
self::$cache->del($keys);
|
||||
}
|
||||
return true;
|
||||
$keys = self::$cache->keys($prefix);
|
||||
$deleted = self::$cache->del($keys);
|
||||
|
||||
return count($keys) === $deleted;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
20
tests/redis-cluster.config.php
Normal file
20
tests/redis-cluster.config.php
Normal file
|
@ -0,0 +1,20 @@
|
|||
<?php
|
||||
|
||||
$CONFIG = [
|
||||
'memcache.local' => '\\OC\\Memcache\\Redis',
|
||||
'memcache.distributed' => '\\OC\\Memcache\\Redis',
|
||||
'memcache.locking' => '\\OC\\Memcache\\Redis',
|
||||
'redis.cluster' => [
|
||||
'seeds' => [ // provide some/all of the cluster servers to bootstrap discovery, port required
|
||||
'localhost:7000',
|
||||
'localhost:7001',
|
||||
'localhost:7002',
|
||||
'localhost:7003',
|
||||
'localhost:7004',
|
||||
'localhost:7005'
|
||||
],
|
||||
'timeout' => 0.0,
|
||||
'read_timeout' => 0.0,
|
||||
'failover_mode' => \RedisCluster::FAILOVER_ERROR
|
||||
],
|
||||
];
|
Loading…
Reference in a new issue