Updating the jdk version from jdk8 to jdk11 for CSITs 81/100381/12
authorBilal A <bilal@research.att.com>
Thu, 16 Jan 2020 16:12:19 +0000 (16:12 +0000)
committerBilal A <bilal@research.att.com>
Mon, 20 Jan 2020 16:59:53 +0000 (16:59 +0000)
Removes JAVA_HOME for drools pdp
Updates Policy API tests
Updates XACML-PDP database connection
Downloads dmaap simulator instead of compiling it for xacml-pdp,apex-pdp and distribution

Changes from Jim, Jorge and Chenfei

Issue-ID: POLICY-2325
Change-Id: I28ff3384f9ae9b7d1ce6940eb62aa87278e7a9c5
Signed-off-by: Bilal A <bilal@research.att.com>
13 files changed:
plans/policy/apex-pdp/setup.sh
plans/policy/distribution/setup.sh
plans/policy/xacml-pdp/setup.sh
scripts/policy/config/drools/base.conf
scripts/policy/config/policy-csit.conf
scripts/policy/policy-models-dmaap-sim.sh [new file with mode: 0644]
scripts/policy/policy-xacml-pdp/config/db/db.sh [changed mode: 0644->0755]
tests/policy/api/api-test.robot
tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v1.json [moved from tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.json with 100% similarity]
tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v2.json [new file with mode: 0644]
tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v1.json [moved from tests/policy/api/data/vCPE.policy.monitoring.input.tosca.json with 98% similarity]
tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v2.json [new file with mode: 0644]
tests/policy/xacml-pdp/xacml-pdp-test.robot

index 6a1f37f..377ce4b 100644 (file)
@@ -3,7 +3,7 @@
 #  Copyright (C) 2018 Ericsson. All rights reserved.
 #
 #  Modifications copyright (c) 2019 Nordix Foundation.
-#  Modifications Copyright (C) 2019 AT&T Intellectual Property.
+#  Modifications Copyright (C) 2020 AT&T Intellectual Property.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -46,30 +46,9 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
   exit 1
 fi
 
-# bring down maven
-mkdir maven
-cd maven
-# download maven from automatically selected mirror server
-curl -vLO  "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz"
-if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then
-    echo "Installation of maven has failed!"
-    exit 1
-fi
-ls -l
-export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v
-cd ..
-
-git clone http://gerrit.onap.org/r/oparent
-git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH}
-cd models/models-sim/models-sim-dmaap
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn clean install -DskipTests  --settings ${WORK_DIR}/oparent/settings.xml
-bash ./src/main/package/docker/docker_build.sh
-cd ${WORKSPACE}
-rm -rf ${WORK_DIR}
-sleep 3
-
 sudo apt-get -y install libxml2-utils
+bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh
+
 POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
 export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
 POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
index 940b0c6..d1a0863 100644 (file)
@@ -3,7 +3,7 @@
 #  Copyright (C) 2018 Ericsson. All rights reserved.
 #
 #  Modifications copyright (c) 2019 Nordix Foundation.
-#  Modifications Copyright (C) 2019 AT&T Intellectual Property.
+#  Modifications Copyright (C) 2020 AT&T Intellectual Property.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -19,7 +19,6 @@
 #
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END=========================================================
-
 source ${SCRIPTS}/policy/config/policy-csit.conf
 export POLICY_MARIADB_VER
 echo ${GERRIT_BRANCH}
@@ -47,30 +46,9 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
   exit 1
 fi
 
-# bring down maven
-mkdir maven
-cd maven
-# download maven from automatically selected mirror server
-curl -vLO  "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz"
-if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then
-    echo "Installation of maven has failed!"
-    exit 1
-fi
-ls -l
-export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v
-cd ..
-
-git clone http://gerrit.onap.org/r/oparent
-git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH}
-cd models/models-sim/models-sim-dmaap
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn clean install -DskipTests  --settings ${WORK_DIR}/oparent/settings.xml
-bash ./src/main/package/docker/docker_build.sh
-cd ${WORKSPACE}
-rm -rf ${WORK_DIR}
-sleep 3
-
 sudo apt-get -y install libxml2-utils
+bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh
+
 POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
 export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
 POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
index e66102c..79c4307 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/bash
 # ============LICENSE_START=======================================================
-#  Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+#  Copyright (C) 2020 AT&T Intellectual Property. 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.
@@ -44,32 +44,9 @@ if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
     exit 1
 fi
 
-# bring down maven
-mkdir maven
-cd maven
-# download maven from automatically selected mirror server
-curl -vLO  "https://www.apache.org/dyn/mirrors/mirrors.cgi?cca2=us&preferred=http://apache.claz.org/&action=download&filename=maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz"
-if ! tar -xzvf apache-maven-3.3.9-bin.tar.gz ; then
-    echo "Installation of maven has failed!"
-    exit 1
-fi
-ls -l
-export PATH=${PATH}:${WORK_DIR}/maven/apache-maven-3.3.9/bin
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn -v
-cd ..
-
-git clone http://gerrit.onap.org/r/oparent
-git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH}
-cd models/models-sim/models-sim-dmaap
-${WORK_DIR}/maven/apache-maven-3.3.9/bin/mvn clean install -DskipTests  --settings ${WORK_DIR}/oparent/settings.xml
-bash ./src/main/package/docker/docker_build.sh
-cd ${WORKSPACE}
-rm -rf ${WORK_DIR}
-sleep 3
-
-
-
 sudo apt-get -y install libxml2-utils
+bash ${SCRIPTS}/policy/policy-models-dmaap-sim.sh
+
 POLICY_API_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/api/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
 export POLICY_API_VERSION="${POLICY_API_VERSION_EXTRACT:0:3}-SNAPSHOT-latest"
 POLICY_PAP_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/pap/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
@@ -80,6 +57,7 @@ export POLICY_XACML_PDP_VERSION="${POLICY_XACML_PDP_VERSION_EXTRACT:0:3}-SNAPSHO
 echo ${POLICY_API_VERSION}
 echo ${POLICY_PAP_VERSION}
 echo ${POLICY_XACML_PDP_VERSION}
+
 # Adding this waiting container due to race condition between pap and mariadb
 docker-compose -f ${WORKSPACE}/scripts/policy/policy-xacml-pdp/docker-compose-pdpx.yml run --rm start_dependencies
 
index d3164cb..1e57226 100644 (file)
@@ -1,5 +1,5 @@
 # ============LICENSE_START=======================================================
-# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+# Copyright (C) 2020 AT&T Intellectual Property. 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.
@@ -22,7 +22,6 @@ JVM_OPTIONS=-server -Xms512m -Xmx512m
 
 POLICY_HOME=/opt/app/policy
 POLICY_LOGS=/var/log/onap/policy/pdpd
-JAVA_HOME=/usr/lib/jvm/java-1.8-openjdk
 KEYSTORE_PASSWD=Pol1cy_0nap
 TRUSTSTORE_PASSWD=Pol1cy_0nap
 
index aa5f939..1858698 100644 (file)
@@ -1,2 +1,3 @@
 GERRIT_BRANCH=master
 POLICY_MARIADB_VER=10.2.25
