diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 769af5db4f..7e637d1c8b 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -22,12 +22,14 @@ jobs: - name: Checkout repository uses: actions/checkout@v3 + with: + ref: ${{ github.head_ref }} - name: Generate and compare the Error messages run: | git clone https://zowe-robot:${{ secrets.ZOWE_ROBOT_TOKEN }}@github.com/zowe/docs-site.git cd docs-site - git checkout docs-staging + git checkout v3-doc-branch cd ../docs/docgen/ java -jar Docgen-1.0.jar ./config.yml cp ../../docs-site/docs/troubleshoot/troubleshoot-apiml-error-codes.md original-codes.md diff --git a/caching-service-package/src/main/resources/bin/start.sh b/caching-service-package/src/main/resources/bin/start.sh index c553fd83e3..d94586f174 100755 --- a/caching-service-package/src/main/resources/bin/start.sh +++ b/caching-service-package/src/main/resources/bin/start.sh @@ -203,7 +203,7 @@ _BPX_JOBNAME=${ZWE_zowe_job_prefix}${CACHING_CODE} ${JAVA_BIN_DIR}java \ -Dcaching.storage.size=${ZWE_configs_storage_size:-10000} \ -Dcaching.storage.mode=${ZWE_configs_storage_mode:-inMemory} \ -Dcaching.storage.vsam.name=${VSAM_FILE_NAME} \ - -Djgroups.bind.address=${ZWE_haInstance_hostname:-localhost} \ + -Djgroups.bind.address=${ZWE_configs_storage_infinispan_jgroups_host:-${ZWE_haInstance_hostname:-localhost}} \ -Djgroups.bind.port=${ZWE_configs_storage_infinispan_jgroups_port:-7098} \ -Djgroups.keyExchange.port=${ZWE_configs_storage_infinispan_jgroups_keyExchange_port:-7118} \ -Dcaching.storage.infinispan.persistence.dataLocation=${ZWE_configs_storage_infinispan_persistence_dataLocation:-data} \ diff --git a/caching-service/src/main/java/org/zowe/apiml/caching/service/vsam/config/VsamConfiguration.java b/caching-service/src/main/java/org/zowe/apiml/caching/service/vsam/config/VsamConfiguration.java index bf537a655f..9fbe4e23b7 100644 --- a/caching-service/src/main/java/org/zowe/apiml/caching/service/vsam/config/VsamConfiguration.java +++ b/caching-service/src/main/java/org/zowe/apiml/caching/service/vsam/config/VsamConfiguration.java @@ -27,9 +27,12 @@ public class VsamConfiguration { private final VsamConfig vsamConfig; private final VsamInitializer vsamInitializer; + @ConditionalOnProperty(name = "caching.storage.mode", havingValue = "vsam") @Bean public Storage vsam(MessageService messageService, EvictionStrategyProducer evictionStrategyProducer) { - return new VsamStorage(vsamConfig, vsamInitializer, ApimlLogger.of(VsamStorage.class, messageService), evictionStrategyProducer); + var logger = ApimlLogger.of(VsamStorage.class, messageService); + logger.log("org.zowe.apiml.cache.storage.deprecated", "vsam"); + return new VsamStorage(vsamConfig, vsamInitializer, logger, evictionStrategyProducer); } } diff --git a/caching-service/src/main/resources/caching-log-messages.yml b/caching-service/src/main/resources/caching-log-messages.yml index 5565289d03..420c6f3aaf 100644 --- a/caching-service/src/main/resources/caching-log-messages.yml +++ b/caching-service/src/main/resources/caching-log-messages.yml @@ -93,6 +93,13 @@ messages: reason: "JZOS toolkit used to communicate with JZOS is unavailable. Either you are running outside of zOS with VSAM as the storage or your zOS Java is misconfigured." action: "Check that you run on zOS and that the JZOS toolkit Java classes are on classpath." + - key: org.zowe.apiml.cache.storage.deprecated + number: ZWECS155 + type: WARNING + text: "'%s' storage option is deprecated." + reason: "Specified storage option is deprecated and will be removed in the next major version." + action: "Switch to one of the supported options." + # Service specific messages (700 - 799) - key: org.zowe.apiml.cache.gatewayUnavailable number: ZWECS700 diff --git a/schemas/caching-schema.json b/schemas/caching-schema.json index c6907f1628..c03b9a8e47 100644 --- a/schemas/caching-schema.json +++ b/schemas/caching-schema.json @@ -47,7 +47,7 @@ "mode": { "type": "string", "description": "Type of storge in caching service.", - "enum": ["inMemory","VSAM","redis"], + "enum": ["inMemory","VSAM","redis","infinispan"], "default": "inMemory" }, "size": { @@ -55,6 +55,56 @@ "description": "the number of records stored before the eviction strategy is initiated", "default": 10000 }, + "infinispan":{ + "type": "object", + "description": "Use Infinispan as the selected storage solution", + "properties": { + "jgroups": { + "type": "object", + "description": "Data synchronization between Caching instances.", + "properties": { + "port": { + "type": "integer", + "description": "TCP port number", + "default": 7600 + }, + "host": { + "type": "string", + "description": "TCP hostname" + }, + "keyExchange": { + "type": "object", + "description": "Data encryption key exchange.", + "properties": { + "port": { + "type": "integer", + "description": "TCP port number", + "default": 7601 + } + } + } + } + }, + "persistence": { + "type": "object", + "description": "Where to persistently store caching data.", + "properties": { + "dataLocation": { + "type": "string", + "description": "File location where to store data." + }, + "indexLocation": { + "type": "string", + "description": "File location where to store index." + } + } + }, + "initialHosts": { + "type": "string", + "description": "Address of the other Caching services. Consists of jgroups port and host in the form of 'host[port]'." + } + } + }, "vsam": { "type": "object", "description": "When storage is selected as VSAM", diff --git a/scripts/docs/index.js b/scripts/docs/index.js index 5b4731cb89..09c27ce843 100644 --- a/scripts/docs/index.js +++ b/scripts/docs/index.js @@ -34,7 +34,7 @@ const branchHash = randomBytes(32).toString('hex'); repo: 'docs-site', title: 'Automatic update for the Error messages in API-Layer PR', head: branch, - base: 'docs-staging', + base: 'v3-doc-branch', body: 'Updated API ML error messages' });