2022-07-13
Release Notes / Changelog
Summary
Introduces new DSS/OUS KM/CDM sync workflow, leveraging periodic polling instead of a per-invocation webhook, which will allow DSS to further utilize allocated compute resources for the primary event loop.
Reliability of DSS is further improved by addition of support for a Kubernetes Startup Probe.
Finally, addressing minor UI/X enhancements and bugs reported by RCKMS users.
CAT
RCKMSDEV-584: Fix: adjust typo in instructional tooltips regarding field character limits
RCKMSDEV-586: Fix: remove wrapper for link hidden based on user role
RCKMSDEV-601: Fix: use pipe delimiter (
|) in All Conditions Criteria ExportRCKMSDEV-663: Fix: Jurisdiction table layout is truncated on pagination navigation
DSS
RCKMSDEV-602: Feature: add support for OUS polling (deprecate
preEvaluatehook) for obtaining new KM/CDM artifacts
Enable the new OUS polling workflow
As this new workflow does not directly replace the existing preEvaluate hook solution for keeping DSS pods up-to-date with the latest KM/CDM artifacts, we are requesting that this adjustment be made no earlier than 19 July 2022 in the AIMS Production environment, to allow for extended testing in lower-level environments, and to reduce the number of same-day changes to core reportability services to triage against in the event of an issue.
The following arguments should be appended to the JAVA_OPTS configuration map entry for DSS:
-DupdateServiceClient.baseUrl=http://opencds-update-service-svc.rckms-int-prod.svc.cluster.local/
-DcdmUpdateManager.enableAutoUpdates=true
-DkmPackageUpdateManager.enableAutoUpdates=true
-DpreEvaluateEnabled=false
-DcdmUpdateManager.pollingFrequency=PT30M
-DkmPackageUpdateManager.pollingFrequency=PT5M
Note that the value for DupdateServiceClient.baseUrl should reflect the base URL path for OUS for the particular environment.
For more details on the options, please review the Environment Variables section for the DSS Container.
RCKMSDEV-673: Feature: add support for Startup Probe
Define the Startup Probe
The new DSS Startup Probe was developed to both more accurately report to Kubernetes when a DSS pod is in a ready state, and perform a self-test of the embedded OpenCDS application prior to accepting real-world eCRs for processing.
For details on configuring the Startup Probe, please refer to the probes section of the DSS Container documentation.
In addition to adding the Startup Probe, both the Liveness and Readiness probes should be adjusted to have an initial delay period of at least 120s.
Log the Startup Probe
A sidecar container should be defined with the same configuration as the Garbage Collection (GC) logging sidecar, with the name and second argument changed as follows:
Container Name should be set to
probe-loggerThe second argument should be set to
tail -F -v /hln/diagnostics/rckms-dss-startup-probe.log
As this container can utilize the same shared volume mount as the GC logging sidecar, no additional volume mounts or volumes are necessary to enable startup probe logs.
Adjust Gitlab CI/D Build Manifest
The override requirements forcing the maven compiler to build using Maven 1.7 have been removed. See corresponding cloudbuild reference below of the adjustment made.

DSS-PFC
RCKMSDEV-673: Feature: add support for Startup Probe
DSUS
RCKMSDEV-669: Feature: refactor jurisdiction map to use
jurisdictionIdinstead ofuuid
MTS
RCKMSDEV-664: Feature: suppress creation of in-app deployment queue item notifications for sync-all operations
RCKMSDEV-665: Feature: add endpoint to clear deployment queue items
RCKMSDEV-670: Feature: remove
uuidfrom KM/Jurisdiction publishing endpoint response
OUS
RCKMSDEV-602: Feature: add support for KM/CDM polling from DSS by generating a signed storage object URL with a short, configurable TTL
Fine-tuning the new OUS polling workflow
OUS supports a new environment variable, READ_URI_TTL, which accepts a numerical value in milliseconds to configure the time-to-live (TTL) for the signed URL that OUS will generate and pass to DSS for the purpose of fetching a KM/CDM object from the designated AWS S3 storage bucket.
By default, this value is set to 30000, which is equivalent to 30s.
IAM for OUS polling workflow
Per the AWS S3 User Guide, no escalated IAM role or policy adjustments should be required for this new workflow.
HLN will independently verify that the workload identity provisioned for OUS is sufficient for such activities, and notify Ruvos should additional permissions be required.
SS
RCKMSDEV-669: Feature: refactor jurisdiction map to use
jurisdictionIdinstead ofuuid
VCS
RCKMSDEV-588: Feature: upgrade container to Java 17
UpdatedJAVA_TOOL_OPTIONS
JAVA_TOOL_OPTIONSThis configuration map entry should now have a value of:
-Xms1g -Xmx2g -XX:+UseStringDeduplication -XX:+UseG1GC -Xlog:gc*,gc+phases=debug:file=/hln/diagnostics/garbageCollection.log:uptime,utctime,level,tags,pid,hostname:filesize=10m,filecount=10
Adjust the GitLab CI/D build manifest
With the upgrade to Java 17, the build process for generating a VCS container requires adjustments. Building VCS is now similar to building most RCKMS services in the sense that we are now leveraging an explicit Dockerfile to configure container builds.
For reference, the second build step in .gcp.config/cloudbuild.core.yaml contains the build command that should replace the existing command that starts with mvn clean install jib:build...
Bill of Materials
Components that have an update in this release are notated with a highlighted background.
cat-rckms
CAT
0870161
2.13.0
data-support-update-service
DSUS
3755ae1
1.7.3
decision-support-service
DSS
41a3739
2.6.0
dss-preflight-container
DSS-PFC
fc01915
1.1.6
middle-tier-service
MTS
ff5b474
2.5.2
opencds-update-service
OUS
9534cda
1.8.0
rckms-reports-service
RRS
0f61d0e
1.2.0
rules-generation-service
RGS
7fc3f28
2.0.19
shared-service
SS
0caec14
1.7.3
ss-comparison-service
SSCS
5d0aefe
1.3.1
vmr-converter-service
VCS
c08cc34
2.4.0
Last updated