Update git submodules
[doc.git] / docs / guides / onap-user / design / control-loop / index.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0
2 .. International License. http://creativecommons.org/licenses/by/4.0
3 .. Copyright 2019 ONAP Contributors. All rights reserved.
4
5 Control Loop Design
6 ===================
7 **Goal:** Create and distribute closed-loop models for automating:
8     * recovery of faults reported by traps or alarms
9     * capacity management as performance thresholds are crossed
10
11 **Tool:** SDC/DCAE-DS/CLAMP
12
13 **SDC user role:** Designer
14
15 Closed loops use feedback to control and optimize their behavior.
16 A closed loop can proactively respond to network and service conditions
17 without human intervention.
18
19 There are different phases to the Closed Loop (CL) design:
20
21     #. Design a closed loop template and associate it to a Service,
22        the template represents the theoretical flow of the CL. (DCAE-DS/SDC)
23
24        #. generate a deployment artifact that can be ingested by the DCAE,
25           today it is a "cloudify" blueprint.
26
27     #. Distribute the control loop to CLAMP and DCAE, the csar is distributed
28        to CLAMP, the blueprint is distributed to both CLAMP and DCAE. (SDC)
29     #. Submit the closed loop, meaning provision Policy/DCAE with
30        closed loop data. (CLAMP)
31     #. Deploy the closed loop, it initiates the deployment of the micro
32        service on DCAE side (CLAMP)
33
34 *Release 1 (Amsterdam)* includes control loop template designer in Clamp UI.
35
36 *Release 2 (Bejing)* does not include the control loop template designer
37 in Clamp UI, this is implemented in DCAE-DS.
38
39 **Steps**
40
41         * `Design a Model`_
42         * `Configure Collector`_
43         * `Configure Alarm Detector`_
44         * `Configure Data Analytics Function`_
45         * `Configure Policy`_
46         * `Distribute the Model`_
47         * `Open Loop Design`_
48
49 Design a Model
50 --------------
51
52 .. note::
53    When required, contact the DCAE Group (see `Mailing Lists <https://wiki.onap.org/display/DW/Mailing+Lists>`_) to
54    confirm that a blueprint for the Service has been generated and
55    is available on DCAE.
56
57 **Prerequisites:** Create and test a VF
58 (see :ref:`VF Creation and Testing <user-guides-service-design>`).
59
60     #. Create and name a new model
61     #. Associate a Service with the model
62     #. Based on the service, provide values for its attributes
63     #. Select the Resource-VF and Resource-VFC to associate with the model
64     #. Select one or more locations in the cloud where the
65        closed loop will be deployed
66     #. Here is a view of a hypothetical visual design tool
67        showing loop modeling components:
68
69        |image0|
70
71     #. Use the tool to select and connect components,
72        thus defining the structure of the model
73     #. Configure each of the components of the model
74
75        #. `Configure Collector`_
76        #. `Configure Alarm Detector`_
77        #. `Configure Data Analytics Function`_
78        #. `Configure Policy`_
79
80 Configure Collector
81 -------------------
82
83 **Prerequisites:** `Design a Model`_.
84
85 Using the modeling tool, assign a message topic to which this
86 component will subscribe.
87
88 Configure Alarm Detector
89 ------------------------
90
91 **Prerequisites:** `Design a Model`_.
92
93 Using the modeling tool, configure the fields described in this table:
94
95 +------------+----------------------------+-------------------------------+
96 | Field      | Values                     | Description                   |
97 +============+============================+===============================+
98 | Topic      | * DCAE-CL-EVENT            | DMAAP message topic to        |
99 | Publishes  | * OPEN-DCAE-HIGHLANDPARK-  | which the component           |
100 |            |   EVENT-OUTPUT             | subscribes.                   |
101 +------------+----------------------------+-------------------------------+
102 | Alarm      | (Multiple values)          | Populated from vendor-provided|
103 | Condition  |                            | list of alarm names. Stored in|
104 |            |                            | SDC and retrieved by the      |
105 |            |                            | modeling tool. Alarms differ  |
106 |            |                            | per VNF.                      |
107 +------------+----------------------------+-------------------------------+
108 | Event      | (Multiple values)          | Categories of alarms for a VNF|
109 | Source Type|                            | .Differs per VNF.             |
110 +------------+----------------------------+-------------------------------+
111 | Event      | * NORMAL                   | Severity level of the alarm   |
112 | Severity   | * not-NORMAL               | that caused the rule to match.|
113 |            | * WARNING                  | All conditions are exact      |
114 |            | * MINOR                    | matches, except for not-Normal|
115 |            | * MAYOR                    | , which matches anything      |
116 |            | * CRITICAL                 | except NORMAL.                |
117 +------------+----------------------------+-------------------------------+
118
119
120 Configure Data Analytics Function
121 ---------------------------------
122
123 **Prerequisites:** `Design a Model`_.
124
125    #. In the model, click the *StringMatch*.
126    #. Click the *Properties* icon.
127    #. Configure fields as required (see table).
128    #. Click *Close*.
129
130 +------------+----------------------------+-------------------------------+
131 | Field      | Values                     | Description                   |
132 +============+============================+===============================+
133 | Topic      | * DCAE-CL-EVENT            | DMAAP message topic to        |
134 | Publishes  |                            | which the component subscribes|
135 +------------+----------------------------+-------------------------------+
136 | AAI Fields | (Multiple values)          | Additional VM-related fields  |
137 | Matching   |                            | that downstream elements such |
138 +------------+                            | as Policy and APPC can use to |
139 | AAI Field  |                            | take action on the signature. |
140 | Send       |                            |                               |
141 | (Select    |                            |                               |
142 | Multiple)  |                            |                               |
143 +------------+----------------------------+-------------------------------+
144 | Resource-  | Integer                    | Group of string matching rules|
145 | Group      |                            | that are to be treated        |
146 |            |                            | together. For example, a      |
147 |            |                            | resource group could contain  |
148 |            |                            | two different traps that must |
149 |            |                            | be received to produce a      |
150 |            |                            | signature, as well as the     |
151 |            |                            | abatement match.              |
152 +------------+----------------------------+-------------------------------+
153 | Alarm      | (Multiple values)          | Populated from vendor-provided|
154 | Condition  |                            | list of alarm names. Stored in|
155 |            |                            | SDC and retrieved by the      |
156 |            |                            | modeling tool. Alarms differ  |
157 |            |                            | per VNF.                      |
158 +------------+----------------------------+-------------------------------+
159 | Event      | * NORMAL                   | Severity level of the alarm   |
160 | Severity   | * not-NORMAL               | that caused the rule to match.|
161 |            | * WARNING                  | All conditions are exact      |
162 |            | * MINOR                    | matches, except for not-Normal|
163 |            | * MAYOR                    | , which matches anything      |
164 |            | * CRITICAL                 | except NORMAL.                |
165 +------------+----------------------------+-------------------------------+
166 | Event      | (Multiple values)          | Categories of alarms for a    |
167 | Source Type|                            | VNF. Differs per VNF.         |
168 +------------+----------------------------+-------------------------------+
169 | Time       | Integer                    | Interval during which multiple|
170 | Window     |                            | traps must be received in     |
171 |            |                            | order to produce a single     |
172 |            |                            | signature. This value has no  |
173 |            |                            | meaning if only one onset rule|
174 |            |                            | exists. A value of 0 means an |
175 |            |                            | unlimited time window.        |
176 +------------+----------------------------+-------------------------------+
177 | Age        | Integer                    | Traps older than this limit   |
178 | Limit      |                            | are deemed too stale to be    |
179 |            |                            | meaningful and are not        |
180 |            |                            | processed.                    |
181 +------------+----------------------------+-------------------------------+
182 | Create CL  | * Initial                  | *Initial:* start a closed     |
183 | Event ID   | * Close                    | loop with a new request ID    |
184 |            |                            |                               |
185 |            |                            | *Close:* end an existing      |
186 |            |                            | closed loop (Close)           |
187 +------------+----------------------------+-------------------------------+
188 | Create CL  | * OnSet                    | *OnSet:* start a closed loop  |
189 | Event ID   | * Abatement                | when a condition starts.      |
190 | Output     |                            | Triggered with a new          |
191 | Event Name |                            | request_id and signature flag |
192 |            |                            | of *Initial*                  |
193 |            |                            |                               |
194 |            |                            | *Abatement:* end a closed loop|
195 |            |                            | when a condition is corrected.|
196 |            |                            | Triggered with signature flag |
197 |            |                            | of *Close*.                   |
198 +------------+----------------------------+-------------------------------+
199
200
201 Configure Policy
202 ----------------
203
204 Use this task to configure the operational policy of the closed loop.
205
206 **Prerequisites:** `Design a Model`_.
207
208 Model configuration involves setting the values in this table,
209 for each of the Rebuild and Migrate recipies in the model.
210
211 +------------+----------------------------+-------------------------------+
212 | Field      | Values                     | Description                   |
213 +============+============================+===============================+
214 | Overall    | Integer                    | Maximum overall time that can |
215 | Time Limit |                            | be spent on attempting all    |
216 |            |                            | actions.                      |
217 +------------+----------------------------+-------------------------------+
218 | Receipe    | * Restart                  | The automated action to be    |
219 |            | * Rebuild                  | triggered on the VM by the    |
220 |            | * Migrate                  | closed loop.                  |
221 +------------+----------------------------+-------------------------------+
222 | Max Retries| Positive Integer           | Number of times this action   |
223 |            |                            | should be attempted before    |
224 |            |                            | failing on MaxRetriesExceeded.|
225 +------------+----------------------------+-------------------------------+
226 | Retry Time | Positive Integer           | Maximum amount of time to take|
227 | Limit      |                            | performing retries before     |
228 |            |                            | failing on TimeLimitExceeded. |
229 +------------+----------------------------+-------------------------------+
230 | Parent     | (Selection                 | Recipe that precedes this one |
231 | Policy     |                            | in the chain of operations.   |
232 |            |                            | If this is the first action in|
233 |            |                            | the chain, this field is not  |
234 |            |                            | set.                          |
235 +------------+----------------------------+-------------------------------+
236 | Parent     | * Failure:                 | Types of results from the     |
237 | Policy     |   MaxRetriesExceeded       | previous action on the chain  |
238 | Conditions | * Failure:                 | that would cause a transition |
239 |            |   TimeLimitExceeded        | to this action.               |
240 |            | * Failure: Exception       |                               |
241 |            | * Failure: Other           |                               |
242 |            | * Success                  |                               |
243 +------------+----------------------------+-------------------------------+
244
245
246 Distribute the Model
247 --------------------
248
249 **Prerequisites:** `Design a Model`_.
250
251 In this step, the user distributes the models to the DCAE and
252 Policy subsystems of ONAP.
253
254 After a model is uploaded to a VNF, the status icon of the VNF changes
255 to from "Design" to "Activated" in the ONAP Portal GUI.
256
257 Open Loop Design
258 ----------------
259
260 Create and distribute open control loops for managing VF faults and
261 performance after instantiation.
262
263 With open loop control systems, the action(s) taken by the Policy do
264 not affect the output of the system.
265
266 For information about creating policy using the Policy Designer,
267 see :ref:`Policy Design <user-guides-service-design>`.
268
269
270 .. |image0| image:: media/DesignModel.png
271