blob: f3a184731113b44ef0811f7b8de53ecf4f95c1e8 [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=============================
maximessone0a42852019-08-16 08:43:37 +00007The DataFile Collector (DFC) gets fileReady messages from the Message Router (MR) sent from xNFs, via the VES Collector.
8These messages contains data about files ready to get from the xNF. DFC then collects these files from the xNF and
9publishes them to the DataRouter (DR) on a feed. Consumers can subscribe to the feed from DR and process the file for
10its specific purpose. The connection between a file type and the feed it will be published to is the
11**changeIdentifier**. DFC can handle multiple **changeIdentifier**/feed combinations, see picture below.
12
13.. image:: ../../images/DFC_config.png
14
15
Chengkai Yan7f278e32018-11-06 16:32:03 +010016
maximesson26d51b62019-07-23 09:40:54 +000017Configuration
18^^^^^^^^^^^^^
19By default, DFC handles the "PM_MEAS_FILES" change identifier and publishes these files on the "bulk_pm_feed" feed.
maximessone0a42852019-08-16 08:43:37 +000020But it can also be configured to handle more/other change identifiers and publish them to more/other feeds. The
21configuration of DFC is controlled via a blueprint.
Chengkai Yan7f278e32018-11-06 16:32:03 +010022
maximesson26d51b62019-07-23 09:40:54 +000023Blueprint Configuration Explained
24"""""""""""""""""""""""""""""""""
Chengkai Yan7f278e32018-11-06 16:32:03 +010025
maximessone0a42852019-08-16 08:43:37 +000026For the communication with the Message Router, the user must provide the **host name**, **port**, and **protocol** of
27the DMaaP Message router.
Chengkai Yan7f278e32018-11-06 16:32:03 +010028
maximesson26d51b62019-07-23 09:40:54 +000029.. code-block:: yaml
30 :emphasize-lines: 2,6,10
Chengkai Yan7f278e32018-11-06 16:32:03 +010031
maximesson26d51b62019-07-23 09:40:54 +000032 inputs:
33 dmaap_mr_host:
34 type: string
35 description: dmaap messagerouter host
36 default: message-router.onap.svc.cluster.local
37 dmaap_mr_port:
38 type: integer
39 description: dmaap messagerouter port
40 default: 3904
41 dmaap_mr_protocol:
42 type: string
43 description: dmaap messagerouter protocol
44 default: "http"
Chengkai Yan7f278e32018-11-06 16:32:03 +010045
maximesson26d51b62019-07-23 09:40:54 +000046The user can also specify which version of DFC to use.
Chengkai Yan7f278e32018-11-06 16:32:03 +010047
maximesson26d51b62019-07-23 09:40:54 +000048.. code-block:: yaml
49 :emphasize-lines: 2
Chengkai Yan7f278e32018-11-06 16:32:03 +010050
maximesson26d51b62019-07-23 09:40:54 +000051 inputs:
52 tag_version:
53 type: string
54 description: DFC image tag/version
55 default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.2.0"
Chengkai Yan7f278e32018-11-06 16:32:03 +010056
maximesson26d51b62019-07-23 09:40:54 +000057The user can also enable secure communication with the DMaaP Message Router.
Chengkai Yan7f278e32018-11-06 16:32:03 +010058
maximesson26d51b62019-07-23 09:40:54 +000059.. code-block:: yaml
60 :emphasize-lines: 2
maximessonc762eb12019-04-04 14:43:43 +000061
maximesson26d51b62019-07-23 09:40:54 +000062 inputs:
63 secureEnableCert:
64 type: boolean
65 description: enable certificate based connection with DMaap
66 default: false
maximessonc762eb12019-04-04 14:43:43 +000067
maximessone0a42852019-08-16 08:43:37 +000068DFC can handle multiple change identifiers. For each change identifier/feed combination the user must provide the
69**change identifier**, **feed name**, and **feed location**.
maximessonc762eb12019-04-04 14:43:43 +000070
maximessone0a42852019-08-16 08:43:37 +000071**Note!** The **feed name** provided should be used by the consumer/s to set up the subscription to the feed.
maximessonc762eb12019-04-04 14:43:43 +000072
maximessone0a42852019-08-16 08:43:37 +000073The **feed name** and **feed location** are defined as inputs for the user to provide.
Chengkai Yan7f278e32018-11-06 16:32:03 +010074
maximesson26d51b62019-07-23 09:40:54 +000075.. code-block:: yaml
76 :emphasize-lines: 2,6
Chengkai Yan7f278e32018-11-06 16:32:03 +010077
maximesson26d51b62019-07-23 09:40:54 +000078 inputs:
maximessone0a42852019-08-16 08:43:37 +000079 feed0_name:
maximesson26d51b62019-07-23 09:40:54 +000080 type: string
81 description: The name of the feed the files will be published to. Should be used by the subscriber.
82 default: "bulk_pm_feed"
maximessone0a42852019-08-16 08:43:37 +000083 feed0_location:
maximesson26d51b62019-07-23 09:40:54 +000084 type: string
maximessone0a42852019-08-16 08:43:37 +000085 description: The location of the feed.
86 default: "loc00"
Chengkai Yan7f278e32018-11-06 16:32:03 +010087
maximessone0a42852019-08-16 08:43:37 +000088The **feed name** shall be used in the definition of the feed for the DMaaP plugin under the "**node_templates**"
89section under a tag for the internal "**feed identifier**" for the feed (feed0 in the example).
Chengkai Yan7f278e32018-11-06 16:32:03 +010090
maximesson26d51b62019-07-23 09:40:54 +000091.. code-block:: yaml
maximessone0a42852019-08-16 08:43:37 +000092 :emphasize-lines: 1,5
maximesson26d51b62019-07-23 09:40:54 +000093
maximessone0a42852019-08-16 08:43:37 +000094 feed0:
95 type: ccsdk.nodes.Feed
96 properties:
97 feed_name:
98 get_input: feed0_name
99 useExisting: true
maximesson26d51b62019-07-23 09:40:54 +0000100
maximessone0a42852019-08-16 08:43:37 +0000101The **feed location** shall be used under the **streams_publishes** section under a tag for the internal
102"**feed identifier**" for the feed.
maximesson26d51b62019-07-23 09:40:54 +0000103
104.. code-block:: yaml
maximessone0a42852019-08-16 08:43:37 +0000105 :emphasize-lines: 2,4
maximesson26d51b62019-07-23 09:40:54 +0000106
maximessone0a42852019-08-16 08:43:37 +0000107 streams_publishes:
108 - name: feed0
109 location:
110 get_input: feed0_location
111 type: data_router
maximesson26d51b62019-07-23 09:40:54 +0000112
maximessone0a42852019-08-16 08:43:37 +0000113The **change identifier** shall be defined as an item under the **streams_publishes** tag in the "**application_config**"
114section. Under this tag the internal "**feed identifier**" for the feed shall also be added to get the
115info about the feed substituted in by CBS (that's what the <<>> tags are for).
maximesson26d51b62019-07-23 09:40:54 +0000116
117.. code-block:: yaml
maximessone0a42852019-08-16 08:43:37 +0000118 :emphasize-lines: 4,5
maximesson26d51b62019-07-23 09:40:54 +0000119
maximessone0a42852019-08-16 08:43:37 +0000120 application_config:
121 service_calls: []
122 streams_publishes:
123 PM_MEAS_FILES:
124 dmaap_info: <<feed0>>
125 type: data_router
126
127And, lastly, to set up the publication relationship for the feed, the "**feed identifier**" must be added to the
128"**relationships**" section of the blueprint.
129
130.. code-block:: yaml
131 :emphasize-lines: 3
132
133 relationships:
134 - type: ccsdk.relationships.publish_files
135 target: feed0
maximesson26d51b62019-07-23 09:40:54 +0000136
137Sample blueprint configuration
138""""""""""""""""""""""""""""""
139
140The format of the blueprint configuration that drives all behavior of DFC is probably best described using an example.
141The blueprint below configures DFC to handle the two feeds shown in the picture above.
142
143.. code-block:: yaml
144
145 inputs:
146 dmaap_mr_host:
147 type: string
148 description: dmaap messagerouter host
149 default: message-router.onap.svc.cluster.local
150 dmaap_mr_port:
151 type: integer
152 description: dmaap messagerouter port
153 default: 3904
154 dmaap_mr_protocol:
155 type: string
156 description: dmaap messagerouter protocol
157 default: "http"
158 tag_version:
159 type: string
160 description: DFC image tag/version
161 default: "nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.datafile.datafile-app-server:1.2.0"
162 replicas:
163 type: integer
164 description: number of instances
165 default: 1
166 secureEnableCert:
167 type: boolean
168 description: enable certificate based connection with DMaap
169 default: false
maximessone0a42852019-08-16 08:43:37 +0000170 envs:
171 default: {}
172 feed0_name:
maximesson26d51b62019-07-23 09:40:54 +0000173 type: string
174 description: The name of the feed the files will be published to. Should be used by the subscriber.
175 default: "bulk_pm_feed"
maximessone0a42852019-08-16 08:43:37 +0000176 feed0_location:
maximesson26d51b62019-07-23 09:40:54 +0000177 type: string
maximessone0a42852019-08-16 08:43:37 +0000178 description: The location of the feed.
179 default: "loc00"
180 feed1_name:
maximesson26d51b62019-07-23 09:40:54 +0000181 type: string
182 description: The name of the feed the files will be published to. Should be used by the subscriber.
183 default: "log_feed"
maximessone0a42852019-08-16 08:43:37 +0000184 feed1_location:
maximesson26d51b62019-07-23 09:40:54 +0000185 type: string
maximessone0a42852019-08-16 08:43:37 +0000186 description: The location of the feed.
187 default: "loc00"
maximesson26d51b62019-07-23 09:40:54 +0000188 node_templates:
maximesson26d51b62019-07-23 09:40:54 +0000189 datafile-collector:
190 type: dcae.nodes.ContainerizedServiceComponentUsingDmaap
maximesson26d51b62019-07-23 09:40:54 +0000191 interfaces:
192 cloudify.interfaces.lifecycle:
193 start:
194 inputs:
maximessone0a42852019-08-16 08:43:37 +0000195 envs:
196 get_input: envs
maximesson26d51b62019-07-23 09:40:54 +0000197 properties:
maximesson26d51b62019-07-23 09:40:54 +0000198 application_config:
maximessone0a42852019-08-16 08:43:37 +0000199 service_calls: []
maximesson26d51b62019-07-23 09:40:54 +0000200 dmaap.security.enableDmaapCertAuth: { get_input: secureEnableCert }
maximesson26d51b62019-07-23 09:40:54 +0000201 streams_subscribes:
202 dmaap_subscriber:
maximesson26d51b62019-07-23 09:40:54 +0000203 dmaap_info:
204 topic_url:
205 { concat: [{ get_input: dmaap_mr_protocol },"://",{ get_input: dmaap_mr_host },
206 ":",{ get_input: dmaap_mr_port },"/events/unauthenticated.VES_NOTIFICATION_OUTPUT/OpenDcae-c12/C12"]}
maximessone0a42852019-08-16 08:43:37 +0000207 streams_publishes:
208 PM_MEAS_FILES:
209 dmaap_info: <<feed0>>
210 type: data_router
211 LOG_FILES:
212 dmaap_info: <<feed1>>
213 type: data_router
214 image:
215 get_input: tag_version
216 service_component_type: datafile-collector
maximesson26d51b62019-07-23 09:40:54 +0000217 streams_publishes:
maximessone0a42852019-08-16 08:43:37 +0000218 - name: feed0
219 location:
220 get_input: feed0_location
221 type: data_router
222 - name: feed1
223 location:
224 get_input: feed1_location
225 type: data_router
226 relationships:
227 - type: ccsdk.relationships.publish_files
228 target: feed0
229 - type: ccsdk.relationships.publish_files
230 target: feed1
231 feed0:
232 type: ccsdk.nodes.Feed
233 properties:
234 feed_name:
235 get_input: feed0_name
236 useExisting: true
237 feed1:
238 type: ccsdk.nodes.Feed
239 properties:
240 feed_name:
241 get_input: feed1_name
242 useExisting: true
elinuxhenrik9297dd92019-07-01 08:42:50 +0000243
244Performance
245^^^^^^^^^^^
246
247To see the performance of DFC, see "`Datafile Collector (DFC) performance baseline results`_".
248
maximessone0a42852019-08-16 08:43:37 +0000249.. _Datafile Collector (DFC) performance baseline results: https://wiki.onap.org/display/DW/Datafile+Collector+%28DFC%29+performance+baseline+results