[POLICY-15] Push Policy and ELK config updated 65/4465/2
authorRavindra Bakkamanthala <rb7147@att.com>
Wed, 24 May 2017 17:04:17 +0000 (13:04 -0400)
committerRavindra Bakkamanthala <rb7147@att.com>
Thu, 25 May 2017 01:16:11 +0000 (21:16 -0400)
Change-Id: I58abfc97512366dea5b8aae80e42b39d1fa888de
Signed-off-by: Ravindra Bakkamanthala <rb7147@att.com>
config/pe/elk.conf [new file with mode: 0644]
config/pe/push-policies.sh
policy-pe/do-start.sh
policy-pe/docker-install.sh

diff --git a/config/pe/elk.conf b/config/pe/elk.conf
new file mode 100644 (file)
index 0000000..938954c
--- /dev/null
@@ -0,0 +1,3 @@
+# elasticsearch
+
+ELK_JMX_PORT=9995
\ No newline at end of file
index 414e2e5..a8ec668 100644 (file)
@@ -9,8 +9,7 @@ echo "Pushing default policies"
 
 curl -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHJlc3Q6M2MwbXBVI2gwMUBOMWMz' --header 'Environment: TEST' -d '{
   "pdpGroup": "default",
-  "policyName": "vFirewall",
-  "policyScope": "com",
+  "policyName": "com.vFirewall",
   "policyType": "MicroService"
 }' 'http://pdp:8081/pdp/api/pushPolicy'
 
@@ -18,16 +17,14 @@ sleep 2
 
 curl -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHJlc3Q6M2MwbXBVI2gwMUBOMWMz' --header 'Environment: TEST' -d '{
   "pdpGroup": "default",
-  "policyName": "vLoadBalancer",
-  "policyScope": "com",
+  "policyName": "com.vLoadBalancer",
   "policyType": "MicroService"
 }' 'http://pdp:8081/pdp/api/pushPolicy' 
 
 sleep 2
 curl -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHJlc3Q6M2MwbXBVI2gwMUBOMWMz' --header 'Environment: TEST' -d '{
   "pdpGroup": "default",
-  "policyName": "BRMSParamvLBDemoPolicy",
-  "policyScope": "com",
+  "policyName": "com.BRMSParamvLBDemoPolicy",
   "policyType": "BRMS_Param"
 }' 'http://pdp:8081/pdp/api/pushPolicy'
 
@@ -35,8 +32,7 @@ sleep 2
 
 curl -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHJlc3Q6M2MwbXBVI2gwMUBOMWMz' --header 'Environment: TEST' -d '{
   "pdpGroup": "default",
-  "policyName": "BRMSParamvFWDemoPolicy",
-  "policyScope": "com",
+  "policyName": "com.BRMSParamvFWDemoPolicy",
   "policyType": "BRMS_Param"
 }' 'http://pdp:8081/pdp/api/pushPolicy'
 
@@ -59,8 +55,7 @@ curl -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/
 sleep 2
 curl -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHJlc3Q6M2MwbXBVI2gwMUBOMWMz' --header 'Environment: TEST' -d '{
   "pdpGroup": "default",
-  "policyName": "BRMSParamvLBDemoPolicy",
-  "policyScope": "com",
+  "policyName": "com.BRMSParamvLBDemoPolicy",
   "policyType": "BRMS_Param"
 }' 'http://pdp:8081/pdp/api/pushPolicy'
 
@@ -68,8 +63,7 @@ sleep 2
 
 curl -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHJlc3Q6M2MwbXBVI2gwMUBOMWMz' --header 'Environment: TEST' -d '{
   "pdpGroup": "default",
-  "policyName": "BRMSParamvFWDemoPolicy",
-  "policyScope": "com",
+  "policyName": "com.BRMSParamvFWDemoPolicy",
   "policyType": "BRMS_Param"
 }' 'http://pdp:8081/pdp/api/pushPolicy'
 
index fc02b86..34041c7 100644 (file)
@@ -9,7 +9,7 @@ container=$1
 
 case $container in
 pap)
-       comps="base pap paplp console mysql"
+       comps="base pap paplp console mysql elk"
        ;;
 pdp)
        comps="base pdp pdplp"
