pegasystems / pega-helm-charts

Orchestrate a Pega Platform™ deployment by using Docker, Kubernetes, and Helm to take advantage of Pega Platform Cloud Choice flexibility.
https://community.pega.com/knowledgebase/articles/cloud-choice
Apache License 2.0
123 stars 194 forks source link

prconfig parsing error preventing installation #299

Closed cgijb closed 3 years ago

cgijb commented 3 years ago

Describe the bug Pega on Kubernetes installation fails (8.5.2, 8.5.3 and 8.6.0) with errors related to prconfig.

Primary Error:

org.xml.sax.SAXParseException: The reference to entity "GL6" must end with the ';' delimiter.

Related Error following in logs:

[java] Caused by: com.pega.pegarules.pub.database.ConfigurationException: Database-General PegaDATA is not defined in the prconfig settings for this system. Please ensure that PegaDATA is defined with either datasource or url based connection information

[java] Caused by: com.pega.pegarules.pub.PRRuntimeException: Error determining the mode of PRPC install from database.

Install processing segment appears to be PegaRULES Bootstrap

To Reproduce

Steps used apply to Azure AKS.

  1. Create Kubernetes cluster
  2. Create Azure Container Registry (ACR) & link with Kubernetes
  3. Create SQL Server & Database & ensure connectivity with Kubernetes
  4. Create Pega schemas and assign appropriate permissions (database init based on these instructions)
  5. Copy install, pega and search container images from Pega private repo to local ACR
  6. Generate values.yml as listed in these instructions
  7. Update values.yml to use appropriate ACR container image data
  8. Execute the script using:
helm upgrade --upgrade \
  --install \
  --debug \
  --wait \
  --timeout 3h MyPegaDeploy \
  -f /path/to/values.yaml \
  -set global.actions.execute=install \
  -set global.jdbc.url="${JDBC_URL}" \
  -set global.installer.adminPassowrd=""${PEGA_ADMIN_PASSWORD} \
  -set global.jdbc.password="${DB_PASSWORD}"
  1. Wait approximately 15 minutes for failure
  2. Verify in logs and in database connection that the tables were created

JDBC_URL takes the form of:

jdbc:sqlserver://${JDBC_HOST_STRING};database=${DB_DATABASE};encrypt=true;loginTimeout=30;

Expected behavior Installation completes without any errors.

Chart version 1.5.3

Server (if applicable, please complete the following information):

Additional context

Log Snippets

DDL success snippet:

Apply DDL Inner:
     [java] Picked up JAVA_TOOL_OPTIONS: -Duser.home=/usr/share/pegauser
     [echo] using driver jar file: /opt/pega/lib/mssql-jdbc-9.2.1.jre11.jar
     [java] Picked up JAVA_TOOL_OPTIONS: -Duser.home=/usr/share/pegauser
     [java] 2021-05-30 18:03:16,341 (                          SQLLoader)    INFO - Starting logging to : 'logs/SQLinstaller.log'
     [java] 2021-05-30 18:03:16,368 (                          SQLLoader)    INFO - --config=/opt/pega/kit/scripts/prbootstrap.properties||--profile=install.mssql||/opt/pega/kit/scripts/../schema/generated/mssql/install/statements||
     [java] 2021-05-30 18:03:16,373 (                  SQLLoaderInternal)    INFO - Starting on /opt/pega/kit/schema/generated/mssql/install/statements
     [java] 2021-05-30 18:03:16,388 (                  ConnectionWrapper)    INFO - Attempting to load profile "install.mssql": 
     [java] 2021-05-30 18:03:16,388 (                  ConnectionWrapper)    INFO -     Type: mssql
     [java] 2021-05-30 18:03:16,389 (                  ConnectionWrapper)    INFO -     Class: com.microsoft.sqlserver.jdbc.SQLServerDriver
     [java] 2021-05-30 18:03:16,390 (                  ConnectionWrapper)    INFO -     URL: jdbc:sqlserver://REDACTED;database=REDACTED;encrypt=true;loginTimeout=30;
     [java] 2021-05-30 18:03:16,391 (                  ConnectionWrapper)    INFO -     User: PegaAdminUser
     [java] 2021-05-30 18:03:16,391 (                  ConnectionWrapper)    INFO -     JDBC Properties: 
     [java] 2021-05-30 18:03:17,174 (                  ConnectionWrapper)    INFO - Autocommit set to true
     [java] 2021-05-30 18:03:17,182 (                  SQLLoaderInternal)    INFO - File: mssql00010.sql
     [java] 2021-05-30 18:03:17,184 (                  SQLLoaderInternal)    INFO - CREATE TABLE PEGADATA.PR_DATA_DM_ADMMART_PRED
     [java] 2021-05-30 18:03:17,212 (                  SQLLoaderInternal)    INFO - File: mssql00020.sql
