diff options
Diffstat (limited to 'controlloop/packages')
-rw-r--r-- | controlloop/packages/basex/src/files/bin/create-cl-legacy | 357 |
1 files changed, 171 insertions, 186 deletions
diff --git a/controlloop/packages/basex/src/files/bin/create-cl-legacy b/controlloop/packages/basex/src/files/bin/create-cl-legacy index 9aaa3c875..387c428a7 100644 --- a/controlloop/packages/basex/src/files/bin/create-cl-legacy +++ b/controlloop/packages/basex/src/files/bin/create-cl-legacy @@ -20,106 +20,96 @@ # ============LICENSE_END========================================================= ### -# Interactive script to generate a closed loop demo rules artifact -# for testing purposes of standalone PDP-D +# Interactive script to generate and install in a pdp-d control loops demo rules +# for a standalone PDP-D usage -echo "Closed Loop Demo Creator for standalone PDP-D" -echo "----------------------------------------------" +echo "Control Loop CLI Creator for standalone PDP-D usage (R0 Legacy Template Application)" +echo "-----------------------------------------------------------------------------------" echo -GROUPID="org.onap.policy.demo.rules" -ARTIFACTID="closed-loop-demo-rules" +GROUP_ID="org.onap.policy.rules.legacy" +ARTIFACT_ID="legacy" VERSION="1.1.0" -PACKAGE="org.onap.policy.demo.rules" -CLOSEDLOOPCONTROLNAME="CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8" -POLICYSCOPE="service=test;resource=FRWL;type=configuration" -POLICYNAME="FirewallDemo" -POLICYVERSION="v0.0.1" +PACKAGE="org.onap.policy.rules.legacy" +CONTROL_LOOP_NAME="CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8" +POLICY_SCOPE="service=test;resource=FRWL;type=configuration" +POLICY_NAME="FirewallDemo" +POLICY_VERSION="v0.0.1" ACTOR="APPC" -APPCTOPIC="APPC-CL" -APPCSERVERS="vm1.mr.simpledemo.openecomp.org" -APPCAPIKEY= -APPCAPISECRET= -NOTIFICATIONTOPIC="POLICY-CL-MGT" -NOTIFICATIONSERVERS="vm1.mr.simpledemo.openecomp.org" -NOTIFICATIONAPIKEY= -NOTIFICATIONAPISECRET= -DCAETOPIC="DCAE-CL-EVENT" -DCAESERVERS="vm1.mr.simpledemo.openecomp.org" -DCAEAPIKEY= -DCAEAPISECRET= -AAIURL="http://localhost:7676/aai/test" -AAIUSERNAME="policy" -AAIPASSWORD="policy" -AAINAMEDQUERYUUID=d925ed73-8231-4d02-9545-db4e101fffff -AAIPATTERNMATCH=1 -MSOURL="http://localhost:7677/mso/test" -MSOUSERNAME="policy" -MSOPASSWORD="policy" - -read -e -i "${GROUPID}" -p "Closed Loop Rules Maven Group Id> " GROUP_ID -read -e -i "${ARTIFACTID}" -p "Closed Loop Rules Maven Coordinates Artifact Id> " ARTIFACTID -read -e -i "${VERSION}" -p "Closed Loop Rules Maven Coordinates Version> " VERSION -read -e -i "${PACKAGE}" -p "Closed Loop Rules Package> " PACKAGE -read -e -i "${CLOSEDLOOPCONTROLNAME}" -p "Closed Loop Template Control Name> " CLOSEDLOOPCONTROLNAME -read -e -i "${POLICYSCOPE}" -p "Closed Loop Policy Scope> " POLICYSCOPE -read -e -i "${POLICYNAME}" -p "Closed Loop Policy Name> " POLICYNAME -read -e -i "${POLICYVERSION}" -p "Closed Loop Policy Version> " POLICYVERSION -read -e -i "${ACTOR}" -p "Closed Loop Actor ('APPC' or 'MSO')> " ACTOR -read -e -i "${APPCTOPIC}" -p "Closed Loop APP-C Recipe Topic> " APPCTOPIC -read -e -i "${APPCSERVERS}" -p "Closed Loop APP-C UEB Servers for ${APPCTOPIC} topic> " APPCSERVERS -read -e -i "${APPCAPIKEY}" -p "Closed Loop APP-C UEB API Key for ${APPCTOPIC} topic> " APPCAPIKEY -read -e -i "${APPCAPISECRET}" -p "Closed Loop APP-C UEB API Secret for ${APPCTOPIC} topic> " APPCAPISECRET -read -e -i "${NOTIFICATIONTOPIC}" -p "Closed Loop Ruby Notification Topic> " NOTIFICATIONTOPIC -read -e -i "${NOTIFICATIONSERVERS}" -p "Closed Loop Ruby UEB Servers for ${NOTIFICATIONTOPIC} topic> " NOTIFICATIONSERVERS -read -e -i "${NOTIFICATIONAPIKEY}" -p "Closed Loop Ruby UEB API Key ${NOTIFICATIONTOPIC} topic> " NOTIFICATIONAPIKEY -read -e -i "${NOTIFICATIONAPISECRET}" -p "Closed Loop Ruby UEB API Secret ${NOTIFICATIONTOPIC} topic> " NOTIFICATIONAPISECRET -read -e -i "${DCAETOPIC}" -p "Closed Loop DCAE Topic> " DCAETOPIC -read -e -i "${DCAESERVERS}" -p "Closed Loop DCAE UEB Servers> " DCAESERVERS -read -e -i "${DCAEAPIKEY}" -p "Closed Loop DCAE UEB API Key for ${DCAETOPIC} topic> " DCAEAPIKEY -read -e -i "${DCAEAPISECRET}" -p "Closed Loop DCAE UEB API Secret for ${DCAETOPIC} topic> " DCAEAPISECRET -read -e -i "${AAIURL}" -p "Closed Loop AAI URL> " AAIURL -read -e -i "${AAIUSERNAME}" -p "Closed Loop AAI Username> " AAIUSERNAME -read -e -i "${AAIPASSWORD}" -p "Closed Loop AAI Password> " AAIPASSWORD -read -e -i "${AAINAMEDQUERYUUID}" -p "Closed Loop AAI Named Query UUID> " AAINAMEDQUERYUUID -read -e -i "${AAIPATTERNMATCH}" -p "Closed Loop AAI Pattern Match (1 for vFW, otherwise vDNS)> " AAIPATTERNMATCH -read -e -i "${MSOURL}" -p "Closed Loop MSO URL> " MSOURL -read -e -i "${MSOUSERNAME}" -p "Closed Loop MSO Username> " MSOUSERNAME -read -e -i "${MSOPASSWORD}" -p "Closed Loop MSO Password> " MSOPASSWORD +APPC_TOPIC="APPC-CL" +DMAAP_SERVERS="vm1.mr.simpledemo.openecomp.org" +NOTIFICATION_TOPIC="POLICY-CL-MGT" +DCAE_TOPIC="unauthenticated.TCA_EVENT_OUTPUT" +DCAE_SERVERS="10.0.4.102" +AAI_URL="https://aai.api.simpledemo.openecomp.org:8443" +AAI_USERNAME="POLICY" +AAI_PASSWORD="POLICY" +AAI_NAMED_QUERY_UUID="f199cb88-5e69-4b1f-93e0-6f257877d066" +AAI_PATTERN_MATCH=1 +MSO_URL="http://vm1.mso.simpledemo.openecomp.org:8080/ecomp/mso/infra" +MSO_USERNAME="InfraPortalClient" +MSO_PASSWORD="password1$" + +read -e -i "${GROUP_ID}" -p "Target Rules Group Id> " GROUP_ID +read -e -i "${ARTIFACT_ID}" -p "Target Rules Artifact Id> " ARTIFACT_ID +read -e -i "${VERSION}" -p "Target Rules Version> " VERSION +read -e -i "${PACKAGE}" -p "Target Rules Java Package> " PACKAGE +read -e -i "${DCAE_SERVERS}" -p "Configuration DCAE DMaaP Servers> " DCAE_SERVERS +read -e -i "${DMAAP_SERVERS}" -p "Configuration Open DMaaP Servers> " DMAAP_SERVERS +read -e -i "${CONTROL_LOOP_NAME}" -p "Template Control Loop Name> " CONTROL_LOOP_NAME +read -e -i "${POLICY_SCOPE}" -p "Template Policy Scope> " POLICY_SCOPE +read -e -i "${POLICY_NAME}" -p "Template Policy Name> " POLICY_NAME +read -e -i "${POLICY_VERSION}" -p "Template Policy Version> " POLICY_VERSION +read -e -i "${APPC_TOPIC}" -p "Template APP-C Recipe Topic> " APPC_TOPIC +read -e -i "${NOTIFICATION_TOPIC}" -p "Template Notification Topic> " NOTIFICATION_TOPIC +read -e -i "${DCAE_TOPIC}" -p "Template DCAE Topic> " DCAE_TOPIC +read -e -i "${ACTOR}" -p "TemplateActor ('APPC' or 'MSO')> " ACTOR +read -e -i "${AAI_URL}" -p "Template AAI URL (vDNS only)> " AAI_URL +read -e -i "${AAI_USERNAME}" -p "Template AAI Username (vDNS only)> " AAI_USERNAME +read -e -i "${AAI_PASSWORD}" -p "Template AAI Password (vDNS only)> " AAI_PASSWORD +read -e -i "${AAI_NAMED_QUERY_UUID}" -p "Template AAI Named Query UUID (vDNS only)> " AAI_NAMED_QUERY_UUID +read -e -i "${AAI_PATTERN_MATCH}" -p "Template AAI Pattern Match (1 for vFW, otherwise vDNS)> " AAI_PATTERN_MATCH +read -e -i "${MSO_URL}" -p "Template MSO URL (vDNS only)> " MSO_URL +read -e -i "${MSO_USERNAME}" -p "Template MSO Username (vDNS only)> " MSO_USERNAME +read -e -i "${MSO_PASSWORD}" -p "Template MSO Password (vDNS only)> " MSO_PASSWORD echo echo -if [ -z "${GROUPID}" ]; then echo "Aborting: Closed Loop Rules Maven Group Id not provided"; exit 1; fi -if [ -z "${ARTIFACTID}" ]; then echo "Aborting: Closed Loop Rules Maven Coordinates Artifact Id not provided"; exit 1; fi -if [ -z "${VERSION}" ]; then echo "Aborting: Closed Loop Rules Maven Coordinates Version not provided"; exit 1; fi -if [ -z "${PACKAGE}" ]; then echo "Aborting: Closed Loop Rules Package not provided"; exit 1; fi -if [ -z "${CLOSEDLOOPCONTROLNAME}" ]; then echo "Aborting: Closed Loop Template Control Name not provided"; exit 1; fi -if [ -z "${POLICYSCOPE}" ]; then echo "Aborting: Closed Loop Template Policy Scope not provided"; exit 1; fi -if [ -z "${POLICYNAME}" ]; then echo "Aborting: Closed Loop Template Policy Name not provided"; exit 1; fi -if [ -z "${POLICYVERSION}" ]; then echo "Aborting: Closed Loop Template Policy Version not provided"; exit 1; fi -if [ -z "${ACTOR}" ]; then echo "Aborting: Closed Loop Template Actor not provided"; exit 1; fi -if [ -z "${APPCTOPIC}" ]; then echo "Aborting: Closed Loop Template APP-C Recipe Topic not provided"; exit 1; fi -if [ -z "${APPCSERVERS}" ]; then echo "Aborting: Closed Loop Template APP-C UEB Servers not provided"; exit 1; fi -if [ -z "${NOTIFICATIONTOPIC}" ]; then echo "Aborting: Closed Loop Template Ruby Notification Topic not provided"; exit 1; fi -if [ -z "${NOTIFICATIONSERVERS}" ]; then echo "Aborting: Closed Loop Template Ruby UEB Servers not provided"; exit 1; fi -if [ -z "${DCAETOPIC}" ]; then echo "Aborting: Closed Loop Template DCAE DMAAP Topic not provided"; exit 1; fi -if [ -z "${DCAESERVERS}" ]; then echo "Aborting: Closed Loop Template DCAE DMAAP Servers not provided"; exit 1; fi -if [ -z "${AAIURL}" ]; then echo "Aborting: Closed Loop Template AAI URL not provided"; exit 1; fi -if [ -z "${AAIUSERNAME}" ]; then echo "Aborting: Closed Loop Template AAI Username not provided"; exit 1; fi -if [ -z "${AAIPASSWORD}" ]; then echo "Aborting: Closed Loop Template AAI Password not provided"; exit 1; fi -if [ -z "${AAINAMEDQUERYUUID}" ]; then echo "Aborting: Closed Loop Template AAI Named Query UUID not provided"; exit 1; fi -if [ -z "${AAIPATTERNMATCH}" ]; then echo "Aborting: Closed Loop Template AAPI Pattern Match not provided"; exit 1; fi -if [ -z "${MSOURL}" ]; then echo "Aborting: Closed Loop Template MSO URL not provided"; exit 1; fi -if [ -z "${MSOUSERNAME}" ]; then echo "Aborting: Closed Loop Template MSO Username not provided"; exit 1; fi -if [ -z "${MSOPASSWORD}" ]; then echo "Aborting: Closed Loop Template MSO Password not provided"; exit 1; fi - -if [ -z "${DCAEAPIKEY}" ]; then DCAEAPIKEY="NULL"; fi -if [ -z "${DCAEAPISECRET}" ]; then DCAEAPISECRET="NULL"; fi -if [ -z "${APPCAPIKEY}" ]; then APPCAPIKEY="NULL"; fi -if [ -z "${APPCAPISECRET}" ]; then APPCAPISECRET="NULL"; fi -if [ -z "${NOTIFICATIONAPIKEY}" ]; then NOTIFICATIONAPIKEY="NULL"; fi -if [ -z "${NOTIFICATIONAPISECRET}" ]; then NOTIFICATIONAPISECRET="NULL"; fi +if [ -z "${GROUP_ID}" ]; then echo "Aborting: Rules Maven Group Id not provided"; exit 1; fi +if [ -z "${ARTIFACT_ID}" ]; then echo "Aborting: Rules Maven Coordinates Artifact Id not provided"; exit 1; fi +if [ -z "${VERSION}" ]; then echo "Aborting: Rules Maven Coordinates Version not provided"; exit 1; fi +if [ -z "${PACKAGE}" ]; then echo "Aborting: Rules Package not provided"; exit 1; fi +if [ -z "${CONTROL_LOOP_NAME}" ]; then echo "Aborting: Template Control Loop Name not provided"; exit 1; fi +if [ -z "${POLICY_SCOPE}" ]; then echo "Aborting: Template Policy Scope not provided"; exit 1; fi +if [ -z "${POLICY_NAME}" ]; then echo "Aborting: Template Policy Name not provided"; exit 1; fi +if [ -z "${POLICY_VERSION}" ]; then echo "Aborting: Template Policy Version not provided"; exit 1; fi +if [ -z "${DCAE_TOPIC}" ]; then echo "Aborting: Template DCAE DMAAP Topic not provided"; exit 1; fi +if [ -z "${APPC_TOPIC}" ]; then echo "Aborting: Template APP-C Recipe Topic not provided"; exit 1; fi +if [ -z "${NOTIFICATION_TOPIC}" ]; then echo "Aborting: Template Notification Topic not provided"; exit 1; fi +if [ -z "${DMAAP_SERVERS}" ]; then echo "Aborting: Configuration APP-C UEB Servers not provided"; exit 1; fi +if [ -z "${DCAE_SERVERS}" ]; then echo "Aborting: Configuration DCAE DMAAP Servers not provided"; exit 1; fi +if [ -z "${ACTOR}" ]; then echo "Aborting: Template Actor not provided"; exit 1; fi +if [ -z "${AAI_PATTERN_MATCH}" ]; then echo "Aborting: Template AAPI Pattern Match not provided"; exit 1; fi + +if [[ ${AAI_PATTERN_MATCH} != "1" ]]; then + if [ -z "${AAI_URL}" ]; then echo "Aborting: Template AAI URL not provided"; exit 1; fi + if [ -z "${AAI_USERNAME}" ]; then echo "Aborting: Template AAI Username not provided"; exit 1; fi + if [ -z "${AAI_PASSWORD}" ]; then echo "Aborting: Template AAI Password not provided"; exit 1; fi + if [ -z "${AAI_NAMED_QUERY_UUID}" ]; then echo "Aborting: Template AAI Named Query UUID not provided"; exit 1; fi + if [ -z "${MSO_URL}" ]; then echo "Aborting: Template MSO URL not provided"; exit 1; fi + if [ -z "${MSO_USERNAME}" ]; then echo "Aborting: Template MSO Username not provided"; exit 1; fi + if [ -z "${MSO_PASSWORD}" ]; then echo "Aborting: Template MSO Password not provided"; exit 1; fi +fi + +if [ -z "${AAI_URL}" ]; then AAI_URL="https://aai.api.simpledemo.openecomp.org:8443"; fi +if [ -z "${AAI_USERNAME}" ]; then AAI_USERNAME="POLICY"; fi +if [ -z "${AAI_PASSWORD}" ]; then AAI_PASSWORD="POLICY"; fi +if [ -z "${AAI_NAMED_QUERY_UUID}" ]; then AAI_NAMED_QUERY_UUID="f199cb88-5e69-4b1f-93e0-6f257877d066"; fi + +if [ -z "${MSO_URL}" ]; then MSO_URL="http://vm1.mso.simpledemo.openecomp.org:8080/ecomp/mso/infra"; fi +if [ -z "${MSO_USERNAME}" ]; then MSO_USERNAME="InfraPortalClient"; fi +if [ -z "${MSO_PASSWORD}" ]; then MSO_PASSWORD="password1$"; fi if [[ "$VERSION" == *-SNAPSHOT ]]; then DEPENDENCIES_VERSION="1.1.0-SNAPSHOT" @@ -127,58 +117,53 @@ else DEPENDENCIES_VERSION="${VERSION}" fi -read -e -i "${DEPENDENCIES_VERSION}" -p "Closed Loop Model/PDP-D dependent version(s) (ie: 1.0.0-SNAPSHOT, 1607.31.1-1, or [1607.31.1,)) > " DEPENDENCIES_VERSION -if [ -z "${DEPENDENCIES_VERSION}" ]; then echo "Aborting: Closed Loop Model/PDP-D dependencies not provided"; exit 1; fi +read -e -i "${DEPENDENCIES_VERSION}" -p "Control Loop Java Libraries Dependencies Version (ie: 1.1.0-SNAPSHOT, or 1.1.1) > " DEPENDENCIES_VERSION +if [ -z "${DEPENDENCIES_VERSION}" ]; then echo "Aborting: Control Loop Java Libraries Dependencies Version not provided"; exit 1; fi echo "---------------------------------------------------------------------------------------" -echo "Please review the entered Closed Loop Maven Coordinates and Policy Template Parameters:" +echo "Please review the Control Loop Rules, Template, and Configuration Parameters:" echo -echo "Installation in Local Maven Repository" +echo "The generated rules jar will be installed in a local Maven Repository" echo -echo "Closed Loop Rules Maven Artifact Generation: Group Id: ${GROUP_ID}" -echo "Closed Loop Rules Maven Artifact Generation: Artifact Id: ${ARTIFACTID}" -echo "Closed Loop Rules Maven Artifact Generation: Version: ${VERSION}" -echo "Closed Loop Rules Maven Artifact Generation: Package: ${PACKAGE}" +echo "Rules Maven Artifact Generation: Group Id: ${GROUP_ID}" +echo "Rules Maven Artifact Generation: Artifact Id: ${ARTIFACT_ID}" +echo "Rules Maven Artifact Generation: Version: ${VERSION}" +echo "Rules Maven Artifact Generation: Java Package: ${PACKAGE}" +echo "Rules Maven Artifact Generation: pom: Java Libraries Dependencies Version: ${DEPENDENCIES_VERSION}" echo -echo "Closed Loop Template Drools DRL Expansion: Closed Loop Control Name: ${CLOSEDLOOPCONTROLNAME}" -echo "Closed Loop Template Drools DRL Expansion: Closed Loop Policy Scope: ${POLICYSCOPE}" -echo "Closed Loop Template Drools DRL Expansion: Closed Loop Policy Name: ${POLICYNAME}" -echo "Closed Loop Template Drools DRL Expansion: Closed Loop Policy Version: ${POLICYVERSION}" -echo "Closed Loop Template Drools DRL Expansion: Closed Loop Actor: ${ACTOR}" -echo "Closed Loop Template Drools DRL Expansion: Closed Loop Recipe: ${APPC}" -echo "Closed Loop Template Drools DRL Expansion: Closed Loop Recipe Topic: ${APPCTOPIC}" -echo "Closed Loop Template Drools DRL Expansion: Closed Loop Notification Topic: ${NOTIFICATIONTOPIC}" +echo "Template Drools DRL Expansion: Control Loop Control Name: ${CONTROL_LOOP_NAME}" +echo "Template Drools DRL Expansion: Control Loop Policy Scope: ${POLICY_SCOPE}" +echo "Template Drools DRL Expansion: Control Loop Policy Name: ${POLICY_NAME}" +echo "Template Drools DRL Expansion: Control Loop Policy Version: ${POLICY_VERSION}" +echo "Template Drools DRL Expansion: Control Loop Actor: ${ACTOR}" +echo "Template Drools DRL Expansion: Control Loop Recipe: ${APPC}" +echo "Template Drools DRL Expansion: Control Loop Recipe Topic: ${APPC_TOPIC}" +echo "Template Drools DRL Expansion: Control Loop Notification Topic: ${NOTIFICATION_TOPIC}" echo -echo "Closed Loop Controller Configuration: Rules: Group Id: ${GROUP_ID}" -echo "Closed Loop Controller Configuration: Rules: Artifact Id: ${ARTIFACTID}" -echo "Closed Loop Controller Configuration: Rules: Version: ${VERSION}" +echo "External Controller Configuration: Rules: Group Id: ${GROUP_ID}" +echo "External Controller Configuration: Rules: Artifact Id: ${ARTIFACT_ID}" +echo "External Controller Configuration: Rules: Version: ${VERSION}" echo -echo "Closed Loop Controller Configuration: DCAE UEB Topic: ${DCAETOPIC}" -echo "Closed Loop Controller Configuration: DCAE UEB Servers: ${DCAESERVERS}" -echo "Closed Loop Controller Configuration: DCAE UEB API Key: ${DCAEAPIKEY}" -echo "Closed Loop Controller Configuration: DCAE UEB API Secret: ${DCAEAPISECRET}" +echo "External Controller Configuration: DCAE DMaaP Topic: ${DCAE_TOPIC}" +echo "External Controller Configuration: DCAE DMaaP Servers: ${DCAE_SERVERS}" echo -echo "Closed Loop Controller Configuration: APP-C UEB Topic: ${APPCTOPIC}" -echo "Closed Loop Controller Configuration: APP-C UEB Servers: ${APPCSERVERS}" -echo "Closed Loop Controller Configuration: APP-C UEB API Key: ${APPCAPIKEY}" -echo "Closed Loop Controller Configuration: APP-C UEB API Secret: ${APPCAPISECRET}" +echo "External Controller Configuration: APP-C DMaaP Topic: ${APPC_TOPIC}" +echo "External Controller Configuration: APP-C DMaaP Servers: ${DMAAP_SERVERS}" echo -echo "Closed Loop Controller Configuration: NOTIFICATION Topic: ${NOTIFICATIONTOPIC}" -echo "Closed Loop Controller Configuration: NOTIFICATION UEB Servers: ${NOTIFICATIONSERVERS}" -echo "Closed Loop Controller Configuration: NOTIFICATION UEB API Key: ${NOTIFICATIONAPIKEY}" -echo "Closed Loop Controller Configuration: NOTIFICATION UEB API Secret: ${NOTIFICATIONAPISECRET}" +echo "External Controller Configuration: NOTIFICATION Topic: ${NOTIFICATION_TOPIC}" +echo "External Controller Configuration: NOTIFICATION DMaaP Servers: ${DMAAP_SERVERS}" echo -echo "Closed Loop Controller Configuration: AAI URL: ${AAIURL}" -echo "Closed Loop Controller Configuration: AAI Username: ${AAIUSERNAME}" -echo "Closed Loop Controller Configuration: AAI Password: ${AAIPASSWORD}" -echo "Closed Loop Controller Configuration: AAI Named Query UUID: ${AAINAMEDQUERYUUID}" -echo "Closed Loop Controller Configuration: AAI Pattern Match: ${AAIPATTERNMATCH}" +echo "Template Controller Configuration: AAI URL: ${AAI_URL}" +echo "Template Controller Configuration: AAI Username: ${AAI_USERNAME}" +echo "Template Controller Configuration: AAI Password: ${AAI_PASSWORD}" +echo "Template Controller Configuration: AAI Named Query UUID: ${AAI_NAMED_QUERY_UUID}" +echo "Template Controller Configuration: AAI Pattern Match: ${AAI_PATTERN_MATCH}" echo -echo "Closed Loop Controller Configuration: MSO URL: ${MSOURL}" -echo "Closed Loop Controller Configuration: MSO Username: ${MSOUSERNAME}" -echo "Closed Loop Controller Configuration: MSO Password: ${MSOPASSWORD}" +echo "Template Controller Configuration: MSO URL: ${MSO_URL}" +echo "Template Controller Configuration: MSO Username: ${MSO_USERNAME}" +echo "Template Controller Configuration: MSO Password: ${MSO_PASSWORD}" echo -echo "Closed Loop Model/PDP-D dependent version(s): ${DEPENDENCIES_VERSION}" + echo "---------------------------------------------------------------------------------------" echo @@ -190,8 +175,8 @@ fi echo DIR_TMP="/tmp" -echo "The Closed Loop Source Rules will be installed at ${DIR_TMP}" -read -e -i "${DIR_TMP}" -p "Do you want to change the Source Rules install directory? " DIR_TMP +echo "The Control Loop Rules Maven Project Source Rules will be installed at ${DIR_TMP}" +read -e -i "${DIR_TMP}" -p "Do you want to change the Rules Source Project install directory? " DIR_TMP if [ ! -w "${DIR_TMP}" ]; then echo "Aborting. ${DIR_TMP} is not writable" @@ -200,26 +185,27 @@ fi ARCHETYPE_GROUP_ID="org.onap.policy.drools-applications" ARCHETYPE_ARTIFACT_ID="archetype-cl-legacy" +ARCHETYPE_VERSION="${VERSION}" -if [ -d "${DIR_TMP}/${ARTIFACTID}/" ]; then - if [ "$(ls -A "${DIR_TMP}/${ARTIFACTID}"/)" ]; then - echo "${DIR_TMP} already contains a ${ARTIFACTID}/ directory, saving it to ${DIR_TMP}/${ARTIFACTID}.arch.bak/" - if [ -d "${DIR_TMP}/${ARTIFACTID}.arch.bak"/ ]; then +if [ -d "${DIR_TMP}/${ARTIFACT_ID}/" ]; then + if [ "$(ls -A "${DIR_TMP}/${ARTIFACT_ID}"/)" ]; then + echo "${DIR_TMP} already contains a ${ARTIFACT_ID}/ directory, saving it to ${DIR_TMP}/${ARTIFACT_ID}.arch.bak/" + if [ -d "${DIR_TMP}/${ARTIFACT_ID}.arch.bak"/ ]; then ( - echo "${DIR_TMP}/${ARTIFACTID}.arch.bak/ also exists, deleting it .." + echo "${DIR_TMP}/${ARTIFACT_ID}.arch.bak/ also exists, deleting it .." cd "${DIR_TMP}"/ - rm -fr "${ARTIFACTID}.arch.bak" + rm -fr "${ARTIFACT_ID}.arch.bak" ) fi - /bin/mv --force "${DIR_TMP}/${ARTIFACTID}/" "${DIR_TMP}/${ARTIFACTID}.arch.bak" + /bin/mv --force "${DIR_TMP}/${ARTIFACT_ID}/" "${DIR_TMP}/${ARTIFACT_ID}.arch.bak" if [ "${?}" -ne 0 ]; then echo echo - echo "Aborting: ${DIR_TMP}/${ARTIFACTID}/ cannot be moved" + echo "Aborting: ${DIR_TMP}/${ARTIFACT_ID}/ cannot be moved" exit 1 fi else - ( cd "${DIR_TMP}/" ; rmdir "${DIR_TMP}/${ARTIFACTID}/" ) + ( cd "${DIR_TMP}/" ; rmdir "${DIR_TMP}/${ARTIFACT_ID}/" ) fi fi @@ -236,79 +222,78 @@ mvn archetype:generate \ -B \ -DarchetypeGroupId="${ARCHETYPE_GROUP_ID}" \ -DarchetypeArtifactId="${ARCHETYPE_ARTIFACT_ID}" \ - -DarchetypeVersion="${VERSION}" \ + -DarchetypeVersion="${ARCHETYPE_VERSION}" \ + -Dpackage="${PACKAGE}" \ -DgroupId="${GROUP_ID}" \ - -DartifactId="${ARTIFACTID}" \ + -DartifactId="${ARTIFACT_ID}" \ -Dversion="${VERSION}" \ - -Dpackage="${PACKAGE}" \ - -DclosedLoopControlName="${CLOSEDLOOPCONTROLNAME}" \ - -DpolicyScope="${POLICYSCOPE}" \ - -DpolicyName="${POLICYNAME}" \ - -DpolicyVersion="${POLICYVERSION}" \ + -DcontrolLoopName="${CONTROL_LOOP_NAME}" \ + -DpolicyScope="${POLICY_SCOPE}" \ + -DpolicyName="${POLICY_NAME}" \ + -DpolicyVersion="${POLICY_VERSION}" \ -Dactor="${ACTOR}" \ - -DappcTopic="${APPCTOPIC}" \ - -DappcServers="${APPCSERVERS}" \ - -DappcApiKey="${APPCAPIKEY}" \ - -DappcApiSecret="${APPCAPISECRET}" \ - -DnotificationTopic="${NOTIFICATIONTOPIC}" \ - -DnotificationServers="${NOTIFICATIONSERVERS}" \ - -DnotificationApiKey="${NOTIFICATIONAPIKEY}" \ - -DnotificationApiSecret="${NOTIFICATIONAPISECRET}" \ - -DdcaeTopic="${DCAETOPIC}" \ - -DdcaeServers="${DCAESERVERS}" \ - -DdcaeApiKey="${DCAEAPIKEY}" \ - -DdcaeApiSecret="${DCAEAPISECRET}" \ - -DaaiURL="${AAIURL}" \ - -DaaiUsername="${AAIUSERNAME}" \ - -DaaiPassword="${AAIPASSWORD}" \ - -DaaiNamedQueryUUID="${AAINAMEDQUERYUUID}" \ - -DaaiPatternMatch="${AAIPATTERNMATCH}" \ - -DmsoURL="${MSOURL}" \ - -DmsoUsername="${MSOUSERNAME}" \ - -DmsoPassword="${MSOPASSWORD}" \ + -DdmaapServers="${DMAAP_SERVERS}" \ + -DappcTopic="${APPC_TOPIC}" \ + -DnotificationTopic="${NOTIFICATION_TOPIC}" \ + -DdcaeTopic="${DCAE_TOPIC}" \ + -DdcaeServers="${DCAE_SERVERS}" \ + -DaaiURL="${AAI_URL}" \ + -DaaiUsername="${AAI_USERNAME}" \ + -DaaiPassword="${AAI_PASSWORD}" \ + -DaaiNamedQueryUUID="${AAI_NAMED_QUERY_UUID}" \ + -DaaiPatternMatch="${AAI_PATTERN_MATCH}" \ + -DmsoURL="${MSO_URL}" \ + -DmsoUsername="${MSO_USERNAME}" \ + -DmsoPassword="${MSO_PASSWORD}" \ -DdependenciesVersion="${DEPENDENCIES_VERSION}" if [ "${?}" -ne 0 ]; then echo echo - echo "Aborting: ${ARTIFACTID} has not been successfully generated" - exit 1 + echo "Aborting: ${ARTIFACT_ID} has not been successfully generated" + exit 1 fi echo -cd "${DIR_TMP}/${ARTIFACTID}"/ - -/bin/mv src/main/config/* . +cd "${DIR_TMP}/${ARTIFACT_ID}"/ -/bin/sed -i -e "/apiKey=NULL$/d" *-controller.properties -/bin/sed -i -e "/apiSecret=NULL$/d" *-controller.properties +mv src/main/config/* . -/bin/sed -i -e "/apiKey.*:.*\"NULL\",/d" *-controller.rest.json -/bin/sed -i -e "/apiSecret.*:.*\"NULL\",/d" *-controller.rest.json - -echo "Closed Loop Rules from templates have been successfully created under ${DIR_TMP}/${ARTIFACTID}/" +echo +echo "Control Loop Rules from templates have been successfully created under ${DIR_TMP}/${ARTIFACT_ID}/" +echo "You have to option to further tweak this project or deploy it as is to the local maven repository." +echo "If you decide to customize the source rules project, please enter 'N' below," +echo "and when finished type 'mvn install' at ${DIR_TMP}/${ARTIFACT_ID}/ to install the Control Loop." INSTALLREPO="Y" -read -e -i "${INSTALLREPO}" -p "Do you want to deploy ${ARTIFACTID} rules into maven repository (Y/N)? " INSTALLREPO +read -e -i "${INSTALLREPO}" -p "Do you want to deploy ${ARTIFACT_ID} rules into maven repository (Y/N)? " INSTALLREPO if [[ ${INSTALLREPO} != "Y" ]]; then exit 1 fi echo -echo "generating deployable ${ARTIFACTID} maven artifact .." +echo "installing the rules ${ARTIFACT_ID} maven artifact .." mvn install if [ "${?}" -ne 0 ]; then echo echo - echo "Aborting: ${ARTIFACTID} deployable jar cannot be generated" - exit 1 + echo "Aborting: ${ARTIFACT_ID} deployable jar cannot be installed" + echo "Fix the source rules project issues, and issue 'mvn install'" + echo "at ${DIR_TMP}/${ARTIFACT_ID}/ when done to install it." + exit 1 fi echo -echo "${ARTIFACTID} has been successfully installed in user's (${USER}) local repository" -echo "Find configuration files at ${DIR_TMP}/${ARTIFACTID}/" +echo "${ARTIFACT_ID} has been successfully installed in user's (${USER}) local repository" +echo "Find configuration files at ${DIR_TMP}/${ARTIFACT_ID}/" +echo +echo "To deploy this Control Loop into the PDP-D, follow one of these methods: " +echo "1. copy ${DIR_TMP}/${ARTIFACT_ID}/${ARTIFACT_ID}-controller.properties under '${POLICY_HOME}/config'" +echo " and restart the pdp-d (policy stop; policy start)" +echo "2. rest-add-controller ${ARTIFACT_ID}" +echo ) |