+NEXUS_URL=https://nexus.onap.org/content/repositories/snapshots
diff --git a/scripts/policy/policy-models-dmaap-sim.sh b/scripts/policy/policy-models-dmaap-sim.sh
new file mode 100644 (file)
index 0000000..0abd9f9
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/bash
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2020 AT&T Intellectual Property. 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.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
+source ${SCRIPTS}/policy/config/policy-csit.conf
+
+POLICY_MODELS_VERSION_EXTRACT="$(curl -q --silent https://git.onap.org/policy/models/plain/pom.xml?h=${GERRIT_BRANCH} | xmllint --xpath '/*[local-name()="project"]/*[local-name()="version"]/text()' -)"
+export POLICY_MODELS_VERSION="${POLICY_MODELS_VERSION_EXTRACT}"
+echo ${POLICY_MODELS_VERSION}
+
+# download dmaap tarball and build docker image
+git clone --depth 1 https://gerrit.onap.org/r/policy/models -b ${GERRIT_BRANCH}
+cd models/models-sim/models-sim-dmaap
+item=`curl --silent -L ${NEXUS_URL}/org/onap/policy/models/sim/policy-models-sim-dmaap/${POLICY_MODELS_VERSION} | egrep 'policy-models-sim-dmaap-.*tarball' | cut '-d"' -f2 | egrep 'gz$' | sort | tail -1`
+mkdir target
+curl -L $item -o target/policy-models-sim-dmaap-${POLICY_MODELS_VERSION}-tarball.tar.gz
+bash ./src/main/package/docker/docker_build.sh
+cd ${WORKSPACE}
+rm -rf ${WORK_DIR}
+
old mode 100644 (file)
new mode 100755 (executable)
index ac150a0..499764d
@@ -1,6 +1,6 @@
 #!/bin/bash -xv
 # ============LICENSE_START=======================================================
-#  Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+#  Copyright (C) 2020 AT&T Intellectual Property. 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.
 # SPDX-License-Identifier: Apache-2.0
 # ============LICENSE_END=========================================================
 
-for db in policyadmin
+for db in policyadmin operationshistory
 do
      mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "CREATE DATABASE IF NOT EXISTS ${db};"
      mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "GRANT ALL PRIVILEGES ON \`${db}\`.* TO '${MYSQL_USER}'@'%' ;"
 done
 
-mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "FLUSH PRIVILEGES;"
\ No newline at end of file
+mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "FLUSH PRIVILEGES;"
index 7f108d0..19aa18a 100644 (file)
@@ -7,7 +7,7 @@ Library     json
 *** Test Cases ***
 Healthcheck
      [Documentation]    Runs Policy Api Health check
-     ${auth}=    Create List    healthcheck    zb!XztG34 
+     ${auth}=    Create List    healthcheck    zb!XztG34
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
@@ -18,7 +18,7 @@ Healthcheck
 
 Statistics
      [Documentation]    Runs Policy Api Statistics
-     ${auth}=    Create List    healthcheck    zb!XztG34 
+     ${auth}=    Create List    healthcheck    zb!XztG34
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
@@ -29,7 +29,7 @@ Statistics
 
 RetrievePolicyTypes
      [Documentation]    Gets Policy Types
-     ${auth}=    Create List    healthcheck    zb!XztG34 
+     ${auth}=    Create List    healthcheck    zb!XztG34
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
@@ -38,10 +38,21 @@ RetrievePolicyTypes
      Should Be Equal As Strings    ${resp.status_code}     200
      Should Be Equal As Strings    ${resp.json()['version']}  1.0.0
 
-CreateTCAPolicyType
-     [Documentation]    Create TCA Policy Type
-     ${auth}=    Create List    healthcheck    zb!XztG34 
-     ${postjson}=  Get file  ${CURDIR}/data/onap.policy.monitoring.cdap.tca.hi.lo.app.json
+CreateTCAPolicyTypeV1
+     [Documentation]    Create TCA Policy Type Version 1
+     ${auth}=    Create List    healthcheck    zb!XztG34
+     ${postjson}=  Get file  ${CURDIR}/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v1.json
+     Log    Creating session https://${POLICY_API_IP}:6969
+     ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
+     ${resp}=   Post Request   policy  /policy/api/v1/policytypes  data=${postjson}   headers=${headers}
+     Log    Received response from policy ${resp.text}
+     Should Be Equal As Strings    ${resp.status_code}    406
+
+CreateTCAPolicyTypeV2
+     [Documentation]    Create TCA Policy Type Version 2
+     ${auth}=    Create List    healthcheck    zb!XztG34
+     ${postjson}=  Get file  ${CURDIR}/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v2.json
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
@@ -49,12 +60,12 @@ CreateTCAPolicyType
      Log    Received response from policy ${resp.text}
      Should Be Equal As Strings    ${resp.status_code}     200
      ${postjsonobject}   To Json    ${postjson}