...
[java] 2021-05-30 18:03:27,607 (                  SQLLoaderInternal)    INFO - Processing complete.
     [java] Picked up JAVA_TOOL_OPTIONS: -Duser.home=/usr/share/pegauser

Fully stack trace for GL6 error:

     [java] org.xml.sax.SAXParseException: The reference to entity "GL6" must end with the ';' delimiter.
     [java]     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:178) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:400) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1471) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.impl.XMLScanner.scanAttributeValue(XMLScanner.java:912) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanAttribute(XMLNSDocumentScannerImpl.java:447) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:250) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2710) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635) ~[?:?]
     [java]     at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324) ~[?:?]
     [java]     at com.pega.platform.environment.configuration.internal.sources.ConfigReader.doParse(ConfigReader.java:210) ~[environment.jar:8.6.0-101]
     [java]     at com.pega.platform.environment.configuration.internal.sources.ConfigReader.parse(ConfigReader.java:79) ~[environment.jar:8.6.0-101]
     [java]     at com.pega.platform.environment.configuration.internal.sources.ConfigFileConfigurationSource._loadConfig_privact(ConfigFileConfigurationSource.java:111) ~[environment.jar:8.6.0-101]
     [java]     at com.pega.platform.environment.configuration.internal.sources.ConfigFileConfigurationSource.readConfiguration(ConfigFileConfigurationSource.java:94) ~[environment.jar:8.6.0-101]
     [java]     at com.pega.platform.environment.configuration.internal.sources.ConfigFileConfigurationSource.<init>(ConfigFileConfigurationSource.java:61) ~[environment.jar:8.6.0-101]
     [java]     at com.pega.platform.environment.configuration.internal.DefaultConfigurationSource.getFileConfigurationSource(DefaultConfigurationSource.java:121) ~[environment.jar:8.6.0-101]
     [java]     at com.pega.platform.environment.configuration.internal.DefaultConfigurationSource.<init>(DefaultConfigurationSource.java:93) ~[environment.jar:8.6.0-101]
     [java]     at com.pega.platform.environment.configuration.internal.DefaultConfigurationSource.<init>(DefaultConfigurationSource.java:87) ~[environment.jar:8.6.0-101]
     [java]     at com.pega.platform.environment.configuration.internal.ConfigurationImpl.<init>(ConfigurationImpl.java:69) ~[environment.jar:8.6.0-101]
     [java]     at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
     [java]     at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
     [java]     at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
     [java]     at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
     [java]     at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:86) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:105) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:85) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:267) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012) ~[guice-4.0.jar:?]
     [java]     at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051) ~[guice-4.0.jar:?]
     [java]     at com.pega.platform.modules.internal.ModulesBridgeImpl.getModules(ModulesBridgeImpl.java:202) ~[modules-bridge.jar:8.6.0-101]
     [java]     at com.pega.platform.modules.internal.ModulesBridgeImpl.<init>(ModulesBridgeImpl.java:191) ~[modules-bridge.jar:8.6.0-101]
     [java]     at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
     [java]     at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
     [java]     at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
     [java]     at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
     [java]     at java.lang.Class.newInstance(Class.java:584) ~[?:?]
     [java]     at com.pega.platform.modules.PRModulesProvider.initialize(PRModulesProvider.java:37) ~[modules-bridge.jar:8.6.0-101]
     [java]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
     [java]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
     [java]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
     [java]     at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
     [java]     at com.pega.pegarules.common.PREngineProvider.staticInit(PREngineProvider.java:228) ~[prenginext.jar:8.6.0-101]
     [java]     at com.pega.pegarules.common.PREngineProvider.access$000(PREngineProvider.java:77) ~[prenginext.jar:8.6.0-101]
     [java]     at com.pega.pegarules.common.PREngineProvider$1.runTask(PREngineProvider.java:140) ~[prenginext.jar:8.6.0-101]
     [java]     at com.pega.pegarules.common.PREngineProvider$1.runTask(PREngineProvider.java:137) ~[prenginext.jar:8.6.0-101]
     [java]     at com.pega.pegarules.internal.bootstrap.phase2.util.StartupTimeTracker$TimeTracker.trackTime(StartupTimeTracker.java:56) ~[prbootphase2.jar:8.6.0-101]
     [java]     at com.pega.pegarules.common.PREngineProvider.<clinit>(PREngineProvider.java:143) ~[prenginext.jar:8.6.0-101]
     [java]     at com.pega.pegarules.deploy.external.util.InstallerMain.setTenantContext(InstallerMain.java:66) ~[prenginext.jar:8.6.0-101]
     [java]     at com.pega.pegarules.deploy.external.util.InstallerMain.main(InstallerMain.java:48) ~[prenginext.jar:8.6.0-101]
     [java]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
     [java]     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
     [java]     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
     [java]     at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
     [java]     at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:388) ~[prbootstrap-8.6.0-101.jar:8.6.0-101]
     [java]     at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:430) ~[prbootstrap-8.6.0-101.jar:8.6.0-101]
     [java]     at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:225) ~[prbootstrap-api-8.6.0-101.jar:8.6.0-101]
     [java]     at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:274) ~[prbootstrap-api-8.6.0-101.jar:8.6.0-101]
     [java]     at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:86) ~[prbootstrap-api-8.6.0-101.jar:8.6.0-101]

