Fix links to new intersphinx format.
[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
59 #TODO ADD A LINK TO VF Creation and Testing user-guides-service-design?
60
61     #. Create and name a new model
62     #. Associate a Service with the model
63     #. Based on the service, provide values for its attributes
64     #. Select the Resource-VF and Resource-VFC to associate with the model
65     #. Select one or more locations in the cloud where the
66        closed loop will be deployed
67     #. Here is a view of a hypothetical visual design tool
68        showing loop modeling components:
69
70        |image0|
71
72     #. Use the tool to select and connect components,
73        thus defining the structure of the model
74     #. Configure each of the components of the model
75
76        #. `Configure Collector`_
77        #. `Configure Alarm Detector`_
78        #. `Configure Data Analytics Function`_
79        #. `Configure Policy`_
80
81 Configure Collector
82 -------------------
83
84 **Prerequisites:** `Design a Model`_.
85
86 Using the modeling tool, assign a message topic to which this
87 component will subscribe.
88
89 Configure Alarm Detector
90 ------------------------
91
92 **Prerequisites:** `Design a Model`_.
93
94 Using the modeling tool, configure the fields described in this table:
95
96 +------------+----------------------------+-------------------------------+
97 | Field      | Values                     | Description                   |
98 +============+============================+===============================+
99 | Topic      | * DCAE-CL-EVENT            | DMAAP message topic to        |
100 | Publishes  | * OPEN-DCAE-HIGHLANDPARK-  | which the component           |
101 |            |   EVENT-OUTPUT             | subscribes.                   |
102 +------------+----------------------------+-------------------------------+
103 | Alarm      | (Multiple values)          | Populated from vendor-provided|
104 | Condition  |                            | list of alarm names. Stored in|
105 |            |                            | SDC and retrieved by the      |
106 |            |                            | modeling tool. Alarms differ  |
107 |            |                            | per VNF.                      |
108 +------------+----------------------------+-------------------------------+
109 | Event      | (Multiple values)          | Categories of alarms for a VNF|
110 | Source Type|                            | .Differs per VNF.             |
111 +------------+----------------------------+-------------------------------+
112 | Event      | * NORMAL                   | Severity level of the alarm   |
113 | Severity   | * not-NORMAL               | that caused the rule to match.|
114 |            | * WARNING                  | All conditions are exact      |
115 |            | * MINOR                    | matches, except for not-Normal|
116 |            | * MAYOR                    | , which matches anything      |
117 |            | * CRITICAL                 | except NORMAL.                |
118 +------------+----------------------------+-------------------------------+
119
120
121 Configure Data Analytics Function
122 ---------------------------------
123
124 **Prerequisites:** `Design a Model`_.
125
126    #. In the model, click the *StringMatch*.
127    #. Click the *Properties* icon.
128    #. Configure fields as required (see table).
129    #. Click *Close*.
130
131 +------------+----------------------------+-------------------------------+
132 | Field      | Values                     | Description                   |
133 +============+============================+===============================+
134 | Topic      | * DCAE-CL-EVENT            | DMAAP message topic to        |
135 | Publishes  |                            | which the component subscribes|
136 +------------+----------------------------+-------------------------------+
137 | AAI Fields | (Multiple values)          | Additional VM-related fields  |
138 | Matching   |                            | that downstream elements such |
139 +------------+                            | as Policy and APPC can use to |
140 | AAI Field  |                            | take action on the signature. |
141 | Send       |                            |                               |
142 | (Select    |                            |                               |
143 | Multiple)  |                            |                               |
144 +------------+----------------------------+-------------------------------+
145 | Resource-  | Integer                    | Group of string matching rules|
146 | Group      |                            | that are to be treated        |
147 |            |                            | together. For example, a      |
148 |            |                            | resource group could contain  |
149 |            |                            | two different traps that must |
150 |            |                            | be received to produce a      |
151 |            |                            | signature, as well as the     |
152 |            |                            | abatement match.              |
153 +------------+----------------------------+-------------------------------+
154 | Alarm      | (Multiple values)          | Populated from vendor-provided|
155 | Condition  |                            | list of alarm names. Stored in|
156 |            |                            | SDC and retrieved by the      |
157 |            |                            | modeling tool. Alarms differ  |
158 |            |                            | per VNF.                      |
159 +------------+----------------------------+-------------------------------+
160 | Event      | * NORMAL                   | Severity level of the alarm   |
161 | Severity   | * not-NORMAL               | that caused the rule to match.|
162 |            | * WARNING                  | All conditions are exact      |
163 |            | * MINOR                    | matches, except for not-Normal|
164 |            | * MAYOR                    | , which matches anything      |
165 |            | * CRITICAL                 | except NORMAL.                |
166 +------------+----------------------------+-------------------------------+
167 | Event      | (Multiple values)          | Categories of alarms for a    |
168 | Source Type|                            | VNF. Differs per VNF.         |
169 +------------+----------------------------+-------------------------------+
170 | Time       | Integer                    | Interval during which multiple|
171 | Window     |                            | traps must be received in     |
172 |            |                            | order to produce a single     |
173 |            |                            | signature. This value has no  |
174 |            |                            | meaning if only one onset rule|
175 |            |                            | exists. A value of 0 means an |
176 |            |                            | unlimited time window.        |
177 +------------+----------------------------+-------------------------------+
178 | Age        | Integer                    | Traps older than this limit   |
179 | Limit      |                            | are deemed too stale to be    |
180 |            |                            | meaningful and are not        |
181 |            |                            | processed.                    |
182 +------------+----------------------------+-------------------------------+
183 | Create CL  | * Initial                  | *Initial:* start a closed     |
184 | Event ID   | * Close                    | loop with a new request ID    |
185 |            |                            |                               |
186 |            |                            | *Close:* end an existing      |
187 |            |                            | closed loop (Close)           |
188 +------------+----------------------------+-------------------------------+
189 | Create CL  | * OnSet                    | *OnSet:* start a closed loop  |
190 | Event ID   | * Abatement                | when a condition starts.      |
191 | Output     |                            | Triggered with a new          |
192 | Event Name |                            | request_id and signature flag |
193 |            |                            | of *Initial*                  |
194 |            |                            |                               |
195 |            |                            | *Abatement:* end a closed loop|
196 |            |                            | when a condition is corrected.|
197 |            |                            | Triggered with signature flag |
198 |            |                            | of *Close*.                   |
199 +------------+----------------------------+-------------------------------+
200
201
202 Configure Policy
203 ----------------
204
205 Use this task to configure the operational policy of the closed loop.
206
207 **Prerequisites:** `Design a Model`_.
208
209 Model configuration involves setting the values in this table,
210 for each of the Rebuild and Migrate recipies in the model.
211
212 +------------+----------------------------+-------------------------------+
213 | Field      | Values                     | Description                   |
214 +============+============================+===============================+
215 | Overall    | Integer                    | Maximum overall time that can |
216 | Time Limit |                            | be spent on attempting all    |
217 |            |                            | actions.                      |
218 +------------+----------------------------+-------------------------------+
219 | Receipe    | * Restart                  | The automated action to be    |
220 |            | * Rebuild                  | triggered on the VM by the    |
221 |            | * Migrate                  | closed loop.                  |
222 +------------+----------------------------+-------------------------------+
223 | Max Retries| Positive Integer           | Number of times this action   |
224 |            |                            | should be attempted before    |
225 |            |                            | failing on MaxRetriesExceeded.|
226 +------------+----------------------------+-------------------------------+
227 | Retry Time | Positive Integer           | Maximum amount of time to take|
228 | Limit      |                            | performing retries before     |
229 |            |                            | failing on TimeLimitExceeded. |
230 +------------+----------------------------+-------------------------------+
231 | Parent     | (Selection                 | Recipe that precedes this one |
232 | Policy     |                            | in the chain of operations.   |
233 |            |                            | If this is the first action in|
234 |            |                            | the chain, this field is not  |
235 |            |                            | set.                          |
236 +------------+----------------------------+-------------------------------+
237 | Parent     | * Failure:                 | Types of results from the     |
238 | Policy     |   MaxRetriesExceeded       | previous action on the chain  |
239 | Conditions | * Failure:                 | that would cause a transition |
240 |            |   TimeLimitExceeded        | to this action.               |
241 |            | * Failure: Exception       |                               |
242 |            | * Failure: Other           |                               |
243 |            | * Success                  |                               |
244 +------------+----------------------------+-------------------------------+
245
246
247 Distribute the Model
248 --------------------
249
250 **Prerequisites:** `Design a Model`_.
251
252 In this step, the user distributes the models to the DCAE and
253 Policy subsystems of ONAP.
254
255 After a model is uploaded to a VNF, the status icon of the VNF changes
256 to from "Design" to "Activated" in the ONAP Portal GUI.
257
258 Open Loop Design
259 ----------------
260
261 Create and distribute open control loops for managing VF faults and
262 performance after instantiation.
263
264 With open loop control systems, the action(s) taken by the Policy do
265 not affect the output of the system.
266
267 For information about creating policy using the Policy Designer,
268
269 #TODO ADD A LINK TO VF Creation and Testing user-guides-service-design?
270
271
272 .. |image0| image:: media/DesignModel.png
273