type: NodePort
selector:
app: aai-service
+ clusterIP: {{ .Values.aaiServiceClusterIp }}
#{{ end }}
#{{ if not .Values.disableAaiModelLoaderService }}
---
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
+
+# POLICY hotfix - Note this must be temporary
+# See https://jira.onap.org/browse/POLICY-510
+aaiServiceClusterIp: 10.43.255.254
+
image:
readiness: oomk8s/readiness-check:1.0.0
aaiProxy: aaionap/haproxy
--- /dev/null
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*/*.log
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+
+ # The below commented properties are for time-based rolling policy. But as the log4j 1.2x does not support time-based rolling these properties are not set
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ #ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ #clean_inactive: 96h
+
+ #Multiline properties for log4j xml log events
+ multiline.pattern: '</log4j:event>'
+ multiline.negate: true
+ multiline.match: before
+ #multiline.max_lines: 500
+ #multiline.timeout: 5s
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["logstash.onap-log:5044"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
--- /dev/null
+#{{ if not .Values.disableAppcAppc }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: appc-conf-configmap
+ namespace: {{ .Values.nsPrefix }}-appc
+data:
+{{ tpl (.Files.Glob "resources/config/conf/*").AsConfig . | indent 2 }}
+#{{ end }}
name: localtime
readOnly: true
- mountPath: /opt/openecomp/appc/data/properties/appc.properties
- name: appc-properties
+ name: appc-conf
+ subPath: appc.properties
- mountPath: /opt/openecomp/appc/data/properties/aaiclient.properties
- name: appc-aaiclient-properties
+ name: appc-conf
+ subPath: aaiclient.properties
- mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
- name: sdnc-aaiclient-properties
+ name: appc-conf
+ subPath: aaiclient.properties
- mountPath: /var/log/onap
name: appc-logs
- mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
name: appc-log-config
+ subPath: org.ops4j.pax.logging.cfg
ports:
- containerPort: 8181
- containerPort: 1830
volumeMounts:
- mountPath: /usr/share/filebeat/filebeat.yml
name: filebeat-conf
+ subPath: filebeat.yml
- mountPath: /var/log/onap
name: appc-logs
- mountPath: /usr/share/filebeat/data
hostPath:
path: /etc/localtime
- name: filebeat-conf
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/filebeat/log4j/filebeat.yml
+ configMap:
+ name: appc-filebeat-configmap
- name: appc-log-config
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/appc/org.ops4j.pax.logging.cfg
+ configMap:
+ name: appc-logging-cfg-configmap
- name: appc-logs
emptyDir: {}
- name: appc-data-filebeat
emptyDir: {}
- - name: appc-properties
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/appc/conf/appc.properties
- - name: appc-aaiclient-properties
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/appc/conf/aaiclient.properties
- - name: sdnc-aaiclient-properties
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/aaiclient.properties
+ - name: appc-conf
+ configMap:
+ name: appc-conf-configmap
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
--- /dev/null
+#{{ if not .Values.disableAppcAppc }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: appc-filebeat-configmap
+ namespace: {{ .Values.nsPrefix }}-appc
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/log4j/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: appc-logging-cfg-configmap
+ namespace: {{ .Values.nsPrefix }}-appc
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+#{{ end }}
app: cli
spec:
ports:
- - name: 80-port
- port: 80
+ - name: 8080-port
+ port: 8080
targetPort: 80
nodePort: {{ .Values.nodePortPrefix }}60
+ - name: 9090-port
+ port: 9090
+ targetPort: 8080
+ nodePort: {{ .Values.nodePortPrefix }}61
type: NodePort
selector:
app: cli
-#{{ end }}
\ No newline at end of file
+#{{ end }}
value: daemon
ports:
- containerPort: 80
+ - containerPort: 8080
name: cli
readinessProbe:
tcpSocket:
periodSeconds: 10
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
-#{{ end }}
\ No newline at end of file
+#{{ end }}
chmod -R 777 /config-init/$NAMESPACE/aai/elasticsearch/es-data/
chmod -R 777 /config-init/$NAMESPACE/aai/search-data-service/logs/
chmod -R 777 /config-init/$NAMESPACE/aai/data-router/logs/
-chmod -R 777 /config-init/$NAMESPACE/policy/mariadb/
chmod -R 777 /config-init/$NAMESPACE/log/elasticsearch
chown -R root:root /config-init/$NAMESPACE/log
-<?xml version="1.0" encoding="UTF-8"?>\r
<!--\r
============LICENSE_START=======================================================\r
policy-management\r
================================================================================\r
- Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
+ Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
================================================================================\r
Licensed under the Apache License, Version 2.0 (the "License");\r
you may not use this file except in compliance with the License.\r
You may obtain a copy of the License at\r
- \r
+\r
http://www.apache.org/licenses/LICENSE-2.0\r
- \r
+\r
Unless required by applicable law or agreed to in writing, software\r
distributed under the License is distributed on an "AS IS" BASIS,\r
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
limitations under the License.\r
============LICENSE_END=========================================================\r
-->\r
-<configuration debug="true" scan="true" scanPeriod="3 seconds">\r
- <!--<jmxConfigurator /> -->\r
- <!-- specify the base path of the log directory --> \r
- <property name="logDir" value="/var/log/onap" />\r
- <!-- specify the component name -->\r
- <property name="componentName" value="policy" />\r
- <!-- specify the sub component name -->\r
- <property name="subComponentName" value="drools" />\r
- <!-- The directories where logs are written --> \r
- <property name="logDirectory" value="${logDir}/${componentName}/${subComponentName}" />\r
- <property name="pattern" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}\t[%thread]\t%-5level\t%logger{36}\t%replace(%replace(%replace(%mdc){'\t','\\\\t'}){', ','\t'}){'\n', '\\\\n'}\t%replace(%replace(%msg){'\n', '\\\\n'}){'\t','\\\\t'}%n" />\r
- <!-- log file names -->\r
- <property name="errorLogName" value="error" />\r
- <property name="metricsLogName" value="metrics" />\r
- <property name="auditLogName" value="audit" />\r
- <property name="debugLogName" value="debug" />\r
- <property name="queueSize" value="256" />\r
- <property name="maxFileSize" value="50MB" />\r
- <property name="maxHistory" value="30" />\r
- <property name="totalSizeCap" value="10GB" />\r
- <!-- Example evaluator filter applied against console appender -->\r
- <appender class="ch.qos.logback.core.ConsoleAppender" name="STDOUT">\r
- <encoder>\r
- <pattern>${pattern}</pattern>\r
- </encoder>\r
- </appender>\r
- <!-- ============================================================================ -->\r
- <!-- EELF Appenders -->\r
- <!-- ============================================================================ -->\r
- <!-- The EELFAppender is used to record events to the general application \r
- log -->\r
- <!-- EELF Audit Appender. This appender is used to record audit engine \r
- related logging events. The audit logger and appender are specializations \r
- of the EELF application root logger and appender. This can be used to segregate \r
- Policy engine events from other components, or it can be eliminated to record \r
- these events as part of the application root log. -->\r
- <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFAudit">\r
- <file>${logDirectory}/${auditLogName}.log</file>\r
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
- <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
- <maxFileSize>${maxFileSize}</maxFileSize>\r
- </timeBasedFileNamingAndTriggeringPolicy>\r
- <maxHistory>${maxHistory}</maxHistory>\r
- <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
- </rollingPolicy>\r
- <encoder>\r
- <pattern>${pattern}</pattern>\r
- </encoder>\r
- </appender>\r
- <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFAudit">\r
- <queueSize>${queueSize}</queueSize>\r
- <appender-ref ref="EELFAudit" />\r
- </appender>\r
- <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFMetrics">\r
- <file>${logDirectory}/${metricsLogName}.log</file>\r
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
- <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
- <maxFileSize>${maxFileSize}</maxFileSize>\r
- </timeBasedFileNamingAndTriggeringPolicy>\r
- <maxHistory>${maxHistory}</maxHistory>\r
- <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
- </rollingPolicy>\r
- <encoder>\r
- <pattern>${pattern}</pattern>\r
- </encoder>\r
- </appender>\r
- <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFMetrics">\r
- <queueSize>${queueSize}</queueSize>\r
- <appender-ref ref="EELFMetrics" />\r
- </appender>\r
- <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFError">\r
- <file>${logDirectory}/${errorLogName}.log</file>\r
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
- <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>\r
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
- <maxFileSize>${maxFileSize}</maxFileSize>\r
- </timeBasedFileNamingAndTriggeringPolicy>\r
- <maxHistory>${maxHistory}</maxHistory>\r
- <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
- </rollingPolicy>\r
- <encoder>\r
- <pattern>${pattern}</pattern>\r
- </encoder>\r
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
- <level>INFO</level>\r
- </filter>\r
- </appender>\r
- <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFError">\r
- <queueSize>${queueSize}</queueSize>\r
- <appender-ref ref="EELFError" />\r
- </appender>\r
- <appender class="ch.qos.logback.core.rolling.RollingFileAppender" name="EELFDebug">\r
- <file>${logDirectory}/${debugLogName}.log</file>\r
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">\r
- <fileNamePattern>${logDirectory}/${debugLogName}.%i.log.zip</fileNamePattern>\r
- <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">\r
- <maxFileSize>${maxFileSize}</maxFileSize>\r
- </timeBasedFileNamingAndTriggeringPolicy>\r
- <maxHistory>${maxHistory}</maxHistory>\r
- <totalSizeCap>${totalSizeCap}</totalSizeCap>\r
- </rollingPolicy>\r
- <encoder>\r
- <pattern>${pattern}</pattern>\r
- </encoder>\r
- </appender>\r
- <appender class="ch.qos.logback.classic.AsyncAppender" name="asyncEELFDebug">\r
- <queueSize>${queueSize}</queueSize>\r
- <appender-ref ref="EELFDebug" />\r
- <includeCallerData>true</includeCallerData>\r
- </appender>\r
- <!-- ============================================================================ -->\r
- <!-- EELF loggers -->\r
- <!-- ============================================================================ -->\r
- <logger additivity="false" level="info" name="com.att.eelf.audit">\r
- <appender-ref ref="asyncEELFAudit" />\r
- </logger>\r
- <logger additivity="false" level="info" name="com.att.eelf.metrics">\r
- <appender-ref ref="asyncEELFMetrics" />\r
- </logger>\r
- <logger additivity="false" level="info" name="com.att.eelf.error">\r
- <appender-ref ref="asyncEELFError" />\r
- </logger>\r
- <logger additivity="false" level="debug" name="com.att.eelf.debug">\r
- <appender-ref ref="asyncEELFDebug" />\r
- </logger>\r
- <root level="INFO">\r
- <appender-ref ref="asyncEELFDebug" />\r
- <appender-ref ref="asyncEELFError" />\r
- </root>\r
+\r
+<configuration scan="true" scanPeriod="30 seconds" debug="false">\r
+\r
+ <property name="logDir" value="/var/log/onap" />\r
+\r
+ <property name="errorLog" value="error" />\r
+ <property name="debugLog" value="debug" />\r
+ <property name="networkLog" value="network" />\r
+\r
+ <property name="debugPattern" value="[%date|%level|%logger{0}|%thread] %msg%n" />\r
+ <property name="errorPattern" value="${debugPattern}" />\r
+ <property name="networkPattern" value="[%d|%t]%m%n" />\r
+\r
+ <appender name="ErrorOut" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDir}/${errorLog}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDir}/${errorLog}.%i.log.zip</fileNamePattern>\r
+ <minIndex>1</minIndex>\r
+ <maxIndex>5</maxIndex>\r
+ </rollingPolicy>\r
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">\r
+ <level>WARN</level>\r
+ </filter>\r
+ <triggeringPolicy\r
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+ <maxFileSize>15MB</maxFileSize>\r
+ </triggeringPolicy>\r
+ <encoder>\r
+ <pattern>${errorPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+\r
+ <appender name="AsyncErrorOut" class="ch.qos.logback.classic.AsyncAppender">\r
+ <appender-ref ref="ErrorOut" />\r
+ </appender>\r
+\r
+ <appender name="DebugOut" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDir}/${debugLog}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDir}/${debugLog}.%i.log.zip</fileNamePattern>\r
+ <minIndex>1</minIndex>\r
+ <maxIndex>9</maxIndex>\r
+ </rollingPolicy>\r
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+ <maxFileSize>20MB</maxFileSize>\r
+ </triggeringPolicy>\r
+ <encoder>\r
+ <pattern>${debugPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+\r
+ <appender name="AsyncDebugOut" class="ch.qos.logback.classic.AsyncAppender">\r
+ <appender-ref ref="DebugOut" />\r
+ </appender>\r
+\r
+ <appender name="NetworkOut" class="ch.qos.logback.core.rolling.RollingFileAppender">\r
+ <file>${logDir}/${networkLog}.log</file>\r
+ <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">\r
+ <fileNamePattern>${logDir}/${networkLog}.%i.log.zip</fileNamePattern>\r
+ <minIndex>1</minIndex>\r
+ <maxIndex>9</maxIndex>\r
+ </rollingPolicy>\r
+ <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">\r
+ <maxFileSize>15MB</maxFileSize>\r
+ </triggeringPolicy>\r
+ <encoder>\r
+ <pattern>${networkPattern}</pattern>\r
+ </encoder>\r
+ </appender>\r
+\r
+ <appender name="AsyncNetworkOut" class="ch.qos.logback.classic.AsyncAppender">\r
+ <appender-ref ref="NetworkOut" />\r
+ </appender>\r
+\r
+ <logger name="network" level="INFO" additivity="false">\r
+ <appender-ref ref="AsyncNetworkOut" />\r
+ </logger>\r
+\r
+ <logger name="org.eclipse.jetty.server.RequestLog" level="info" additivity="false">\r
+ <appender-ref ref="AsyncNetworkOut" />\r
+ </logger>\r
+\r
+ <root level="INFO">\r
+ <appender-ref ref="AsyncDebugOut" />\r
+ <appender-ref ref="AsyncErrorOut" />\r
+ </root>\r
+\r
</configuration>
\ No newline at end of file
+++ /dev/null
-default-character-set=latin1
-default-collation=latin1_swedish_ci
+++ /dev/null
-ÿlocalhost root \ 1 VUÚXÿae9df72d0f92 root \ 1 VUÚX
\ No newline at end of file
+++ /dev/null
-default-character-set=utf8
-default-collation=utf8_general_ci
+++ /dev/null
-default-character-set=latin1
-default-collation=latin1_swedish_ci
+++ /dev/null
-default-character-set=latin1
-default-collation=latin1_swedish_ci
# Telemetry credentials
ENGINE_MANAGEMENT_PORT=9696
-ENGINE_MANAGEMENT_HOST=localhost
+ENGINE_MANAGEMENT_HOST=0.0.0.0
ENGINE_MANAGEMENT_USER=@1b3rt
ENGINE_MANAGEMENT_PASSWORD=31nst31n
PDP_HOST=pdp.onap-policy
PDP_USERNAME=testpdp
PDP_PASSWORD=alpha123
+PDP_CLIENT_USERNAME=python
+PDP_CLIENT_PASSWORD=test
+PDP_ENVIRONMENT=TEST
# DCAE DMaaP
-DCAE_TOPIC=unauthenticated.TCA_EVENT_OUTPUT
-DCAE_SERVERS=dcae-controller.onap-dcae
+DCAE_TOPIC=unauthenticated.DCAE_CL_OUTPUT
+DCAE_SERVERS=dmaap.onap-message-router
# Open DMaaP
DMAAP_SERVERS=dmaap.onap-message-router
+
+# AAI
+
+AAI_URL=https://aai.api.simpledemo.openecomp.org:8443
+AAI_USERNAME=POLICY
+AAI_PASSWORD=POLICY
+
+# MSO
+
+SO_URL=http://mso.onap-mso:8080/ecomp/mso/infra
+SO_USERNAME=InfraPortalClient
+SO_PASSWORD=password1$
+
+# VFC
+
+VFC_URL=
+VFC_USERNAME=
+VFC_PASSWORD=
\ No newline at end of file
if [ ! -f "${DEP}" ]; then
echo "warning: configuration does not exist: ${DEP}"
else
- sed -i -e "s/\"version\":.*/\"version\": \"${version}\"/g" "${DEP}"
+ sed -i -e "s/\"version\":.*-SNAPSHOT\"/\"version\": \"${version}\"/g" "${DEP}"
fi
done
groupID=org.onap.policy-engine
artifactID=drlPDPGroup
-VFW_GROUP_ID=org.onap.policy-engine.drools.vFW
-VFW_ARTIFACT_ID=policy-vFW-rules
-VDNS_GROUP_ID=org.onap.policy-engine.drools.vDNS
-VDNS_ARTIFACT_ID=policy-vDNS-rules
-
+AMSTERDAM_GROUP_ID=org.onap.policy-engine.drools.amsterdam
+AMSTERDAM_ARTIFACT_ID=policy-amsterdam-rules
# the java property is RESOURCE_NAME (uppercase), but the conf parameter is lowercase
resource_name=brmsgw_1
BRMS_UEB_API_SECRET=
#Dependency.json file version
-BRMS_DEPENDENCY_VERSION=1.1.0-SNAPSHOT
+BRMS_DEPENDENCY_VERSION=1.2.0
#-----------------------ONAP-PORTAL-Properties----------------------
ONAP_REDIRECT_URL=http://portalapps.onap-portal:8989/ONAPPORTAL/login.htm
-ONAP_REST_URL=
+ONAP_REST_URL=http://portalapps.onap-portal:8989/ONAPPORTAL/auxapi
ONAP_UEB_URL_LIST=
ONAP_PORTAL_INBOX_NAME=
ONAP_UEB_APP_KEY=
#Required only, when we use AAF
POLICY_AAF_NAMESPACE=
POLICY_AAF_RESOURCE=
+
+# Indeterminate resolution
+DECISION_INDETERMINATE_RESPONSE=PERMIT
\ No newline at end of file
#! /bin/bash
+# forked from https://gerrit.onap.org/r/gitweb?p=policy/docker.git;a=blob;f=config/pe/push-policies.sh;h=555ab357e6b4f54237bf07ef5e6777d782564bc0;hb=refs/heads/amsterdam and adapted for OOM
-echo "Pushing default policies"
+#########################################Upload BRMS Param Template##########################################
-# Sometimes brmsgw gets an error when trying to retrieve the policies on initial push,
-# so for the BRMS policies we will do a push, then delete from the pdp group, then push again.
-# Second push should be successful.
+echo "Upload BRMS Param Template"
-echo "pushPolicy : PUT : com.vFirewall"
-curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
- "pdpGroup": "default",
- "policyName": "com.vFirewall",
- "policyType": "MicroService"
-}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+sleep 2
+
+wget -O cl-amsterdam-template.drl https://git.onap.org/policy/drools-applications/plain/controlloop/templates/archetype-cl-amsterdam/src/main/resources/archetype-resources/src/main/resources/__closedLoopControlName__.drl
sleep 2
-echo "pushPolicy : PUT : com.vLoadBalancer"
-curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
- "pdpGroup": "default",
- "policyName": "com.vLoadBalancer",
- "policyType": "MicroService"
-}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+curl -v --silent -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -F "file=@cl-amsterdam-template.drl" -F "importParametersJson={\"serviceName\":\"ClosedLoopControlName\",\"serviceType\":\"BRMSPARAM\"}" 'http://pdp.onap-policy:8081/pdp/api/policyEngineImport'
+
+echo "PRELOAD_POLICIES is $PRELOAD_POLICIES"
+
+if [ "$PRELOAD_POLICIES" == "false" ]; then
+ exit 0
+fi
+
+#########################################Create BRMS Param policies##########################################
+
+echo "Create BRMSParam Operational Policies"
sleep 2
-echo "pushPolicy : PUT : com.BRMSParamvLBDemoPolicy"
+echo "Create BRMSParamvFirewall Policy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "policyConfigType": "BRMS_PARAM",
+ "policyName": "com.BRMSParamvFirewall",
+ "policyDescription": "BRMS Param vFirewall policy",
+ "policyScope": "com",
+ "attributes": {
+ "MATCHING": {
+ "controller" : "amsterdam"
+ },
+ "RULE": {
+ "templateName": "ClosedLoopControlName",
+ "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
+ "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0D%0A++trigger_policy%3A+unique-policy-id-1-modifyConfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-modifyConfig%0D%0A++++name%3A+modify+packet+gen+config%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+TBD+-+Cannot+be+known+until+instantiation+is+done%0D%0A++++++resourceID%3A+Eace933104d443b496b8.nodes.heat.vpg%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
+ }
+ }
+}' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
+
+sleep 2
+
+echo "Create BRMSParamvDNS Policy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "policyConfigType": "BRMS_PARAM",
+ "policyName": "com.BRMSParamvDNS",
+ "policyDescription": "BRMS Param vDNS policy",
+ "policyScope": "com",
+ "attributes": {
+ "MATCHING": {
+ "controller" : "amsterdam"
+ },
+ "RULE": {
+ "templateName": "ClosedLoopControlName",
+ "closedLoopControlName": "ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3",
+ "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3%0D%0A++trigger_policy%3A+unique-policy-id-1-scale-up%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-scale-up%0D%0A++++name%3A+Create+a+new+VF+Module%0D%0A++++description%3A%0D%0A++++actor%3A+SO%0D%0A++++recipe%3A+VF+Module+Create%0D%0A++++target%3A%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
+ }
+ }
+}' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
+
+sleep 2
+
+echo "Create BRMSParamVOLTE Policy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "policyConfigType": "BRMS_PARAM",
+ "policyName": "com.BRMSParamVOLTE",
+ "policyDescription": "BRMS Param VOLTE policy",
+ "policyScope": "com",
+ "attributes": {
+ "MATCHING": {
+ "controller" : "amsterdam"
+ },
+ "RULE": {
+ "templateName": "ClosedLoopControlName",
+ "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b",
+ "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+VFC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
+ }
+ }
+}' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
+
+sleep 2
+
+echo "Create BRMSParamvCPE Policy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "policyConfigType": "BRMS_PARAM",
+ "policyName": "com.BRMSParamvCPE",
+ "policyDescription": "BRMS Param vCPE policy",
+ "policyScope": "com",
+ "attributes": {
+ "MATCHING": {
+ "controller" : "amsterdam"
+ },
+ "RULE": {
+ "templateName": "ClosedLoopControlName",
+ "closedLoopControlName": "ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e",
+ "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e%0D%0A++trigger_policy%3A+unique-policy-id-1-restart%0D%0A++timeout%3A+3600%0D%0A++abatement%3A+true%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-restart%0D%0A++++name%3A+Restart+the+VM%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+Restart%0D%0A++++target%3A%0D%0A++++++type%3A+VM%0D%0A++++retry%3A+3%0D%0A++++timeout%3A+1200%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
+ }
+ }
+}' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
+
+#########################################Create Micro Service Config policies##########################################
+
+echo "Create MicroService Config Policies"
+
+sleep 2
+
+echo "Create MicroServicevFirewall Policy"
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
- "pdpGroup": "default",
- "policyName": "com.BRMSParamvLBDemoPolicy",
- "policyType": "BRMS_Param"
-}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+ "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevFirewall\", \"description\": \"MicroService vFirewall Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"vFirewallBroadcastPackets\", \"controlLoopSchemaType\": \"VNF\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 300, \"direction\": \"LESS_OR_EQUAL\", \"severity\": \"MAJOR\", \"closedLoopEventStatus\": \"ONSET\" }, { \"closedLoopControlName\": \"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 700, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" } ] }] } } }",
+ "policyConfigType": "MicroService",
+ "policyName": "com.MicroServicevFirewall",
+ "onapName": "DCAE"
+}' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
+
sleep 2
-echo "pushPolicy : PUT : com.BRMSParamvFWDemoPolicy"
+echo "Create MicroServicevDNS Policy"
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
- "pdpGroup": "default",
- "policyName": "com.BRMSParamvFWDemoPolicy",
- "policyType": "BRMS_Param"
-}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+ "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevDNS\", \"description\": \"MicroService vDNS Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"tca_policy\": { \"domain\": \"measurementsForVfScaling\", \"metricsPerEventName\": [{ \"eventName\": \"vLoadBalancer\", \"controlLoopSchemaType\": \"VM\", \"policyScope\": \"DCAE\", \"policyName\": \"DCAE.Config_tca-hi-lo\", \"policyVersion\": \"v0.0.1\", \"thresholds\": [{ \"closedLoopControlName\": \"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3\", \"version\": \"1.0.2\", \"fieldPath\": \"$.event.measurementsForVfScalingFields.vNicUsageArray[*].receivedTotalPacketsDelta\", \"thresholdValue\": 300, \"direction\": \"GREATER_OR_EQUAL\", \"severity\": \"CRITICAL\", \"closedLoopEventStatus\": \"ONSET\" }] }] } } }",
+ "policyConfigType": "MicroService",
+ "policyName": "com.MicroServicevDNS",
+ "onapName": "DCAE"
+}' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
+
sleep 2
-echo "deletePolicy : DELETE : com.vFirewall"
-curl -v --silent -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
-"pdpGroup": "default",
-"policyComponent": "PDP",
-"policyName": "com.vFirewall",
-"policyType": "MicroService"
-}' 'http://pdp.onap-policy:8081/pdp/api/deletePolicy'
+echo "Create MicroServicevCPE Policy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "configBody": "{ \"service\": \"tca_policy\", \"location\": \"SampleServiceLocation\", \"uuid\": \"test\", \"policyName\": \"MicroServicevCPE\", \"description\": \"MicroService vCPE Policy\", \"configName\": \"SampleConfigName\", \"templateVersion\": \"OpenSource.version.1\", \"version\": \"1.1.0\", \"priority\": \"1\", \"policyScope\": \"resource=SampleResource,service=SampleService,type=SampleType,closedLoopControlName=ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e\", \"riskType\": \"SampleRiskType\", \"riskLevel\": \"1\", \"guard\": \"False\", \"content\": { \"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\" }] }] } } }",
+ "policyConfigType": "MicroService",
+ "policyName": "com.MicroServicevCPE",
+ "onapName": "DCAE"
+}' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
+
+#########################################Creating Decision Guard policy#########################################
sleep 2
-echo "deletePolicy : DELETE : com.vLoadBalancer"
-curl -v --silent -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
-"pdpGroup": "default",
-"policyComponent": "PDP",
-"policyName": "com.vLoadBalancer",
-"policyType": "MicroService"
-}' 'http://pdp.onap-policy:8081/pdp/api/deletePolicy'
+echo "Creating Decision Guard policy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "policyClass": "Decision",
+ "policyName": "com.AllPermitGuard",
+ "policyDescription": "Testing all Permit YAML Guard Policy",
+ "ecompName": "PDPD",
+ "ruleProvider": "GUARD_YAML",
+ "attributes": {
+ "MATCHING": {
+ "actor": ".*",
+ "recipe": ".*",
+ "targets": ".*",
+ "clname": ".*",
+ "limit": "10",
+ "timeWindow": "1",
+ "timeUnits": "minute",
+ "guardActiveStart": "00:00:01-05:00",
+ "guardActiveEnd": "00:00:00-05:00"
+ }
+ }
+}' 'http://pdp.onap-policy:8081/pdp/api/createPolicy'
+
+#########################################Push Decision policy#########################################
sleep 2
-echo "deletePolicy : DELETE : com.BRMSParamvFWDemoPolicy"
-curl -v --silent -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
-"pdpGroup": "default",
-"policyComponent": "PDP",
-"policyName": "com.BRMSParamvFWDemoPolicy",
-"policyType": "BRMS_Param"
-}' 'http://pdp.onap-policy:8081/pdp/api/deletePolicy'
+echo "Push Decision policy"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.AllPermitGuard",
+ "policyType": "DECISION"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+
+#########################################Pushing BRMS Param policies##########################################
+echo "Pushing BRMSParam Operational policies"
sleep 2
-echo "deletePolicy : DELETE : com.BRMSParamvLBDemoPolicy"
-curl -v --silent -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
-"pdpGroup": "default",
-"policyComponent": "PDP",
-"policyName": "com.BRMSParamvLBDemoPolicy",
-"policyType": "BRMS_Param"
-}' 'http://pdp.onap-policy:8081/pdp/api/deletePolicy'
+echo "pushPolicy : PUT : com.BRMSParamvFirewall"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.BRMSParamvFirewall",
+ "policyType": "BRMS_Param"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
sleep 2
-echo "pushPolicy : PUT : com.vFirewall"
+echo "pushPolicy : PUT : com.BRMSParamvDNS"
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
"pdpGroup": "default",
- "policyName": "com.vFirewall",
- "policyType": "MicroService"
+ "policyName": "com.BRMSParamvDNS",
+ "policyType": "BRMS_Param"
}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
sleep 2
-echo "pushPolicy : PUT : com.vLoadBalancer"
+echo "pushPolicy : PUT : com.BRMSParamVOLTE"
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
"pdpGroup": "default",
- "policyName": "com.vLoadBalancer",
- "policyType": "MicroService"
-}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+ "policyName": "com.BRMSParamVOLTE",
+ "policyType": "BRMS_Param"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
sleep 2
-echo "pushPolicy : PUT : com.BRMSParamvLBDemoPolicy"
+echo "pushPolicy : PUT : com.BRMSParamvCPE"
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
"pdpGroup": "default",
- "policyName": "com.BRMSParamvLBDemoPolicy",
+ "policyName": "com.BRMSParamvCPE",
"policyType": "BRMS_Param"
}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+#########################################Pushing MicroService Config policies##########################################
+
+echo "Pushing MicroService Config policies"
+
sleep 2
-echo "pushPolicy : PUT : com.BRMSParamvFWDemoPolicy"
+echo "pushPolicy : PUT : com.MicroServicevFirewall"
curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
"pdpGroup": "default",
- "policyName": "com.BRMSParamvFWDemoPolicy",
- "policyType": "BRMS_Param"
+ "policyName": "com.MicroServicevFirewall",
+ "policyType": "MicroService"
}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+sleep 10
+
+echo "pushPolicy : PUT : com.MicroServicevDNS"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.MicroServicevDNS",
+ "policyType": "MicroService"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
+
+sleep 10
+
+echo "pushPolicy : PUT : com.MicroServicevCPE"
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.MicroServicevCPE",
+ "policyType": "MicroService"
+}' 'http://pdp.onap-policy:8081/pdp/api/pushPolicy'
\ No newline at end of file
while the OOM K8s version has these service split up.
*/
UPDATE fn_app SET app_rest_endpoint = 'http://sdc.api.be.simpledemo.onap.org:8080/api/v2' where app_name = 'SDC';
+UPDATE fn_app SET app_url = 'http://cli.api.simpledemo.onap.org:8080', app_type = 1 where app_name='CLI';
--- /dev/null
+TransportType=HTTPAUTH
+Latitude =50.000000
+Longitude =-100.000000
+Version =1.0
+ServiceName =dmaap-v1.dev.dmaap.dt.saat.acsi.openecomp.org/events
+Environment =TEST
+Partner = BOT_R
+routeOffer=MR1
+SubContextPath =/
+Protocol =http
+MethodType =GET
+username =admin
+password =admin
+contenttype =application/json
+authKey=fxoW4jZrO7mdLWWa:f4KxkoBtToyoEG7suMoV8KhnkwM=
+authDate=2016-02-18T13:57:37-0800
+host=dmaap.onap-message-router:3904
+topic=VCPE-DHCP-EVENT
+group=jmsgrp
+id=sdnc1
+timeout=15000
+limit=1000
+filter=
+AFT_DME2_EXCHANGE_REQUEST_HANDLERS=com.att.nsa.test.PreferredRouteRequestHandler
+AFT_DME2_EXCHANGE_REPLY_HANDLERS=com.att.nsa.test.PreferredRouteReplyHandler
+AFT_DME2_REQ_TRACE_ON=true
+AFT_ENVIRONMENT=AFTUAT
+AFT_DME2_EP_CONN_TIMEOUT=15000
+AFT_DME2_ROUNDTRIP_TIMEOUT_MS=240000
+AFT_DME2_EP_READ_TIMEOUT_MS=50000
+sessionstickinessrequired=NO
+DME2preferredRouterFilePath=/opt/onap/sdnc/data/properties/dmaap-listener.preferredRoute.txt
+sdnc.odl.user=admin
+sdnc.odl.password=admin
+sdnc.odl.url-base=https://sdnhost.onap-sdnc:8443/restconf/operations
\ No newline at end of file
--- /dev/null
+org.onap.ccsdk.sli.northbound.uebclient.asdc-address=sdc-be.onap-sdc:8443
+org.onap.ccsdk.sli.northbound.uebclient.consumer-group=sdc-OpenSource-Env1-sdnc-dockero
+org.onap.ccsdk.sli.northbound.uebclient.consumer-id=sdc-COpenSource-Env11-sdnc-dockero
+org.onap.ccsdk.sli.northbound.uebclient.environment-name=AUTO
+org.onap.ccsdk.sli.northbound.uebclient.password=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+org.onap.ccsdk.sli.northbound.uebclient.user=sdnc
+org.onap.ccsdk.sli.northbound.uebclient.sdnc-user=admin
+org.onap.ccsdk.sli.northbound.uebclient.sdnc-passwd=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+org.onap.ccsdk.sli.northbound.uebclient.asdc-api-base-url=http://sdnhost.onap-sdnc:8282/restconf/operations/
+org.onap.ccsdk.sli.northbound.uebclient.asdc-api-namespace=org:onap:ccsdk
+org.onap.ccsdk.sli.northbound.uebclient.spool.incoming=/opt/onap/sdnc/ueb-listener/spool/incoming
+org.onap.ccsdk.sli.northbound.uebclient.spool.archive=/opt/onap/sdnc/ueb-listener/spool/archive
+org.onap.ccsdk.sli.northbound.uebclient.polling-interval=30
+org.onap.ccsdk.sli.northbound.uebclient.polling-timeout=15
+org.onap.ccsdk.sli.northbound.uebclient.client-startup-timeout=900
+org.onap.ccsdk.sli.northbound.uebclient.relevant-artifact-types=YANG_XML,VF_LICENSE,TOSCA_CSAR,UCPE_LAYER_2_CONFIGURATION
+org.onap.ccsdk.sli.northbound.uebclient.activate-server-tls-auth=false
+org.onap.ccsdk.sli.northbound.uebclient.keystore-path=
+org.onap.ccsdk.sli.northbound.uebclient.keystore-password=
+org.onap.ccsdk.sli.northbound.uebclient.xslt-path-list=
+org.onap.ccsdk.sli.northbound.uebclient.artifact-map=/opt/onap/sdnc/data/properties/artifact.map
\ No newline at end of file
repository: oomk8s/config-init
#master => Beijing (major release uprev)
tag: 2.0.0-SNAPSHOT
- pullPolicy: Always
\ No newline at end of file
+ pullPolicy: Always
# assign default auth token
if [[ -z $ONAP_DEFAULT_AUTH_TOKEN ]]; then
DEFAULT_SECRET=`kubectl get secrets -n kube-system | grep default-token | awk '{ print $1}'`
- ONAP_DEFAULT_AUTH_TOKEN=`kubectl get secrets $DEFAULT_SECRET -n kube-system -o yaml | grep 'token:' | awk '{ print $2}' | base64 -d`
+ ONAP_DEFAULT_AUTH_TOKEN=`kubectl get secrets $DEFAULT_SECRET -n kube-system -o yaml | grep 'token:' | awk '{ print $2}' | base64 --decode`
fi
cmd=`echo helm install $LOCATION/$2/ --name $1-$2 --namespace $1 --set nsPrefix=$1,nodePortPrefix=$3,kubeMasterAuthToken=$ONAP_DEFAULT_AUTH_TOKEN ${HELM_VALUES_ADDITION}`
--- /dev/null
+#!/bin/bash
+
+if [ "$#" -ne 4 ]; then
+ echo "Usage: $(basename $0) <k8s-host> <policy-pdp-node-port> <policy-drools-node-port> <resource-id>"
+ exit 1
+fi
+
+K8S_HOST=$1
+POLICY_PDP_PORT=$2
+POLICY_DROOLS_PORT=$3
+RESOURCE_ID=$4
+
+echo
+echo
+echo "Removing the vFW Policy from PDP.."
+echo
+echo
+
+curl -v -X DELETE --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyComponent" : "PDP",
+ "policyName": "com.BRMSParamvFirewall",
+ "policyType": "BRMS_Param"
+}' http://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/deletePolicy
+
+sleep 20
+
+echo
+
+echo
+echo "Updating vFW Operational Policy .."
+echo
+
+curl -v -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "policyConfigType": "BRMS_PARAM",
+ "policyName": "com.BRMSParamvFirewall",
+ "policyDescription": "BRMS Param vFirewall policy",
+ "policyScope": "com",
+ "attributes": {
+ "MATCHING": {
+ "controller": "amsterdam"
+ },
+ "RULE": {
+ "templateName": "ClosedLoopControlName",
+ "closedLoopControlName": "ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a",
+ "controlLoopYaml": "controlLoop%3A%0D%0A++version%3A+2.0.0%0D%0A++controlLoopName%3A+ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a%0D%0A++trigger_policy%3A+unique-policy-id-1-modifyConfig%0D%0A++timeout%3A+1200%0D%0A++abatement%3A+false%0D%0A+%0D%0Apolicies%3A%0D%0A++-+id%3A+unique-policy-id-1-modifyConfig%0D%0A++++name%3A+modify+packet+gen+config%0D%0A++++description%3A%0D%0A++++actor%3A+APPC%0D%0A++++recipe%3A+ModifyConfig%0D%0A++++target%3A%0D%0A++++++%23+TBD+-+Cannot+be+known+until+instantiation+is+done%0D%0A++++++resourceID%3A+'${RESOURCE_ID}'%0D%0A++++++type%3A+VNF%0D%0A++++retry%3A+0%0D%0A++++timeout%3A+300%0D%0A++++success%3A+final_success%0D%0A++++failure%3A+final_failure%0D%0A++++failure_timeout%3A+final_failure_timeout%0D%0A++++failure_retries%3A+final_failure_retries%0D%0A++++failure_exception%3A+final_failure_exception%0D%0A++++failure_guard%3A+final_failure_guard"
+ }
+ }
+}' http://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/updatePolicy
+
+sleep 5
+
+echo
+echo
+echo "Pushing the vFW Policy .."
+echo
+echo
+
+curl -v --silent -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' --header 'ClientAuth: cHl0aG9uOnRlc3Q=' --header 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' --header 'Environment: TEST' -d '{
+ "pdpGroup": "default",
+ "policyName": "com.BRMSParamvFirewall",
+ "policyType": "BRMS_Param"
+}' http://${K8S_HOST}:${POLICY_PDP_PORT}/pdp/api/pushPolicy
+
+sleep 20
+
+echo
+echo
+echo "Restarting PDP-D .."
+echo
+echo
+
+POD=$(kubectl --namespace onap-policy get pods | sed 's/ .*//'| grep drools)
+kubectl --namespace onap-policy exec -it ${POD} -- bash -c "source /opt/app/policy/etc/profile.d/env.sh && policy stop && sleep 5 && policy start"
+
+sleep 20
+
+echo
+echo
+echo "PDP-D amsterdam maven coordinates .."
+echo
+echo
+
+curl -vvv --silent --user @1b3rt:31nst31n -X GET http://${K8S_HOST}:${POLICY_DROOLS_PORT}/policy/pdp/engine/controllers/amsterdam/drools | python -m json.tool
+
+
+echo
+echo
+echo "PDP-D control loop updated .."
+echo
+echo
+
+curl -v --silent --user @1b3rt:31nst31n -X GET http://${K8S_HOST}:${POLICY_DROOLS_PORT}/policy/pdp/engine/controllers/amsterdam/drools/facts/closedloop-amsterdam/org.onap.policy.controlloop.Params | python -m json.tool
- name: "drools-port"
port: 6969
nodePort: {{ .Values.nodePortPrefix }}17
+ - name: "drools-port2"
+ port: 9696
+ nodePort: {{ .Values.nodePortPrefix }}21
selector:
app: drools
type: NodePort
- /root/ready.py
args:
- --container-name
- - mariadb
- - --container-name
- - nexus
- - --container-name
- pap
- - --container-name
- - pdp
env:
- name: NAMESPACE
valueFrom:
- mariadb
- --container-name
- nexus
- - --container-name
- - pap
- - --container-name
- - pdp
- - --container-name
- - brmsgw
env:
- name: NAMESPACE
valueFrom:
image: "{{ .Values.image.readiness }}:{{ .Values.image.readinessVersion }}"
imagePullPolicy: {{ .Values.pullPolicy }}
name: drools-readiness
+ hostAliases:
+ - ip: "{{ .Values.aaiServiceClusterIp }}"
+ hostnames:
+ - "aai.api.simpledemo.openecomp.org"
containers:
- command:
- /bin/bash
- mountPath: /etc/localtime
name: localtime
readOnly: true
- - mountPath: /var/lib/mysql
- name: policy-mariadb-data
readinessProbe:
tcpSocket:
port: 3306
- name: localtime
hostPath:
path: /etc/localtime
- - name: policy-mariadb-data
- persistentVolumeClaim:
- claimName: policy-db
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
\ No newline at end of file
- /root/ready.py
args:
- --container-name
- - nexus
- - --container-name
- mariadb
env:
- name: NAMESPACE
image: "{{ .Values.image.policyPe }}:{{ .Values.image.policyPeVersion }}"
imagePullPolicy: {{ .Values.pullPolicy }}
name: pap
+ env:
+ - name: PRELOAD_POLICIES
+ value: "true"
ports:
- containerPort: 8443
- containerPort: 9091
- /root/ready.py
args:
- --container-name
- - mariadb
- - --container-name
- - nexus
- - --container-name
- pap
env:
- name: NAMESPACE
+++ /dev/null
-#{{ if not .Values.disablePolicyMariadb }}
-apiVersion: v1
-kind: PersistentVolume
-metadata:
- name: "{{ .Values.nsPrefix }}-policy-db"
- namespace: "{{ .Values.nsPrefix }}-policy"
- labels:
- name: "{{ .Values.nsPrefix }}-policy-db"
-spec:
- capacity:
- storage: 2Gi
- accessModes:
- - ReadWriteMany
- persistentVolumeReclaimPolicy: Retain
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/policy/mariadb/data/
----
-kind: PersistentVolumeClaim
-apiVersion: v1
-metadata:
- name: policy-db
- namespace: "{{ .Values.nsPrefix }}-policy"
-spec:
- accessModes:
- - ReadWriteMany
- resources:
- requests:
- storage: 2Gi
- selector:
- matchLabels:
- name: "{{ .Values.nsPrefix }}-policy-db"
-#{{ end }}
\ No newline at end of file
nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
+
+# POLICY hotfix - Note this must be temporary
+# See https://jira.onap.org/browse/POLICY-510
+aaiServiceClusterIp: 10.43.255.254
+
image:
readiness: oomk8s/readiness-check
readinessVersion: 1.0.0
+++ /dev/null
-FROM ubuntu:16.04
-
-ENV no_proxy "localhost,127.0.0.1,.cluster.local,$KUBERNETES_SERVICE_HOST"
-# Setup Corporate proxy
-ENV https_proxy ${HTTPS_PROXY}
-ENV http_proxy ${HTTP_PROXY}
-
-RUN apt-get update
-RUN apt-get install -y host dnsutils
-
-VOLUME /ubuntu-init
--- /dev/null
+#!/bin/sh
+
+_SRC_HOST=$1
+_DST_HOST=$2
+_IP=`getent hosts ${_SRC_HOST}|cut -d' ' -f1`
+if [ -z ${_IP} ]; then
+ echo "Cannot retreive IP for host mapping ${_SRC_HOST} -> ${_DST_HOST}"
+ exit 1
+fi
+_REGEX=".*[[:blank:]]${_DST_HOST}$"
+if grep -c -e "${_REGEX}" /etc/hosts > /dev/null 2>&1 ; then
+ cp /etc/hosts /tmp/hosts
+ sed -i "s/${_REGEX}/${_IP} ${_DST_HOST}/g" /tmp/hosts
+ cp /tmp/hosts /etc/hosts
+else
+ echo "${_IP} ${_DST_HOST}" >> /etc/hosts
+fi
data:
{{ (.Files.Glob "resources/vnc/init_profile/profiles.ini").AsConfig | indent 2 }}
---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: vnc-update-hosts
+ namespace: "{{ .Values.nsPrefix }}-portal"
+data:
+{{ (.Files.Glob "resources/scripts/update_hosts.sh").AsConfig | indent 2 }}
+---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
image: {{ .Values.image.readiness }}
imagePullPolicy: {{ .Values.pullPolicy }}
name: vnc-vid-readiness
- - command: ["/bin/sh","-c"]
- args: ["echo `host sdc-be.{{ .Values.nsPrefix }}-sdc | awk ''{print$4}''` sdc.api.be.simpledemo.onap.org >> /ubuntu-init/hosts; echo `host portalapps.{{ .Values.nsPrefix }}-portal | awk ''{print$4}''` portal.api.simpledemo.onap.org >> /ubuntu-init/hosts; echo `host pap.{{ .Values.nsPrefix }}-policy | awk ''{print$4}''` policy.api.simpledemo.onap.org >> /ubuntu-init/hosts; echo `host sdc-fe.{{ .Values.nsPrefix }}-sdc | awk ''{print$4}''` sdc.api.simpledemo.onap.org >> /ubuntu-init/hosts; echo `host vid-server.{{ .Values.nsPrefix }}-vid | awk ''{print$4}''` vid.api.simpledemo.onap.org >> /ubuntu-init/hosts; echo `host sparky-be.{{ .Values.nsPrefix }}-aai | awk ''{print$4}''` aai.api.simpledemo.onap.org >> /ubuntu-init/hosts"]
- image: {{ .Values.image.ubuntuInit }}
- imagePullPolicy: {{ .Values.pullPolicy }}
- name: vnc-init-hosts
- volumeMounts:
- - name: ubuntu-init
- mountPath: /ubuntu-init/
containers:
- image: {{ .Values.image.ubuntuDesktop }}
imagePullPolicy: {{ .Values.pullPolicy }}
lifecycle:
postStart:
exec:
- command: ["/bin/sh", "-c", "mkdir -p /root/.mozilla/firefox/onap.default; cp /root/.init_profile/profiles.ini /root/.mozilla/firefox/; echo 'user_pref(\"browser.tabs.remote.autostart.2\", false);' > /root/.mozilla/firefox/onap.default/prefs.js; cat /ubuntu-init/hosts >> /etc/hosts"]
+ command: ["/bin/sh", "-c", "mkdir -p /root/.mozilla/firefox/onap.default; cp /root/.init_profile/profiles.ini /root/.mozilla/firefox/; echo 'user_pref(\"browser.tabs.remote.autostart.2\", false);' > /root/.mozilla/firefox/onap.default/prefs.js; (while true; do /tmp/update_hosts.sh sdc-be.{{ .Values.nsPrefix }}-sdc sdc.api.be.simpledemo.onap.org; /tmp/update_hosts.sh portalapps.{{ .Values.nsPrefix }}-portal portal.api.simpledemo.onap.org; /tmp/update_hosts.sh pap.{{ .Values.nsPrefix }}-policy policy.api.simpledemo.onap.org; /tmp/update_hosts.sh sdc-fe.{{ .Values.nsPrefix }}-sdc sdc.api.simpledemo.onap.org; /tmp/update_hosts.sh vid-server.{{ .Values.nsPrefix }}-vid vid.api.simpledemo.onap.org; /tmp/update_hosts.sh sparky-be.{{ .Values.nsPrefix }}-aai aai.api.simpledemo.onap.org; /tmp/update_hosts.sh cli.{{ .Values.nsPrefix }}-cli cli.api.simpledemo.onap.org; sleep 10; done) > update_hosts.log 2>&1 &"]
env:
- name: VNC_PASSWORD
value: password
- mountPath: /etc/localtime
name: localtime
readOnly: true
- - mountPath: /ubuntu-init/
- name: ubuntu-init
- mountPath: /root/.init_profile/profiles.ini
name: vnc-profiles-ini
subPath: profiles.ini
+ - mountPath: /tmp/update_hosts.sh
+ name: vnc-update-hosts
+ subPath: update_hosts.sh
securityContext:
privileged: true
securityContext: {}
- name: localtime
hostPath:
path: /etc/localtime
- - name: ubuntu-init
- emptyDir: {}
- name: vnc-profiles-ini
configMap:
name: vnc-profiles-ini
+ - name: vnc-update-hosts
+ configMap:
+ name: vnc-update-hosts
+ defaultMode: 0755
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
portaldb: nexus3.onap.org:10001/onap/portal-db:v1.3.0
mariadbClient: oomk8s/mariadb-client-init:1.0.0
portalwms: nexus3.onap.org:10001/onap/portal-wms:v1.3.0
- ubuntuInit: oomk8s/ubuntu-init:1.0.0
ubuntuDesktop: dorowu/ubuntu-desktop-lxde-vnc
filebeat: docker.elastic.co/beats/filebeat:5.5.0
onapPortal:
echo " "
echo " demo.sh deleteVNF <module_name from instantiateVFW>"
echo " - Delete the module created by instantiateVFW"
+ echo " "
+ echo " demo.sh heatbridge <stack_name> <service_instance_id> <service>"
+ echo " - Run heatbridge against the stack for the given service instance and service"
}
# Set the defaults
echo "Cache file ${VARFILE} is not found"
exit
fi
+ shift
+ ;;
+ heatbridge)
+ TAG="heatbridge"
+ shift
+ if [ $# -ne 3 ];then
+ echo "Usage: demo.sh heatbridge <stack_name> <service_instance_id> <service>"
+ exit
+ fi
+ VARIABLES="$VARIABLES -v HB_STACK:$1"
+ shift
+ VARIABLES="$VARIABLES -v HB_SERVICE_INSTANCE_ID:$1"
+ shift
+ VARIABLES="$VARIABLES -v HB_SERVICE:$1"
shift
;;
*)
--- /dev/null
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*/*.log
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+
+ # The below commented properties are for time-based rolling policy. But as the log4j 1.2x does not support time-based rolling these properties are not set
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ #ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ #clean_inactive: 96h
+
+ #Multiline properties for log4j xml log events
+ multiline.pattern: '</log4j:event>'
+ multiline.negate: true
+ multiline.match: before
+ #multiline.max_lines: 500
+ #multiline.timeout: 5s
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["logstash.onap-log:5044"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
--- /dev/null
+#{{ if not .Values.disableSdncDmaap }}
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: dmaap-listener
+ namespace: "{{ .Values.nsPrefix }}-sdnc"
+spec:
+ selector:
+ matchLabels:
+ app: dmaap-listener
+ template:
+ metadata:
+ labels:
+ app: dmaap-listener
+ name: dmaap-listener
+ spec:
+ initContainers:
+ - command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - sdnc-db-container
+ - --container-name
+ - sdnc-controller-container
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ .Values.image.readiness }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: sdnc-dmaap-readiness
+ containers:
+ - command:
+ - /opt/onap/sdnc/dmaap-listener/bin/start-dmaap-listener.sh
+ env:
+ - name: PROPERTY_DIR
+ value: /opt/onap/sdnc/data/properties
+ - name: SDNC_CONFIG_DIR
+ value: /opt/onap/sdnc/data/properties
+ image: {{ .Values.image.dmaaplistener }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: dmaapp-listener-container
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/onap/sdnc/data/properties/dhcpalert.properties
+ name: dmaap-dhcapalert-config
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: dmaap-dhcapalert-config
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/dmaap/dhcpalert.properties
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
+#{{ end }}
\ No newline at end of file
--- /dev/null
+#{{ if not .Values.disableSdncSdnc }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: sdnc-conf-configmap
+ namespace: {{ .Values.nsPrefix }}-sdnc
+data:
+{{ tpl (.Files.Glob "resources/config/conf/*").AsConfig . | indent 2 }}
+#{{ end }}
--- /dev/null
+#{{ if not .Values.disableSdncSdnc }}
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: sdnc-log-configmap
+ namespace: {{ .Values.nsPrefix }}-sdnc
+data:
+{{ tpl (.Files.Glob "resources/config/log/filebeat/log4j/*").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: sdnc-logging-cfg-configmap
+ namespace: {{ .Values.nsPrefix }}-sdnc
+data:
+{{ tpl (.Files.Glob "resources/config/log/*").AsConfig . | indent 2 }}
+#{{ end }}
- mountPath: /etc/localtime
name: localtime
readOnly: true
- - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
- name: sdnc-aaiclient-properties
- mountPath: /opt/onap/sdnc/data/properties/admportal.json
- name: sdnc-admportal-json
+ name: sdnc-conf
+ subPath: admportal.json
+ - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
+ name: sdnc-conf
+ subPath: aaiclient.properties
- mountPath: /var/log/onap
name: sdnc-logs
- mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
- name: sdnc-log-config
+ name: sdnc-logging-cfg-config
+ subPath: org.ops4j.pax.logging.cfg
ports:
- containerPort: 8181
- containerPort: 8101
volumeMounts:
- mountPath: /usr/share/filebeat/filebeat.yml
name: filebeat-conf
+ subPath: filebeat.yml
- mountPath: /var/log/onap
name: sdnc-logs
- mountPath: /usr/share/filebeat/data
hostPath:
path: /etc/localtime
- name: filebeat-conf
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/filebeat/log4j/filebeat.yml
- - name: sdnc-log-config
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/sdnc/org.ops4j.pax.logging.cfg
+ configMap:
+ name: sdnc-log-configmap
+ - name: sdnc-logging-cfg-config
+ configMap:
+ name: sdnc-logging-cfg-configmap
- name: sdnc-logs
emptyDir: {}
- name: sdnc-data-filebeat
emptyDir: {}
- - name: sdnc-aaiclient-properties
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/aaiclient.properties
- - name: sdnc-admportal-json
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/admportal.json
+ - name: sdnc-conf
+ configMap:
+ name: sdnc-conf-configmap
+ items:
+ - key: admportal.json
+ path: admportal.json
+ mode: 0755
+ - key: aaiclient.properties
+ path: aaiclient.properties
+ mode: 0755
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
--- /dev/null
+#{{ if not .Values.disableSdncUeb }}
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: ueb-listener
+ namespace: "{{ .Values.nsPrefix }}-sdnc"
+spec:
+ selector:
+ matchLabels:
+ app: ueb-listener
+ template:
+ metadata:
+ labels:
+ app: ueb-listener
+ name: ueb-listener
+ spec:
+ initContainers:
+ - command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - sdnc-db-container
+ - --container-name
+ - sdnc-controller-container
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: {{ .Values.image.readiness }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: sdnc-ueb-readiness
+ containers:
+ - command:
+ - /opt/onap/sdnc/ueb-listener/bin/start-ueb-listener.sh
+ env:
+ - name: PROPERTY_DIR
+ value: /opt/onap/sdnc/data/properties
+ - name: SDNC_CONFIG_DIR
+ value: /opt/onap/sdnc/data/properties
+ image: {{ .Values.image.ueblistener }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: ueb-listener-container
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/onap/sdnc/data/properties/ueb-listener.properties
+ name: ueb-config
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: ueb-config
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/ueb/ueb-listener.properties
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
+#{{ end }}
\ No newline at end of file
- name: localtime
mountPath: /etc/localtime
readOnly: true
- - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
- name: sdnc-aaiclient-properties
- - mountPath: /opt/onap/sdnc/data/properties/admportal.json
- name: sdnc-admportal-json
+ - mountPath: /opt/onap/sdnc/data/properties/
+ name: sdnc-conf
readinessProbe:
tcpSocket:
port: 8843
- name: localtime
hostPath:
path: /etc/localtime
- - name: sdnc-aaiclient-properties
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/aaiclient.properties
- - name: sdnc-admportal-json
- hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/sdnc/conf/admportal.json
+ - name: sdnc-conf
+ configMap:
+ name: sdnc-conf-configmap
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
dgbuilderSdnc: nexus3.onap.org:10001/onap/ccsdk-dgbuilder-image:v0.1.0
sdnc: nexus3.onap.org:10001/onap/sdnc-image:v1.2.1
admportalSdnc: nexus3.onap.org:10001/onap/admportal-sdnc-image:v1.2.1
+ ueblistener: nexus3.onap.org:10001/onap/sdnc-ueb-listener-image:v1.2.1
+ dmaaplistener: nexus3.onap.org:10001/onap/sdnc-dmaap-listener-image:v1.2.1
filebeat: docker.elastic.co/beats/filebeat:5.5.0
enableODLCluster: false
numberOfODLReplicas: 1
numberOfDbReplicas: 1
disableSdncSdncDgbuilder: false
disableSdncSdncPortal: false
-
-# FIXME
-# Missing the following deps
-# nexus3.onap.org:10001/onap/sdnc-dmaap-listener-image:v1.2.1
-# nexus3.onap.org:10001/onap/sdnc-ueb-listener-image:v1.2.1