Full stack trace for bootstrap error:

     [java] 2021-05-30 18:19:44,946 (com.pega.pegarules.internal.bootstr)  SEVERE - Problem during method invocation (main)
     [java] 
     [java] java.lang.ExceptionInInitializerError
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl.isMultiTenantEnvironment(PRDataProviderImpl.java:1434)
     [java]     at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.setStageDirectory(ParUtilsImpl.java:227)
     [java]     at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.copyFileToVfsRoot(ParUtilsImpl.java:355)
     [java]     at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.copyFileToVfsRoot(ParUtilsImpl.java:348)
     [java]     at com.pega.pegarules.deploy.external.util.InstallOptions.buildFromArguments(InstallOptions.java:249)
     [java]     at com.pega.pegarules.deploy.external.util.InstallerMain.main(InstallerMain.java:49)
     [java]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     [java]     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
     [java]     at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:388)
     [java]     at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:430)
     [java]     at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:225)
     [java]     at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:274)
     [java]     at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:86)
     [java] Caused by: com.pega.pegarules.pub.PRRuntimeException: Error determining the mode of PRPC install from database.
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl$MultiTenantEnvironmentResource.isMultiTenantEnvironment(PRDataProviderImpl.java:1468)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl$MultiTenantEnvironmentResource.<clinit>(PRDataProviderImpl.java:1438)
     [java]     ... 15 more
     [java] Caused by: com.pega.pegarules.pub.database.ConfigurationException: Database-General PegaDATA is not defined in the prconfig settings for this system.  Please ensure that PegaDATA is defined with either datasource or url based connection information        
     [java] From: (unknown) 
     [java]     at com.pega.pegarules.data.internal.store.ConnectionBrokerAdapter.verifyBootstrapConfiguration(ConnectionBrokerAdapter.java:387)
     [java]     at com.pega.pegarules.data.internal.store.ConnectionBrokerAdapter.<init>(ConnectionBrokerAdapter.java:166)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl.getConnectionBroker(PRDataProviderImpl.java:774)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl.getConnectionManager(PRDataProviderImpl.java:744)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl$MultiTenantEnvironmentResource.isMultiTenantEnvironment(PRDataProviderImpl.java:1452)
     [java]     ... 16 more
     [java] 2021-05-30 18:19:44,947 (com.pega.pegarules.boot.internal.ex)  SEVERE - Problem during method invocation (main)
     [java] 
     [java] java.lang.ExceptionInInitializerError
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl.isMultiTenantEnvironment(PRDataProviderImpl.java:1434)
     [java]     at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.setStageDirectory(ParUtilsImpl.java:227)
     [java]     at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.copyFileToVfsRoot(ParUtilsImpl.java:355)
     [java]     at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.copyFileToVfsRoot(ParUtilsImpl.java:348)
     [java]     at com.pega.pegarules.deploy.external.util.InstallOptions.buildFromArguments(InstallOptions.java:249)
     [java]     at com.pega.pegarules.deploy.external.util.InstallerMain.main(InstallerMain.java:49)
     [java]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     [java]     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
     [java]     at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:388)
     [java]     at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:430)
     [java]     at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:225)
     [java]     at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:274)
     [java]     at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:86)
     [java] Caused by: com.pega.pegarules.pub.PRRuntimeException: Error determining the mode of PRPC install from database.
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl$MultiTenantEnvironmentResource.isMultiTenantEnvironment(PRDataProviderImpl.java:1468)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl$MultiTenantEnvironmentResource.<clinit>(PRDataProviderImpl.java:1438)
     [java]     ... 15 more
     [java] Caused by: com.pega.pegarules.pub.database.ConfigurationException: Database-General PegaDATA is not defined in the prconfig settings for this system.  Please ensure that PegaDATA is defined with either datasource or url based connection information        
     [java] From: (unknown) 
     [java]     at com.pega.pegarules.data.internal.store.ConnectionBrokerAdapter.verifyBootstrapConfiguration(ConnectionBrokerAdapter.java:387)
     [java]     at com.pega.pegarules.data.internal.store.ConnectionBrokerAdapter.<init>(ConnectionBrokerAdapter.java:166)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl.getConnectionBroker(PRDataProviderImpl.java:774)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl.getConnectionManager(PRDataProviderImpl.java:744)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl$MultiTenantEnvironmentResource.isMultiTenantEnvironment(PRDataProviderImpl.java:1452)
     [java]     ... 16 more
     [java] Exception in thread "main" java.lang.RuntimeException: Problem during method invocation (main)
     [java]     at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:280)
     [java]     at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:86)
     [java] Caused by: java.lang.ExceptionInInitializerError
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl.isMultiTenantEnvironment(PRDataProviderImpl.java:1434)
     [java]     at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.setStageDirectory(ParUtilsImpl.java:227)
     [java]     at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.copyFileToVfsRoot(ParUtilsImpl.java:355)
     [java]     at com.pega.pegarules.deploy.internal.archive.ParUtilsImpl.copyFileToVfsRoot(ParUtilsImpl.java:348)
     [java]     at com.pega.pegarules.deploy.external.util.InstallOptions.buildFromArguments(InstallOptions.java:249)
     [java]     at com.pega.pegarules.deploy.external.util.InstallerMain.main(InstallerMain.java:49)
     [java]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     [java]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     [java]     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     [java]     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
     [java]     at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:388)
     [java]     at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:430)
     [java]     at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:225)
     [java]     at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:274)
     [java]     ... 1 more
     [java] Caused by: com.pega.pegarules.pub.PRRuntimeException: Error determining the mode of PRPC install from database.
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl$MultiTenantEnvironmentResource.isMultiTenantEnvironment(PRDataProviderImpl.java:1468)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl$MultiTenantEnvironmentResource.<clinit>(PRDataProviderImpl.java:1438)
     [java]     ... 15 more
     [java] Caused by: com.pega.pegarules.pub.database.ConfigurationException: Database-General PegaDATA is not defined in the prconfig settings for this system.  Please ensure that PegaDATA is defined with either datasource or url based connection information        
     [java] From: (unknown) 
     [java]     at com.pega.pegarules.data.internal.store.ConnectionBrokerAdapter.verifyBootstrapConfiguration(ConnectionBrokerAdapter.java:387)
     [java]     at com.pega.pegarules.data.internal.store.ConnectionBrokerAdapter.<init>(ConnectionBrokerAdapter.java:166)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl.getConnectionBroker(PRDataProviderImpl.java:774)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl.getConnectionManager(PRDataProviderImpl.java:744)
     [java]     at com.pega.pegarules.data.internal.PRDataProviderImpl$MultiTenantEnvironmentResource.isMultiTenantEnvironment(PRDataProviderImpl.java:1452)
     [java]     ... 16 more