index 57c26bf..fa9472f 100644 (file)
@@ -9,8 +9,8 @@
 function usage() {
        echo -n "syntax: $(basename $0) "
        echo -n "--debug ("
-       echo -n "[--install base|pap|pdp|console|mysql|brmsgw|paplp|pdplp] | "
-       echo -n "[--configure base|pap|pdp|console|mysql|brmsgw|paplp|pdplp] | "
+       echo -n "[--install base|pap|pdp|console|mysql|elk|brmsgw|paplp|pdplp] | "
+       echo -n "[--configure base|pap|pdp|console|mysql|elk|brmsgw|paplp|pdplp] | "
 }
 
 function check_java() {
@@ -432,6 +432,71 @@ function configure_mysql() {
        # nothing to do
 }
 
+# This function installs elk related shell scripts and sql files in the proper locations
+# under $POLICY_HOME. It also adds the Elk to the PATH based on configuration.
+#
+function configure_elk() {
+       if [[ $DEBUG == y ]]; then
+               echo "-- ${FUNCNAME[0]} $@ --"
+               set -x
+       fi
+       
+       # nothing to do
+}
+
+function install_elk() {
+       if [[ $DEBUG == y ]]; then
+               echo "-- ${FUNCNAME[0]} $@ --"
+               set -x
+       fi
+       
+       if [[ -f "${HOME}/.bash_profile" ]]; then
+               source "${HOME}/.bash_profile"
+       fi
+       
+       if [[ -f "${HOME}/.profile" ]]; then
+               source "${HOME}/.profile"
+       fi
+       
+       ELK_TARGET_INSTALL_DIR=${POLICY_HOME}/elk
+       
+       if [[ -d ${ELK_TARGET_INSTALL_DIR} ]]; then
+               echo "WARNING: ${ELK_TARGET_INSTALL_DIR} exists."
+               return 1
+       fi
+       
+       /bin/mkdir -p "${ELK_TARGET_INSTALL_DIR}" > /dev/null 2>&1
+       
+       if [[ ! -d ${ELK_TARGET_INSTALL_DIR} ]]; then
+               echo "WARNING: ${ELK_TARGET_INSTALL_DIR} doesn't exist."
+               return 1
+       fi
+       
+       cd ${ELK_TARGET_INSTALL_DIR}
+       curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.0.tar.gz
+       
+       tar xvzf elasticsearch-5.4.0.tar.gz -C .
+       /bin/rm -fr elasticsearch-5.4.0.tar.gz
+       /bin/mv  ${ELK_TARGET_INSTALL_DIR}/elasticsearch-5.4.0/* .
+       /bin/rm -fr ${ELK_TARGET_INSTALL_DIR}/elasticsearch-5.4.0
+       
+       /bin/cp "${POLICY_HOME}"/install/elk/bin/* "${POLICY_HOME}/bin" 
+       /bin/cp -f "${POLICY_HOME}"/install/elk/config/* "${ELK_TARGET_INSTALL_DIR}/config"
+       /bin/cp -f "${POLICY_HOME}/install/elk/init.d/elkd" "${POLICY_HOME}/etc/init.d/elk"
+       
+       install_prereqs "${COMPONENT_TYPE}.conf"
+       
+       /bin/sed -i -e "s!\${{POLICY_HOME}}!${POLICY_HOME}!g" \
+               -e "s!\${{FQDN}}!${FQDN}!g" \
+               -e "s!\${{ELK_JMX_PORT}}!${ELK_JMX_PORT}!g" \
+               "${ELK_TARGET_INSTALL_DIR}"/config/* "${POLICY_HOME}/etc/init.d/elk" > /dev/null 2>&1
+               
+
+       list_unexpanded_files ${POLICY_HOME}
+               
+       return $?
+}
+
 # This function installs brmsgw related shell scripts and config files in the proper
 # locations under $POLICY_HOME. 
 #
@@ -546,11 +611,12 @@ case $COMPONENT_TYPE in
        pap)    ;;
        console)        ;;
        mysql)  ;;
+       elk)    ;;
        brmsgw) ;;
        paplp)  ;;
        pdplp)  ;;
        skip)   ;;
-       *)              echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|brmsgw|paplp|pdplp}";
+       *)              echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|elk|brmsgw|paplp|pdplp}";
                        usage
                        exit 1
                        ;;
@@ -615,6 +681,9 @@ if [[ ${OPERATION} == install ]]; then
                mysql)
                        install_mysql
                        ;;
+               elk)
+                       install_elk
+                       ;;              
                brmsgw)
                        install_brmsgw
                        ;;
@@ -622,7 +691,7 @@ if [[ ${OPERATION} == install ]]; then
                        install_logparser
                        ;;
                *)              
-                       echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|brmsgw|paplp|pdplp}";
+                       echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|elk|brmsgw|paplp|pdplp}";
                        usage
                        exit 1
                        ;;
@@ -649,6 +718,9 @@ if [[ ${OPERATION} == configure ]]; then
                mysql)
                        configure_mysql
                        ;;
+               elk)
+                       configure_elk
+                       ;;      
                brmsgw)
                        configure_component "${COMPONENT_TYPE}.conf" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
                        ;;
@@ -656,7 +728,7 @@ if [[ ${OPERATION} == configure ]]; then
                        configure_component "${COMPONENT_TYPE}.conf" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
                        ;;
                *)              
-                       echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|brmsgw|paplp|pdplp}";
+                       echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|elk|brmsgw|paplp|pdplp}";
                        usage
                        exit 1
                        ;;