Skip to content

Commit fe1db3b

Browse files
authored
Merge pull request #383 from Helene/prep_v9.0.1
Publish v9.0.1
2 parents 6a14895 + c82cee9 commit fe1db3b

File tree

13 files changed

+1885
-66
lines changed

13 files changed

+1885
-66
lines changed

Dockerfile

Lines changed: 16 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
ARG BUILD_ENV=prod
2-
ARG BASE=registry.access.redhat.com/ubi10/ubi:10.0-1760519443
2+
ARG BASE=registry.access.redhat.com/ubi10/ubi:10.0-1762765098
33

44
FROM $BASE AS build_prod
55
ONBUILD COPY ./requirements/requirements_ubi10.txt /root/requirements_ubi10.txt
@@ -17,7 +17,7 @@ ARG BASE
1717

1818
LABEL com.ibm.name="IBM Storage Scale bridge for Grafana"
1919
LABEL com.ibm.vendor="IBM"
20-
LABEL com.ibm.version="9.0.0"
20+
LABEL com.ibm.version="9.0.1"
2121
LABEL com.ibm.url="https://github.com/IBM/ibm-spectrum-scale-bridge-for-grafana"
2222
LABEL com.ibm.description="This tool translates the IBM Storage Scale performance data collected internally \
2323
to the query requests acceptable by the Grafana integrated openTSDB plugin"
@@ -26,17 +26,10 @@ LABEL com.ibm.summary="It allows the IBM Storage Scale users to perform performa
2626
ENV PYTHONDONTWRITEBYTECODE=1
2727
ENV PYTHONUNBUFFERED=1
2828

29-
ARG USERNAME=bridge
30-
ENV USER=$USERNAME
31-
32-
ARG GROUPNAME=bridge
33-
ENV GROUP=$GROUPNAME
34-
35-
ARG USERID=2001
36-
ENV UID=$USERID
37-
38-
ARG GROUPID=0
39-
ENV GID=$GROUPID
29+
ARG USER=bridge
30+
ARG GROUP=bridge
31+
ARG UID=2001
32+
ARG GID=2099
4033

4134
ARG HTTPPROTOCOL=http
4235
ENV PROTOCOL=$HTTPPROTOCOL
@@ -45,10 +38,10 @@ ARG HTTPBASICAUTH=True
4538
ENV BASICAUTH=$HTTPBASICAUTH
4639

4740
ARG AUTHUSER=None
48-
ENV BASICAUTHUSER=$AUTHUSER
41+
ENV BASICU=$AUTHUSER
4942

5043
ARG AUTHPASSW=NotSet
51-
ENV BASICAUTHPASSW=$AUTHPASSW
44+
ENV BASICP=$AUTHPASSW
5245

5346
ARG HTTPPORT=None
5447
ENV PORT=$HTTPPORT
@@ -103,12 +96,13 @@ RUN if [ $(expr "$BASE" : '.*python.*') -eq 0 ]; then \
10396
python3 -m pip install -r /root/requirements_ubi10.txt && \
10497
echo "Installed python version: $(python3 -V)" && \
10598
echo "Installed python packages: $(python3 -m pip list)" && \
106-
yum clean all -y && rm -rf /usr/bin/pip*; else \
99+
yum clean all -y && rm -rf /usr/bin/pip* && rm -rf /usr/lib/python3.12/site-packages/pip* && \
100+
rm -rf /usr/local/lib/python3.12/site-packages/cherrypy/test; else \
107101
echo "Already using python container as base image. No need to install it." && \
108102
python3 -m pip install -r /root/requirements.in && \
109103
echo "Installed python packages: $(python3 -m pip list)"; fi
110104

111-
USER root
105+
#USER root
112106

113107
RUN mkdir -p /opt/IBM/bridge /opt/IBM/zimon /var/mmfs/gen && \
114108
mkdir -p /etc/ssl/certs /etc/perfmon-api-keys $CERTPATH $LOGPATH
@@ -129,25 +123,9 @@ RUN echo "$(pwd)"
129123

