Skip to content

Commit

Permalink
Improve integration tests (#2511)
Browse files Browse the repository at this point in the history
* Improve integration tests

* Update cluster configuration for integration tests

Co-authored-by: Simon Dumas <[email protected]>
  • Loading branch information
imsdu and Simon Dumas authored Jun 3, 2021
1 parent a7e95d7 commit 9480cff
Show file tree
Hide file tree
Showing 24 changed files with 357 additions and 279 deletions.
75 changes: 59 additions & 16 deletions tests/docker/docker-compose-cassandra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ services:
depends_on:
- keycloak
- elasticsearch
- blazegraph
- cassandra
- storage-service
- minio
Expand All @@ -12,7 +13,7 @@ services:
KAMON_ENABLED: "false"
image: bluebrain/nexus-delta:latest<localBuild>
entrypoint: ["bin/wait-for-it.sh", "-s", "-t", "0", "cassandra:9042", "--", "./bin/delta-app",
"-Xmx2G",
"-Xmx512m",
"-Dapp.http.interface=0.0.0.0",
"-Dapp.http.base-uri=http://delta:8080/v1",
"-Dapp.cluster.remote-interface=delta",
Expand All @@ -21,16 +22,23 @@ services:
"-Dapp.database.cassandra.keyspace-autocreate=true",
"-Dapp.database.cassandra.tables-autocreate=true",
"-Dplugins.elasticsearch.base=http://elasticsearch:9200",
"-Dplugins.elasticsearch.indexing.max-time-window=50ms",
"-Dplugins.blazegraph.base=http://blazegraph:9999/blazegraph",
"-Dplugins.composite-views.min-interval-rebuild=15seconds",
"-Dplugins.blazegraph.indexing.max-time-window=50ms",
"-Dplugins.composite-views.min-interval-rebuild=5seconds",
"-Dplugins.composite-views.indexing.max-time-window=50ms",
"-Dplugins.storage.storages.remote-disk.enabled=true",
"-Dplugins.storage.storages.remote-disk.default-endpoint=http://storage-service:8080/v1",
"-Dplugins.storage.storages.amazon.enabled=true",
"-Dakka.persistence.cassandra.events-by-tag.first-time-bucket=20210503T00:00",
"-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=4s",
"-Dakka.persistence.cassandra.query.refresh-interval=1s"]
"-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=2s",
"-Dakka.persistence.cassandra.query.refresh-interval=500ms"]
ports:
- "8080"
deploy:
resources:
limits:
memory: 768M

#########################################################
# Uncomment the following lines to run a local cluster #
Expand All @@ -44,23 +52,30 @@ services:
# KAMON_ENABLED: "false"
# image: bluebrain/nexus-delta:latest<localBuild>
# entrypoint: [ "bin/wait-for-it.sh", "-s", "-t", "0", "delta:8080", "--", "./bin/delta-app",
# "-Xmx2G",
# "-Xmx512m",
# "-Dapp.http.interface=0.0.0.0",
# "-Dapp.http.base-uri=http://delta:8080/v1",
# "-Dapp.cluster.remote-interface=delta2",
# "-Dapp.cluster.seeds=delta:25520",
# "-Dapp.database.cassandra.contact-points.1=cassandra:9042",
# "-Dplugins.elasticsearch.base=http://elasticsearch:9200",
# "-Dplugins.elasticsearch.indexing.max-time-window=50ms",
# "-Dplugins.blazegraph.base=http://blazegraph:9999/blazegraph",
# "-Dplugins.composite-views.min-interval-rebuild=15seconds",
# "-Dplugins.blazegraph.indexing.max-time-window=50ms",
# "-Dplugins.composite-views.min-interval-rebuild=5seconds",
# "-Dplugins.composite-views.indexing.max-time-window=50ms",
# "-Dplugins.storage.storages.remote-disk.enabled=true",
# "-Dplugins.storage.storages.remote-disk.default-endpoint=http://storage-service:8080/v1",
# "-Dplugins.storage.storages.amazon.enabled=true",
# "-Dakka.persistence.cassandra.events-by-tag.first-time-bucket=20210503T00:00",
# "-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=4s",
# "-Dakka.persistence.cassandra.query.refresh-interval=1s"]
# "-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=2s",
# "-Dakka.persistence.cassandra.query.refresh-interval=500ms"]
# ports:
# - "8080"
# deploy:
# resources:
# limits:
# memory: 768M
#
# delta3:
# depends_on:
Expand All @@ -70,37 +85,50 @@ services:
# KAMON_ENABLED: "false"
# image: bluebrain/nexus-delta:latest<localBuild>
# entrypoint: [ "bin/wait-for-it.sh", "-s", "-t", "0", "delta2:8080", "--", "./bin/delta-app",
# "-Xmx2G",
# "-Xmx512m",
# "-Dapp.http.interface=0.0.0.0",
# "-Dapp.http.base-uri=http://delta:8080/v1",
# "-Dapp.cluster.remote-interface=delta3",
# "-Dapp.cluster.seeds=delta:25520",
# "-Dapp.database.cassandra.contact-points.1=cassandra:9042",
# "-Dplugins.elasticsearch.base=http://elasticsearch:9200",
# "-Dplugins.elasticsearch.indexing.max-time-window=50ms",
# "-Dplugins.blazegraph.base=http://blazegraph:9999/blazegraph",
# "-Dplugins.composite-views.min-interval-rebuild=15seconds",
# "-Dplugins.blazegraph.indexing.max-time-window=50ms",
# "-Dplugins.composite-views.min-interval-rebuild=5seconds",
# "-Dplugins.composite-views.indexing.max-time-window=50ms",
# "-Dplugins.storage.storages.remote-disk.enabled=true",
# "-Dplugins.storage.storages.remote-disk.default-endpoint=http://storage-service:8080/v1",
# "-Dplugins.storage.storages.amazon.enabled=true",
# "-Dakka.persistence.cassandra.events-by-tag.first-time-bucket=20210503T00:00",
# "-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=4s",
# "-Dakka.persistence.cassandra.query.refresh-interval=1s"]
# "-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=2s",
# "-Dakka.persistence.cassandra.query.refresh-interval=500ms"]
# ports:
# - "8080"
# deploy:
# resources:
# limits:
# memory: 768M

