Skip to content

Commit

Permalink
Merge pull request #86 from IBM/Release-Aug-2021-release-v7
Browse files Browse the repository at this point in the history
August v7 Release 2021
  • Loading branch information
ourboy authored Aug 26, 2021
2 parents a733d5f + 0ce3476 commit 08fcf12
Show file tree
Hide file tree
Showing 36 changed files with 221 additions and 526 deletions.
34 changes: 33 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,38 @@

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

## v21.6.2

### Breaking Changes

* Following the upgrade to IBM MQ 9.2 in release `v21.6.1`, the below list of breaking changes has been introduced:
* On existing deployments, the upgrade of IBM MQ requires the applications pods to be scaled down completely, followed by a delay to process any remaining messages, before updating the deployment
* Moved `global.mq.multiInstance.availabilityType` to `global.mq.availabilityType`
* Moved `global.mq.multiInstance.storageType` to `global.mq.storageType`
* Moved `global.mq.multiInstance.storageClassName` to `global.mq.storageClassName`
* Removed `global.mq.multiInstance` as a configuration, and the following children parameters:
* `operatorsEnabled`, `cephEnabled`, `useDynamicProvisioning`, `nfsEnabled`, `nfsIP`, `nfsFolder`, `nfsMountOptions`
* Support for manual creation of persistent volumes and persistent volume claims has been removed
* Removed `global.apps.common.persistence.subDir` as a configuration
* The paths on the storage volume have now change from `<root>/<HelmRelease_or_subDir>/<podName>` to `<root>/<podName>`. This is to accommodate pod initialization on start-up
* `Ingress` and `IngressClass` resources have graduated to `networking.k8s.io/v1`, see [Ingress graduates to General Availability](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.19.md#ingress-graduates-to-general-availability)
* Due to ingress graduating to `networking.k8s.io/v1` spm `ingress.yaml` has been update to check `networking.k8s.io` version.
* Definition of the ingress path has been moved to the `spm.ingress.item` template

### Added

* Configure `PodMonitor` resources for the `apps` producer and consumers pods and for the `mqserver` metrics pods to integrate with OpenShift's [built-in Prometheus](https://docs.openshift.com/container-platform/4.6/monitoring/enabling-monitoring-for-user-defined-projects.html) or [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator)

### Changed

* The following helm-charts have been updated to chart version `21.6.2`: `apps`, `batch`, `mqserver`, `spm`, `uawebapp`, `web`, `xmlserver`.
* Changed DB2 datasources isolation level for the `apps` producer and consumers pods. See [Transaction control/Underlying design/DB2/Repeatable Read](https://www.ibm.com/docs/en/spm/8.0.0?topic=design-db2)

### Fixed

* Fixed issue where tuning params for resources on MQ pods created by the MQ operator were not being honoured

### Removed

## v21.6.1

Expand All @@ -12,7 +44,7 @@ All notable changes to this project will be documented in this file

### Added

* Add the ability to tune java options for the XMLServer application
* Add the ability to tune java options for the XMLServer application
* Added known issue to account for WebSphere Liberty timeout messages WTRN0006W and WTRN0124I

### Changed
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: 21.6.1
version: 21.6.2
maintainers:
- name: IBM
- name: Cúram SPM Dev Team
Expand Down
8 changes: 4 additions & 4 deletions helm-charts/apps/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ JMS Topic Connection Factory properties
queueManager="{{ .Values.global.mq.objectSuffix }}_curam"
channel="CHL_{{ .Values.global.mq.objectSuffix | upper }}_CURAM"
{{- else }}
{{- if $.Values.global.mq.multiInstance.operatorsEnabled }}
hostName="curam{{ $.Values.global.mq.queueManager.name | lower }}-ibm-mq"
{{- if ($.Capabilities.APIVersions.Has "mq.ibm.com/v1beta1") }}
hostName="{{ $.Release.Name }}-mqserver-curam-ibm-mq"
{{- else }}
hostName="{{ $.Release.Name }}-mqserver-curam"
{{- end }}
Expand Down Expand Up @@ -183,8 +183,8 @@ JMS Topic Activation Spec properties
queueManager="{{ .Values.global.mq.objectSuffix }}_curam"
channel="CHL_{{ .Values.global.mq.objectSuffix | upper }}_CURAM"
{{- else }}
{{- if $.Values.global.mq.multiInstance.operatorsEnabled }}
hostName="curam{{ $.Values.global.mq.queueManager.name | lower }}-ibm-mq"
{{- if ($.Capabilities.APIVersions.Has "mq.ibm.com/v1beta1") }}
hostName="{{ $.Release.Name }}-mqserver-curam-ibm-mq"
{{- else }}
hostName="{{ $.Release.Name }}-mqserver-curam"
{{- end }}
Expand Down
4 changes: 2 additions & 2 deletions helm-charts/apps/templates/configmaps/configmap-dbconn.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,14 +38,14 @@ data:
<!-- ========================== Data Sources ========================== -->
<dataSource id="curamdb" jndiName="jdbc/curamdb"
isolationLevel="TRANSACTION_READ_COMMITTED"
isolationLevel="TRANSACTION_REPEATABLE_READ"
jdbcDriverRef="CuramJdbcDriver" type="javax.sql.XADataSource"
statementCacheSize="${env.DS_CURAMDB_CACHE_SIZE}">
{{- include "apps.dsprops.fragment" (list . "CURAMDB") | nindent 8 }}
</dataSource>
<dataSource id="DefaultDataSource" jndiName="jdbc/curamtimerdb"
isolationLevel="TRANSACTION_READ_COMMITTED"
isolationLevel="TRANSACTION_REPEATABLE_READ"
jdbcDriverRef="CuramJdbcDriver" type="javax.sql.XADataSource"
statementCacheSize="${env.DS_CURAMTIMERDB_CACHE_SIZE}">
{{- include "apps.dsprops.fragment" (list . "CURAMTIMERDB") | nindent 8 }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ data:
<dataSource id="curamsessdb" jndiName="jdbc/curamsessdb"
jdbcDriverRef="CuramJdbcDriver" type="javax.sql.XADataSource"
isolationLevel="TRANSACTION_READ_COMMITTED"
isolationLevel="TRANSACTION_REPEATABLE_READ"
statementCacheSize="${env.DS_CURAMSESSDB_CACHE_SIZE}">
{{- include "apps.dsprops.fragment" (list . "CURAMSESSDB") | nindent 8 }}
</dataSource>
Expand Down
10 changes: 5 additions & 5 deletions helm-charts/apps/templates/deployment-consumer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -159,10 +159,10 @@ spec:
command:
- /bin/sh
- -c
{{- if $.Values.global.mq.multiInstance.operatorsEnabled }}
{{- if ($.Capabilities.APIVersions.Has "mq.ibm.com/v1beta1") }}
- >
until nc -z -w3 {{ $name }}{{ $.Values.global.mq.queueManager.name | lower }}-ibm-mq 1414; do
echo waiting for {{ $name }}{{ $.Values.global.mq.queueManager.name | lower }}-ibm-mq:1414 to be reachable;
until nc -z -w3 {{ $.Release.Name }}-mqserver-{{ $name }}-ibm-mq 1414; do
echo waiting for {{ $.Release.Name }}-mqserver-{{ $name }}-ibm-mq:1414 to be reachable;
sleep 2;
done;
{{- else }}
Expand Down Expand Up @@ -305,8 +305,8 @@ spec:
value: CHL_{{ $qmgrName | upper }}
{{- else }}
- name: MQ_HOST_NAME
{{- if $.Values.global.mq.multiInstance.operatorsEnabled }}
value: {{ $name }}{{ $.Values.global.mq.queueManager.name | lower }}-ibm-mq
{{- if ($.Capabilities.APIVersions.Has "mq.ibm.com/v1beta1") }}
value: {{ $.Release.Name }}-mqserver-{{ $name }}-ibm-mq
{{- else }}
value: {{ $.Release.Name }}-mqserver-{{ $name }}
{{- end }}
Expand Down
10 changes: 5 additions & 5 deletions helm-charts/apps/templates/deployment-producer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,10 @@ spec:
command:
- /bin/sh
- -c
{{- if $.Values.global.mq.multiInstance.operatorsEnabled }}
{{- if ($.Capabilities.APIVersions.Has "mq.ibm.com/v1beta1") }}
- >
until nc -z -w3 {{ $name }}{{ $.Values.global.mq.queueManager.name | lower }}-ibm-mq 1414; do
echo waiting for {{ $name }}{{ $.Values.global.mq.queueManager.name | lower }}-ibm-mq:1414 to be reachable;
until nc -z -w3 {{ $.Release.Name }}-mqserver-{{ $name }}-ibm-mq 1414; do
echo waiting for {{ $.Release.Name }}-mqserver-{{ $name }}-ibm-mq:1414 to be reachable;
sleep 2;
done;
{{- else }}
Expand Down Expand Up @@ -318,8 +318,8 @@ spec:
value: CHL_{{ $qmgrName | upper }}
{{- else }}
- name: MQ_HOST_NAME
{{- if $.Values.global.mq.multiInstance.operatorsEnabled }}
value: {{ $name }}{{ $.Values.global.mq.queueManager.name | lower }}-ibm-mq
{{- if ($.Capabilities.APIVersions.Has "mq.ibm.com/v1beta1") }}
value: {{ $.Release.Name }}-mqserver-{{ $name }}-ibm-mq
{{- else }}
value: {{ $.Release.Name }}-mqserver-{{ $name }}
{{- end }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
{{ $apps := .Values.global.apps.config }}
{{- range $name, $app := $apps }}
{{- if and ($app.enabled) (not (hasKey $app "mqConnectionNameList")) }}
{{- if or ($.Values.global.mq.multiInstance.cephEnabled) ($.Values.global.mq.multiInstance.nfsEnabled) }}
{{- include "sch.config.init" (list . "apps.sch.chart.config.values") -}}
{{- if .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" }}
{{- if and .Values.global.useBetaFeatures .Values.jmxExporter.enabled }}
{{- range $name, $app := .Values.global.apps.config }}
{{- if and $app.enabled (not $app.producerOnly) }}

---
###############################################################################
# Copyright 2019,2021 IBM Corporation
# Copyright 2021 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 @@ -19,23 +21,19 @@
# limitations under the License.
###############################################################################

apiVersion: v1
kind: PersistentVolumeClaim
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: {{ $.Release.Namespace }}-{{ $name }}-pvc-data
name: {{ include "sch.names.fullCompName" (list $ (printf "%s-consumer" $name)) }}
labels:
{{- include "sch.metadata.labels.standard" (list $ (printf "%s-consumer" $name)) | nindent 4 }}
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
{{ if $.Values.global.mq.multiInstance.useDynamicProvisioning }}
storageClassName: {{ $.Values.global.mq.multiInstance.storageClassName }}
{{ else }}
selector:
matchLabels:
{{ $.Release.Namespace }}-pv: {{ $.Release.Namespace }}-{{ $name }}-pv-data
{{ end }}
{{- include "sch.metadata.labels.standard" (list $ (printf "%s-consumer" $name)) | nindent 6 }}
podMetricsEndpoints:
- port: jmxmetrics
{{- end }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
{{ $apps := .Values.global.apps.config }}
{{- range $name, $app := $apps }}
{{- if and ($app.enabled) (not (hasKey $app "mqConnectionNameList")) }}
{{- if or ($.Values.global.mq.multiInstance.cephEnabled) ($.Values.global.mq.multiInstance.nfsEnabled) }}
{{- include "sch.config.init" (list . "apps.sch.chart.config.values") -}}
{{- if .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" }}
{{- if and .Values.global.useBetaFeatures .Values.jmxExporter.enabled }}
{{- range $name, $app := .Values.global.apps.config }}
{{- if $app.enabled }}

---
###############################################################################
# Copyright 2019,2021 IBM Corporation
# Copyright 2021 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 @@ -19,23 +21,19 @@
# limitations under the License.
###############################################################################

apiVersion: v1
kind: PersistentVolumeClaim
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: {{ $.Release.Namespace }}-{{ $name }}-pvc-qm
name: {{ include "sch.names.fullCompName" (list $ (printf "%s-producer" $name)) }}
labels:
{{- include "sch.metadata.labels.standard" (list $ (printf "%s-producer" $name)) | nindent 4 }}
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
{{ if $.Values.global.mq.multiInstance.useDynamicProvisioning }}
storageClassName: {{ $.Values.global.mq.multiInstance.storageClassName }}
{{ else }}
selector:
matchLabels:
{{ $.Release.Namespace }}-pv: {{ $.Release.Namespace }}-{{ $name }}-pv-qm
{{ end }}
{{- include "sch.metadata.labels.standard" (list $ (printf "%s-producer" $name)) | nindent 6 }}
podMetricsEndpoints:
- port: jmxmetrics
{{- end }}
{{- end }}
{{- end }}
{{- end }}
2 changes: 0 additions & 2 deletions helm-charts/apps/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -241,8 +241,6 @@ global:
useConnectionNameList: false
objectSuffix: ''
tlsSecretName: ''
multiInstance:
operatorsEnabled: false
queueManager:
name: "QM1"
secret:
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: 21.6.1
version: 21.6.2
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: 21.6.1
version: 21.6.2
maintainers:
- name: IBM
- name: Cúram SPM Dev Team
Expand Down
10 changes: 5 additions & 5 deletions helm-charts/mqserver/templates/deployment-metrics.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@ spec:
name: {{ default (printf "%s-mq-credentials" $.Release.Name) $.Values.global.mq.queueManager.secret.name }}
key: {{ $.Values.global.mq.queueManager.secret.adminPasswordKey }}
- name: IBMMQ_CONNECTION_CONNNAME
{{- if $.Values.global.mq.multiInstance.operatorsEnabled }}
value: {{ printf "%s%s-ibm-mq(1414)" $name $.Values.global.mq.queueManager.name | lower }}
{{- if ($.Capabilities.APIVersions.Has "mq.ibm.com/v1beta1") }}
value: {{ printf "%s-mqserver-%s-ibm-mq(1414)" $.Release.Name $name }}
{{- else }}
value: {{ printf "%s(1414)" (include "sch.names.fullCompName" (list $ $name)) }}
{{- end }}
Expand Down Expand Up @@ -132,10 +132,10 @@ spec:
command:
- /bin/sh
- -c
{{- if $.Values.global.mq.multiInstance.operatorsEnabled }}
{{- if ($.Capabilities.APIVersions.Has "mq.ibm.com/v1beta1") }}
- >
until nc -z -w3 {{ $name }}{{ $.Values.global.mq.queueManager.name | lower }}-ibm-mq 1414; do
echo waiting for {{ $name }}{{ $.Values.global.mq.queueManager.name | lower }}-ibm-mq:1414 to be reachable;
until nc -z -w3 {{ $.Release.Name }}-mqserver-{{ $name }}-ibm-mq 1414; do
echo waiting for {{ $.Release.Name }}-mqserver-{{ $name }}-ibm-mq:1414 to be reachable;
sleep 2;
done;
{{- else }}
Expand Down
4 changes: 1 addition & 3 deletions helm-charts/mqserver/templates/deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
{{- include "sch.config.init" (list . "mqserver.sch.chart.config.values") -}}
{{- if (not (.Capabilities.APIVersions.Has "mq.ibm.com/v1beta1")) }}
{{ $apps := .Values.global.apps.config }}
{{- range $name, $app := $apps }}
{{- if and ($app.enabled) (not (hasKey $app "mqConnectionNameList")) }}
{{- if (not ($.Values.global.mq.multiInstance.operatorsEnabled)) }}
{{- if (and (not ($.Values.global.mq.multiInstance.cephEnabled)) (not ($.Values.global.mq.multiInstance.nfsEnabled))) }}
{{- $tuningParams := $app.mqTuning }}
---
###############################################################################
Expand Down Expand Up @@ -156,4 +155,3 @@ spec:
{{- end }}
{{- end }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
{{ $apps := .Values.global.apps.config }}
{{- range $name, $app := $apps }}
{{- include "sch.config.init" (list . "mqserver.sch.chart.config.values") -}}
{{- if and .Values.global.mq.metrics.enabled .Values.global.mq.metrics.additionalMetrics }}
{{- if .Capabilities.APIVersions.Has "monitoring.coreos.com/v1" }}
{{- range $name, $app := .Values.global.apps.config }}
{{- if and ($app.enabled) (not (hasKey $app "mqConnectionNameList")) }}
{{- if or ($.Values.global.mq.multiInstance.cephEnabled) ($.Values.global.mq.multiInstance.nfsEnabled) }}
---
###############################################################################
# Copyright 2019,2021 IBM Corporation
# Copyright 2021 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 @@ -19,23 +20,19 @@
# limitations under the License.
###############################################################################

apiVersion: v1
kind: PersistentVolumeClaim
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: {{ $.Release.Namespace }}-{{ $name }}-pvc-logs
name: {{ include "sch.names.fullCompName" (list $ (printf "%s-metrics" $name)) }}
labels:
{{- include "sch.metadata.labels.standard" (list $ (printf "%s-metrics" $name)) | nindent 4 }}
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 1Gi
{{ if $.Values.global.mq.multiInstance.useDynamicProvisioning }}
storageClassName: {{ $.Values.global.mq.multiInstance.storageClassName }}
{{ else }}
selector:
matchLabels:
{{ $.Release.Namespace }}-pv: {{ $.Release.Namespace }}-{{ $name }}-pv-logs
{{ end }}
{{- include "sch.metadata.labels.standard" (list $ (printf "%s-metrics" $name)) | nindent 6 }}
podMetricsEndpoints:
- port: client
{{- end }}
{{- end }}
{{- end }}
{{- end }}
Loading

0 comments on commit 08fcf12

Please sign in to comment.