-     Dictionary Should Contain Key    ${resp.json()}   tosca_definitions_version 
-     Dictionary Should Contain Key    ${postjsonobject}        tosca_definitions_version
+     Dictionary Should Contain Key    ${resp.json()}    tosca_definitions_version
+     Dictionary Should Contain Key    ${postjsonobject}    tosca_definitions_version
 
 RetrieveMonitoringPolicyTypes
      [Documentation]    Retrieve Monitoring related Policy Types
-     ${auth}=    Create List    healthcheck    zb!XztG34 
+     ${auth}=    Create List    healthcheck    zb!XztG34
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
@@ -64,10 +75,10 @@ RetrieveMonitoringPolicyTypes
      List Should Contain Value    ${resp.json()['policy_types']}  onap.policies.Monitoring
 
 
-CreateNewMonitoringPolicy
-     [Documentation]    Create a new Monitoring TCA policy
-     ${auth}=    Create List    healthcheck    zb!XztG34 
-     ${postjson}=  Get file  ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.json
+CreateNewMonitoringPolicyV1
+     [Documentation]    Create a new Monitoring TCA policy version 1
+     ${auth}=    Create List    healthcheck    zb!XztG34
+     ${postjson}=  Get file  ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.v1.json
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
@@ -78,10 +89,21 @@ CreateNewMonitoringPolicy
      Dictionary Should Contain Key    ${resp.json()['topology_template']['policies'][0]}  onap.restart.tca
      Dictionary Should Contain Key     ${postjsonobject['topology_template']['policies'][0]}  onap.restart.tca
 
-SimpleCreateNewMonitoringPolicy
-     [Documentation]    Create a new Monitoring TCA policiy using simple endpoint
-     ${auth}=    Create List    healthcheck    zb!XztG34 
-     ${postjson}=  Get file  ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.json
+SimpleCreateNewMonitoringPolicyV1
+     [Documentation]    Create a new Monitoring TCA policiy version 1 using simple endpoint
+     ${auth}=    Create List    healthcheck    zb!XztG34
+     ${postjson}=  Get file  ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.v1.json
+     Log    Creating session https://${POLICY_API_IP}:6969
+     ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
+     ${resp}=   Post Request   policy  /policy/api/v1/policies  data=${postjson}   headers=${headers}
+     Log    Received response from policy ${resp.text}
+     Should Be Equal As Strings    ${resp.status_code}    406
+
+SimpleCreateNewMonitoringPolicyV2
+     [Documentation]    Create a new Monitoring TCA policiy version 2 using simple endpoint
+     ${auth}=    Create List    healthcheck    zb!XztG34
+     ${postjson}=  Get file  ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.v2.json
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
@@ -95,7 +117,7 @@ SimpleCreateNewMonitoringPolicy
 RetrievePoliciesOfType
      [Documentation]    Retrieve all Policies Created for a specific Policy Type
      ${auth}=    Create List    healthcheck    zb!XztG34
-     ${expjson}=  Get file  ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.json
+     ${expjson}=  Get file  ${CURDIR}/data/vCPE.policy.monitoring.input.tosca.v1.json
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
      ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
@@ -106,8 +128,8 @@ RetrievePoliciesOfType
      Dictionary Should Contain Key    ${resp.json()['topology_template']['policies'][0]}  onap.restart.tca
      Dictionary Should Contain Key     ${expjsonobject['topology_template']['policies'][0]}  onap.restart.tca
 