keycloak:
image: jboss/keycloak:11.0.1<skipPull>
environment:
JAVA_OPTS: "-Xms64m -Xmx256m"
KEYCLOAK_USER: "admin"
KEYCLOAK_PASSWORD: "admin"
KEYCLOAK_FRONTEND_URL: "http://keycloak:8080/auth"
DB_VENDOR: H2
ports:
- "8080"
deploy:
resources:
limits:
memory: 384M

elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.12.0<skipPull>
environment:
ES_JAVA_OPTS: "-Xmx1G"
ES_JAVA_OPTS: "-Xmx256m"
discovery.type: "single-node"
bootstrap.memory_lock: "true"
healthcheck:
Expand All @@ -110,30 +138,41 @@ services:
retries: 3
ports:
- "9200"
deploy:
resources:
limits:
memory: 384M

blazegraph:
image: bluebrain/blazegraph-nexus:2.1.5<skipPull>
environment:
JAVA_OPTS: "-Djava.awt.headless=true -XX:MaxDirectMemorySize=300m -Xms1g -Xmx1g -XX:+UseG1GC"
JAVA_OPTS: "-Djava.awt.headless=true -XX:MaxDirectMemorySize=64m -Xmx256m -XX:+UseG1GC"
ports:
- "9999"
deploy:
resources:
limits:
memory: 384M

cassandra:
image: cassandra:3.11.8<skipPull>
environment:
JVM_OPTS: "-Xms1g -Xmx1g -Dcassandra.initial_token=0 -Dcassandra.skip_wait_for_gossip_to_settle=0"
MAX_HEAP_SIZE: "1G"
JVM_OPTS: "-Xms300m -Xmx512m -Dcassandra.initial_token=0 -Dcassandra.skip_wait_for_gossip_to_settle=0"
MAX_HEAP_SIZE: "512m"
HEAP_NEWSIZE: "100m"
CASSANDRA_BROADCAST_ADDRESS: cassandra
CASSANDRA_NUM_TOKENS: 1
healthcheck:
test: ["CMD", "cqlsh","-e describe keyspaces"]
interval: 30s
timeout: 20s
retries: 3


