aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorRashmi Pujar <rashmi.pujar1@bell.ca>2022-02-04 21:49:30 -0500
committerRashmi Pujar <rashmi.pujar1@bell.ca>2022-02-10 01:33:25 -0500
commit5f919673b13d8fd40a6a90b97f4e662ade068304 (patch)
treec24a727c3c60b228b28cd68df3d37ca56acd379e /packages
parent2d4db3c6375ca761b25700226addea6060432b0d (diff)
Migrate policy api startup & config, controller to springboot
Issue-ID: POLICY-3753 Signed-off-by: Rashmi Pujar <rashmi.pujar1@bell.ca> Change-Id: I4537ed49b7fc57683bfc487f0d212642b7e69f17
Diffstat (limited to 'packages')
-rw-r--r--packages/policy-api-docker/pom.xml10
-rw-r--r--packages/policy-api-docker/src/main/docker/Dockerfile8
-rw-r--r--packages/policy-api-docker/src/main/docker/policy-api.sh12
-rw-r--r--packages/policy-api-tarball/src/main/package/tarball/assembly.xml5
-rw-r--r--packages/policy-api-tarball/src/main/resources/etc/apiParameters.yaml65
-rw-r--r--packages/policy-api-tarball/src/main/resources/etc/defaultConfig.json57
-rw-r--r--packages/policy-api-tarball/src/main/resources/etc/s3pConfig.json56
7 files changed, 91 insertions, 122 deletions
diff --git a/packages/policy-api-docker/pom.xml b/packages/policy-api-docker/pom.xml
index 57078d52..e9c45879 100644
--- a/packages/policy-api-docker/pom.xml
+++ b/packages/policy-api-docker/pom.xml
@@ -1,7 +1,7 @@
<!--
============LICENSE_START=======================================================
Copyright (C) 2019,2021 AT&T Intellectual Property. All rights reserved.
- Modifications Copyright (C) 2020 Bell Canada.
+ Modifications Copyright (C) 2020-2022 Bell Canada.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -96,6 +96,12 @@
<outputDirectory>/lib</outputDirectory>
<outputFileNameMapping>policy-api.tar.gz</outputFileNameMapping>
</dependencySet>
+ <dependencySet>
+ <includes>
+ <include>org.onap.policy.api:api-main</include>
+ </includes>
+ <outputFileNameMapping>api.jar</outputFileNameMapping>
+ </dependencySet>
</dependencySets>
</inline>
</assembly>
@@ -157,4 +163,4 @@
<type>tar.gz</type>
</dependency>
</dependencies>
-</project>
+</project> \ No newline at end of file
diff --git a/packages/policy-api-docker/src/main/docker/Dockerfile b/packages/policy-api-docker/src/main/docker/Dockerfile
index aac535d6..652d97d8 100644
--- a/packages/policy-api-docker/src/main/docker/Dockerfile
+++ b/packages/policy-api-docker/src/main/docker/Dockerfile
@@ -2,6 +2,7 @@
# Dockerfile
# ============LICENSE_START=======================================================
# Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright (C) 2022 Bell Canada. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -30,15 +31,16 @@ ENV POLICY_HOME=$POLICY_HOME/api
RUN mkdir -p $POLICY_LOGS $POLICY_HOME $POLICY_HOME/bin && \
chown -R policy:policy $POLICY_HOME $POLICY_LOGS && \
mkdir /packages
-COPY /maven/* /packages
+COPY /maven/lib/policy-api.tar.gz /packages
RUN tar xvfz /packages/policy-api.tar.gz --directory $POLICY_HOME && \
rm /packages/policy-api.tar.gz
WORKDIR $POLICY_HOME
COPY policy-api.sh bin/.
+COPY /maven/api.jar /app
-RUN chown -R policy:policy * && chmod 755 bin/*.sh
+RUN chown -R policy:policy * && chmod 755 bin/*.sh && chown -R policy:policy /app
USER policy
WORKDIR $POLICY_HOME/bin
-ENTRYPOINT [ "./policy-api.sh" ]
+ENTRYPOINT [ "./policy-api.sh" ] \ No newline at end of file
diff --git a/packages/policy-api-docker/src/main/docker/policy-api.sh b/packages/policy-api-docker/src/main/docker/policy-api.sh
index d058d256..5d22c03d 100644
--- a/packages/policy-api-docker/src/main/docker/policy-api.sh
+++ b/packages/policy-api-docker/src/main/docker/policy-api.sh
@@ -3,6 +3,7 @@
# ============LICENSE_START=======================================================
# Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
# Modifications Copyright (C) 2019-2020 Nordix Foundation.
+# Modifications Copyright (C) 2022 Bell Canada. All rights reserved.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -33,7 +34,7 @@ else
fi
if [ -z "$CONFIG_FILE" ]; then
- CONFIG_FILE="${POLICY_HOME}/etc/defaultConfig.json"
+ CONFIG_FILE="${POLICY_HOME}/etc/apiParameters.yaml"
fi
echo "Policy api config file: $CONFIG_FILE"
@@ -53,4 +54,11 @@ if [ -f "${POLICY_HOME}/etc/mounted/logback.xml" ]; then
cp -f "${POLICY_HOME}"/etc/mounted/logback.xml "${POLICY_HOME}"/etc/
fi
-$JAVA_HOME/bin/java -cp "${POLICY_HOME}/etc:${POLICY_HOME}/lib/*" -Dlogback.configurationFile="${POLICY_HOME}/etc/logback.xml" -Djavax.net.ssl.keyStore="${KEYSTORE}" -Djavax.net.ssl.keyStorePassword="${KEYSTORE_PASSWD}" -Djavax.net.ssl.trustStore="${TRUSTSTORE}" -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" org.onap.policy.api.main.startstop.Main -c "${CONFIG_FILE}"
+$JAVA_HOME/bin/java \
+ -Dlogback.configurationFile="${POLICY_HOME}/etc/logback.xml" \
+ -Dserver.ssl.key-store="${KEYSTORE}" \
+ -Dserver.ssl.key-store-password="${KEYSTORE_PASSWD}" \
+ -Djavax.net.ssl.trustStore="${TRUSTSTORE}" \
+ -Djavax.net.ssl.trustStorePassword="${TRUSTSTORE_PASSWD}" \
+ -jar /app/api.jar \
+ --spring.config.location="${CONFIG_FILE}" \ No newline at end of file
diff --git a/packages/policy-api-tarball/src/main/package/tarball/assembly.xml b/packages/policy-api-tarball/src/main/package/tarball/assembly.xml
index c19bd082..777ea85c 100644
--- a/packages/policy-api-tarball/src/main/package/tarball/assembly.xml
+++ b/packages/policy-api-tarball/src/main/package/tarball/assembly.xml
@@ -1,6 +1,7 @@
<!--
============LICENSE_START=======================================================
Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ Modifications Copyright (C) 2022 Bell Canada. All rights reserved.
================================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -40,8 +41,8 @@
<directory>${project.basedir}/src/main/resources/etc
</directory>
<includes>
- <include>*.json</include>
<include>*.xml</include>
+ <include>*.yaml</include>
</includes>
<outputDirectory>${file.separator}etc</outputDirectory>
<lineEnding>unix</lineEnding>
@@ -59,4 +60,4 @@
<lineEnding>keep</lineEnding>
</fileSet>
</fileSets>
-</assembly>
+</assembly> \ No newline at end of file
diff --git a/packages/policy-api-tarball/src/main/resources/etc/apiParameters.yaml b/packages/policy-api-tarball/src/main/resources/etc/apiParameters.yaml
new file mode 100644
index 00000000..96b79823
--- /dev/null
+++ b/packages/policy-api-tarball/src/main/resources/etc/apiParameters.yaml
@@ -0,0 +1,65 @@
+server:
+ port: 6969
+
+spring:
+ security.user:
+ name: policyadmin
+ password: zb!XztG34
+ mvc.converters.preferred-json-mapper: gson
+
+policy-api:
+ name: ApiGroup
+ aaf: false
+
+database:
+ name: PolicyProviderParameterGroup
+ implementation: org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl
+ driver: org.mariadb.jdbc.Driver
+ url: jdbc:mariadb://mariadb:3306/policyadmin
+ user: policy_user
+ password: policy_user
+ persistenceUnit: PolicyDb
+
+policy-preload:
+ policyTypes:
+ - policytypes/onap.policies.monitoring.tcagen2.yaml
+ - policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml
+ - policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml
+ - policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml
+ - policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml
+ - policytypes/onap.policies.Optimization.yaml
+ - policytypes/onap.policies.optimization.Resource.yaml
+ - policytypes/onap.policies.optimization.Service.yaml
+ - policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml
+ - policytypes/onap.policies.optimization.resource.DistancePolicy.yaml
+ - policytypes/onap.policies.optimization.resource.HpaPolicy.yaml
+ - policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml
+ - policytypes/onap.policies.optimization.resource.PciPolicy.yaml
+ - policytypes/onap.policies.optimization.service.QueryPolicy.yaml
+ - policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml
+ - policytypes/onap.policies.optimization.resource.Vim_fit.yaml
+ - policytypes/onap.policies.optimization.resource.VnfPolicy.yaml
+ - policytypes/onap.policies.controlloop.guard.Common.yaml
+ - policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml
+ - policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml
+ - policytypes/onap.policies.controlloop.guard.common.MinMax.yaml
+ - policytypes/onap.policies.controlloop.guard.common.Filter.yaml
+ - policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml
+ - policytypes/onap.policies.Naming.yaml
+ - policytypes/onap.policies.Match.yaml
+ - policytypes/onap.policies.native.Drools.yaml
+ - policytypes/onap.policies.native.Xacml.yaml
+ - policytypes/onap.policies.native.Apex.yaml
+ - policytypes/onap.policies.controlloop.operational.Common.yaml
+ - policytypes/onap.policies.controlloop.operational.common.Apex.yaml
+ - policytypes/onap.policies.controlloop.operational.common.Drools.yaml
+ policies:
+ - policies/sdnc.policy.naming.input.tosca.yaml
+
+management:
+ endpoints:
+ web:
+ base-path: /
+ exposure:
+ include: health,metrics,prometheus
+ path-mapping.prometheus: metrics \ No newline at end of file
diff --git a/packages/policy-api-tarball/src/main/resources/etc/defaultConfig.json b/packages/policy-api-tarball/src/main/resources/etc/defaultConfig.json
deleted file mode 100644
index 555a1137..00000000
--- a/packages/policy-api-tarball/src/main/resources/etc/defaultConfig.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "name": "ApiGroup",
- "restServerParameters": {
- "host": "0.0.0.0",
- "port": 6969,
- "userName": "policyadmin",
- "password": "zb!XztG34",
- "https": true,
- "aaf": false,
- "prometheus": true
- },
- "databaseProviderParameters": {
- "name": "PolicyProviderParameterGroup",
- "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
- "databaseDriver": "org.mariadb.jdbc.Driver",
- "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin",
- "databaseUser": "policy_user",
- "databasePassword": "policy_user",
- "persistenceUnit": "PolicyDb"
- },
- "preloadPolicyTypes": [
- "policytypes/onap.policies.monitoring.tcagen2.yaml",
- "policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml",
- "policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml",
- "policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml",
- "policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml",
- "policytypes/onap.policies.Optimization.yaml",
- "policytypes/onap.policies.optimization.Resource.yaml",
- "policytypes/onap.policies.optimization.Service.yaml",
- "policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml",
- "policytypes/onap.policies.optimization.resource.DistancePolicy.yaml",
- "policytypes/onap.policies.optimization.resource.HpaPolicy.yaml",
- "policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml",
- "policytypes/onap.policies.optimization.resource.PciPolicy.yaml",
- "policytypes/onap.policies.optimization.service.QueryPolicy.yaml",
- "policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml",
- "policytypes/onap.policies.optimization.resource.Vim_fit.yaml",
- "policytypes/onap.policies.optimization.resource.VnfPolicy.yaml",
- "policytypes/onap.policies.controlloop.guard.Common.yaml",
- "policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml",
- "policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml",
- "policytypes/onap.policies.controlloop.guard.common.MinMax.yaml",
- "policytypes/onap.policies.controlloop.guard.common.Filter.yaml",
- "policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml",
- "policytypes/onap.policies.Naming.yaml",
- "policytypes/onap.policies.Match.yaml",
- "policytypes/onap.policies.native.Drools.yaml",
- "policytypes/onap.policies.native.Xacml.yaml",
- "policytypes/onap.policies.native.Apex.yaml",
- "policytypes/onap.policies.controlloop.operational.Common.yaml",
- "policytypes/onap.policies.controlloop.operational.common.Apex.yaml",
- "policytypes/onap.policies.controlloop.operational.common.Drools.yaml"
- ],
- "preloadPolicies" : [
- "policies/sdnc.policy.naming.input.tosca.yaml"
- ]
-}
diff --git a/packages/policy-api-tarball/src/main/resources/etc/s3pConfig.json b/packages/policy-api-tarball/src/main/resources/etc/s3pConfig.json
deleted file mode 100644
index 5bd17970..00000000
--- a/packages/policy-api-tarball/src/main/resources/etc/s3pConfig.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "ApiGroup",
- "restServerParameters": {
- "host": "0.0.0.0",
- "port": 6969,
- "userName": "policyadmin",
- "password": "zb!XztG34",
- "https": true,
- "aaf": false
- },
- "databaseProviderParameters": {
- "name": "PolicyProviderParameterGroup",
- "implementation": "org.onap.policy.models.provider.impl.DatabasePolicyModelsProviderImpl",
- "databaseDriver": "org.mariadb.jdbc.Driver",
- "databaseUrl": "jdbc:mariadb://mariadb:3306/policyadmin",
- "databaseUser": "policy_user",
- "databasePassword": "policy_user",
- "persistenceUnit": "PolicyDb"
- },
- "preloadPolicyTypes": [
- "policytypes/onap.policies.monitoring.tcagen2.yaml",
- "policytypes/onap.policies.monitoring.dcaegen2.collectors.datafile.datafile-app-server.yaml",
- "policytypes/onap.policies.monitoring.dcae-restconfcollector.yaml",
- "policytypes/onap.policies.monitoring.dcae-pm-subscription-handler.yaml",
- "policytypes/onap.policies.monitoring.dcae-pm-mapper.yaml",
- "policytypes/onap.policies.Optimization.yaml",
- "policytypes/onap.policies.optimization.Resource.yaml",
- "policytypes/onap.policies.optimization.Service.yaml",
- "policytypes/onap.policies.optimization.resource.AffinityPolicy.yaml",
- "policytypes/onap.policies.optimization.resource.DistancePolicy.yaml",
- "policytypes/onap.policies.optimization.resource.HpaPolicy.yaml",
- "policytypes/onap.policies.optimization.resource.OptimizationPolicy.yaml",
- "policytypes/onap.policies.optimization.resource.PciPolicy.yaml",
- "policytypes/onap.policies.optimization.service.QueryPolicy.yaml",
- "policytypes/onap.policies.optimization.service.SubscriberPolicy.yaml",
- "policytypes/onap.policies.optimization.resource.Vim_fit.yaml",
- "policytypes/onap.policies.optimization.resource.VnfPolicy.yaml",
- "policytypes/onap.policies.controlloop.guard.Common.yaml",
- "policytypes/onap.policies.controlloop.guard.common.Blacklist.yaml",
- "policytypes/onap.policies.controlloop.guard.common.FrequencyLimiter.yaml",
- "policytypes/onap.policies.controlloop.guard.common.MinMax.yaml",
- "policytypes/onap.policies.controlloop.guard.common.Filter.yaml",
- "policytypes/onap.policies.controlloop.guard.coordination.FirstBlocksSecond.yaml",
- "policytypes/onap.policies.Naming.yaml",
- "policytypes/onap.policies.Match.yaml",
- "policytypes/onap.policies.native.Drools.yaml",
- "policytypes/onap.policies.native.Xacml.yaml",
- "policytypes/onap.policies.native.Apex.yaml",
- "policytypes/onap.policies.controlloop.operational.Common.yaml",
- "policytypes/onap.policies.controlloop.operational.common.Apex.yaml",
- "policytypes/onap.policies.controlloop.operational.common.Drools.yaml"
- ],
- "preloadPolicies" : [
- "policies/sdnc.policy.naming.input.tosca.yaml"
- ]
-}