Helm values.yaml

Here's the values.yaml file with comments and everything else removed for what I am not using (remember that I am adding values in at Helm launch time):

global:
  provider: "aks"
  deployment:
    name: "MyDeploy"
  docker:
    pega:
      image: "mycontainerreg.azurecr.io/pega/pega:8.6.0"
  jdbc:
    driverClass: "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    dbType: "mssql"
    driverUri: "https://repo1.maven.org/maven2/com/microsoft/sqlserver/mssql-jdbc/9.2.1.jre11/mssql-jdbc-9.2.1.jre11.jar"
    username: "PegaAdminUser"
    connectionProperties: ""
    rulesSchema: "PegaRULES"
    dataSchema: "PegaDATA"
    customerDataSchema: "CustomerDATA"
  tier:
    - name: "web"
      nodeType: "WebUser"
      replicas: 1
      javaOpts: "-XX:+PrintGC -XX:+PrintGCDetails -Xlog:gc:/usr/local/tomcat/logs/gc.log"
      cpuRequest: 2
      memRequest: "12Gi"
      cpuLimit: 4
      memLimit: "12Gi"
      initialHeap: "8192m"
      maxHeap: "8192m"
      requestor:
        passivationTimeSec: 900
      service:
        port: 80
        targetPort: 8080
      ingress:
        domain: "mydomain.com"
        tls:
          enabled: true
          secretName: aks-np-tls
          useManagedCertificate: false
          ssl_annotation:
            ingress.kubernetes.io/tls-minimum-version: "1.2"
      pegaDiagnosticUser: ""
      pegaDiagnosticPassword: ""
      deploymentStrategy:
        rollingUpdate:
          maxSurge: 25%
          maxUnavailable: 255
        type: RollingUpdate
      livenessProbe:
        port: 8081
      hpa:
        enabled: false
    - name: "batch"
      nodeType: "BackgroundProcessing"
      replicas: 1
      javaOpts: "-XX:+PrintGC -XX:+PrintGCDetails -Xlog:gc:/usr/local/tomcat/logs/gc.log"
      cpuRequest: 2
      memRequest: "8Gi"
      cpuLimit: 4
      memLimit: "8Gi"
      initialHeap: "4096m"
      maxHeap: "4096m"
      requestor:
        passivationTimeSec: 900
      service:
        port: 7003
        targetPort: 7003
      ingress:
        tls:
          enabled: false
      pegaDiagnosticUser: ""
      pegaDiagnosticPassword: ""
      livenessProbe:
        initialDelaySeconds: 1800
        timeoutSeconds: 30
        failureThreshold: 5
      hpa:
        enabled: false
      volumeClaimTemplate:
        resources:
          requests:
            storage: 100Gi
    - name: "stream"
      nodeType: "Stream"
      replicas: 1
      javaOpts: "-XX:+PrintGC -XX:+PrintGCDetails -Xlog:gc:/usr/local/tomcat/logs/gc.log"
      cpuRequest: 2
      memRequest: "8Gi"
      cpuLimit: 4
      memLimit: "8Gi"
      initialHeap: "4096m"
      maxHeap: "4096m"
      requestor:
        passivationTimeSec: 900
      service:
        port: 7003
        targetPort: 7003
      ingress:
        tls:
          enabled: false
      livenessProbe:
        initialDelaySeconds: 1800
        timeoutSeconds: 30
        failureThreshold: 5
      volumeClaimTemplate:
        resources:
          requests:
            storage: 100Gi