storage-service:
image: bluebrain/nexus-storage:latest
entrypoint: [ "./bin/storage",
"-Xmx192m",
"-Dapp.instance.interface=0.0.0.0",
"-Dapp.http.interface=0.0.0.0",
"-Dapp.http.public-uri=http://storage.tests.nexus.ocp.bbp.epfl.ch",
Expand All @@ -151,6 +190,10 @@ services:
- "8080"
volumes:
- /tmp/storage:/data
deploy:
resources:
limits:
memory: 256M

minio:
image: minio/minio:RELEASE.2020-09-21T22-31-59Z<skipPull>
Expand Down
33 changes: 21 additions & 12 deletions tests/docker/docker-compose-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,21 +16,23 @@ services:
"-Xmx4G",
"-Dapp.http.interface=0.0.0.0",
"-Dapp.http.base-uri=http://delta:8080/v1",
"-Dapp.cluster.remote-interface=delta",
"-Dapp.cluster.seeds=delta:25520",
"-Dapp.database.cassandra.contact-points.1=cassandra:9042",
"-Dapp.database.cassandra.keyspace-autocreate=true",
"-Dapp.database.cassandra.tables-autocreate=true",
"-Dapp.cluster.remote-interface=delta",
"-Dapp.cluster.seeds=delta:25520",
# "-Dakka.cluster.min-nr-of-members=3",
"-Dplugins.elasticsearch.base=http://elasticsearch:9200",
"-Dplugins.elasticsearch.indexing.max-time-window=50ms",
"-Dplugins.blazegraph.base=http://blazegraph:9999/blazegraph",
"-Dplugins.composite-views.min-interval-rebuild=15seconds",
"-Dplugins.blazegraph.indexing.max-time-window=50ms",
"-Dplugins.composite-views.min-interval-rebuild=5seconds",
"-Dplugins.composite-views.indexing.max-time-window=50ms",
"-Dplugins.storage.storages.remote-disk.enabled=true",
"-Dplugins.storage.storages.remote-disk.default-endpoint=http://storage-service:8080/v1",
"-Dplugins.storage.storages.amazon.enabled=true",
"-Dakka.persistence.cassandra.events-by-tag.first-time-bucket=20210503T00:00",
"-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=4s",
"-Dakka.persistence.cassandra.query.refresh-interval=1s"]
"-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=2s",
"-Dakka.persistence.cassandra.query.refresh-interval=500ms"]
ports:
- "8080"

Expand All @@ -50,14 +52,17 @@ services:
# "-Dakka.cluster.min-nr-of-members=3",
# "-Dapp.database.cassandra.contact-points.1=cassandra:9042",
# "-Dplugins.elasticsearch.base=http://elasticsearch:9200",
# "-Dplugins.elasticsearch.indexing.max-time-window=50ms",
# "-Dplugins.blazegraph.base=http://blazegraph:9999/blazegraph",
# "-Dplugins.composite-views.min-interval-rebuild=15seconds",
# "-Dplugins.blazegraph.indexing.max-time-window=50ms",
# "-Dplugins.composite-views.min-interval-rebuild=5seconds",
# "-Dplugins.composite-views.indexing.max-time-window=50ms",
# "-Dplugins.storage.storages.remote-disk.enabled=true",
# "-Dplugins.storage.storages.remote-disk.default-endpoint=http://storage-service:8080/v1",
# "-Dplugins.storage.storages.amazon.enabled=true",
# "-Dakka.persistence.cassandra.events-by-tag.first-time-bucket=20210503T00:00",
# "-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=4s",
# "-Dakka.persistence.cassandra.query.refresh-interval=1s"]
# "-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=2s",
# "-Dakka.persistence.cassandra.query.refresh-interval=500ms"]
# ports:
# - "8080"
#
Expand All @@ -77,14 +82,17 @@ services:
# "-Dakka.cluster.min-nr-of-members=3",
# "-Dapp.database.cassandra.contact-points.1=cassandra:9042",
# "-Dplugins.elasticsearch.base=http://elasticsearch:9200",
# "-Dplugins.elasticsearch.indexing.max-time-window=50ms",
# "-Dplugins.blazegraph.base=http://blazegraph:9999/blazegraph",
# "-Dplugins.composite-views.min-interval-rebuild=15seconds",
# "-Dplugins.blazegraph.indexing.max-time-window=50ms",
# "-Dplugins.composite-views.min-interval-rebuild=5seconds",
# "-Dplugins.composite-views.indexing.max-time-window=50ms",
# "-Dplugins.storage.storages.remote-disk.enabled=true",
# "-Dplugins.storage.storages.remote-disk.default-endpoint=http://storage-service:8080/v1",
# "-Dplugins.storage.storages.amazon.enabled=true",
# "-Dakka.persistence.cassandra.events-by-tag.first-time-bucket=20210503T00:00",
# "-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=4s",
# "-Dakka.persistence.cassandra.query.refresh-interval=1s"]
# "-Dakka.persistence.cassandra.events-by-tag.eventual-consistency-delay=2s",
# "-Dakka.persistence.cassandra.query.refresh-interval=500ms"]
# ports:
# - "8080"

Expand All @@ -94,6 +102,7 @@ services:
KEYCLOAK_USER: "admin"
KEYCLOAK_PASSWORD: "admin"
KEYCLOAK_FRONTEND_URL: "http://keycloak:8080/auth"
DB_VENDOR: H2
ports:
- "8080"

Expand Down
Loading

0 comments on commit 9480cff

Please sign in to comment.