These are some notes to test mysql 8.x using the docker-compose set up from the CSITs:
https://git.onap.org/policy/docker/tree/csit/docker-compose-all.yml
Replace mariadb components in docker-compose-all.yml with:
mariadb: image: mysql/mysql-server command: ['--lower-case-table-names=1', '--wait_timeout=28800', '--default-authentication-plugin=mysql_native_password', '--require_secure_transport=ON'] container_name: mariadb hostname: mariadb env_file: config/db/db.conf volumes: - ./config/db:/docker-entrypoint-initdb.d:ro expose: - 3306
db-migrator only need changes in the environment variables to use the ssl flag in the script for mysql cli tool it the config/db/db.conf file.
... MYSQL_CMD=mysql --ssl
API configuration changes like this in config/api/apiParameters.yaml
datasource: url: jdbc:mariadb://mariadb:3306/policyadmin?useSSL=true&disableSslHostnameVerification=true&trustServerCertificate=true driverClassName: org.mariadb.jdbc.Driver username: XXXXXX password: XXXXX hikari: maximumPoolSize: 20 jpa: properties: hibernate: dialect: org.hibernate.dialect.MySQL8Dialect hibernate: ddl-auto: none naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
Similaly PAP configuration changes in config/pap/papParameters.yaml to:
datasource: url: jdbc:mariadb://mariadb:3306/policyadmin?useSSL=true&disableSslHostnameVerification=true&trustServerCertificate=true driverClassName: org.mariadb.jdbc.Driver username: XXXX password: XXXX hikari: maximumPoolSize: 20 jpa: properties: hibernate: dialect: org.hibernate.dialect.MySQL8Dialect hibernate: ddl-auto: none naming: physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl implicit-strategy: org.onap.policy.common.spring.utils.CustomImplicitNamingStrategy
XACML-PDP should mount a guard config/xacml/xacml.properties with these properties:
# # Properties that the embedded PDP engine uses to configure and load # # Standard API Factories # xacml.dataTypeFactory=com.att.research.xacml.std.StdDataTypeFactory xacml.pdpEngineFactory=com.att.research.xacmlatt.pdp.ATTPDPEngineFactory xacml.pepEngineFactory=com.att.research.xacml.std.pep.StdEngineFactory xacml.pipFinderFactory=com.att.research.xacml.std.pip.StdPIPFinderFactory xacml.traceEngineFactory=com.att.research.xacml.std.trace.LoggingTraceEngineFactory # # AT&T PDP Implementation Factories # xacml.att.evaluationContextFactory=com.att.research.xacmlatt.pdp.std.StdEvaluationContextFactory xacml.att.combiningAlgorithmFactory=com.att.research.xacmlatt.pdp.std.StdCombiningAlgorithmFactory xacml.att.functionDefinitionFactory=com.att.research.xacmlatt.pdp.std.StdFunctionDefinitionFactory # # ONAP PDP Implementation Factories # xacml.att.policyFinderFactory=org.onap.policy.pdp.xacml.application.common.OnapPolicyFinderFactory # # Use a root combining algorithm # xacml.att.policyFinderFactory.combineRootPolicies=urn:oasis:names:tc:xacml:3.0:policy-combining-algorithm:deny-overrides # # PIP Engine Definitions # count-recent-operations.classname=org.onap.policy.pdp.xacml.application.common.operationshistory.CountRecentOperationsPip count-recent-operations.issuer=urn:org:onap:xacml:guard:count-recent-operations count-recent-operations.name=CountRecentOperations count-recent-operations.description=Returns operation counts based on time window count-recent-operations.persistenceunit=OperationsHistoryPU get-operation-outcome.classname=org.onap.policy.pdp.xacml.application.common.operationshistory.GetOperationOutcomePip get-operation-outcome.issuer=urn:org:onap:xacml:guard:get-operation-outcome get-operation-outcome.name=GetOperationOutcome get-operation-outcome.description=Returns operation outcome get-operation-outcome.persistenceunit=OperationsHistoryPU # # Make pips available to finder # xacml.pip.engines=count-recent-operations,get-operation-outcome # # JPA Properties # eclipselink.target-database=MySQL javax.persistence.jdbc.driver=org.mariadb.jdbc.Driver javax.persistence.jdbc.url=jdbc:mariadb://mariadb:3306/operationshistory?useSSL=true&disableSslHostnameVerification=true&trustServerCertificate=true javax.persistence.jdbc.user=XXXXX javax.persistence.jdbc.password=XXXX
For the guard xacml.properties to to be mounted have this set in the docker-compose.yaml
volumes: - ./config/xacml-pdp:/opt/app/policy/pdpx/etc/mounted - ./wait_for_port.sh:/opt/app/policy/pdpx/bin/wait_for_port.sh:ro
For drools-applications component have the config/drools-applications/env/base.conf containing these environment variables:
JDBC_URL=jdbc:mariadb://mariadb:3306/ JDBC_OPTS=?useSSL=true&disableSslHostnameVerification=true&trustServerCertificate=true MYSQL_CMD=mysql --ssl