Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 1 | |
| 2 | .. This work is licensed under a Creative Commons Attribution 4.0 International License. |
| 3 | .. http://creativecommons.org/licenses/by/4.0 |
| 4 | |
| 5 | ********************************************************** |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 6 | Control Loop Simulation and Injection of Messages Overview |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 7 | ********************************************************** |
| 8 | |
| 9 | .. contents:: |
| 10 | :depth: 2 |
| 11 | |
| 12 | Telemetry |
| 13 | ^^^^^^^^^ |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 14 | The username and password for the Telemetry commands are in *${POLICY_HOME}/config/engine.properties*. |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 15 | |
| 16 | Injecting messages: |
| 17 | ------------------- |
| 18 | |
| 19 | To inject messages use the following command. The injected message will look as if it came in from the specified topic and will be processed accordingly. |
| 20 | |
| 21 | Use the command: |
| 22 | |
| 23 | .. code-block:: bash |
| 24 | |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 25 | http --verify=no --default-scheme=https -a <userName>:<password> PUT :9696/policy/pdp/engine/topics/sources/<comm>/<topic>/events @<onsetFile> Content-Type:"text/plain" |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 26 | |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 27 | where <comm> is either "dmaap", "ueb", or "noop", depending on how the topic has been defined in the |
| 28 | configuration. "dmaap" is the default deployed messaging communication infrastructure in an ONAP installation. |
| 29 | The following is the equivalent "curl" version: |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 30 | |
| 31 | .. code-block:: bash |
| 32 | |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 33 | curl --insecure --silent --user <userName>:<password> -X PUT --header "Content-Type: text/plain" --data @<onsetFile> https://localhost:9696/policy/pdp/engine/topics/sources/<comm>/<topic>/events |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 34 | |
| 35 | The topic being used is *unauthenticated.DCAE_CL_OUTPUT*, which is subject to change. The onset file is a file that contains the data to inject as the onset. The data contained depends on the use case. This is an example for VoLTE: |
| 36 | |
| 37 | .. code-block:: json |
| 38 | :caption: VoLTE_Sample_Onset |
| 39 | |
| 40 | { |
| 41 | "closedLoopControlName": "ControlLoop-VOLTE-2179b738-fd36-4843-a71a-a8c24c70c55b", |
| 42 | "closedLoopAlarmStart": 1484677482204798, |
| 43 | "closedLoopEventClient": "DCAE.HolmesInstance", |
| 44 | "closedLoopEventStatus": "ONSET", |
| 45 | "requestID": "97964e10-686e-4790-8c45-bdfa61df770f", |
| 46 | "target_type": "VM", |
| 47 | "target": "vserver.vserver-name", |
| 48 | "AAI": { |
| 49 | "vserver.is-closed-loop-disabled": "false", |
| 50 | "vserver.vserver-name": "dfw1lb01lb01", |
| 51 | "service-instance.service-instance-id" : "vserver-name-16102016-aai3255-data-11-1", |
| 52 | "generic-vnf.vnf-id" : "vnf-id-16102016-aai3255-data-11-1", |
| 53 | "generic-vnf.vnf-name" : "vnf-name-16102016-aai3255-data-11-1" |
| 54 | }, |
| 55 | "from": "DCAE", |
| 56 | "version": "1.0.2" |
| 57 | } |
| 58 | |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 59 | Getting Information |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 60 | ------------------- |
| 61 | |
| 62 | To get the name of the active controller(s), use: |
| 63 | |
| 64 | .. code-block:: bash |
| 65 | |
| 66 | curl --insecure --silent --user <username>:<password> -X GET https://localhost:9696/policy/pdp/engine/controllers | python -m json.tool |
| 67 | |
| 68 | To check the facts currently in memory, use the following command. There should be 1 each of org.onap.policy.controlloop.PapParams and org.onap.policy.controlloop.Params per policy pushed. |
| 69 | |
| 70 | .. code-block:: bash |
| 71 | |
| 72 | curl --insecure --silent --user <username>:<password> -X GET https://localhost:9696/policy/pdp/engine/controllers/<controllerName>/drools/facts/<artifactId> | python -m json.tool |
| 73 | |
| 74 | To get additional information about the controller, use: |
| 75 | |
| 76 | .. code-block:: bash |
| 77 | |
| 78 | curl --insecure --silent --user <username>:<password> -X GET https://localhost:9696/policy/pdp/engine/controllers/<controllerName> | python -m json.tool |
| 79 | |
| 80 | |
| 81 | Simulators |
| 82 | ^^^^^^^^^^ |
| 83 | |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 84 | Currently, there are 4 supported simulators: A&AI, SO, vFC, and guard. When they are up, they are accessed via localhost on the following ports: A&AI – 6666, SO – 6667, vFC – 6668, and guard – 6669. They all respond with hard-coded values representing their various success messages except for with certain inputs. For the A&AI simulator, if the value being queried with a “GET” query is “getFail” the simulator returns an exception message, if the value being queried in a “GET” query is “disableClosedLoop” the simulator returns a response with the value of “is-closed-loop-disabled” set to true, and if the value being queried in a named query is “error” the response from the simulator is A&AI’s failure message. The other simulator that can return multiple response is the guard simulator, and that returns a deny response if the closed loop control name passed in is “denyGuard” |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 85 | |
| 86 | Using the Simulators |
| 87 | -------------------- |
| 88 | |
| 89 | To check the status of the simulators, run the command: "*features status*". If the feature controlloop-utils is enabled, the simulators are being used, otherwise, they are not. |
| 90 | |
| 91 | **Turning on the simulators** |
| 92 | |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 93 | - First, make sure the controller is off by running the command “*policy stop*”. |
| 94 | - Then turn the feature on with the command “*features enable controlloop-utils*”. |
| 95 | - Finally restart the controller by running “*policy start*”. |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 96 | - Run “*features status*” again and the *feature controlloop-utils* will be **enabled**. |
| 97 | |
| 98 | **Turning the simulators off** |
| 99 | |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 100 | - First, make sure the controller is off by running the command “*policy stop*”. |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 101 | - Then turn the feature off with the command “*features disable controlloop-utils*”. |
| 102 | - Finally restart the controller by running “*policy start*”. |
| 103 | - Run “*features status*” again and the *feature controlloop-utils* will be **disabled**. |
| 104 | |
| 105 | **For Junits** |
| 106 | |
| 107 | For Junits, the package *org.onap.policy.simulators* is neeeded. In the Util class, there are four methods to start the four different simulators: *buildAaiSim()*, *buildSoSim()*, *buildVfcSim()*, and *buildGuardSim()*. Once the method is called, the simulator should be up and waiting to respond to requests. To bring down the simulators, call *HttpServletServer.factory.destroy()*. |
| 108 | |
| 109 | Responses |
| 110 | --------- |
| 111 | |
| 112 | **A&AI** |
| 113 | |
| 114 | .. code-block:: bash |
| 115 | :caption: vnf-GET-response |
| 116 | |
| 117 | { |
| 118 | "vnf-id": vnfId, //vnfId will be the vnfId you query on. If you query on a vnfName, the id will be "error" if the name is "error", "5e49ca06-2972-4532-9ed4-6d071588d792" otherwise |
| 119 | "vnf-name": vnfName, //vnfName will be the vnfName you query on. If you query on a vnfId, the name will be "USUCP0PCOIL0110UJRT01" |
| 120 | "vnf-type": "RT", |
| 121 | "service-id": "d7bb0a21-66f2-4e6d-87d9-9ef3ced63ae4", |
| 122 | "equipment-role": "UCPE", |
| 123 | "orchestration-status": "created", |
| 124 | "management-option": "ATT", |
| 125 | "ipv4-oam-address": "32.40.68.35", |
| 126 | "ipv4-loopback0-address": "32.40.64.57", |
| 127 | "nm-lan-v6-address": "2001:1890:e00e:fffe::1345", |
| 128 | "management-v6-address": "2001:1890:e00e:fffd::36", |
| 129 | "in-maint": false, |
| 130 | "prov-status":"ACTIVE", |
| 131 | "is-closed-loop-disabled": isDisabled, //isDisabled will be true if the vnf name/Id you query on is disableClosedLoop, false otherwise |
| 132 | "resource-version": "1493389458092", |
| 133 | "relationship-list": { |
| 134 | "relationship": [{ |
| 135 | "related-to": "service-instance", |
| 136 | "related-link": "/aai/v11/business/customers/customer/1610_Func_Global_20160817084727/service-subscriptions/service-subscription/uCPE-VMS/service-instances/service-instance/USUCP0PCOIL0110UJZZ01", |
| 137 | "relationship-data": [{ |
| 138 | "relationship-key": "customer.global-customer-id", |
| 139 | "relationship-value": "1610_Func_Global_20160817084727" |
| 140 | }, { |
| 141 | "relationship-key": "service-subscription.service-type", |
| 142 | "relationship-value": "uCPE-VMS" |
| 143 | }, { |
| 144 | "relationship-key": "service-instance.service-instance-id", |
| 145 | "relationship-value": "USUCP0PCOIL0110UJZZ01" |
| 146 | }], |
| 147 | "related-to-property": [{ |
| 148 | "property-key": "service-instance.service-instance-name" |
| 149 | }] |
| 150 | }, { |
| 151 | "related-to": "vserver", |
| 152 | "related-link": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/USUCP0PCOIL0110UJZZ01%3A%3AuCPE-VMS/vservers/vserver/3b2558f4-39d8-40e7-bfc7-30660fb52c45", |
| 153 | "relationship-data": [{ |
| 154 | "relationship-key": "cloud-region.cloud-owner", |
| 155 | "relationship-value": "att-aic" |
| 156 | }, { |
| 157 | "relationship-key": "cloud-region.cloud-region-id", |
| 158 | "relationship-value": "AAIAIC25" |
| 159 | }, { |
| 160 | "relationship-key": "tenant.tenant-id", |
| 161 | "relationship-value": "USUCP0PCOIL0110UJZZ01::uCPE-VMS" |
| 162 | }, { |
| 163 | "relationship-key": "vserver.vserver-id", |
| 164 | "relationship-value": "3b2558f4-39d8-40e7-bfc7-30660fb52c45" |
| 165 | }], |
| 166 | "related-to-property": [{ |
| 167 | "property-key": "vserver.vserver-name", |
| 168 | "property-value": "USUCP0PCOIL0110UJZZ01-vsrx" |
| 169 | }] |
| 170 | }] |
| 171 | } |
| 172 | |
| 173 | |
| 174 | .. code-block:: bash |
| 175 | :caption: vnf-GET-fail |
| 176 | |
| 177 | //This is returned if you query on the value "getFail" |
| 178 | { |
| 179 | "requestError": { |
| 180 | "serviceException": { |
| 181 | "messageId": "SVC3001", |
| 182 | "text": "Resource not found for %1 using id %2 (msg=%3) (ec=%4)", |
| 183 | "variables": ["GET", "network/generic-vnfs/generic-vnf/getFail", "Node Not Found:No Node of type generic-vnf found at network/generic-vnfs/generic-vnf/getFail", "ERR.5.4.6114"] |
| 184 | } |
| 185 | } |
| 186 | } |
| 187 | |
| 188 | |
| 189 | .. code-block:: bash |
| 190 | :caption: vserver-GET-response |
| 191 | |
| 192 | { |
| 193 | "vserver": [{ |
| 194 | "vserver-id": "d0668d4f-c25e-4a1b-87c4-83845c01efd8", |
| 195 | "vserver-name": vserverName, // The value you query on |
| 196 | "vserver-name2": "vjunos0", |
| 197 | "vserver-selflink": "https://aai-ext1.test.att.com:8443/aai/v7/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/USMSO1SX7NJ0103UJZZ01%3A%3AuCPE-VMS/vservers/vserver/d0668d4f-c25e-4a1b-87c4-83845c01efd8", |
| 198 | "in-maint": false, |
| 199 | "prov-status":"ACTIVE", |
| 200 | "is-closed-loop-disabled": isDisabled, // True if the vserverName is "disableClosedLoop", false otherwise |
| 201 | "resource-version": "1494001931513", |
| 202 | "relationship-list": { |
| 203 | "relationship": [{ |
| 204 | "related-to": "generic-vnf", |
| 205 | "related-link": "/aai/v11/network/generic-vnfs/generic-vnf/e1a41e99-4ede-409a-8f9d-b5e12984203a", |
| 206 | "relationship-data": [{ |
| 207 | "relationship-key": "generic-vnf.vnf-id", |
| 208 | "relationship-value": "e1a41e99-4ede-409a-8f9d-b5e12984203a" |
| 209 | }], |
| 210 | "related-to-property": [{ |
| 211 | "property-key": "generic-vnf.vnf-name", |
| 212 | "property-value": "USMSO1SX7NJ0103UJSW01" |
| 213 | }] |
| 214 | }, { |
| 215 | "related-to": "pserver", |
| 216 | "related-link": "/aai/v11/cloud-infrastructure/pservers/pserver/USMSO1SX7NJ0103UJZZ01", |
| 217 | "relationship-data": [{ |
| 218 | "relationship-key": "pserver.hostname", |
| 219 | "relationship-value": "USMSO1SX7NJ0103UJZZ01" |
| 220 | }], |
| 221 | "related-to-property": [{ |
| 222 | "property-key": "pserver.pserver-name2" |
| 223 | }] |
| 224 | }] |
| 225 | } |
| 226 | }] |
| 227 | } |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 228 | |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 229 | |
| 230 | .. code-block:: bash |
| 231 | :caption: vserver-GET-error |
| 232 | |
| 233 | //This is returned if you query on the value "getFail" |
| 234 | { |
| 235 | "requestError": { |
| 236 | "serviceException": { |
| 237 | "messageId": "SVC3001", |
| 238 | "text": "Resource not found for %1 using id %2 (msg=%3) (ec=%4)", |
| 239 | "variables": ["GET", "nodes/vservers", "Node Not Found:No Node of type generic-vnf found at nodes/vservers", "ERR.5.4.6114"] |
| 240 | } |
| 241 | } |
| 242 | } |
| 243 | |
| 244 | |
| 245 | .. code-block:: bash |
| 246 | :caption: vnf-NamedQuery-response |
| 247 | |
| 248 | { |
| 249 | "inventory-response-item": [ |
| 250 | { |
| 251 | "model-name": "service-instance", |
| 252 | "generic-vnf": { |
| 253 | "vnf-id": "vnfId", //vnfId will be the vnfId you query on |
| 254 | "vnf-name": "ZRDM2MMEX39", |
| 255 | "vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", |
| 256 | "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", |
| 257 | "prov-status": "ACTIVE", |
| 258 | "in-maint": false, |
| 259 | "is-closed-loop-disabled": false, |
| 260 | "resource-version": "1503082370097", |
| 261 | "model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", |
| 262 | "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" |
| 263 | }, |
| 264 | "extra-properties": { |
| 265 | "extra-property": [] |
| 266 | }, |
| 267 | "inventory-response-items": { |
| 268 | "inventory-response-item": [ |
| 269 | { |
| 270 | "model-name": "service-instance", |
| 271 | "service-instance": { |
| 272 | "service-instance-id": "37b8cdb7-94eb-468f-a0c2-4e3c3546578e", |
| 273 | "service-instance-name": "Changed Service Instance NAME", |
| 274 | "resource-version": "1503082993532", |
| 275 | "model-invariant-id": "82194af1-3c2c-485a-8f44-420e22a9eaa4", |
| 276 | "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" |
| 277 | }, |
| 278 | "extra-properties": { |
| 279 | "extra-property": [] |
| 280 | }, |
| 281 | "inventory-response-items": { |
| 282 | "inventory-response-item": [ |
| 283 | { |
| 284 | "model-name": "pnf", |
| 285 | "generic-vnf": { |
| 286 | "vnf-id": "pnfVnfId", // pnfVnfId is UUID generated from ${pnfVnfName} |
| 287 | "vnf-name": "pnfVnfName", // pnfVnfName is pnf-test-${vnfId} |
| 288 | "vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", |
| 289 | "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", |
| 290 | "in-maint": false, |
| 291 | "is-closed-loop-disabled": false, |
| 292 | "resource-version": "1504013830207", |
| 293 | "model-invariant-id": "862b25a1-262a-4961-bdaa-cdc55d69785a", |
| 294 | "model-version-id": "e9f1fa7d-c839-418a-9601-03dc0d2ad687" |
| 295 | }, |
| 296 | "extra-properties": { |
| 297 | "extra-property": [] |
| 298 | } |
| 299 | }, |
| 300 | { |
| 301 | "model-name": "service-instance", |
| 302 | "generic-vnf": { |
| 303 | "vnf-id": "serviceInstanceVnfId", // serviceInstanceVnfId is UUID generated from ${serviceInstanceVnfName} |
| 304 | "vnf-name": "serviceInstanceVnfName", // serviceInstanceVnfName is service-instance-test-${vnfId} |
| 305 | "vnf-type": "vMME Svc Jul 14/vMME VF Jul 14 1", |
| 306 | "service-id": "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb", |
| 307 | "in-maint": false, |
| 308 | "is-closed-loop-disabled": false, |
| 309 | "resource-version": "1504014833841", |
| 310 | "model-invariant-id": "Eace933104d443b496b8.nodes.heat.vpg", |
| 311 | "model-version-id": "46b92144-923a-4d20-b85a-3cbd847668a9" |
| 312 | }, |
| 313 | "extra-properties": { |
| 314 | "extra-property": [] |
| 315 | } |
| 316 | } |
| 317 | ] |
| 318 | } |
| 319 | } |
| 320 | ] |
| 321 | } |
| 322 | } |
| 323 | ] |
| 324 | } |
| 325 | |
| 326 | |
| 327 | .. code-block:: bash |
| 328 | :caption: vserver-NamedQuery-response |
| 329 | |
| 330 | { |
| 331 | "inventory-response-item": [ |
| 332 | { |
| 333 | "vserver": { |
| 334 | "vserver-id": "6ed3642c-f7a1-4a7c-9290-3d51fe1531eb", |
| 335 | "vserver-name": "zdfw1lb01lb02", |
| 336 | "vserver-name2": "zdfw1lb01lb02", |
| 337 | "prov-status": "ACTIVE", |
| 338 | "vserver-selflink": "http://10.12.25.2:8774/v2.1/41d6d38489bd40b09ea8a6b6b852dcbd/servers/6ed3642c-f7a1-4a7c-9290-3d51fe1531eb", |
| 339 | "in-maint": false, |
| 340 | "is-closed-loop-disabled": false, |
| 341 | "resource-version": "1510606403522" |
| 342 | }, |
| 343 | "extra-properties": { |
| 344 | "extra-property": [] |
| 345 | }, |
| 346 | "inventory-response-items": { |
| 347 | "inventory-response-item": [ |
| 348 | { |
| 349 | "model-name": "vLoadBalancer", |
| 350 | "generic-vnf": { |
| 351 | "vnf-id": "db373a8d-f7be-4d02-8ac8-6ca4c305d144", |
| 352 | "vnf-name": "Vfmodule_vLB1113", |
| 353 | "vnf-type": "vLoadBalancer-1106/vLoadBalancer 0", |
| 354 | "service-id": "66f157fc-4148-4880-95f5-e120677e98d1", |
| 355 | "prov-status": "PREPROV", |
| 356 | "in-maint": false, |
| 357 | "is-closed-loop-disabled": false, |
| 358 | "resource-version": "1510604011851", |
| 359 | "model-invariant-id": "cee050ed-92a5-494f-ab04-234307a846dc", |
| 360 | "model-version-id": "fd65becc-6b2c-4fe8-ace9-cc29db9a3da2" |
| 361 | }, |
| 362 | "extra-properties": { |
| 363 | "extra-property": [ |
| 364 | { |
| 365 | "property-name": "model-ver.model-version-id", |
| 366 | "property-value": "fd65becc-6b2c-4fe8-ace9-cc29db9a3da2" |
| 367 | }, |
| 368 | { |
| 369 | "property-name": "model-ver.model-name", |
| 370 | "property-value": "vLoadBalancer" |
| 371 | }, |
| 372 | { |
| 373 | "property-name": "model.model-type", |
| 374 | "property-value": "resource" |
| 375 | }, |
| 376 | { |
| 377 | "property-name": "model.model-invariant-id", |
| 378 | "property-value": "cee050ed-92a5-494f-ab04-234307a846dc" |
| 379 | }, |
| 380 | { |
| 381 | "property-name": "model-ver.model-version", |
| 382 | "property-value": "1.0" |
| 383 | } |
| 384 | ] |
| 385 | }, |
| 386 | "inventory-response-items": { |
| 387 | "inventory-response-item": [ |
| 388 | { |
| 389 | "model-name": "vLoadBalancer-1106", |
| 390 | "service-instance": { |
| 391 | "service-instance-id": "3b12f31f-8f2d-4f5c-b875-61ff1194b941", |
| 392 | "service-instance-name": "vLoadBalancer-1113", |
| 393 | "resource-version": "1510603936425", |
| 394 | "model-invariant-id": "1321d60d-f7ff-4300-96c2-6bf0b3268b7a", |
| 395 | "model-version-id": "732d4692-4b97-46f9-a996-0b3339e88c50" |
| 396 | }, |
| 397 | "extra-properties": { |
| 398 | "extra-property": [ |
| 399 | { |
| 400 | "property-name": "model-ver.model-version-id", |
| 401 | "property-value": "732d4692-4b97-46f9-a996-0b3339e88c50" |
| 402 | }, |
| 403 | { |
| 404 | "property-name": "model-ver.model-name", |
| 405 | "property-value": "vLoadBalancer-1106" |
| 406 | }, |
| 407 | { |
| 408 | "property-name": "model.model-type", |
| 409 | "property-value": "service" |
| 410 | }, |
| 411 | { |
| 412 | "property-name": "model.model-invariant-id", |
| 413 | "property-value": "1321d60d-f7ff-4300-96c2-6bf0b3268b7a" |
| 414 | }, |
| 415 | { |
| 416 | "property-name": "model-ver.model-version", |
| 417 | "property-value": "1.0" |
| 418 | } |
| 419 | ] |
| 420 | } |
| 421 | }, |
| 422 | { |
| 423 | "model-name": "Vloadbalancer..base_vlb..module-0", |
| 424 | "vf-module": { |
| 425 | "vf-module-id": "e6b3e3eb-34e1-4c00-b8c1-2a4fbe479b12", |
| 426 | "vf-module-name": "Vfmodule_vLB1113-1", |
| 427 | "heat-stack-id": "Vfmodule_vLB1113-1/3dd6d900-772f-4fcc-a0cb-e250ab2bb4db", |
| 428 | "orchestration-status": "active", |
| 429 | "is-base-vf-module": true, |
| 430 | "resource-version": "1510604612557", |
| 431 | "model-invariant-id": "6d760188-9a24-451a-b05b-e08b86cb94f2", |
| 432 | "model-version-id": "93facad9-55f2-4fe0-9574-814c2bc2d071" |
| 433 | }, |
| 434 | "extra-properties": { |
| 435 | "extra-property": [ |
| 436 | { |
| 437 | "property-name": "model-ver.model-version-id", |
| 438 | "property-value": "93facad9-55f2-4fe0-9574-814c2bc2d071" |
| 439 | }, |
| 440 | { |
| 441 | "property-name": "model-ver.model-name", |
| 442 | "property-value": "Vloadbalancer..base_vlb..module-0" |
| 443 | }, |
| 444 | { |
| 445 | "property-name": "model.model-type", |
| 446 | "property-value": "resource" |
| 447 | }, |
| 448 | { |
| 449 | "property-name": "model.model-invariant-id", |
| 450 | "property-value": "6d760188-9a24-451a-b05b-e08b86cb94f2" |
| 451 | }, |
| 452 | { |
| 453 | "property-name": "model-ver.model-version", |
| 454 | "property-value": "1" |
| 455 | } |
| 456 | ] |
| 457 | } |
| 458 | }, |
| 459 | { |
| 460 | "model-name": "Vloadbalancer..dnsscaling..module-1", |
| 461 | "vf-module": { |
| 462 | "vf-module-id": "dummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144", |
| 463 | "vf-module-name": "dummy_db373a8d-f7be-4d02-8ac8-6ca4c305d144", |
| 464 | "is-base-vf-module": false, |
| 465 | "resource-version": "1510610079687", |
| 466 | "model-invariant-id": "356a1cff-71f2-4086-9980-a2927ce11c1c", |
| 467 | "model-version-id": "6b93d804-cfc8-4be3-92cc-9336d135859a" |
| 468 | }, |
| 469 | "extra-properties": { |
| 470 | "extra-property": [ |
| 471 | { |
| 472 | "property-name": "model-ver.model-version-id", |
| 473 | "property-value": "6b93d804-cfc8-4be3-92cc-9336d135859a" |
| 474 | }, |
| 475 | { |
| 476 | "property-name": "model-ver.model-name", |
| 477 | "property-value": "Vloadbalancer..dnsscaling..module-1" |
| 478 | }, |
| 479 | { |
| 480 | "property-name": "model.model-type", |
| 481 | "property-value": "resource" |
| 482 | }, |
| 483 | { |
| 484 | "property-name": "model.model-invariant-id", |
| 485 | "property-value": "356a1cff-71f2-4086-9980-a2927ce11c1c" |
| 486 | }, |
| 487 | { |
| 488 | "property-name": "model-ver.model-version", |
| 489 | "property-value": "1" |
| 490 | } |
| 491 | ] |
| 492 | } |
| 493 | }, |
| 494 | { |
| 495 | "model-name": "Vloadbalancer..dnsscaling..module-1", |
| 496 | "vf-module": { |
| 497 | "vf-module-id": "my_module_db373a8d-f7be-4d02-8ac8-6ca4c305d144", |
| 498 | "vf-module-name": "my_module_1", |
| 499 | "is-base-vf-module": false, |
| 500 | "resource-version": "1510610079687", |
| 501 | "model-invariant-id": "356a1cff-71f2-4086-9980-a2927ce11c1c", |
| 502 | "model-version-id": "6b93d804-cfc8-4be3-92cc-9336d135859a" |
| 503 | }, |
| 504 | "extra-properties": { |
| 505 | "extra-property": [ |
| 506 | { |
| 507 | "property-name": "model-ver.model-version-id", |
| 508 | "property-value": "6b93d804-cfc8-4be3-92cc-9336d135859a" |
| 509 | }, |
| 510 | { |
| 511 | "property-name": "model-ver.model-name", |
| 512 | "property-value": "Vloadbalancer..dnsscaling..module-1" |
| 513 | }, |
| 514 | { |
| 515 | "property-name": "model.model-type", |
| 516 | "property-value": "resource" |
| 517 | }, |
| 518 | { |
| 519 | "property-name": "model.model-invariant-id", |
| 520 | "property-value": "356a1cff-71f2-4086-9980-a2927ce11c1c" |
| 521 | }, |
| 522 | { |
| 523 | "property-name": "model-ver.model-version", |
| 524 | "property-value": "1" |
| 525 | } |
| 526 | ] |
| 527 | } |
| 528 | }, |
| 529 | { |
| 530 | "model-name": "Vloadbalancer..dnsscaling..module-1", |
| 531 | "vf-module": { |
| 532 | "vf-module-id": "my_module_db373a8d-f7be-4d02-8ac8-6ca4c305d144", |
| 533 | "vf-module-name": "my_module_2", |
| 534 | "is-base-vf-module": false, |
| 535 | "resource-version": "1510610079687", |
| 536 | "model-invariant-id": "356a1cff-71f2-4086-9980-a2927ce11c1c", |
| 537 | "model-version-id": "6b93d804-cfc8-4be3-92cc-9336d135859a" |
| 538 | }, |
| 539 | "extra-properties": { |
| 540 | "extra-property": [ |
| 541 | { |
| 542 | "property-name": "model-ver.model-version-id", |
| 543 | "property-value": "6b93d804-cfc8-4be3-92cc-9336d135859a" |
| 544 | }, |
| 545 | { |
| 546 | "property-name": "model-ver.model-name", |
| 547 | "property-value": "Vloadbalancer..dnsscaling..module-1" |
| 548 | }, |
| 549 | { |
| 550 | "property-name": "model.model-type", |
| 551 | "property-value": "resource" |
| 552 | }, |
| 553 | { |
| 554 | "property-name": "model.model-invariant-id", |
| 555 | "property-value": "356a1cff-71f2-4086-9980-a2927ce11c1c" |
| 556 | }, |
| 557 | { |
| 558 | "property-name": "model-ver.model-version", |
| 559 | "property-value": "1" |
| 560 | } |
| 561 | ] |
| 562 | } |
| 563 | } |
| 564 | ] |
| 565 | } |
| 566 | }, |
| 567 | { |
| 568 | "tenant": { |
| 569 | "tenant-id": "41d6d38489bd40b09ea8a6b6b852dcbd", |
| 570 | "tenant-name": "Integration-SB-00", |
| 571 | "resource-version": "1509587770200" |
| 572 | }, |
| 573 | "extra-properties": { |
| 574 | "extra-property": [] |
| 575 | }, |
| 576 | "inventory-response-items": { |
| 577 | "inventory-response-item": [ |
| 578 | { |
| 579 | "cloud-region": { |
| 580 | "cloud-owner": "CloudOwner", |
| 581 | "cloud-region-id": "RegionOne", |
| 582 | "cloud-region-version": "v1", |
| 583 | "resource-version": "1509587770092" |
| 584 | }, |
| 585 | "extra-properties": { |
| 586 | "extra-property": [] |
| 587 | } |
| 588 | } |
| 589 | ] |
| 590 | } |
| 591 | } |
| 592 | ] |
| 593 | } |
| 594 | } |
| 595 | ] |
| 596 | } |
jhh | f505529 | 2019-06-05 23:16:20 -0500 | [diff] [blame] | 597 | |
Saryu Shah | f93b44e | 2019-06-04 01:09:35 +0000 | [diff] [blame] | 598 | |
| 599 | .. code-block:: bash |
| 600 | :caption: NamedQuery-error |
| 601 | |
| 602 | // This is returned if you query the value "error" |
| 603 | { |
| 604 | "requestError": { |
| 605 | "serviceException": { |
| 606 | "messageId": "SVC3001", |
| 607 | "text": "Resource not found for %1 using id %2 (msg=%3) (ec=%4)", |
| 608 | "variables": ["POST Search", "getNamedQueryResponse", "Node Not Found:No Node of type generic-vnf found for properties", "ERR.5.4.6114"] |
| 609 | } |
| 610 | } |
| 611 | } |
| 612 | |
| 613 | |
| 614 | **SO** |
| 615 | |
| 616 | .. code-block:: bash |
| 617 | :caption: SO-response |
| 618 | |
| 619 | { |
| 620 | "requestReferences": { |
| 621 | "requestId":"3e074e0e-5468-48f2-9226-51039d30fe5d" // randomly generated UUID |
| 622 | }, |
| 623 | "request": { |
| 624 | "requestId":"a8f58372-aab2-45b8-9d36-c7a42e701c29", // randomly generated UUID |
| 625 | "requestStatus": { |
| 626 | "percentProgress":0, |
| 627 | "requestState":"COMPLETE", |
| 628 | "wasRolledBack":false |
| 629 | } |
| 630 | } |
| 631 | } |
| 632 | } |
| 633 | |
| 634 | |
| 635 | |
| 636 | **vFC** |
| 637 | |
| 638 | .. code-block:: bash |
| 639 | :caption: vFC-POST-response |
| 640 | |
| 641 | { |
| 642 | "jobId": "1" |
| 643 | } |
| 644 | |
| 645 | |
| 646 | .. code-block:: bash |
| 647 | :caption: vFC-GET-response |
| 648 | |
| 649 | { |
| 650 | "jobId": jobId, //The jod id that you query |
| 651 | "responseDescriptor": { |
| 652 | "progress": "40", |
| 653 | "status": "finished", |
| 654 | "statusDescription": "OMC VMs are decommissioned in VIM", |
| 655 | "errorCode": null, |
| 656 | "responseId": 101, |
| 657 | "responseHistoryList": [{ |
| 658 | "progress": "40", |
| 659 | "status": "proccessing", |
| 660 | "statusDescription": "OMC VMs are decommissioned in VIM", |
| 661 | "errorCode": null, |
| 662 | "responseId": "1" |
| 663 | }, { |
| 664 | "progress": "41", |
| 665 | "status": "proccessing", |
| 666 | "statusDescription": "OMC VMs are decommissioned in VIM", |
| 667 | "errorCode": null, |
| 668 | "responseId": "2" |
| 669 | }] |
| 670 | } |
| 671 | } |
| 672 | |
| 673 | |
| 674 | **GUARD** |
| 675 | |
| 676 | .. code-block:: bash |
| 677 | :caption: permit-response |
| 678 | |
| 679 | { |
| 680 | "decision": "PERMIT", |
| 681 | "details": "Decision Permit. OK!" |
| 682 | } |
| 683 | |
| 684 | |
| 685 | .. code-block:: bash |
| 686 | :caption: deny-response |
| 687 | |
| 688 | //This is returned if the closed loop name is denyGuard |
| 689 | { |
| 690 | "decision": "DENY", |
| 691 | "details": "Decision Deny. You asked for it" |
| 692 | } |
| 693 | |
| 694 | |
| 695 | End of Document |