andreasgeissler | f361230 | 2019-04-24 12:42:08 +0200 | [diff] [blame] | 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 | |