From a9bbc763a628ebf601825d080c107ede3894b726 Mon Sep 17 00:00:00 2001 From: Michael Mokry Date: Mon, 3 Jun 2019 15:13:03 -0500 Subject: [PATCH] Create the operationshistory table from pdpx Added create table sql statement to the policy-pdpx.sh to create the operationshistory table during xacml-pdp installation Added changes per Jorge's review 1) Added sql file with create table statement 2) Added bash script to execute sql file 3) modified policy-pdpx.sh to execute new bash script 4) other changes Change-Id: Iaae63dc65db1ff9181de12928e072f04c87e50e7 Issue-ID: POLICY-1827 Signed-off-by: Michael Mokry --- .../src/main/docker/Dockerfile | 5 ++-- .../src/main/docker/policy-pdpx.sh | 7 +++-- .../src/main/package/tarball/assembly.xml | 18 ++++++++++++ .../main/resources/mysql/bin/create-guard-table.sh | 23 ++++++++++++++++ .../main/resources/mysql/sql/createguardtable.sql | 32 ++++++++++++++++++++++ 5 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 packages/policy-xacmlpdp-tarball/src/main/resources/mysql/bin/create-guard-table.sh create mode 100644 packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql diff --git a/packages/policy-xacmlpdp-docker/src/main/docker/Dockerfile b/packages/policy-xacmlpdp-docker/src/main/docker/Dockerfile index ea3b97f8..0f64e0e2 100644 --- a/packages/policy-xacmlpdp-docker/src/main/docker/Dockerfile +++ b/packages/policy-xacmlpdp-docker/src/main/docker/Dockerfile @@ -7,11 +7,10 @@ ARG POLICY_LOGS=/var/log/onap/policy/pdpx ENV POLICY_LOGS ${POLICY_LOGS} ENV POLICY_HOME=/opt/app/policy/pdpx - +RUN apk add --no-cache mariadb-client RUN mkdir -p ${POLICY_HOME} ${POLICY_LOGS} ${POLICY_HOME}/etc/ssl ${POLICY_HOME}/bin ${POLICY_HOME}/apps && \ - chown -R policy:policy ${POLICY_HOME} ${POLICY_LOGS} + chown -R policy:policy ${POLICY_HOME} ${POLICY_LOGS} && mkdir /packages -RUN mkdir /packages COPY /maven/* /packages RUN tar xvfz /packages/policy-xacmlpdp.tar.gz --directory ${POLICY_HOME} && \ rm /packages/policy-xacmlpdp.tar.gz diff --git a/packages/policy-xacmlpdp-docker/src/main/docker/policy-pdpx.sh b/packages/policy-xacmlpdp-docker/src/main/docker/policy-pdpx.sh index 9e32d500..f27d65d2 100644 --- a/packages/policy-xacmlpdp-docker/src/main/docker/policy-pdpx.sh +++ b/packages/policy-xacmlpdp-docker/src/main/docker/policy-pdpx.sh @@ -33,9 +33,9 @@ else fi if [ "$#" -ge 2 ]; then - PROP_FILE=$2 + PROP_FILE=$2 else - PROP_FILE=${PROP_FILE} + PROP_FILE=${PROP_FILE} fi if [ -z "$CONFIG_FILE" ] @@ -52,6 +52,9 @@ if [[ -f ${POLICY_HOME}/etc/mounted/xacml.properties ]]; then cp -f "${POLICY_HOME}"/etc/mounted/xacml.properties "${POLICY_HOME}"/apps/guard/ fi +# Create operationshistory table +${POLICY_HOME}/mysql/bin/create-guard-table.sh + echo "Policy Xacml PDP config file: $CONFIG_FILE" echo "Policy Xacml PDP topic properties file: $PROP_FILE" diff --git a/packages/policy-xacmlpdp-tarball/src/main/package/tarball/assembly.xml b/packages/policy-xacmlpdp-tarball/src/main/package/tarball/assembly.xml index 3b027650..01df075f 100644 --- a/packages/policy-xacmlpdp-tarball/src/main/package/tarball/assembly.xml +++ b/packages/policy-xacmlpdp-tarball/src/main/package/tarball/assembly.xml @@ -59,6 +59,24 @@ /etc/ssl keep + + ${project.basedir}/src/main/resources/mysql/bin + + + *.sh + + /mysql/bin + unix + + + ${project.basedir}/src/main/resources/mysql/sql + + + *.sql + + /mysql/sql + unix + ${project.basedir}/src/main/resources/apps/guard diff --git a/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/bin/create-guard-table.sh b/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/bin/create-guard-table.sh new file mode 100644 index 00000000..1c60cb0e --- /dev/null +++ b/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/bin/create-guard-table.sh @@ -0,0 +1,23 @@ +#!/bin/bash -xv +# +# ============LICENSE_START======================================================= +# Copyright (C) 2019 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========================================================= +# +SQL_FILE="${POLICY_HOME}/mysql/sql/createguardtable.sql" + +mysql -upolicy_user -ppolicy_user < "${SQL_FILE}" diff --git a/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql b/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql new file mode 100644 index 00000000..4d11dec0 --- /dev/null +++ b/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql @@ -0,0 +1,32 @@ +-- ============LICENSE_START======================================================= +-- Copyright (C) 2019 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. +-- ============LICENSE_END========================================================= + +use operationshistory; + +create table if not exists operationshistory ( + id int(11) not null auto_increment, + closedLoopName varchar(255) not null, + requestId varchar(50), + actor varchar(50) not null, + operation varchar(50) not null, + target varchar(50) not null, + starttime timestamp not null, + outcome varchar(50) not null, + message varchar(255), + subrequestId varchar(50), + endtime timestamp not null default current_timestamp, + PRIMARY KEY (id) +); \ No newline at end of file -- 2.16.6