diff options
23 files changed, 635 insertions, 592 deletions
diff --git a/kubernetes/aai/charts/aai-hbase/.helmignore b/kubernetes/aai/charts/aai-hbase/.helmignore deleted file mode 100644 index f0c1319444..0000000000 --- a/kubernetes/aai/charts/aai-hbase/.helmignore +++ /dev/null @@ -1,21 +0,0 @@ -# Patterns to ignore when building packages. -# This supports shell glob matching, relative path matching, and -# negation (prefixed with !). Only one pattern per line. -.DS_Store -# Common VCS dirs -.git/ -.gitignore -.bzr/ -.bzrignore -.hg/ -.hgignore -.svn/ -# Common backup files -*.swp -*.bak -*.tmp -*~ -# Various IDEs -.project -.idea/ -*.tmproj diff --git a/kubernetes/aai/charts/aai-hbase/Chart.yaml b/kubernetes/aai/charts/aai-hbase/Chart.yaml deleted file mode 100644 index eaf6bbdb74..0000000000 --- a/kubernetes/aai/charts/aai-hbase/Chart.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -description: ONAP AAI hbase -name: aai-hbase -version: 2.0.0 diff --git a/kubernetes/aai/charts/aai-hbase/templates/deployment.yaml b/kubernetes/aai/charts/aai-hbase/templates/deployment.yaml deleted file mode 100644 index 5308fa0362..0000000000 --- a/kubernetes/aai/charts/aai-hbase/templates/deployment.yaml +++ /dev/null @@ -1,72 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - name: {{ include "common.fullname" . }} - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - replicas: {{ .Values.replicaCount }} - template: - metadata: - labels: - app: {{ include "common.name" . }} - release: {{ .Release.Name }} - name: {{ include "common.name" . }} - spec: - hostname: aai-hbase - containers: - - name: {{ include "common.name" . }} - image: {{ .Values.global.dockerhubRepository | default .Values.dockerhubRepository }}/{{ .Values.image }} - imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} - ports: - - containerPort: {{ .Values.service.internalPort }} - - containerPort: {{ .Values.service.internalPort2 }} - - containerPort: {{ .Values.service.internalPort3 }} - - containerPort: {{ .Values.service.internalPort4 }} - - containerPort: {{ .Values.service.internalPort5 }} - - containerPort: {{ .Values.service.internalPort6 }} - - containerPort: {{ .Values.service.internalPort7 }} - # disable liveness probe when breakpoints set in debugger - # so K8s doesn't restart unresponsive container - {{- if eq .Values.liveness.enabled true }} - livenessProbe: - tcpSocket: - port: {{ .Values.service.internalPort }} - initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} - periodSeconds: {{ .Values.liveness.periodSeconds }} - {{ end -}} - readinessProbe: - tcpSocket: - port: {{ .Values.service.internalPort }} - initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} - periodSeconds: {{ .Values.readiness.periodSeconds }} - volumeMounts: - - name: hbase-data - mountPath: /tmp - - name: localtime - mountPath: /etc/localtime - readOnly: true - resources: -{{ toYaml .Values.resources | indent 10 }} - {{- if .Values.nodeSelector }} - nodeSelector: -{{ toYaml .Values.nodeSelector | indent 8 }} - {{- end -}} - {{- if .Values.affinity }} - affinity: -{{ toYaml .Values.affinity | indent 8 }} - {{- end }} - - volumes: - - name: hbase-data - hostPath: - path: {{ .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }} - - name: localtime - hostPath: - path: /etc/localtime - imagePullSecrets: - - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/aai/charts/aai-hbase/templates/service.yaml b/kubernetes/aai/charts/aai-hbase/templates/service.yaml deleted file mode 100644 index 53c5e5f979..0000000000 --- a/kubernetes/aai/charts/aai-hbase/templates/service.yaml +++ /dev/null @@ -1,55 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: {{ include "common.servicename" . }} - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -spec: - type: {{ .Values.service.type }} - ports: - {{if eq .Values.service.type "NodePort" -}} - - port: {{ .Values.service.internalPort }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} - name: {{ .Values.service.name }} - - port: {{ .Values.service.internalPort2 }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }} - name: {{ .Values.service.name }}2 - - port: {{ .Values.service.internalPor3t }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }} - name: {{ .Values.service.name }}3 - - port: {{ .Values.service.internalPort4 }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }} - name: {{ .Values.service.name }}4 - - port: {{ .Values.service.internalPort5 }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort5 }} - name: {{ .Values.service.name }}5 - - port: {{ .Values.service.internalPort6 }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort6 }} - name: {{ .Values.service.name }}6 - - port: {{ .Values.service.internalPort7 }} - nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort7 }} - name: {{ .Values.service.name }}7 - {{- else -}} - - port: {{ .Values.service.internalPort }} - name: {{ .Values.service.name }} - - port: {{ .Values.service.internalPort2 }} - name: {{ .Values.service.name }}2 - - port: {{ .Values.service.internalPort3 }} - name: {{ .Values.service.name }}3 - - port: {{ .Values.service.internalPort4 }} - name: {{ .Values.service.name }}4 - - port: {{ .Values.service.internalPort5 }} - name: {{ .Values.service.name }}5 - - port: {{ .Values.service.internalPort6 }} - name: {{ .Values.service.name }}6 - - port: {{ .Values.service.internalPort7 }} - name: {{ .Values.service.name }}7 - {{- end}} - selector: - app: {{ include "common.name" . }} - release: {{ .Release.Name }} - clusterIP: None diff --git a/kubernetes/aai/charts/aai-hbase/values.yaml b/kubernetes/aai/charts/aai-hbase/values.yaml deleted file mode 100644 index bda1270889..0000000000 --- a/kubernetes/aai/charts/aai-hbase/values.yaml +++ /dev/null @@ -1,91 +0,0 @@ -# Default values for hbase. -# This is a YAML-formatted file. -# Declare variables to be passed into your templates. -global: # global defaults - nodePortPrefix: 302 - - -# application image -dockerhubRepository: registry.hub.docker.com -image: aaionap/hbase:1.2.0 -pullPolicy: Always - -# application configuration -config: {} - - -# default number of instances -replicaCount: 1 - -nodeSelector: {} - -affinity: {} - -# probe configuration parameters -liveness: - initialDelaySeconds: 10 - periodSeconds: 10 - # necessary to disable liveness probe when setting breakpoints - # in debugger so K8s doesn't restart unresponsive container - enabled: true - -readiness: - initialDelaySeconds: 10 - periodSeconds: 10 - -service: - type: ClusterIP - name: aai-hbase - internalPort: 2181 - internalPort2: 8080 - internalPort3: 8085 - internalPort4: 9090 - internalPort5: 16000 - internalPort6: 16010 - internalPort7: 16201 - - -ingress: - enabled: false - -persistence: - enabled: true - - ## A manually managed Persistent Volume and Claim - ## Requires persistence.enabled: true - ## If defined, PVC must be created manually before volume will be bound - # existingClaim: - volumeReclaimPolicy: Retain - - ## database data Persistent Volume Storage Class - ## If defined, storageClassName: <storageClass> - ## If set to "-", storageClassName: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClassName spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - ## storageClass: "-" - accessMode: ReadWriteMany - size: 2Gi - mountPath: /dockerdata-nfs - mountSubPath: aai/hbase - - -resources: {} - # We usually recommend not to specify default resources and to leave this as a conscious - # choice for the user. This also increases chances charts run on environments with little - # resources, such as Minikube. If you do want to specify resources, uncomment the following - # lines, adjust them as necessary, and remove the curly braces after 'resources:'. - # - # Example: - # Configure resource requests and limits - # ref: http://kubernetes.io/docs/user-guide/compute-resources/ - # Minimum memory for development is 2 CPU cores and 4GB memory - # Minimum memory for production is 4 CPU cores and 8GB memory -#resources: -# limits: -# cpu: 2 -# memory: 4Gi -# requests: -# cpu: 2 -# memory: 4Gi diff --git a/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties b/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties index 1763a8eda9..d0e322d2d8 100644 --- a/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties +++ b/kubernetes/aai/charts/aai-resources/resources/config/aaiconfig.properties @@ -81,20 +81,6 @@ aai.grooming.default.sleep.minutes=7 aai.model.proc.max.levels=50 aai.edgeTag.proc.max.levels=50 -# for transaction log -aai.logging.hbase.interceptor=true -aai.logging.hbase.enabled=true -aai.logging.hbase.logrequest=true -aai.logging.hbase.logresponse=true - -# for gremlin server -aai.server.rebind=g -hbase.table.name=aailogging.dev -hbase.table.timestamp.format=YYYYMMdd-HH:mm:ss:SSS -hbase.zookeeper.quorum=localhost -hbase.zookeeper.property.clientPort=2181 -hbase.zookeeper.znode.parent=/hbase - aai.logging.trace.enabled=true aai.logging.trace.logrequest=false aai.logging.trace.logresponse=false diff --git a/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties b/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties index 735609b424..32225553dc 100644 --- a/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties +++ b/kubernetes/aai/charts/aai-traversal/resources/config/aaiconfig.properties @@ -81,20 +81,6 @@ aai.grooming.default.sleep.minutes=7 aai.model.proc.max.levels=50 aai.edgeTag.proc.max.levels=50 -# for transaction log -aai.logging.hbase.interceptor=true -aai.logging.hbase.enabled=true -aai.logging.hbase.logrequest=true -aai.logging.hbase.logresponse=true - -# for gremlin server -aai.server.rebind=g -hbase.table.name=aailogging.dev -hbase.table.timestamp.format=YYYYMMdd-HH:mm:ss:SSS -hbase.zookeeper.quorum=localhost -hbase.zookeeper.property.clientPort=2181 -hbase.zookeeper.znode.parent=/hbase - aai.logging.trace.enabled=true aai.logging.trace.logrequest=false aai.logging.trace.logresponse=false diff --git a/kubernetes/aai/resources/config/aai-data/chef-config/dev/.knife/solo.rb b/kubernetes/aai/resources/config/aai-data/chef-config/dev/.knife/solo.rb deleted file mode 100644 index 3d903adcc5..0000000000 --- a/kubernetes/aai/resources/config/aai-data/chef-config/dev/.knife/solo.rb +++ /dev/null @@ -1,9 +0,0 @@ -current_dir = File.dirname(__FILE__) -org = ENV['CHEF_ORG'] || "aai-dev" -env = ENV['AAI_CHEF_ENV'] || "dev" -env_path = ENV['AAI_CHEF_LOC'] || "" -node_name "chef-node" -cookbook_path [ "/var/chef/aai-config/cookbooks" ] -environment_path "#{env_path}" -log_level :info -log_location STDOUT
\ No newline at end of file diff --git a/kubernetes/aai/resources/config/aai-data/environments/README.md b/kubernetes/aai/resources/config/aai-data/environments/README.md deleted file mode 100644 index 3fa254d25a..0000000000 --- a/kubernetes/aai/resources/config/aai-data/environments/README.md +++ /dev/null @@ -1,8 +0,0 @@ -Requires Chef 0.10.0+. - -This directory is for Ruby DSL and JSON files for environments. -It will contain the A&AI environment files. -For more information see "About Environments" in the Chef documentation: - -http://docs.chef.io/environments.html - diff --git a/kubernetes/aai/resources/config/aai-data/environments/simpledemo.json b/kubernetes/aai/resources/config/aai-data/environments/simpledemo.json deleted file mode 100644 index 598a3ba1c4..0000000000 --- a/kubernetes/aai/resources/config/aai-data/environments/simpledemo.json +++ /dev/null @@ -1,124 +0,0 @@ -{ - "name": "simpledemo", - "description": "Development Environment", - "cookbook_versions": { - "aai-traversal-auth" : "= 1.0.0", - "aai-traversal-config" : "= 1.0.0", - "aai-traversal-process" : "= 1.0.0", - - "aai-resources-auth" : "= 1.0.0", - "aai-resources-config" : "= 1.0.0", - "aai-resources-process" : "= 1.0.0" - }, - "json_class": "Chef::Environment", - "chef_type": "environment", - "default_attributes": { - "aai-traversal-config": { - "SERVICE_API_VERSION": "1.0.1", - "SOA_CLOUD_NAMESPACE": "org.openecomp.aai", - "AJSC_SERVICE_NAMESPACE": "traversal", - "AFTSWM_ACTION_ARTIFACT_NAME": "traversal", - "AJSC_JETTY_ThreadCount_MAX": "500", - "AJSC_JETTY_ThreadCount_MIN": "10", - "AJSC_SSL_PORT": "8446", - "AJSC_SVC_PORT": "8083", - "KEY_MANAGER_PASSWORD": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "KEY_STORE_PASSWORD": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "MAX_HEAP_SIZE": "2056m", - "MAX_PERM_SIZE": "512M", - "MIN_HEAP_SIZE": "2056m", - "PERM_SIZE": "512M", - "PRE_JVM_ARGS": "-XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark -XX:-HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps", - "AAIENV": "dev", - "PROJECT_HOME": "/opt/app/aai-traversal", - "LOGROOT": "/opt/aai/logroot", - "JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64", - "AAI_SERVER_URL_BASE": "https:/aai.{{.Release.Namespace}}:8443/aai/", - "AAI_SERVER_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/v11/", - "AAI_GLOBAL_CALLBACK_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/", - "AAI_TRUSTSTORE_FILENAME": "aai_keystore", - "AAI_TRUSTSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "AAI_KEYSTORE_FILENAME": "aai_keystore", - "AAI_KEYSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "APPLICATION_SERVERS": "aai.{{.Release.Namespace}}", - "AAI_DMAAP_PROTOCOL": "http", - "AAI_DMAAP_HOST_PORT": "message-router.{{.Release.Namespace}}:3904", - "AAI_DMAAP_TOPIC_NAME": "AAI-EVENT", - "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_STATUS": "UNPROCESSED", - "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_TYPE": "AAI-EVENT", - "AAI_NOTIFICATION_EVENT_DEFAULT_DOMAIN": "dev", - "AAI_NOTIFICATION_EVENT_DEFAULT_SOURCE_NAME": "aai", - "AAI_NOTIFICATION_EVENT_DEFAULT_SEQUENCE_NUMBER": "0", - "AAI_NOTIFICATION_EVENT_DEFAULT_SEVERITY": "NORMAL", - "AAI_NOTIFICATION_EVENT_DEFAULT_VERSION": "v11", - "AAI_NOTIFICATION_CURRENT_VERSION": "v11", - "RESOURCE_VERSION_ENABLE_FLAG": "true", - "TXN_HBASE_TABLE_NAME": "aailogging.dev", - "TXN_ZOOKEEPER_QUORUM": "aai-hbase.{{.Release.Namespace}}", - "TXN_ZOOKEEPER_PROPERTY_CLIENTPORT": "2181", - "TXN_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase", - "AAI_WORKLOAD_PREFERRED_ROUTE_KEY": "MR1", - "STORAGE_HOSTNAME": "aai-hbase.{{.Release.Namespace}}", - "STORAGE_HBASE_TABLE": "aaigraph.dev", - "STORAGE_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase", - "DB_CACHE_CLEAN_WAIT": "20", - "DB_CACHE_TIME": "180000", - "DB_CACHE_SIZE": "0.3", - "AAI_DEFAULT_API_VERSION": "v11" - }, - "aai-resources-config": { - "SERVICE_API_VERSION": "1.0.1", - "AJSC_SERVICE_NAMESPACE": "aai-resources", - "AFTSWM_ACTION_ARTIFACT_NAME": "aai-resources", - "AJSC_JETTY_ThreadCount_MAX": "500", - "AJSC_JETTY_ThreadCount_MIN": "10", - "AJSC_SSL_PORT": "8447", - "AJSC_SVC_PORT": "8087", - "KEY_MANAGER_PASSWORD": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "KEY_STORE_PASSWORD": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "MAX_HEAP_SIZE": "2056m", - "MAX_PERM_SIZE": "512M", - "MIN_HEAP_SIZE": "2056m", - "PERM_SIZE": "512M", - "PRE_JVM_ARGS": "-XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark -XX:-HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps", - "AAIENV": "dev", - "PROJECT_HOME": "/opt/app/aai-resources", - "LOGROOT": "/opt/aai/logroot", - "JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64", - "AAI_SERVER_URL_BASE": "https:/aai.{{.Release.Namespace}}:8443/aai/", - "AAI_SERVER_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/v11/", - "AAI_GLOBAL_CALLBACK_URL": "https:/aai.{{.Release.Namespace}}:8443/aai/", - "AAI_TRUSTSTORE_FILENAME": "aai_keystore", - "AAI_TRUSTSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "AAI_KEYSTORE_FILENAME": "aai_keystore", - "AAI_KEYSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "APPLICATION_SERVERS": "aai.{{.Release.Namespace}}", - "AAI_DMAAP_PROTOCOL": "http", - "AAI_DMAAP_HOST_PORT": "message-router.{{.Release.Namespace}}:3904", - "AAI_DMAAP_TOPIC_NAME": "AAI-EVENT", - "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_STATUS": "UNPROCESSED", - "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_TYPE": "AAI-EVENT", - "AAI_NOTIFICATION_EVENT_DEFAULT_DOMAIN": "dev", - "AAI_NOTIFICATION_EVENT_DEFAULT_SOURCE_NAME": "aai", - "AAI_NOTIFICATION_EVENT_DEFAULT_SEQUENCE_NUMBER": "0", - "AAI_NOTIFICATION_EVENT_DEFAULT_SEVERITY": "NORMAL", - "AAI_NOTIFICATION_EVENT_DEFAULT_VERSION": "v11", - "AAI_NOTIFICATION_CURRENT_VERSION": "v11", - "RESOURCE_VERSION_ENABLE_FLAG": "true", - "TXN_HBASE_TABLE_NAME": "aailogging.dev", - "TXN_ZOOKEEPER_QUORUM": "aai-hbase.{{.Release.Namespace}}", - "TXN_ZOOKEEPER_PROPERTY_CLIENTPORT": "2181", - "TXN_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase", - "AAI_WORKLOAD_PREFERRED_ROUTE_KEY": "MR1", - "STORAGE_HOSTNAME": "aai-hbase.{{.Release.Namespace}}", - "STORAGE_HBASE_TABLE": "aaigraph.dev", - "STORAGE_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase", - "DB_CACHE_CLEAN_WAIT": "20", - "DB_CACHE_TIME": "180000", - "DB_CACHE_SIZE": "0.3", - "AAI_DEFAULT_API_VERSION": "v11" - } - }, - "override_attributes": { - } -} diff --git a/kubernetes/aai/resources/config/aai-data/environments/solo.json b/kubernetes/aai/resources/config/aai-data/environments/solo.json deleted file mode 100644 index ac83173908..0000000000 --- a/kubernetes/aai/resources/config/aai-data/environments/solo.json +++ /dev/null @@ -1,123 +0,0 @@ -{ - "name": "local", - "description": "Development Environment", - "cookbook_versions": { - "aai-traversal-auth" : "= 1.0.0", - "aai-traversal-config" : "= 1.0.0", - "aai-traversal-process" : "= 1.0.0", - - "aai-resources-auth" : "= 1.0.0", - "aai-resources-config" : "= 1.0.0", - "aai-resources-process" : "= 1.0.0" - }, - "json_class": "Chef::Environment", - "chef_type": "environment", - "default_attributes": { - "aai-traversal-config": { - "SERVICE_API_VERSION": "1.0.1", - "AJSC_SERVICE_NAMESPACE": "traversal", - "AFTSWM_ACTION_ARTIFACT_NAME": "traversal", - "AJSC_JETTY_ThreadCount_MAX": "500", - "AJSC_JETTY_ThreadCount_MIN": "10", - "AJSC_SSL_PORT": "8446", - "AJSC_SVC_PORT": "8083", - "KEY_MANAGER_PASSWORD": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "KEY_STORE_PASSWORD": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "MAX_HEAP_SIZE": "2056m", - "MAX_PERM_SIZE": "512M", - "MIN_HEAP_SIZE": "2056m", - "PERM_SIZE": "512M", - "PRE_JVM_ARGS": "-XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark -XX:-HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps", - "AAIENV": "dev", - "PROJECT_HOME": "/opt/app/aai-traversal", - "LOGROOT": "/opt/aai/logroot", - "JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64", - "AAI_SERVER_URL_BASE": "https://localhost:8443/aai/", - "AAI_SERVER_URL": "https://localhost:8443/aai/v11/", - "AAI_GLOBAL_CALLBACK_URL": "https://localhost:8443/aai/", - "AAI_TRUSTSTORE_FILENAME": "aai_keystore", - "AAI_TRUSTSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "AAI_KEYSTORE_FILENAME": "aai_keystore", - "AAI_KEYSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "APPLICATION_SERVERS": "localhost", - "AAI_DMAAP_PROTOCOL": "http", - "AAI_DMAAP_HOST_PORT": "localhost:3904", - "AAI_DMAAP_TOPIC_NAME": "AAI-EVENT", - "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_STATUS": "UNPROCESSED", - "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_TYPE": "AAI-EVENT", - "AAI_NOTIFICATION_EVENT_DEFAULT_DOMAIN": "dev", - "AAI_NOTIFICATION_EVENT_DEFAULT_SOURCE_NAME": "aai", - "AAI_NOTIFICATION_EVENT_DEFAULT_SEQUENCE_NUMBER": "0", - "AAI_NOTIFICATION_EVENT_DEFAULT_SEVERITY": "NORMAL", - "AAI_NOTIFICATION_EVENT_DEFAULT_VERSION": "v11", - "AAI_NOTIFICATION_CURRENT_VERSION": "v11", - "RESOURCE_VERSION_ENABLE_FLAG": "true", - "TXN_HBASE_TABLE_NAME": "aailogging.dev", - "TXN_ZOOKEEPER_QUORUM": "localhost", - "TXN_ZOOKEEPER_PROPERTY_CLIENTPORT": "2181", - "TXN_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase", - "AAI_WORKLOAD_PREFERRED_ROUTE_KEY": "MR1", - "STORAGE_HOSTNAME": "localhost", - "STORAGE_HBASE_TABLE": "aaigraph.dev", - "STORAGE_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase", - "DB_CACHE_CLEAN_WAIT": "20", - "DB_CACHE_TIME": "180000", - "DB_CACHE_SIZE": "0.3", - "AAI_DEFAULT_API_VERSION": "v11" - }, - "aai-resources-config": { - "SERVICE_API_VERSION": "1.0.1", - "AJSC_SERVICE_NAMESPACE": "aai-resources", - "AFTSWM_ACTION_ARTIFACT_NAME": "aai-resources", - "AJSC_JETTY_ThreadCount_MAX": "500", - "AJSC_JETTY_ThreadCount_MIN": "10", - "AJSC_SSL_PORT": "8447", - "AJSC_SVC_PORT": "8087", - "KEY_MANAGER_PASSWORD": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "KEY_STORE_PASSWORD": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "MAX_HEAP_SIZE": "2056m", - "MAX_PERM_SIZE": "512M", - "MIN_HEAP_SIZE": "2056m", - "PERM_SIZE": "512M", - "PRE_JVM_ARGS": "-XX:+UnlockDiagnosticVMOptions -XX:+UnsyncloadClass -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark -XX:-HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps", - "AAIENV": "dev", - "PROJECT_HOME": "/opt/app/aai-resources", - "LOGROOT": "/opt/aai/logroot", - "JAVA_HOME": "/usr/lib/jvm/java-8-openjdk-amd64", - "AAI_SERVER_URL_BASE": "https://localhost:8443/aai/", - "AAI_SERVER_URL": "https://localhost:8443/aai/v11/", - "AAI_GLOBAL_CALLBACK_URL": "https://localhost:8443/aai/", - "AAI_TRUSTSTORE_FILENAME": "aai_keystore", - "AAI_TRUSTSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "AAI_KEYSTORE_FILENAME": "aai_keystore", - "AAI_KEYSTORE_PASSWD_X": "OBF:1vn21ugu1saj1v9i1v941sar1ugw1vo0", - "APPLICATION_SERVERS": "localhost", - "AAI_DMAAP_PROTOCOL": "http", - "AAI_DMAAP_HOST_PORT": "localhost:3904", - "AAI_DMAAP_TOPIC_NAME": "AAI-EVENT", - "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_STATUS": "UNPROCESSED", - "AAI_NOTIFICATION_EVENT_DEFAULT_EVENT_TYPE": "AAI-EVENT", - "AAI_NOTIFICATION_EVENT_DEFAULT_DOMAIN": "dev", - "AAI_NOTIFICATION_EVENT_DEFAULT_SOURCE_NAME": "aai", - "AAI_NOTIFICATION_EVENT_DEFAULT_SEQUENCE_NUMBER": "0", - "AAI_NOTIFICATION_EVENT_DEFAULT_SEVERITY": "NORMAL", - "AAI_NOTIFICATION_EVENT_DEFAULT_VERSION": "v11", - "AAI_NOTIFICATION_CURRENT_VERSION": "v11", - "RESOURCE_VERSION_ENABLE_FLAG": "true", - "TXN_HBASE_TABLE_NAME": "aailogging.dev", - "TXN_ZOOKEEPER_QUORUM": "localhost", - "TXN_ZOOKEEPER_PROPERTY_CLIENTPORT": "2181", - "TXN_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase", - "AAI_WORKLOAD_PREFERRED_ROUTE_KEY": "MR1", - "STORAGE_HOSTNAME": "localhost", - "STORAGE_HBASE_TABLE": "aaigraph.dev", - "STORAGE_HBASE_ZOOKEEPER_ZNODE_PARENT": "/hbase", - "DB_CACHE_CLEAN_WAIT": "20", - "DB_CACHE_TIME": "180000", - "DB_CACHE_SIZE": "0.3", - "AAI_DEFAULT_API_VERSION": "v11" - } - }, - "override_attributes": { - } -} diff --git a/kubernetes/aai/values.yaml b/kubernetes/aai/values.yaml index b07048e134..a68d2402bf 100644 --- a/kubernetes/aai/values.yaml +++ b/kubernetes/aai/values.yaml @@ -36,8 +36,6 @@ global: # global defaults serviceName: aai-champ aaiElasticsearch: serviceName: aai-elasticsearch - hbase: - serviceName: aai-hbase resources: serviceName: aai-resources sparkyBe: diff --git a/kubernetes/consul/resources/config/consul-agent-config/aai-hbase-health.json b/kubernetes/consul/resources/config/consul-agent-config/aai-hbase-health.json deleted file mode 100644 index 4260035616..0000000000 --- a/kubernetes/consul/resources/config/consul-agent-config/aai-hbase-health.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "service": { - "name": "A&AI HBase Health Check", - "checks": [ - { - "id": "hbase-aai", - "name": "HBase Health Check", - "http": "http://aai-hbase:8080/status/cluster", - "method": "GET", - "header": { - "Cache-Control": ["no-cache"], - "Content-Type": ["application/json"], - "Accept": ["application/json"] - }, - "tls_skip_verify": true, - "interval": "15s", - "timeout": "1s" - } - ] - } -} diff --git a/kubernetes/consul/resources/config/consul-agent-config/aai-tabular-backend-health.json b/kubernetes/consul/resources/config/consul-agent-config/aai-tabular-backend-health.json deleted file mode 100644 index c7fc19b2ee..0000000000 --- a/kubernetes/consul/resources/config/consul-agent-config/aai-tabular-backend-health.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "service": { - "name": "A&AI Tabular Data Store", - "checks": [ - { - "id": "tabular-backend", - "name": "Tabular Data Store Operational Test", - "script": "/consul/scripts/tabular-db-availability.sh", - "interval": "15s", - "timeout": "1s" - } - ] - } -} diff --git a/kubernetes/consul/resources/config/consul-agent-config/scripts/tabular-db-availability.sh b/kubernetes/consul/resources/config/consul-agent-config/scripts/tabular-db-availability.sh deleted file mode 100755 index f2c7c587ff..0000000000 --- a/kubernetes/consul/resources/config/consul-agent-config/scripts/tabular-db-availability.sh +++ /dev/null @@ -1,20 +0,0 @@ - -# Query the Hbase service for the cluster status. -GET_CLUSTER_STATUS_RESPONSE=$(curl -si -X GET -H "Accept: text/xml" http://aai-hbase:8080/status/cluster) - -if [ -z "$GET_CLUSTER_STATUS_RESPONSE" ]; then - echo "Tabular store is unreachable." - return 2 -fi - -# Check the resulting status JSON to see if there is a 'DeadNodes' stanza with -# entries. -DEAD_NODES=$(echo $GET_CLUSTER_STATUS_RESPONSE | grep "<DeadNodes/>") - -if [ -n "$DEAD_NODES" ]; then - echo "Tabular store is up and accessible." - return 0 -else - echo "Tabular store is up but is reporting dead nodes - cluster may be in degraded state." - return 1 -fi diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/Chart.yaml b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/Chart.yaml new file mode 100644 index 0000000000..12449e8c1f --- /dev/null +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/Chart.yaml @@ -0,0 +1,18 @@ +# Copyright © 2018 Amdocs +# +# 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. + +apiVersion: v1 +description: ONAP POMBA Network Discovery Context Builder +name: pomba-networkdiscoveryctxbuilder +version: 2.0.0 diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/requirements.yaml b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/requirements.yaml new file mode 100644 index 0000000000..37545fe2e0 --- /dev/null +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/requirements.yaml @@ -0,0 +1,18 @@ +# Copyright © 2018 Amdocs +# +# 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. + +dependencies: + - name: common + version: ~2.0.0 + repository: '@local' diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/application.properties b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/application.properties new file mode 100644 index 0000000000..c41c487879 --- /dev/null +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/application.properties @@ -0,0 +1,62 @@ +# Copyright © 2018 Amdocs +# +# 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 + +spring.jersey.type=filter +spring.mvc.urls=swagger,docs,prometheus,auditevents,info,heapdump,autoconfig,beans,loggers,dump,env,trace,health,configprops,mappings,metrics,webjars + + +server.contextPath=/network-discovery +spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration,org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration + +#This property is used to set the Tomcat connector attributes.developers can define multiple attributes separated by comma +#tomcat.connector.attributes=allowTrace-true +#The max number of active threads in this pool +server.tomcat.max-threads=200 +#The minimum number of threads always kept alive +server.tomcat.min-Spare-Threads=25 +#The number of milliseconds before an idle thread shutsdown, unless the number of active threads are less or equal to minSpareThreads +server.tomcat.max-idle-time=60000 + + +# Network Discovery Context Builder REST Service +networkDiscoveryCtxBuilder.httpProtocol={{ .Values.config.networkDiscoveryCtxBuilderHttpProtocol }} +networkDiscoveryCtxBuilder.port={{ .Values.config.networkDiscoveryCtxBuilderPort }} +# Basic Authorization credentials for Network Discovery Context Builder REST Service +networkDiscoveryCtxBuilder.userId={{ .Values.config.networkDiscoveryCtxBuilderUserId }} +networkDiscoveryCtxBuilder.password={{ .Values.config.networkDiscoveryCtxBuilderPassword }} +networkDiscoveryCtxBuilder.resourceList={{ .Values.config.networkDiscoveryCtxBuilderResourceList }} + +# Service Decomposition REST Client Configuration +serviceDecomposition.httpProtocol={{ .Values.config.serviceDecompositionHttpProtocol }} +serviceDecomposition.host={{ .Values.config.serviceDecompositionServiceName }}.{{.Release.Namespace}} +serviceDecomposition.port={{ .Values.config.serviceDecompositionPort }} +serviceDecomposition.serviceInstancePath={{ .Values.config.serviceDecompositionInstancePath }} +#Basic Authorization Client credentials for Service Decomposition REST service +serviceDecomposition.userId={{ .Values.config.serviceDecompositionUserId }} +serviceDecomposition.password={{ .Values.config.serviceDecompositionPassword }} + +# Network Discovery Micro Service REST Client Configuration + +networkDiscoveryMicroService.host={{ .Values.config.networkDiscoveryServiceName }}.{{.Release.Namespace}} +networkDiscoveryMicroService.port={{ .Values.config.networkDiscoveryPort }} +networkDiscoveryMicroService.httpProtocol={{ .Values.config.networkDiscoveryHttpProtocol }} +networkDiscoveryMicroService.networkDiscoveryPath={{ .Values.config.networkDiscoveryPath }} +# Wait for Network Discovery MicroService response in milliseconds +networkDiscoveryMicroService.responseTimeOutInMilliseconds = {{ .Values.config.networkDiscoveryTimeOutInMilliseconds }} +# Basic Authorization credentials for Network Discovery Micro Service Rest Service +networkDiscoveryMicroService.userId={{ .Values.config.networkDiscoveryUserId }} +networkDiscoveryMicroService.password={{ .Values.config.networkDiscoveryPassword }} + +#Servlet context parameters +server.context_parameters.p-name=value diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/logback.xml b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/logback.xml new file mode 100644 index 0000000000..b33093054a --- /dev/null +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/resources/config/logback.xml @@ -0,0 +1,236 @@ +<configuration scan="true" scanPeriod="10 seconds" debug="false"> + <jmxConfigurator /> + <property resource="application.properties" /> + <property name="logDirectory" value="/var/log/onap/pomba-networkdiscoveryctxbuilder" /> + <!-- Example evaluator filter applied against console appender --> + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <!-- filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> + <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter --> + <!-- deny all events with a level below INFO, that is TRACE and DEBUG --> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>INFO</level> + </filter> + <encoder> + <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n + </pattern> + </encoder> + </appender> + + <appender name="ERROR" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + <level>INFO</level> + </filter> + <file>${logDirectory}/error.log</file> + <append>true</append> + <encoder> + <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX", UTC}|%X{RequestId}|%.20thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%.-5level|%X{ErrorCode}|%X{ErrorDescription}|%msg%n</pattern> + </encoder> + <rollingPolicy + class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <maxIndex>10</maxIndex> + <FileNamePattern>${logDirectory}/error.%i.log.zip + </FileNamePattern> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>10MB</maxFileSize> + </triggeringPolicy> + </appender> + + <appender name="DEBUG" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/debug.log</file> + <append>true</append> + <encoder> + <pattern>%date{"yyyy-MM-dd'T'HH:mm:ss,SSSXXX",UTC}|%X{RequestId}|%.20thread|%.-5level|%logger{36}|%msg%n</pattern> + </encoder> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${logDirectory}/debug.%d{yyyy-MM-dd}.%i.log.zip</fileNamePattern> + <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> + <maxFileSize>10MB</maxFileSize> + </timeBasedFileNamingAndTriggeringPolicy> + <maxHistory>5</maxHistory> + </rollingPolicy> + </appender> + + <appender name="AUDIT" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/audit.log</file> + <append>true</append> + <encoder> + <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n + </pattern> + </encoder> + <rollingPolicy + class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <maxIndex>10</maxIndex> + <FileNamePattern>${logDirectory}/audit.%i.log.zip + </FileNamePattern> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>10MB</maxFileSize> + </triggeringPolicy> + </appender> + <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="AUDIT" /> + </appender> + + <appender name="METRIC" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/metric.log</file> + <append>true</append> + <encoder> + <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVirtualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| + %msg%n</pattern> + </encoder> + <rollingPolicy + class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <maxIndex>10</maxIndex> + <FileNamePattern>${logDirectory}/metric.%i.log.zip + </FileNamePattern> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>10MB</maxFileSize> + </triggeringPolicy> + </appender> + <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="METRIC" /> + </appender> + + <!-- SECURITY related loggers --> + <appender name="SECURITY" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${logDirectory}/security.log</file> + <append>true</append> + <encoder> + <pattern>%X{BeginTimestamp}|%X{EndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%.20thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}|%msg%n + </pattern> + </encoder> + <rollingPolicy + class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <maxIndex>10</maxIndex> + <FileNamePattern>${logDirectory}/security.%i.log.zip + </FileNamePattern> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>10MB</maxFileSize> + </triggeringPolicy> + </appender> + <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender"> + <queueSize>256</queueSize> + <appender-ref ref="SECURITY" /> + </appender> + + <!-- CLDS related loggers --> + <logger name="org.onap.pomba.clds" level="INFO" additivity="true"> + <appender-ref ref="ERROR" /> + </logger> + + <!-- CLDS related loggers --> + <logger name="com.att.eelf.error" level="OFF" additivity="true"> + <appender-ref ref="ERROR" /> + </logger> + <!-- EELF related loggers --> + <logger name="com.att.eelf.audit" level="INFO" additivity="false"> + <appender-ref ref="asyncEELFAudit" /> + </logger> + <logger name="com.att.eelf.metrics" level="DEBUG" additivity="false"> + <appender-ref ref="asyncEELFMetrics" /> + </logger> + <logger name="com.att.eelf.security" level="DEBUG" additivity="false"> + <appender-ref ref="asyncEELFSecurity" /> + </logger> + + + <!-- Spring related loggers --> + <logger name="org.springframework" level="WARN" /> + <logger name="org.springframework.beans" level="WARN" /> + <logger name="org.springframework.web" level="WARN" /> + <logger name="com.blog.spring.jms" level="WARN" /> + + <!-- Other Loggers that may help troubleshoot --> + <logger name="net.sf" level="WARN" /> + <logger name="org.apache.commons.httpclient" level="WARN" /> + <logger name="org.apache.commons" level="WARN" /> + <logger name="org.apache.coyote" level="WARN" /> + <logger name="org.apache.jasper" level="WARN" /> + + <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging. + May aid in troubleshooting) --> + <logger name="org.apache.camel" level="WARN" /> + <logger name="org.apache.cxf" level="WARN" /> + <logger name="org.apache.camel.processor.interceptor" level="WARN" /> + <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" /> + <logger name="org.apache.cxf.service" level="WARN" /> + <logger name="org.restlet" level="DEBUG" /> + <logger name="org.apache.camel.component.restlet" level="DEBUG" /> + + <!-- logback internals logging --> + <logger name="ch.qos.logback.classic" level="INFO" /> + <logger name="ch.qos.logback.core" level="INFO" /> + + <!-- logback jms appenders & loggers definition starts here --> + <!-- logback jms appenders & loggers definition starts here --> + <appender name="auditLogs" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + </filter> + <file>${logDirectory}/Audit.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/Audit.%i.log.zip + </fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> + </encoder> + </appender> + <appender name="perfLogs" + class="ch.qos.logback.core.rolling.RollingFileAppender"> + <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> + </filter> + <file>${logDirectory}/Perform.log</file> + <rollingPolicy + class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> + <fileNamePattern>${logDirectory}/Perform.%i.log.zip + </fileNamePattern> + <minIndex>1</minIndex> + <maxIndex>9</maxIndex> + </rollingPolicy> + <triggeringPolicy + class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> + <maxFileSize>5MB</maxFileSize> + </triggeringPolicy> + <encoder> + <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern> + </encoder> + </appender> + <logger name="AuditRecord" level="INFO" additivity="FALSE"> + <appender-ref ref="auditLogs" /> + </logger> + <logger name="AuditRecord_DirectCall" level="INFO" additivity="FALSE"> + <appender-ref ref="auditLogs" /> + </logger> + <logger name="PerfTrackerRecord" level="INFO" additivity="FALSE"> + <appender-ref ref="perfLogs" /> + </logger> + <!-- logback jms appenders & loggers definition ends here --> + + <root level="WARN"> + <appender-ref ref="DEBUG" /> + <appender-ref ref="STDOUT" /> + </root> + +</configuration> diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/templates/configmap.yaml b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/templates/configmap.yaml new file mode 100644 index 0000000000..7c47fea02c --- /dev/null +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/templates/configmap.yaml @@ -0,0 +1,30 @@ +# Copyright © 2018 Amdocs +# +# 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. +# + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-log + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/logback.xml").AsConfig . | indent 2 }} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.fullname" . }}-configmap + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/config/application.properties").AsConfig . | indent 2 }} diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/templates/deployment.yaml b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/templates/deployment.yaml new file mode 100644 index 0000000000..2b53154e57 --- /dev/null +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/templates/deployment.yaml @@ -0,0 +1,112 @@ +# Copyright © 2018 Amdocs +# +# 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. + +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: {{ include "common.fullname" . }} + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + replicas: {{ .Values.replicaCount }} + template: + metadata: + labels: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + spec: + containers: + - name: {{ include "common.name" . }} + image: "{{ include "common.repository" . }}/{{ .Values.image }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + ports: + - containerPort: {{ .Values.service.internalPort }} + # disable liveness probe when breakpoints set in debugger + # so K8s doesn't restart unresponsive container + {{ if .Values.liveness.enabled }} + livenessProbe: + tcpSocket: + port: {{ .Values.service.internalPort }} + initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} + periodSeconds: {{ .Values.liveness.periodSeconds }} + {{ end }} + readinessProbe: + tcpSocket: + port: {{ .Values.service.internalPort }} + initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} + periodSeconds: {{ .Values.readiness.periodSeconds }} + env: + volumeMounts: + - mountPath: /etc/localtime + name: localtime + readOnly: true + - name: {{ include "common.fullname" . }}-logs + mountPath: /var/log/onap + - mountPath: /opt/app/config/logback.xml + name: {{ include "common.fullname" . }}-log-conf + subPath: logback.xml + - mountPath: /opt/app/config/application.properties + name: {{ include "common.fullname" . }}-config + readOnly: true + subPath: application.properties + + resources: +{{ toYaml .Values.resources | indent 12 }} + {{- if .Values.nodeSelector }} + nodeSelector: +{{ toYaml .Values.nodeSelector | indent 10 }} + {{- end -}} + {{- if .Values.affinity }} + affinity: +{{ toYaml .Values.affinity | indent 10 }} + {{- end }} + + # Filebeat sidecar container + - name: {{ include "common.name" . }}-filebeat-onap + image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + volumeMounts: + - name: {{ include "common.fullname" . }}-filebeat-conf + mountPath: /usr/share/filebeat/filebeat.yml + subPath: filebeat.yml + - name: {{ include "common.fullname" . }}-data-filebeat + mountPath: /usr/share/filebeat/data + - name: {{ include "common.fullname" . }}-logs + mountPath: /var/log/onap + + volumes: + - name: localtime + hostPath: + path: /etc/localtime + - name: {{ include "common.fullname" . }}-config + configMap: + name: {{ include "common.fullname" . }}-configmap + - name: {{ include "common.fullname" . }}-log-conf + configMap: + name: {{ include "common.fullname" . }}-log + - name: {{ include "common.fullname" . }}-filebeat-conf + configMap: + name: {{ .Release.Name }}-pomba-filebeat-configmap + - name: {{ include "common.fullname" . }}-data-filebeat + emptyDir: {} + - name: {{ include "common.fullname" . }}-logs + emptyDir: {} + + + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/templates/service.yaml b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/templates/service.yaml new file mode 100644 index 0000000000..defd063d2f --- /dev/null +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/templates/service.yaml @@ -0,0 +1,41 @@ +# Copyright © 2018 Amdocs +# +# 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. + +apiVersion: v1 +kind: Service +metadata: + name: {{ include "common.servicename" . }} + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + type: {{ .Values.service.type }} + ports: + {{if eq .Values.service.type "NodePort" -}} + - port: {{ .Values.service.externalPort }} + #Example internal target port if required + #targetPort: {{ .Values.service.internalPort }} + nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }} + name: {{ .Values.service.portName | default "http" }} + {{- else -}} + - port: {{ .Values.service.externalPort }} + targetPort: {{ .Values.service.internalPort }} + name: {{ .Values.service.portName | default "http" }} + {{- end}} + selector: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} diff --git a/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml new file mode 100644 index 0000000000..2b9d290502 --- /dev/null +++ b/kubernetes/pomba/charts/pomba-networkdiscoveryctxbuilder/values.yaml @@ -0,0 +1,118 @@ +# Copyright © 2018 Amdocs +# +# 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. + +################################################################# +# Global configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + repository: nexus3.onap.org:10001 + +################################################################# +# Application configuration defaults. +################################################################# +# application image +repository: nexus3.onap.org:10001 +image: onap/pomba-network-discovery-context-builder:latest +pullPolicy: Always + +# flag to enable debugging - application support required +debugEnabled: false + +# application configuration +# Example: +config: + # Network Discovery Context Builder REST Service + networkDiscoveryCtxBuilderHttpProtocol: http + networkDiscoveryCtxBuilderPort: 8080 + networkDiscoveryCtxBuilderUserId: admin + networkDiscoveryCtxBuilderPassword: OBF:1u2a1toa1w8v1tok1u30 + networkDiscoveryCtxBuilderResourceList: vnfcs,vservers,l3-networks + + # Service Decomposition REST Client Configuration + serviceDecompositionHttpProtocol: http + serviceDecompositionServiceName: pomba-servicedecomposition + serviceDecompositionPort: 8080 + serviceDecompositionInstancePath: /service-decomposition/service/context + #Basic Authorization Client credentials for Service Decomposition REST service + serviceDecompositionUserId: admin + serviceDecompositionPassword: OBF:1u2a1toa1w8v1tok1u30 + + # Network Discovery Micro Service REST Client Configuration + networkDiscoveryServiceName: pomba-networkdiscovery + networkDiscoveryPort: 8080 + networkDiscoveryHttpProtocol: http + networkDiscoveryPath: /network-discovery/v1/network/resource + # Wait for Network Discovery MicroService response in milliseconds + networkDiscoveryTimeOutInMilliseconds: 60000 + # Basic Authorization credentials for Network Discovery Micro Service Rest Service + networkDiscoveryUserId: admin + networkDiscoveryPassword: OBF:1u2a1toa1w8v1tok1u30 + +# default number of instances +replicaCount: 1 + +nodeSelector: {} + +affinity: {} + +# probe configuration parameters +liveness: + initialDelaySeconds: 10 + periodSeconds: 10 + # necessary to disable liveness probe when setting breakpoints + # in debugger so K8s doesn't restart unresponsive container + enabled: true + +readiness: + initialDelaySeconds: 10 + periodSeconds: 10 + +#Example service definition with external, internal and node ports. +service: + # The default service name (exposed in the service.yaml) will be the same + # name as the chart. If the service name needs to be overriden (such as + # when a subchart is shared), uncomment the value below. + #name: <service-name-override> + + #Services may use any combination of ports depending on the 'type' of + #service being defined. + type: ClusterIP + externalPort: 9530 + internalPort: 8080 +# nodePort: <replace with unused node port suffix eg. 23> + # optional port name override - default can be defined in service.yaml + #portName: http + +ingress: + enabled: false + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # + # Example: + # Configure resource requests and limits + # ref: http://kubernetes.io/docs/user-guide/compute-resources/ + # Minimum memory for development is 2 CPU cores and 4GB memory + # Minimum memory for production is 4 CPU cores and 8GB memory +#resources: +# limits: +# cpu: 2 +# memory: 4Gi +# requests: +# cpu: 2 +# memory: 4Gi |