Skip to content

Commit 6c45560

Browse files
committed
Fix DSE 6.9 UBI image agent loading
1 parent 80e9a40 commit 6c45560

7 files changed

+26
-11
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Changelog for Management API, new PRs should update the `main / unreleased` sect
2020
* [ENHANCEMENT] [#521](https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/521) Add management-api to Cassandra conf in the Dockerfile, not entrypoint for DSE 6.9, Cassandra 4.1 and Cassandra 5.0. This allows to run the container with readOnlyRootFilesystem.
2121
* [BUGFIX] [#524](https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/524) Fix HintsService Hint_delays- metrics parsing and ReadCoordination metrics parsing
2222
* [BUGFIX] [#520](https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/520) Update DSE 6.9.0 dependnecy
23+
* [BUGFIX] [#531](https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/531) Fix DSE 6.9 UBI image agent loading
2324

2425
## v0.1.83 (2024-07-10)
2526
* [BUGFIX] [#510](https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/510) CDC is not working in the OSS images (at least not UBI)

cassandra-trunk/Dockerfile.ubi8

+5
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,11 @@ RUN (for dir in ${CASSANDRA_DATA_DIR} \
175175
# change mode of directories
176176
chmod a+rwX ${MAAC_PATH} ${MCAC_PATH} ${CASSANDRA_PATH} ${CDC_AGENT_PATH} /etc/cassandra
177177

178+
RUN if ! grep -qxF "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" < ${CASSANDRA_CONF}/cassandra-env.sh ; then \
179+
echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
180+
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh ; \
181+
fi
182+
178183
ENV TINI_VERSION=v0.19.0
179184
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-${TARGETARCH} /tini
180185
RUN chmod +x /tini

cassandra/Dockerfile-4.1

+4-2
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,10 @@ RUN set -eux; \
110110
apt-get install -y --no-install-recommends wget iproute2; \
111111
rm -rf /var/lib/apt/lists/*
112112

113-
RUN echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
114-
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh
113+
RUN if ! grep -qxF "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" < ${CASSANDRA_CONF}/cassandra-env.sh ; then \
114+
echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
115+
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh ; \
116+
fi
115117

116118
# backwards compat with upstream ENTRYPOINT
117119
COPY cassandra/scripts/docker-entrypoint.sh /usr/local/bin/

cassandra/Dockerfile-4.1.ubi8

+4-2
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,10 @@ RUN (for dir in ${CASSANDRA_DATA_DIR} \
155155
# change mode of directories
156156
chmod a+rwX ${MAAC_PATH} ${MCAC_PATH} ${CASSANDRA_PATH} ${CDC_AGENT_PATH} /etc/cassandra
157157

158-
RUN echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
159-
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh
158+
RUN if ! grep -qxF "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" < ${CASSANDRA_CONF}/cassandra-env.sh ; then \
159+
echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
160+
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh ; \
161+
fi
160162

161163
# backwards compat with upstream ENTRYPOINT
162164
COPY cassandra/scripts/docker-entrypoint.sh /usr/local/bin/

cassandra/Dockerfile-5.0.ubi8

+4-2
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,10 @@ RUN (for dir in ${CASSANDRA_DATA_DIR} \
145145
# change mode of directories
146146
chmod a+rwX ${MAAC_PATH} ${CASSANDRA_PATH} ${CDC_AGENT_PATH} /etc/cassandra
147147

148-
RUN echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
149-
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh
148+
RUN if ! grep -qxF "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" < ${CASSANDRA_CONF}/cassandra-env.sh ; then \
149+
echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
150+
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh ; \
151+
fi
150152

151153
# backwards compat with upstream ENTRYPOINT
152154
COPY cassandra/scripts/docker-entrypoint.sh /usr/local/bin/

dse/Dockerfile-dse6.9.jdk11

+4-3
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,10 @@ COPY --chown=dse:root --from=mgmtapi-setup $MAAC_PATH $MAAC_PATH
187187
COPY --chown=dse:root --from=mgmtapi-setup $CDC_AGENT_PATH $CDC_AGENT_PATH
188188

189189
# Add management-api
190-
RUN echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
191-
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh
192-
190+
RUN if ! grep -qxF "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" < ${CASSANDRA_CONF}/cassandra-env.sh ; then \
191+
echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
192+
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh ; \
193+
fi
193194
# Fix COPY directory modes
194195
RUN chmod g+w ${MAAC_PATH} ${MCAC_PATH} ${DSE_HOME} ${DSE_AGENT_HOME} ${CDC_AGENT_PATH}
195196

dse/Dockerfile-dse6.9.ubi8

+4-2
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,10 @@ RUN chmod g+w /etc /etc/ld.so.cache && \
125125
chmod g+w ${MAAC_PATH} ${DSE_HOME} ${CDC_AGENT_PATH}
126126

127127
# Add management-api
128-
RUN echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
129-
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh
128+
RUN if ! grep -qxF "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" < ${CASSANDRA_CONF}/cassandra-env.sh ; then \
129+
echo "" >> ${CASSANDRA_CONF}/cassandra-env.sh && \
130+
echo "JVM_OPTS=\"\$JVM_OPTS -javaagent:${MGMT_AGENT_JAR}\"" >> ${CASSANDRA_CONF}/cassandra-env.sh ; \
131+
fi
130132

131133
# Set user to run as
132134
USER dse:root

0 commit comments

Comments
 (0)