update link to upper-constraints.txt
[dcaegen2.git] / docs / sections / services / prh / installation.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4
5 Docker Installation
6 ===================
7
8 The following docker-compose-yaml file shows a default configuration. The file can be run using `docker compose up` command:
9
10 .. code-block:: yaml
11
12   version: '3'
13   services:
14     prh:
15       image: nexus3.onap.org:10003/onap/org.onap.dcaegen2.services.prh.prh-app-server
16       command: >
17         --dmaap.dmaapConsumerConfiguration.dmaapHostName=10.42.111.36
18         --dmaap.dmaapConsumerConfiguration.dmaapPortNumber=8904
19         --dmaap.dmaapConsumerConfiguration.dmaapTopicName=/events/unauthenticated.SEC_OTHER_OUTPUT
20         --dmaap.dmaapConsumerConfiguration.dmaapProtocol=http
21         --dmaap.dmaapConsumerConfiguration.dmaapUserName=admin
22         --dmaap.dmaapConsumerConfiguration.dmaapUserPassword=admin
23         --dmaap.dmaapConsumerConfiguration.dmaapContentType=application/json
24         --dmaap.dmaapConsumerConfiguration.consumerId=c12
25         --dmaap.dmaapConsumerConfiguration.consumerGroup=OpenDCAE-c12
26         --dmaap.dmaapConsumerConfiguration.timeoutMS=-1
27         --dmaap.dmaapConsumerConfiguration.message-limit=-1
28         --dmaap.dmaapProducerConfiguration.dmaapHostName=10.42.111.36
29         --dmaap.dmaapProducerConfiguration.dmaapPortNumber=8904
30         --dmaap.dmaapProducerConfiguration.dmaapTopicName=/events/unauthenticated.PNF_READY
31         --dmaap.dmaapProducerConfiguration.dmaapProtocol=http
32         --dmaap.dmaapProducerConfiguration.dmaapUserName=admin
33         --dmaap.dmaapProducerConfiguration.dmaapUserPassword=admin
34         --dmaap.dmaapProducerConfiguration.dmaapContentType=application/json
35         --aai.aaiClientConfiguration.aaiHostPortNumber=30233
36         --aai.aaiClientConfiguration.aaiHost=10.42.111.45
37         --aai.aaiClientConfiguration.aaiProtocol=https
38         --aai.aaiClientConfiguration.aaiUserName=admin
39         --aai.aaiClientConfiguration.aaiUserPassword=admin
40         --aai.aaiClientConfiguration.aaiIgnoreSSLCertificateErrors=true
41         --aai.aaiClientConfiguration.aaiBasePath=/aai/v11
42         --aai.aaiClientConfiguration.aaiPnfPath=/network/pnfs/pnf
43         --security.enableAaiCertAuth=false
44         --security.enableDmaapCertAuth=false
45         --security.keyStorePath=/opt/app/prh/etc/cert/cert.jks
46         --security.keyStorePasswordPath=/opt/app/prh/etc/cert/jks.pass
47         --security.trustStorePath=/opt/app/prh/etc/cert/trust.jks
48         --security.trustStorePasswordPath=/opt/app/prh/etc/cert/trust.pass
49       entrypoint:
50         - java
51         - -Dspring.profiles.active=dev
52         - -jar
53         - /opt/prh-app-server.jar
54       ports:
55         - "8100:8100"
56         - "8433:8433"
57       restart: always
58
59
60 Running with dev-mode of PRH
61 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
62
63 Heartbeat: http://<container_address>:8100/heartbeat or https://<container_address>:8443/heartbeat
64
65 Start prh: http://<container_address>:8100/start or https://<container_address>:8433/start
66
67 Stop prh: http://<container_address>:8100/stopPrh or https://<container_address>:8433/stopPrh
68
69
70
71 Helm Installation
72 =================
73
74 The PRH microservice can be deployed using helm charts in the oom repository.
75
76
77 Deployment steps
78 ================
79
80 - Default app config values can be updated in oom/kubernetes/dcaegen2-services/components/dcae-prh/values.yaml.
81
82 - Make the chart and deploy using the following command:
83
84   .. code-block:: bash
85
86     cd oom/kubernetes/
87     make dcaegen2-services
88     helm install dev-dcaegen2-services dcaegen2-services --namespace <namespace> --set global.masterPassword=<password>
89
90 - To deploy only PRH:
91
92   .. code-block:: bash
93
94     helm install dev-dcae-prh dcaegen2-services/components/dcae-prh --namespace <namespace> --set global.masterPassword=<password>
95
96 - To Uninstall
97
98   .. code-block:: bash
99
100     helm uninstall dev-dcae-prh
101
102 Application Configurations
103 ==========================
104
105 Supported configuration modifiable in HELM charts under **applicationConfig** section.
106
107 .. code-block:: yaml
108
109         applicationConfig:
110           dmaap.dmaapConsumerConfiguration.dmaapContentType: "application/json"
111           dmaap.dmaapConsumerConfiguration.consumerId: "c12"
112           dmaap.dmaapConsumerConfiguration.consumerGroup: "OpenDCAE-c12"
113           dmaap.dmaapConsumerConfiguration.timeoutMs: -1
114           dmaap.dmaapProducerConfiguration.dmaapContentType: "application/json"
115           dmaap.dmaapUpdateProducerConfiguration.dmaapContentType: "application/json"
116           aai.aaiClientConfiguration.pnfUrl: http://aai-internal.onap.svc.cluster.local:80/aai/v23/network/pnfs/pnf
117           aai.aaiClientConfiguration.baseUrl: http://aai-internal.onap.svc.cluster.local:80/aai/v23
118           aai.aaiClientConfiguration.aaiHost: aai-internal.onap.svc.cluster.local
119           aai.aaiClientConfiguration.aaiHostPortNumber: 80
120           aai.aaiClientConfiguration.aaiProtocol: "http"
121           aai.aaiClientConfiguration.aaiUserName: ${AAI_USER}
122           aai.aaiClientConfiguration.aaiUserPassword: ${AAI_PASSWORD}
123           aai.aaiClientConfiguration.aaiIgnoreSslCertificateErrors: true
124           aai.aaiClientConfiguration.aaiBasePath: "/aai/v23"
125           aai.aaiClientConfiguration.aaiPnfPath: "/network/pnfs/pnf"
126           aai.aaiClientConfiguration.aaiServiceInstancePath: "/business/customers/customer/{{customer}}/service-subscriptions/service-subscription/{{serviceType}}/service-instances/service-instance/{{serviceInstanceId}}"
127           aai.aaiClientConfiguration.aaiHeaders:
128               X-FromAppId: "prh"
129               X-TransactionId: "9999"
130               Accept: "application/json"
131               Real-Time: "true"
132               Authorization: ${AUTH_HDR}
133           security.trustStorePath: "/opt/app/prh/etc/cert/trust.jks"
134           security.trustStorePasswordPath: "/opt/app/prh/etc/cert/trust.pass"
135           security.keyStorePath: "/opt/app/prh/etc/cert/cert.jks"
136           security.keyStorePasswordPath: "/opt/app/prh/etc/cert/jks.pass"
137           security.enableAaiCertAuth: false
138           security.enableDmaapCertAuth: false
139           streams_publishes:
140               pnf-update:
141                 type: "message_router"
142                 dmaap_info:
143                   topic_url: http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_UPDATE
144               pnf-ready:
145                 type: "message_router"
146                 dmaap_info:
147                   topic_url: http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.PNF_READY
148           streams_subscribes:
149               ves-reg-output:
150                 type: "message_router"
151                 dmaap_info:
152                   topic_url: http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT
153
154 The location of the configuration file should be set in ``CBS_CLIENT_CONFIG_PATH`` env, for example:
155
156     ``CBS_CLIENT_CONFIG_PATH: /app-config-input/application_config.yaml``
157
158
159 For PRH 1.9.0 version (London) , a new mode has been introduced which allows early PNF registrations. This mode uses a direct Kafka consumer and not the DMAAP consumer. This mode is not the default mode and has to be activated by setting certain environment variables in the Helm chart values.yaml file under **applicationEnv**, as shown below:
160
161 .. code-block:: yaml
162
163
164         - name: kafkaBoostrapServerConfig
165           value: onap-strimzi-kafka-bootstrap:9092
166         - name: groupIdConfig
167           value: OpenDCAE-c12
168         - name: kafkaUsername
169           value: strimzi-kafka-admin
170         - name: kafkaPassword
171           valueFrom:
172             secretKeyRef:
173               key: password
174               name: strimzi-kafka-admin
175         - name: kafkaTopic
176           value: unauthenticated.VES_PNFREG_OUTPUT
177         - name: SPRING_PROFILES_ACTIVE
178           value: autoCommitDisabled
179         - name: JAAS_CONFIG
180           valueFrom:
181             secretKeyRef:
182               key: sasl.jaas.config
183               name: strimzi-kafka-admin