-DeleteSpecificPolicy
-     [Documentation]    Delete Policy of a Type
+DeleteSpecificPolicyV1
+     [Documentation]    Delete the Monitoring Policy Version 1 of the TCA Policy Type
      ${auth}=    Create List    healthcheck    zb!XztG34
      Log    Creating session https://${POLICY_API_IP}:6969
      ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
@@ -117,3 +139,39 @@ DeleteSpecificPolicy
      Should Be Equal As Strings    ${resp.status_code}     200
      ${resp}=   Delete Request   policy  /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/onap.restart.tca/versions/1.0.0     headers=${headers}
      Should Be Equal As Strings    ${resp.status_code}     404
+
+DeleteSpecificPolicyV2
+     [Documentation]    Delete the Monitoring Policy Version 2 of the TCA Policy Type
+     ${auth}=    Create List    healthcheck    zb!XztG34
+     Log    Creating session https://${POLICY_API_IP}:6969
+     ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
+     ${resp}=   Delete Request   policy  /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/onap.restart.tca/versions/2.0.0     headers=${headers}
+     Log    Received response from policy ${resp.text}
+     Should Be Equal As Strings    ${resp.status_code}     200
+     ${resp}=   Delete Request   policy  /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0/policies/onap.restart.tca/versions/2.0.0     headers=${headers}
+     Should Be Equal As Strings    ${resp.status_code}     404
+
+DeleteSpecificPolicyTypeV1
+     [Documentation]    Delete the TCA Policy Type Version 1
+     ${auth}=    Create List    healthcheck    zb!XztG34
+     Log    Creating session https://${POLICY_API_IP}:6969
+     ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
+     ${resp}=   Delete Request   policy  /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0    headers=${headers}
+     Log    Received response from policy ${resp.text}
+     Should Be Equal As Strings    ${resp.status_code}     200
+     ${resp}=   Delete Request   policy  /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/1.0.0    headers=${headers}
+     Should Be Equal As Strings    ${resp.status_code}     404
+
+DeleteSpecificPolicyTypeV2
+     [Documentation]    Delete the TCA Policy Type Version 2
+     ${auth}=    Create List    healthcheck    zb!XztG34
+     Log    Creating session https://${POLICY_API_IP}:6969
+     ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
+     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
+     ${resp}=   Delete Request   policy  /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/2.0.0    headers=${headers}
+     Log    Received response from policy ${resp.text}
+     Should Be Equal As Strings    ${resp.status_code}     200
+     ${resp}=   Delete Request   policy  /policy/api/v1/policytypes/onap.policies.monitoring.cdap.tca.hi.lo.app/versions/2.0.0    headers=${headers}
+     Should Be Equal As Strings    ${resp.status_code}     404
diff --git a/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v2.json b/tests/policy/api/data/onap.policy.monitoring.cdap.tca.hi.lo.app.v2.json
new file mode 100644 (file)
index 0000000..0076e82
--- /dev/null
@@ -0,0 +1,209 @@
+{
+  "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+  "policy_types": {
+    "onap.policies.monitoring.cdap.tca.hi.lo.app": {
+      "derived_from": "onap.policies.Monitoring",
+      "version": "2.0.0",
+      "properties": {
+        "tca_policy": {
+          "type": "map",
+          "description": "TCA Policy JSON",
+          "entry_schema": {
+            "type": "onap.datatypes.monitoring.tca_policy"
+          }
+        }
+      }
+    }
+  },
+  "data_types": {
+    "onap.datatypes.monitoring.metricsPerEventName": {
+      "derived_from": "tosca.datatypes.Root",
+      "properties": {
+        "controlLoopSchemaType": {
+          "type": "string",
+          "required": true,
+          "description": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM",
+          "constraints": [
+            {
+              "valid_values": [
+                "VM",
+                "VNF"
+              ]
+            }
+          ]
+        },
+        "eventName": {
+          "type": "string",
+          "required": true,
+          "description": "Event name to which thresholds need to be applied"
+        },
+        "policyName": {
+          "type": "string",
+          "required": true,
+          "description": "TCA Policy Scope Name"
+        },
+        "policyScope": {
+          "type": "string",
+          "required": true,
+          "description": "TCA Policy Scope"
+        },
+        "policyVersion": {
+          "type": "string",
+          "required": true,
+          "description": "TCA Policy Scope Version"
+        },
+        "thresholds": {
+          "type": "list",
+          "required": true,
+          "description": "Thresholds associated with eventName",
+          "entry_schema": {
+            "type": "onap.datatypes.monitoring.thresholds"
+          }
+        }
+      }
+    },
+    "onap.datatypes.monitoring.tca_policy": {
+      "derived_from": "tosca.datatypes.Root",
+      "properties": {
+        "domain": {
+          "type": "string",
+          "required": true,
+          "description": "Domain name to which TCA needs to be applied",
+          "default": "measurementsForVfScaling",
+          "constraints": [
+            {
+              "equal": "measurementsForVfScaling"
+            }
+          ]
+        },
+        "metricsPerEventName": {
+          "type": "list",
+          "required": true,
+          "description": "Contains eventName and threshold details that need to be applied to given eventName",
+          "entry_schema": {
+            "type": "onap.datatypes.monitoring.metricsPerEventName"
+          }
+        }
+      }
+    },
+    "onap.datatypes.monitoring.thresholds": {
+      "derived_from": "tosca.datatypes.Root",
+      "properties": {
+        "closedLoopControlName": {
+          "type": "string",
+          "required": true,
+          "description": "Closed Loop Control Name associated with the threshold"
+        },
+        "closedLoopEventStatus": {
+          "type": "string",
+          "required": true,
+          "description": "Closed Loop Event Status of the threshold",
+          "constraints": [
+            {
+              "valid_values": [
+                "ONSET",
+                "ABATED"
+              ]
+            }
+          ]
+        },
+        "direction": {
+          "type": "string",
+          "required": true,
+          "description": "Direction of the threshold",
+          "constraints": [
+            {
+              "valid_values": [
+                "LESS",
+                "LESS_OR_EQUAL",
+                "GREATER",
+                "GREATER_OR_EQUAL",
+                "EQUAL"
+              ]
+            }
+          ]
+        },
+        "fieldPath": {
+          "type": "string",
+          "required": true,
+          "description": "Json field Path as per CEF message which needs to be analyzed for TCA",
+          "constraints": [
+            {
+              "valid_values": [
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated",
+                "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle",
+                "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt",
+                "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice",
+                "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq",
+                "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal",
+                "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem",
+                "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait",
+                "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage",
+                "$.event.measurementsForVfScalingFields.meanRequestLatency",
+                "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered",
+                "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached",
+                "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured",
+                "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree",
+                "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed",
+                "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value"
+              ]
+            }
+          ]
+        },
+        "severity": {
+          "type": "string",
+          "required": true,
+          "description": "Threshold Event Severity",
+          "constraints": [
+            {
+              "valid_values": [
+                "CRITICAL",
+                "MAJOR",
+                "MINOR",
+                "WARNING",
+                "NORMAL"
+              ]
+            }
+          ]
+        },
+        "thresholdValue": {
+          "type": "integer",
+          "required": true,
+          "description": "Threshold value for the field Path inside CEF message"
+        },
+        "version": {
+          "type": "string",
+          "required": true,
+          "description": "Version number associated with the threshold"
+        }
+      }
+    }
+  }
+}
@@ -6,7 +6,7 @@
                 "onap.restart.tca": {
                     "type": "onap.policies.monitoring.cdap.tca.hi.lo.app",
                     "version": "1.0.0",
-                   "type_version": "1.0.0",
+                    "type_version": "1.0.0",
                     "metadata": {
                         "policy-id": "onap.restart.tca"
                     },
diff --git a/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v2.json b/tests/policy/api/data/vCPE.policy.monitoring.input.tosca.v2.json
new file mode 100644 (file)
index 0000000..371b980
--- /dev/null
@@ -0,0 +1,51 @@
+{
+    "tosca_definitions_version": "tosca_simple_yaml_1_0_0",
+    "topology_template": {
+        "policies": [
+            {
+                "onap.restart.tca": {
+                    "type": "onap.policies.monitoring.cdap.tca.hi.lo.app",
+                    "version": "2.0.0",
+                    "type_version": "1.0.0",
+                    "metadata": {
+                        "policy-id": "onap.restart.tca"
+                    },
+                    "properties": {
+                        "tca_policy" : {
+                            "domain": "measurementsForVfScaling",
+                            "metricsPerEventName": [
+                                {
+                                    "eventName": "Measurement_vGMUX",
+                                    "controlLoopSchemaType": "VNF",
+                                    "policyScope": "DCAE",
+                                    "policyName": "DCAE.Config_tca-hi-lo",
+                                    "policyVersion": "v0.0.1",
+                                    "thresholds": [
+                                        {
+                                            "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
+                                            "version": "1.0.2",
+                                            "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
+                                            "thresholdValue": 0,
+                                            "direction": "EQUAL",
+                                            "severity": "MAJOR",
+                                            "closedLoopEventStatus": "ABATED"
+                                        },
+                                        {
+                                            "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
+                                            "version": "1.0.2",
+                                            "fieldPath": "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value",
+                                            "thresholdValue": 0,
+                                            "direction": "GREATER",
+                                            "severity": "CRITICAL",
+                                            "closedLoopEventStatus": "ONSET"
+                                        }
+                                    ]
+                                }
+                            ]
+                        }
+                    }
+                }
+            }
+        ]
+    }
+}
index 8227996..0305af8 100644 (file)
@@ -28,7 +28,6 @@ Statistics
      Should Be Equal As Strings    ${resp.json()['code']}  200
 
 ExecuteXacmlPolicy
-     Wait Until Keyword Succeeds    2 min    5 sec    CreateMonitorPolicyType
      Wait Until Keyword Succeeds    2 min    5 sec    CreateNewMonitorPolicy
      Wait Until Keyword Succeeds    2 min    5 sec    DeployMonitorPolicy
      Wait Until Keyword Succeeds    2 min    10 sec   GetAbbreviatedDecisionResult
@@ -36,20 +35,6 @@ ExecuteXacmlPolicy
 
 *** Keywords ***
 
-CreateMonitorPolicyType
-     [Documentation]    Create Monitoring Policy Type
-     ${auth}=    Create List    healthcheck    zb!XztG34
-     ${postjson}=  Get file  ${CURDIR}/data/onap.policies.monitoring.cdap.tca.hi.lo.app.json
-     Log    Creating session https://${POLICY_API_IP}:6969
-     ${session}=    Create Session      policy  https://${POLICY_API_IP}:6969   auth=${auth}
-     ${headers}=  Create Dictionary     Accept=application/json    Content-Type=application/json
-     ${resp}=   Post Request   policy  /policy/api/v1/policytypes  data=${postjson}   headers=${headers}
-     Log    Received response from policy2 ${resp.text}
-     Should Be Equal As Strings    ${resp.status_code}     200
-     ${postjsonobject}   To Json    ${postjson}
-     Dictionary Should Contain Key    ${resp.json()}    tosca_definitions_version
-     Dictionary Should Contain Key    ${postjsonobject}    tosca_definitions_version
-
 CreateNewMonitorPolicy
      [Documentation]    Create a new Monitoring policy
      ${auth}=    Create List    healthcheck    zb!XztG34