Skip to content

Commit

Permalink
feat(dev): Use newer kafka & zookeeper images to support Apple arm64
Browse files Browse the repository at this point in the history
The current zookeeper image we use fails to execute on Apple's arm64 machines (see [issue][1]) for details).

Only upgrading the version of both when executing on Apple arm64 machines.

Fixes #28570.

[1]: confluentinc/kafka-images#80 (comment)
  • Loading branch information
armenzg committed Oct 5, 2021
1 parent 0dea2a8 commit 64ca58c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 2 deletions.
4 changes: 4 additions & 0 deletions .github/actions/setup-sentry/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,12 +158,16 @@ runs:
# TODO: Use devservices kafka. See https://github.com/getsentry/sentry/pull/20986#issuecomment-704510570
if [ "$NEED_KAFKA" = "true" ]; then
# This is *not* the production version. Unclear reason as to why this was chosen
# https://github.com/getsentry/ops/blob/c823e62f930ecc6c97bb08898c71e49edc7232f6/cookbooks/getsentry/attributes/default.rb#L631
docker run \
--name sentry_zookeeper \
-d --network host \
-e ZOOKEEPER_CLIENT_PORT=2181 \
confluentinc/cp-zookeeper:4.1.0
# This is the production version; do not change w/o changing it there as well
# https://github.com/getsentry/ops/blob/c823e62f930ecc6c97bb08898c71e49edc7232f6/cookbooks/getsentry/attributes/default.rb#L643
docker run \
--name sentry_kafka \
-d --network host \
Expand Down
11 changes: 9 additions & 2 deletions src/sentry/conf/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -1752,15 +1752,22 @@ def build_cdc_postgres_init_db_volume(settings):
),
"zookeeper": lambda settings, options: (
{
"image": "confluentinc/cp-zookeeper:5.1.2",
# On Apple arm64, we upgrade to version 6.x allows zookeeper to run properly on Apple's arm64
# See details https://github.com/confluentinc/kafka-images/issues/80#issuecomment-855511438
"image": "confluentinc/cp-zookeeper:6.2.0"
if APPLE_ARM64
else "confluentinc/cp-zookeeper:5.1.2",
"environment": {"ZOOKEEPER_CLIENT_PORT": "2181"},
"volumes": {"zookeeper": {"bind": "/var/lib/zookeeper"}},
"only_if": "kafka" in settings.SENTRY_EVENTSTREAM or settings.SENTRY_USE_RELAY,
}
),
"kafka": lambda settings, options: (
{
"image": "confluentinc/cp-kafka:5.1.2",
# On Apple arm64, we upgrade to version 6.x to match zookeeper's version (I believe they both release together)
"image": "confluentinc/cp-kafka:6.2.0"
if APPLE_ARM64
else "confluentinc/cp-kafka:5.1.2",
"ports": {"9092/tcp": 9092},
"environment": {
"KAFKA_ZOOKEEPER_CONNECT": "{containers[zookeeper][name]}:2181",
Expand Down

0 comments on commit 64ca58c

Please sign in to comment.