blob: bb60fa2899bf517703cad50bb1c413c652e1c984 [file] [log] [blame]
Chengkai Yan7f278e32018-11-06 16:32:03 +01001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
maximesson26d51b62019-07-23 09:40:54 +00004=============================
elinuxhenrik9297dd92019-07-01 08:42:50 +00005Configuration and Performance
6=============================
Chengkai Yan7f278e32018-11-06 16:32:03 +01007
maximesson26d51b62019-07-23 09:40:54 +00008Configuration
9^^^^^^^^^^^^^
10By default, DFC handles the "PM_MEAS_FILES" change identifier and publishes these files on the "bulk_pm_feed" feed.
11But it can also be configured to handle other change identifiers and publish them to other feeds, see picture below.
Chengkai Yan7f278e32018-11-06 16:32:03 +010012
maximesson26d51b62019-07-23 09:40:54 +000013.. image:: ../../images/DFC_config.png
Chengkai Yan7f278e32018-11-06 16:32:03 +010014
maximesson26d51b62019-07-23 09:40:54 +000015The configuration of DFC is controlled via a blueprint.
Chengkai Yan7f278e32018-11-06 16:32:03 +010016
maximesson26d51b62019-07-23 09:40:54 +000017Blueprint Configuration Explained
18"""""""""""""""""""""""""""""""""
Chengkai Yan7f278e32018-11-06 16:32:03 +010019
maximesson26d51b62019-07-23 09:40:54 +000020For the communication with the Message Router, the user must provide the **host name**, **port**, and **protocol** of the DMaaP Message router.
Chengkai Yan7f278e32018-11-06 16:32:03 +010021
maximesson26d51b62019-07-23 09:40:54 +000022.. code-block:: yaml
23 :emphasize-lines: 2,6,10
Chengkai Yan7f278e32018-11-06 16:32:03 +010024
maximesson26d51b62019-07-23 09:40:54 +000025 inputs:
26 dmaap_mr_host:
27 type: string
28 description: dmaap messagerouter host
29 default: message-router.onap.svc.cluster.local
30 dmaap_mr_port:
31 type: integer
32 description: dmaap messagerouter port
33 default: 3904
34 dmaap_mr_protocol:
35 type: string
36 description: dmaap messagerouter protocol
37 default: "http"
Chengkai Yan7f278e32018-11-06 16:32:03 +010038
maximesson26d51b62019-07-23 09:40:54 +000039The user can also specify which version of DFC to use.
Chengkai Yan7f278e32018-11-06 16:32:03 +010040
maximesson26d51b62019-07-23 09:40:54 +000041.. code-block:: yaml
42 :emphasize-lines: 2
Chengkai Yan7f278e32018-11-06 16:32:03 +010043
maximesson26d51b62019-07-23 09:40:54 +000044 inputs:
45 tag_version:
46 type: string
47 description: DFC image tag/version
48 default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.2.0"
Chengkai Yan7f278e32018-11-06 16:32:03 +010049
maximesson26d51b62019-07-23 09:40:54 +000050The user can also enable secure communication with the DMaaP Message Router.
Chengkai Yan7f278e32018-11-06 16:32:03 +010051
maximesson26d51b62019-07-23 09:40:54 +000052.. code-block:: yaml
53 :emphasize-lines: 2
maximessonc762eb12019-04-04 14:43:43 +000054
maximesson26d51b62019-07-23 09:40:54 +000055 inputs:
56 secureEnableCert:
57 type: boolean
58 description: enable certificate based connection with DMaap
59 default: false
maximessonc762eb12019-04-04 14:43:43 +000060
maximesson26d51b62019-07-23 09:40:54 +000061DFC can handle multiple change identifiers. This will require to create manually a new block for each change identifier.
maximessonc762eb12019-04-04 14:43:43 +000062
maximesson26d51b62019-07-23 09:40:54 +000063.. code-block:: yaml
64 :emphasize-lines: 2
65
66 streams_publishes:
67 dfcFeed00ChangeIdentifier:
68 dmaap_info: <<bulk_pm_feed>>
69 type: data_router
maximessonc762eb12019-04-04 14:43:43 +000070
maximesson26d51b62019-07-23 09:40:54 +000071For each feed related to a change identifier the user must provide the **feed name**, and **feed description**.
Chengkai Yan7f278e32018-11-06 16:32:03 +010072
maximesson26d51b62019-07-23 09:40:54 +000073.. code-block:: yaml
74 :emphasize-lines: 2,6
Chengkai Yan7f278e32018-11-06 16:32:03 +010075
maximesson26d51b62019-07-23 09:40:54 +000076 inputs:
77 dfcFeed00Name:
78 type: string
79 description: The name of the feed the files will be published to. Should be used by the subscriber.
80 default: "bulk_pm_feed"
81 dfcFeed00Description:
82 type: string
83 description: A description of the feed the files will be published to.
84 default: "Feed for Bulk PM files"
Chengkai Yan7f278e32018-11-06 16:32:03 +010085
maximesson26d51b62019-07-23 09:40:54 +000086**Note!** The feed name provided should be used by the subscriber/s to set up the subscription to the feed.
Chengkai Yan7f278e32018-11-06 16:32:03 +010087
maximesson26d51b62019-07-23 09:40:54 +000088To dynamically create the feeds, DFC uses the DCAE DMaaP plugin. This means that for each feed the user must also add an
89item under the "**node_templates**" section of the blueprint. The feed is identified within the blueprint with a feed identifier, "**dfcFeed00**" in the example.
Chengkai Yan7f278e32018-11-06 16:32:03 +010090
maximesson26d51b62019-07-23 09:40:54 +000091.. code-block:: yaml
92 :emphasize-lines: 2
93
94 node_templates:
95 dfcFeed00:
96 type: ccsdk.nodes.Feed
97 properties:
98 feed_name: { get_input: dfcFeed00Name }
99 feed_description: { get_input: dfcFeed00Description }
100
101To configure DFC micro service itself, the user must also add the change identifier and the feed identifier to the "**application_config**" section
102under the tag "**dmaap.dmaapProducerConfiguration**" in the blueprint. **Note!** The identifier should be surrounded by **<<>>** for the feed's configuration to be bound to the DFC configuration in CBS.
103
104.. code-block:: yaml
105 :emphasize-lines: 4
106
107 application_config:
108 dmaap.dmaapProducerConfiguration:
109 - changeIdentifier: {get_input: dfcFeed00ChangeIdentifier}
110 feedInfo: <<dfcFeed00>>
111
112And, lastly, to set up the publication to the feed, the feed identifier must be added to the "**streams_publishes**" section
113of the blueprint.
114
115.. code-block:: yaml
116 :emphasize-lines: 2
117
118 streams_publishes:
119 - name: dfcFeed00
120 type: data_router
121 location: "loc00"
122
123Sample blueprint configuration
124""""""""""""""""""""""""""""""
125
126The format of the blueprint configuration that drives all behavior of DFC is probably best described using an example.
127The blueprint below configures DFC to handle the two feeds shown in the picture above.
128
129.. code-block:: yaml
130
131 inputs:
132 dmaap_mr_host:
133 type: string
134 description: dmaap messagerouter host
135 default: message-router.onap.svc.cluster.local
136 dmaap_mr_port:
137 type: integer
138 description: dmaap messagerouter port
139 default: 3904
140 dmaap_mr_protocol:
141 type: string
142 description: dmaap messagerouter protocol
143 default: "http"
144 tag_version:
145 type: string
146 description: DFC image tag/version
147 default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.2.0"
148 replicas:
149 type: integer
150 description: number of instances
151 default: 1
152 secureEnableCert:
153 type: boolean
154 description: enable certificate based connection with DMaap
155 default: false
156 dfcFeed00Name:
157 type: string
158 description: The name of the feed the files will be published to. Should be used by the subscriber.
159 default: "bulk_pm_feed"
160 dfcFeed00Description:
161 type: string
162 description: A description of the feed the files will be published to.
163 default: "Feed for Bulk PM files"
164 dfcFeed01Name:
165 type: string
166 description: The name of the feed the files will be published to. Should be used by the subscriber.
167 default: "log_feed"
168 dfcFeed01Description:
169 type: string
170 description: A description of the feed the files will be published to.
171 default: "Feed for log files"
172
173 node_templates:
174 dfcFeed00:
175 type: ccsdk.nodes.Feed
176 properties:
177 feed_name: { get_input: dfcFeed00Name }
178 feed_description: { get_input: dfcFeed00Description }
179 dfcFeed01:
180 type: ccsdk.nodes.Feed
181 properties:
182 feed_name: { get_input: dfcFeed01Name }
183 feed_description: { get_input: dfcFeed01Description }
184
185 datafile-collector:
186 type: dcae.nodes.ContainerizedServiceComponentUsingDmaap
187
188 relationships:
189 - type: ccsdk.relationships.publish_files
190 target: dfcFeed00
191 - type: ccsdk.relationships.publish_files
192 target: dfcFeed01
193
194 interfaces:
195 cloudify.interfaces.lifecycle:
196 start:
197 inputs:
198 ports:
199 - concat: ["8100:0"]
200 - concat: ["8433:0"]
201
202 properties:
203 service_component_type: 'dcae-datafile'
204 application_config:
205 dmaap.security.enableDmaapCertAuth: { get_input: secureEnableCert }
206 streams_publishes:
207 dfcFeed00ChangeIdentifier:
208 dmaap_info: <<dfcFeed00>>
209 type: data_router
210 dfcFeed01ChangeIdentifier:
211 dmaap_info: <<dfcFeed01>>
212 type: data_router
213 streams_subscribes:
214 dmaap_subscriber:
215 type:
216 "message_router"
217 dmaap_info:
218 topic_url:
219 { concat: [{ get_input: dmaap_mr_protocol },"://",{ get_input: dmaap_mr_host },
220 ":",{ get_input: dmaap_mr_port },"/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12"]}
221 streams_publishes:
222 - name: dfcFeed00
223 type: data_router
224 location: "loc00"
225 - name: dfcFeed01
226 type: data_router
227 location: "loc00"
elinuxhenrik9297dd92019-07-01 08:42:50 +0000228
229Performance
230^^^^^^^^^^^
231
232To see the performance of DFC, see "`Datafile Collector (DFC) performance baseline results`_".
233
234.. _Datafile Collector (DFC) performance baseline results: https://wiki.onap.org/display/DW/Datafile+Collector+%28DFC%29+performance+baseline+results