PM-Mapper Helm Installation
PM mapper is a microservice that can be installed via Helm. The chart files are hosted in OOM repository.
Example command:
helm -n onap install dev-dcaegen2-services-pm-mapper -f <custom values filename> --set global.centralizedLoggingEnabled=false dcaegen2-services/components/dcae-pm-mapper/
Dependencies
List of services which should be running prior PM-Mapper installation:
DMaaP Message Router
DMaaP Data Router
DMaaP Bus Controller post install jobs should have completed successfully (executed as part of an OOM install).
Data File Collector
Configuration
PM-Mapper uses SDK’s Config Binding Service client for initial and periodical configuration application. Consul is not needed anymore. It is used as a second choice source of configuration (if the default one is unavailable). By default, a ConfigMap is used to load, and later change the configuration in runtime.
The location of the configuration file should be set in CBS_CLIENT_CONFIG_PATH
env, for example:
CBS_CLIENT_CONFIG_PATH: /app-config-input/application_config.yaml
Example yaml file with PM-Mapper configuration:
pm-mapper-filter:
filters:
- pmDefVsn: "1.0"
nfType: "gnb"
vendor: "Nokia"
measTypes:
- attTCHSeizures
- succTCHSeizures2
- succImmediateAssignProcs8
key_store_path: "/opt/app/pm-mapper/etc/certs/cert.jks"
key_store_pass_path: "/opt/app/pm-mapper/etc/certs/jks.pass"
trust_store_path: "/opt/app/pm-mapper/etc/certs/trust.jks"
trust_store_pass_path: "/opt/app/pm-mapper/etc/certs/trust.pass"
dmaap_dr_delete_endpoint: "https://dmaap-dr-node:8443/delete"
dmaap_dr_feed_name: "1"
aaf_identity: "aaf_admin@people.osaaf.org"
aaf_password: "demo123456!"
enable_http: true,
streams_publishes:
dmaap_publisher:
type: "message_router"
dmaap_info:
topic_url: "http://message-router:3904/events/org.onap.dmaap.mr.VES_PM"
client_role: "org.onap.dcae.pmPublisher"
location: "csit-pmmapper"
client_id: "1562763644939"
streams_subscribes:
dmaap_subscriber:
type: "data_router"
dmaap_info:
username: "username"
password: "password"
location: "csit-pmmapper"
delivery_url: "http://dcae-pm-mapper:8081/delivery"
subscriber_id: 1
Configuration update
The configuration update process is very straightforward. The only step is to modify the Config Map which contains the configuration and save the change. PM-Mapper will detect the new configuration values after a while. It should be visible in PM-Mapper logs, for example:
...
2022-02-11T08:04:02.627Z main INFO org.onap.dcaegen2.services.sdk.rest.services.cbs.client.impl.CbsClientConfigMap Got successful output from ConfigMap file
2022-02-11T08:04:02.627Z main INFO org.onap.dcaegen2.services.pmmapper.config.ConfigHandler Attempt to process configuration object
2022-02-11T08:04:02.643Z main INFO org.onap.dcaegen2.services.pmmapper.config.ConfigHandler PM-mapper configuration processed successful
2022-02-11T08:04:02.643Z main INFO org.onap.dcaegen2.services.pmmapper.config.ConfigHandler Mapper configuration:\nMapperConfig{enableHttp=true, keyStorePath='/opt/app/pm-mapper/etc/certs/cert.jks', keyStorePassPath='/opt/app/pm-mapper/etc/certs/jks.pass', trustStorePath='/opt/app/pm-mapper/etc/certs/trust.jks', trustStorePassPath='/opt/app/pm-mapper/etc/certs/trust.pass', dmaapDRDeleteEndpoint='https://dmaap-dr-node:8443/delete', filterConfig=MeasFilterConfig(filters=[]), aafUsername='aaf_admin@people.osaaf.org', aafPassword= *****, subscriberConfig=SubscriberConfig{username=username, password= *****, drLocation='csit-pmmapper', deliveryUrl='http://dcae-pm-mapper:8081/delivery', subscriberId='1'}, publisherConfig=PublisherConfig(topicUrl=http://message-router:3904/events/org.onap.dmaap.mr.VES_PM, clientRole=org.onap.dcae.pmPublisher, clientId=1562763644939, clusterLocation=csit-pmmapper)}
...
This logs fragment proves that the configuration source is Config Map: Got successful output from ConfigMap file
.
It also prints the current configuration (the last log line above). PM-Mapper keeps checking the configuration file periodically (every 60s).