From 51b97345440706ff4767783337a679a26a47ce6e Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Wed, 24 Aug 2022 16:45:03 +0200 Subject: [PATCH] [bitnami/cassandra] Release 4.0.5-debian-11-r13 (#4209) Signed-off-by: Bitnami Containers Signed-off-by: Bitnami Containers --- bitnami/cassandra/4.0/debian-11/Dockerfile | 4 +- .../opt/bitnami/.bitnami_components.json | 4 +- .../opt/bitnami/scripts/cassandra-env.sh | 4 ++ .../opt/bitnami/scripts/libcassandra.sh | 46 +++++++++++++++++-- bitnami/cassandra/README.md | 2 +- 5 files changed, 51 insertions(+), 9 deletions(-) diff --git a/bitnami/cassandra/4.0/debian-11/Dockerfile b/bitnami/cassandra/4.0/debian-11/Dockerfile index 4ac32027c177..b49e6e201d3c 100644 --- a/bitnami/cassandra/4.0/debian-11/Dockerfile +++ b/bitnami/cassandra/4.0/debian-11/Dockerfile @@ -7,7 +7,7 @@ ENV HOME="/" \ ARG JAVA_EXTRA_SECURITY_DIR="/bitnami/java/extra-security" LABEL org.opencontainers.image.authors="https://bitnami.com/contact" \ org.opencontainers.image.description="Application packaged by Bitnami" \ - org.opencontainers.image.ref.name="4.0.5-debian-11-r12" \ + org.opencontainers.image.ref.name="4.0.5-debian-11-r13" \ org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/cassandra" \ org.opencontainers.image.title="cassandra" \ org.opencontainers.image.vendor="VMware, Inc." \ @@ -21,7 +21,7 @@ RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "python" "3.9.13- RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "java" "1.8.345-1" --checksum 4d90bf2066c8d6605ac771e9b97c1188f4491d458fcb56956eeead6a18f70ac4 RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.14.0-153" --checksum d3ae0109be24e8bc56f97359b8290b91243454de946dd60bd8520a0896a88449 RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "yq" "4.27.2-1" --checksum 44d0058c0fffa1ccc89c081ed3e5c897489fa02580a839cfe1d37b2ca771f237 -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "cassandra" "4.0.5-1" --checksum f3daf03dc5ecf4896f320fecae914e1d844ae579aa246ffe3b09fc179b562f61 +RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "cassandra" "4.0.5-2" --checksum 6f92e1765a8ebdfdbbcee968b59917b1c0f2737d568eaee7e6c12bdaa26277eb RUN apt-get update && apt-get upgrade -y && \ rm -r /var/lib/apt/lists /var/cache/apt/archives RUN chmod g+rwX /opt/bitnami diff --git a/bitnami/cassandra/4.0/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/cassandra/4.0/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json index f31ed1ccb861..1992ba50a03a 100644 --- a/bitnami/cassandra/4.0/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/cassandra/4.0/debian-11/prebuildfs/opt/bitnami/.bitnami_components.json @@ -1,10 +1,10 @@ { "cassandra": { "arch": "amd64", - "digest": "f3daf03dc5ecf4896f320fecae914e1d844ae579aa246ffe3b09fc179b562f61", + "digest": "6f92e1765a8ebdfdbbcee968b59917b1c0f2737d568eaee7e6c12bdaa26277eb", "distro": "debian-11", "type": "NAMI", - "version": "4.0.5-1" + "version": "4.0.5-2" }, "gosu": { "arch": "amd64", diff --git a/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/cassandra-env.sh b/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/cassandra-env.sh index 37614b6dc331..221d05c4efbb 100644 --- a/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/cassandra-env.sh +++ b/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/cassandra-env.sh @@ -40,6 +40,8 @@ cassandra_env_vars=( CASSANDRA_PASSWORD_SEEDER CASSANDRA_SEEDS CASSANDRA_PEERS + CASSANDRA_PEERS + CASSANDRA_NODES CASSANDRA_RACK CASSANDRA_BROADCAST_ADDRESS CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE @@ -122,6 +124,8 @@ export CASSANDRA_NUM_TOKENS="${CASSANDRA_NUM_TOKENS:-256}" export CASSANDRA_PASSWORD_SEEDER="${CASSANDRA_PASSWORD_SEEDER:-no}" export CASSANDRA_SEEDS="${CASSANDRA_SEEDS:-$CASSANDRA_HOST}" export CASSANDRA_PEERS="${CASSANDRA_PEERS:-$CASSANDRA_SEEDS}" +export CASSANDRA_PEERS="${CASSANDRA_PEERS:-$CASSANDRA_SEEDS}" +export CASSANDRA_NODES="${CASSANDRA_NODES:-}" export CASSANDRA_RACK="${CASSANDRA_RACK:-rack1}" export CASSANDRA_BROADCAST_ADDRESS="${CASSANDRA_BROADCAST_ADDRESS:-}" export CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE="${CASSANDRA_AUTOMATIC_SSTABLE_UPGRADE:-false}" diff --git a/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/libcassandra.sh b/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/libcassandra.sh index 9216b8972b76..46c40017a731 100644 --- a/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/libcassandra.sh +++ b/bitnami/cassandra/4.0/debian-11/rootfs/opt/bitnami/scripts/libcassandra.sh @@ -829,26 +829,50 @@ cassandra_execute_with_retries() { # None ######################### wait_for_nodetool_up() { - local -r retries="${2:-$CASSANDRA_INIT_MAX_RETRIES}" - local -r sleep_time="${3:-$CASSANDRA_INIT_SLEEP_TIME}" + local -r retries="${1:-$CASSANDRA_INIT_MAX_RETRIES}" + local -r sleep_time="${2:-$CASSANDRA_INIT_SLEEP_TIME}" debug "Checking status with nodetool" - check_function_nodetool() { + check_function_nodetool_node_ip() { # Using legacy RMI URL parsing to avoid URISyntaxException: 'Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199' error # https://community.datastax.com/questions/13764/java-version-for-cassandra-3113.html local -r check_cmd=("${CASSANDRA_BIN_DIR}/nodetool" "-Dcom.sun.jndi.rmiURLParsing=legacy") local -r check_args=("status" "--port" "$CASSANDRA_JMX_PORT_NUMBER") local -r machine_ip="$(dns_lookup "$CASSANDRA_HOST" "v4")" local -r check_regex="UN\s*(${CASSANDRA_HOST}|${machine_ip}|127.0.0.1)" + local output="/dev/null" if [[ "$BITNAMI_DEBUG" = "true" ]]; then output="/dev/stdout" fi + "${check_cmd[@]}" "${check_args[@]}" | grep -E "${check_regex}" >"${output}" } - if retry_while check_function_nodetool "$retries" "$sleep_time"; then + check_function_nodetool_node_count() { + # Using legacy RMI URL parsing to avoid URISyntaxException: 'Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199' error + # https://community.datastax.com/questions/13764/java-version-for-cassandra-3113.html + local -r check_cmd=("${CASSANDRA_BIN_DIR}/nodetool" "-Dcom.sun.jndi.rmiURLParsing=legacy") + local -r check_args=("status" "--port" "$CASSANDRA_JMX_PORT_NUMBER") + local -r machine_ip="$(dns_lookup "$CASSANDRA_HOST" "v4")" + local -r check_regex="UN\s*" + read -r -a host_list <<<"$(tr ',;' ' ' <<<"$CASSANDRA_NODES")" + local -r expected_node_count="${#host_list[@]}" + local actual_node_count + + local output="/dev/null" + if [[ "$BITNAMI_DEBUG" = "true" ]]; then + output="/dev/stdout" + fi + + actual_node_count=$("${check_cmd[@]}" "${check_args[@]}" | grep -c "${check_regex}" || true) + if [[ "$expected_node_count" != "$actual_node_count" ]]; then + false + fi + } + + if retry_while check_function_nodetool_node_ip "$retries" "$sleep_time"; then info "Nodetool reported the successful startup of Cassandra" true else @@ -859,6 +883,20 @@ wait_for_nodetool_up() { fi exit 1 fi + + if [[ -n "$CASSANDRA_NODES" ]]; then + if retry_while check_function_nodetool_node_count "$retries" "$sleep_time"; then + info "All nodes reached the UN status (Up/Normal)" + true + else + error "Some nodes did not reach the UN status (Up/Normal)" + if [[ "$BITNAMI_DEBUG" = "true" ]]; then + error "Nodetool output" + "${check_cmd[@]}" "${check_args[@]}" + fi + exit 1 + fi + fi } ######################## diff --git a/bitnami/cassandra/README.md b/bitnami/cassandra/README.md index ecccaebb1a41..b9c293d7f5ec 100644 --- a/bitnami/cassandra/README.md +++ b/bitnami/cassandra/README.md @@ -47,7 +47,7 @@ Bitnami containers can be used with [Kubeapps](https://kubeapps.dev/) for deploy Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`4.0`, `4.0-debian-11`, `4.0.5`, `4.0.5-debian-11-r12`, `latest` (4.0/debian-11/Dockerfile)](https://github.com/bitnami/containers/blob/main/bitnami/cassandra/4.0/debian-11/Dockerfile) +* [`4.0`, `4.0-debian-11`, `4.0.5`, `4.0.5-debian-11-r13`, `latest` (4.0/debian-11/Dockerfile)](https://github.com/bitnami/containers/blob/main/bitnami/cassandra/4.0/debian-11/Dockerfile) Subscribe to project updates by watching the [bitnami/containers GitHub repo](https://github.com/bitnami/containers).