cassandra:
  enabled: false
  persistence:
    enabled: true
  resources:
    requests:
      memory: "4Gi"
      cpu: 2
    limits:
      memory: "8Gi"
      cpu: 4
pegasearch:
  image: "mycontainerreg.azurecr.io/pega/search:8.6.0"
  memLimit: "3Gi"
  replicas: 1
installer:
  image: "mycontainerreg.azurecr.io/pega/installer:8.6.0"
  upgrade:
    upgradeType: "in-place"
    targetRulesSchema: ""
hazelcast:
  image: "mycontainerreg.azurecr.io/pega/hazelcast:8.6.0"
  enabled: false
  replicas: 1
  username: ""
  password: ""
cgijb commented 3 years ago

Pulled prconfig.xml from another, fresh run:

<?xml version="1.0" encoding="UTF-8"?>
<pegarules>
  <env name="Identification/SystemName" value="prpc" />
  <env name="Initialization/usenativelibrary" value="false" />
  <env name="initialization/explicittempdir" value="/opt/pega/temp/pr_temp" />
  <env name="initialization/minimalStartup" value="true" />
  <env name="initialization/productType" value="Standard" />
  <env name="ruleresolution/useclassancestorjoin" value="false" />
  <env name="ruleresolution/userulesetindexjoin" value="false" />
  <env name="ruleresolution/usejoinsforallclasses" value="false" />
  <env name="agent/enable" value="false" />
  <env name="fua/enableAssemblyAvoidance" value="false" />
  <env name="agent/masteragentenable" value="false" />
  <env name="initialization/daemonenable" value="false" />
  <env name="usage/usagetrackingenabled" value="false" />
  <env name="asyncservices/enable" value="false" />
  <env name="asyncExecutor/enable" value="false" />
  <env name="passivation/SkipUpgradeCheckingDuringSave" value="true" />
  <env name="database/baseTable/name" value="pr4_base" />
  <env name="database/baseTable/schema" value="PegaRULES" />
  <env name="database/othertable/schema" value="PegaDATA" />
  <env name="database/storageVersion" value="6" />
  <env name="database/drivers" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
  <env name="database/databases/PegaRULES/url" value="REDACTED" />
  <env name="database/databases/PegaRULES/userName" value="PegaAdminUser" />
  <env name="database/databases/PegaRULES/password" value="REDACTED" />
  <env name="database/databases/PegaRULES/defaultSchema" value="PegaRULES" />
  <env name="database/databases/PegaRULES/propertiesFile" value="/opt/pega/kit/scripts/config/mssql/mssql.conf" />
  <env name="database/databases/PegaRULES/forceComponentConnectionBroker" value="false" />
  <env name="database/databases/PegaDATA/url" value="REDACTED" />
  <env name="database/databases/PegaDATA/userName" value="PegaAdminUser" />
  <env name="database/databases/PegaDATA/password" value="REDACTED" />
  <env name="database/databases/PegaDATA/defaultSchema" value="PegaDATA" />
  <env name="database/databases/PegaDATA/propertiesFile" value="/opt/pega/kit/scripts/config/mssql/mssql.conf" />
  <env name="database/databases/PegaDATA/forceComponentConnectionBroker" value="false" />
  <env name="database/databases/PegaRULES/connectionPoolSize" value="30" />
  <env name="database/databases/PegaDATA/connectionPoolSize" value="30" />
  <env name="database/databases/CustomerData/url" value="REDACTED" />
  <env name="database/databases/CustomerData/userName" value="PegaAdminUser" />
  <env name="database/databases/CustomerData/password" value="REDACTED" />
  <env name="database/databases/CustomerData/defaultSchema" value="CustomerDATA" />
  <env name="database/databases/CustomerData/propertiesFile" value="/opt/pega/kit/scripts/config/mssql/mssql.conf" />
  <env name="database/databases/CustomerData/forceComponentConnectionBroker" value="false" />
  <env name="database/databases/CustomerData/connectionPoolSize" value="30" />
  <env name="install/parallel/threadcount" value="-1" />
  <env name="install/parallel/index/threadcount" value="-1" />
  <env name="compiler/javasourcelevel" value="1.7" />
  <env name="cluster/hazelcast/v4/enabled" value="true" type="java.lang.String"/>
</pegarules>
shashikant-koder commented 3 years ago

DB Configuration issue. @cgijb we are closing this issue as it has been fixed from your side.