130124
# Create a container user
131125
RUN if [ "$GID" -gt "0" ]; then groupadd -g $GID $GROUP; else echo "Since root GID specified skipping groupadd"; fi && \
132-
useradd -rm -d /home/$UID -s /bin/bash -g $GID -u $UID $USER
133-
134-
# Change group ownership
135-
RUN chgrp -R $GID /opt/IBM/bridge && \
136-
chgrp -R $GID /opt/IBM/zimon && \
137-
chgrp -R $GID /var/mmfs/gen && \
138-
chgrp -R $GID /etc/ssl/certs && \
139-
chgrp -R $GID /etc/perfmon-api-keys && \
140-
chgrp -R $GID $TLSKEYPATH && \
141-
chgrp -R $GID $LOGPATH
142-
143-
# Set group permissions
144-
RUN chmod -R g=u /opt/IBM/bridge && \
145-
chmod -R g=u /opt/IBM/zimon && \
146-
chmod -R g=u /var/mmfs/gen && \
147-
chmod -R g=u /etc/ssl/certs && \
148-
chmod -R g=u /etc/perfmon-api-keys && \
149-
chmod -R g=u $TLSKEYPATH && \
150-
chmod -R g=u $LOGPATH
126+
if [ "$UID" -gt "0" ]; then useradd -rm -d /home/$UID -s /bin/bash -g $GID -u $UID $USER; else echo "Since root UID specified skipping useradd"; fi
127+
128+
RUN chmod -R a+w $LOGPATH
151129

152130
# Chown all needed files
153131
RUN chown -R $UID:$GID /opt/IBM/bridge && \
@@ -159,9 +137,9 @@ RUN chown -R $UID:$GID /opt/IBM/bridge && \
159137
chown -R $UID:$GID $LOGPATH
160138

161139
# Switch user
162-
USER $GID
140+
USER $UID
163141

164-
CMD ["sh", "-c", "python3 zimonGrafanaIntf.py -c $LOGLEVEL -s $SERVER -r $PROTOCOL -b $BASICAUTH -u $BASICAUTHUSER -a $BASICAUTHPASSW -p $PORT -e $PROMETHEUS -P $SERVERPORT -t $TLSKEYPATH -l $LOGPATH -k $TLSKEYFILE -m $TLSCERTFILE -n $APIKEYNAME -v $APIKEYVALUE -w $RAWCOUNTERS"]
142+
CMD ["sh", "-c", "python3 zimonGrafanaIntf.py -c $LOGLEVEL -s $SERVER -r $PROTOCOL -b $BASICAUTH -u $BASICU -a $BASICP -p $PORT -e $PROMETHEUS -P $SERVERPORT -t $TLSKEYPATH -l $LOGPATH -k $TLSKEYFILE -m $TLSCERTFILE -n $APIKEYNAME -v $APIKEYVALUE -w $RAWCOUNTERS"]
165143

166144
EXPOSE 4242 8443 9250
167145

docs/RELEASE_NOTES.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
# Version 9.0.1 (12/19/2025)
2+
Published [example dashboard](https://github.com/IBM/ibm-spectrum-scale-bridge-for-grafana/blob/master/examples/grafana_dashboards/GPFS_cluster_communication_statistics/IBM%20Storage%20Scale%20Network%20Overview-1763571518612.json) for observing the Network issues within the IBM Storage Scale clusters
3+
Switched to a non-root user in a docker image
4+
Addressed the findings of the MEND security scan
5+
Improved performance of prometheus scrap job queries by skipping the transfer of the domain RangeData
6+
Changed the Dockerfile parent image to the registry.access.redhat.com/ubi10/ubi:10.0-1762765098
7+
8+
Tested with OpenTSDB version 2.4
9+
Tested with Grafana version 12.0.2
10+
Tested with RedHat community-powered Grafana operator v.5
11+
12+
13+
114
# Version 9.0.0 (10/30/2025)
215
Added example yaml files to configure Openshift ServiceMonitor for a scale cluster running outside of this Openshift cluster
316
Expanded configuration parameters to allow grafana-bridge socket host to bind to ip of specific network interface

docs/SUPPORT_MATRIX.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
11
The following matrix gives a quick overview of the supported software for the IBM Storage Scale bridge for Grafana packages by version number:
2+
# Version 9.0.1 (12/19/2025)
3+
Classic Scale:
4+
- Python 3.12
5+
- CherryPy 18.10.0
6+
- IBM Storage Scale system must run 6.0.0 and above
7+
- Grafana 12.0.0 and above
8+
- OpenTSDB 2.4
9+
10+
Cloud native:
11+
- IBM Storage Scale Container Native Storage Access(CNSA) devices having minReleaseLevel 6.0.0.2
12+
- RedHat community-powered Grafana-Operator v5
13+
214
# Version 9.0.0 (10/30/2025)
315
Classic Scale:
416
- Python 3.12

0 commit comments

Comments
 (0)