Skip to content

Commit

Permalink
Merge pull request #134 from merative/Release-Nov-2022-release-v8
Browse files Browse the repository at this point in the history
v8 Release November 2022
  • Loading branch information
gillesde authored Dec 2, 2022
2 parents 3ba1508 + b8e5e40 commit 2d4c547
Show file tree
Hide file tree
Showing 41 changed files with 13,160 additions and 15,660 deletions.
21 changes: 20 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,25 @@

All notable changes to this project will be documented in this file

## v22.11.0

### Fixed
* Runbook section [Architecture Overview](https://merative.github.io/spm-kubernetes/architecture/arch-overview/architecture-overview/) has been corrected to reflect Red Hat OpenShift in diagram 2 and its corresponding text.
* Runbook section [SPM OpenShift cluster - Reference Architecture](https://merative.github.io/spm-kubernetes/architecture/arch-overview/spm-openshift-reference-architecture#spm-openshift-cluster-reference-architecture) has been modified to clarify MQ support for OpenShift [#132](https://github.com/merative/spm-kubernetes/issues/132).
* Runbook section [Dev Workstation](https://merative.github.io/spm-kubernetes/architecture/arch-overview/dev-workstation) has been modified to clarify that CRC can be used instead of Minikube.
* Runbook section [Remote debugging](https://merative.github.io/spm-kubernetes/troubleshooting/Remote-Debugging/) has been modified to include information covering the disabling of the probes.

### Changed

* The following helm-charts have been updated to chart version `22.11.0`: `apps`, `batch`, `mqserver`, `spm`, `uawebapp`, `web`, `xmlserver`

### Added

* The capability to monitor the XML server JVM using the Prometheus JMX Exporter has been added. See [Monitoring XML servers](https://merative.github.io/spm-kubernetes/monitoring/xmlserver-monitoring/) in the Runbook for more information.
* Runbook section [XML server tracing](https://merative.github.io/spm-kubernetes/troubleshooting/xmlserver-trace/) has been added.
* A known issue has been added to explain and workaround errors in Liberty for application method calls that cross the client/server boundary.
See [Method calls that cross the client/server boundary](https://merative.github.io/spm-kubernetes/known_issues/#method-calls-that-cross-the-clientserver-boundary).

## v22.7.0

### Changed
Expand Down Expand Up @@ -354,7 +373,7 @@ All notable changes to this project will be documented in this file
### Fixed

* Added clarification that NFS folders must be configured prior to using MQ with NFS ([#31](https://github.com/merative/spm-kubernetes/issues/31))
* Added `mountOptions` configuration to `mqserver` PVs ([#30](https://github.com/merative/spm-kubernetes/issues/30))
* Added `mountOptions` configuration to `mqserver` PVs ([#30](https://github.com/IBM/spm-kubernetes/issues/30))
* Synchronised handling of MQ TLS certificate secrets between `apps` and `mqserver` charts ([#28](https://github.com/merative/spm-kubernetes/issues/28))

## v20.11.0
Expand Down
10 changes: 9 additions & 1 deletion dockerfiles/Liberty/XMLServer.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
###############################################################################
# Copyright 2020 IBM Corporation
# Copyright 2020,2022 IBM Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -16,6 +16,9 @@

ARG ANT_VERSION=1.10.6

# Note: This public JMX Exporter is for getting JVM metrics
ARG JMX_EXPORTER_URL=https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.14.0/jmx_prometheus_javaagent-0.14.0.jar

# If set, must end with a forward slash, e.g. "registry.connect.redhat.com/"
ARG BASE_REGISTRY

Expand Down Expand Up @@ -53,6 +56,11 @@ RUN rpm -e --nodeps tzdata \
RUN mkdir -p /opt/ibm/Curam/xmlserver \
&& chmod -c g+w /etc/passwd $JAVA_HOME/jre/lib/security/cacerts

# Prometheus JMX Exporter
ARG JMX_EXPORTER_URL
ADD $JMX_EXPORTER_URL /opt/ibm/Curam/xmlserver/jmx_prometheus_javaagent.jar
RUN chmod -c +rx /opt/ibm/Curam/xmlserver/jmx_prometheus_javaagent.jar

COPY --from=ExtractAndMod --chown=1001:0 /opt/apache-ant-${ANT_VERSION} /opt/apache-ant-${ANT_VERSION}
COPY --from=ExtractAndMod --chown=1001:0 /opt/ibm/Curam /opt/ibm/Curam

Expand Down
2 changes: 1 addition & 1 deletion dockerfiles/Liberty/content/start-xmlserver.sh
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ fi

# now update the xmlserver.xml to update the java options <property name="java.jvmargs" value="-Dfake.property=1"/> to include any jvm options passed in
# note the use of the # char in the sed expression, this is to account for slashes that may be in the paths
JVM_OPTIONS="$JVM_OPTIONS $JVM_GC_OPTS"
JVM_OPTIONS="$JVM_OPTIONS $JVM_JMX_OPTIONS $JVM_GC_OPTS"

sed -i "s#<property name=\"java.jvmargs\" value=\"-Dfake.property=1\"\/>#<property name=\"java.jvmargs\" value=\"$JVM_OPTIONS\"\/>#g" xmlserver.xml

Expand Down
2 changes: 1 addition & 1 deletion helm-charts/apps/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ description: |-
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
version: 22.7.0
version: 22.11.0
maintainers:
- name: IBM
- name: Cúram SPM Dev Team
Expand Down
2 changes: 1 addition & 1 deletion helm-charts/batch/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ description: |-
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
version: 22.7.0
version: 22.11.0
maintainers:
- name: IBM
- name: Cúram SPM Dev Team
Expand Down
2 changes: 1 addition & 1 deletion helm-charts/mqserver/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ description: |-
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
version: 22.7.0
version: 22.11.0
maintainers:
- name: IBM
- name: Cúram SPM Dev Team
Expand Down
14 changes: 7 additions & 7 deletions helm-charts/spm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ description: |-
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
version: 22.7.0
version: 22.11.0
maintainers:
- name: IBM
- name: Cúram SPM Dev Team
Expand All @@ -56,22 +56,22 @@ icon: https://avatars2.githubusercontent.com/u/1459110

dependencies:
- name: apps
version: "~22.7.0"
version: "~22.11.0"
repository: "@local-development"
- name: batch
version: "~22.7.0"
version: "~22.11.0"
repository: "@local-development"
- name: uawebapp
version: "~22.7.0"
version: "~22.11.0"
repository: "@local-development"
- name: web
version: "~22.7.0"
version: "~22.11.0"
repository: "@local-development"
- name: mqserver
version: "~22.7.0"
version: "~22.11.0"
repository: "@local-development"
- name: xmlserver
version: "~22.7.0"
version: "~22.11.0"
repository: "@local-development"
- name: ibm-sch
repository: "@sch"
Expand Down
2 changes: 1 addition & 1 deletion helm-charts/uawebapp/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ description: |-
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
version: 22.7.0
version: 22.11.0
maintainers:
- name: IBM
- name: Cúram SPM Dev Team
Expand Down
2 changes: 1 addition & 1 deletion helm-charts/web/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ description: |-
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
version: 22.7.0
version: 22.11.0
maintainers:
- name: IBM
- name: Cúram SPM Dev Team
Expand Down
2 changes: 1 addition & 1 deletion helm-charts/xmlserver/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ description: |-
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
version: 22.7.0
version: 22.11.0
maintainers:
- name: IBM
- name: Cúram SPM Dev Team
Expand Down
10 changes: 9 additions & 1 deletion helm-charts/xmlserver/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{/*
Copyright 2019,2021 IBM Corporation
Copyright 2019,2022 IBM Corporation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -82,3 +82,11 @@ image: {{ include "xmlserver.imageFullName" (dict "ImageConfig" .Values.global.i
{{- include "initContainer.resources" . }}
{{- include "sch.security.securityContext" (list . .sch.chart.containerSecurityContext) }}
{{- end }}

{{/*
XML server JVM metrics Prometheus JMX Exporter JVM Config
*/}}
{{- define "jvmStats.configJvm" -}}
{{- printf "-javaagent:/opt/ibm/Curam/xmlserver/jmx_prometheus_javaagent.jar=%d:/opt/ibm/Curam/xmlserver/config.yaml" ( .Values.jvmStats.port | default 8083 | int ) -}}
{{- end -}}

Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{{- include "sch.config.init" (list . "xmlserver.sch.chart.config.values") -}}
{{- if and .Values.global.useBetaFeatures .Values.jvmStats.enabled }}
---
###############################################################################
# Copyright 2022 IBM Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
###############################################################################

apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-jvm-jmx-exporter-config
namespace: {{ .Release.Namespace }}
labels:
{{- include "sch.metadata.labels.standard" (list . "") | nindent 4 }}
data:
config.yaml: |-
{{- .Values.jvmStats.configYaml | default "" | nindent 4 -}}
{{- end }}
20 changes: 19 additions & 1 deletion helm-charts/xmlserver/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{{- include "sch.config.init" (list . "xmlserver.sch.chart.config.values") -}}
---
###############################################################################
# Copyright 2019,2021 IBM Corporation
# Copyright 2019,2022 IBM Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -82,6 +82,11 @@ spec:
secretName: {{ include "sch.names.fullName" (list .) }}
- name: keystore-volume
emptyDir: {}
{{- if and $.Values.global.useBetaFeatures $.Values.jvmStats.enabled }}
- name: jvm-jmx-exporter-config
configMap:
name: {{ $.Release.Name }}-jvm-jmx-exporter-config
{{- end }}
{{- if .Values.global.apps.common.persistence.enabled }}
- name: {{ .Release.Name }}-persistence-volume
persistentVolumeClaim:
Expand Down Expand Up @@ -114,6 +119,10 @@ spec:
imagePullPolicy: {{ .Values.global.images.pullPolicy }}
ports:
- containerPort: {{ .Values.serverPort | default 1800 }}
{{- if and $.Values.global.useBetaFeatures $.Values.jvmStats.enabled }}
- name: jvmmetrics
containerPort: {{ $.Values.jvmStats.port }}
{{- end }}
{{- with .Values.resources }}
resources:
{{- toYaml . | nindent 12 }}
Expand All @@ -130,6 +139,10 @@ spec:
value: {{ .Values.jvm.jvmOptions | quote }}
- name: XMLSERVER_OPTIONS
value: {{ .Values.startOptions | quote }}
{{- if and $.Values.global.useBetaFeatures $.Values.jvmStats.enabled }}
- name: JVM_JMX_OPTIONS
value: {{ include "jvmStats.configJvm" $ }}
{{- end }}
{{- if .Values.global.apps.common.persistence.enabled }}
- name: MOUNT_POINT
value: {{ include "persistence.mountPoint" $ }}
Expand All @@ -144,6 +157,11 @@ spec:
- name: keystore-volume
mountPath: /opt/ibm/Curam/xmlserver/keystore.p12
subPath: keystore.p12
{{- if and $.Values.global.useBetaFeatures $.Values.jvmStats.enabled }}
- name: jvm-jmx-exporter-config
mountPath: /opt/ibm/Curam/xmlserver/config.yaml
subPath: config.yaml
{{- end }}
{{- if .Values.global.apps.common.persistence.enabled }}
- name: {{ .Release.Name }}-persistence-volume
mountPath: {{ include "persistence.mountPoint" $ }}
Expand Down
39 changes: 39 additions & 0 deletions helm-charts/xmlserver/templates/monitor-xmlserver-jvm.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{{- include "sch.config.init" (list . "xmlserver.sch.chart.config.values") -}}
{{- if .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" }}
{{- if and .Values.global.useBetaFeatures .Values.jvmStats.enabled }}
---
###############################################################################
# Copyright 2022 IBM Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
###############################################################################

apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: {{ .Release.Name }}-xmlserver-jvmmetrics
labels:
app.kubernetes.io/component: xmlserver
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: xmlserver
helm.sh/chart: xmlserver
release: {{ .Release.Name }}
spec:
selector:
matchLabels:
app: xmlserver
podMetricsEndpoints:
- port: jvmmetrics
{{- end }}
{{- end }}
11 changes: 9 additions & 2 deletions helm-charts/xmlserver/values.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
###############################################################################
# Copyright 2019,2021 IBM Corporation
# Copyright 2019,2022 IBM Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -80,7 +80,14 @@ config:
# XML server start options
startOptions:

# Collecting of XML server metrics
# Collecting of XML server metrics (requires global.useBetaFeatures)
metrics:
enabled: true
port: 8080

# JMX Exporter configuration for collecting JVM metrics from the XML server (requires global.useBetaFeatures)
jvmStats:
enabled: false
port: 8083
configYaml: ''

Loading

0 comments on commit 2d4c547

Please sign in to comment.