Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [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 | .. _doc_guide_user_des_param_assign: |
| 6 | |
| 7 | VNF Parameter resolution templating |
| 8 | =================================== |
| 9 | |
| 10 | Overview |
| 11 | -------- |
| 12 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 13 | When instantiating a Service composed of connectivity, PNF, |
| 14 | VNF or CNF there is the need to set the parameter values for the |
| 15 | created instances. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 16 | |
| 17 | For example, it may be necessary to provide a VNF management @ip |
| 18 | Address or a VNF instance name. Those parameters can be necessary |
| 19 | to create cloud resources or to configure the VNF at application level. |
| 20 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 21 | In the first releases of ONAP the operator needed to provide these parameters |
| 22 | as preload data via datasheet or API call before instantiating each |
| 23 | PNF/VNF/CNF. |
| 24 | This was an error-prone manual step that interferes with an automated and |
| 25 | scalable service instantiation. |
| 26 | As part of the ONAP CDS component introduction |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 27 | in Casablanca release, the user, that wants to instantiate a new VNF/CNF, |
| 28 | does not need to get and provide those data. |
| 29 | |
| 30 | Of course the “user” may be a human but may be also an application that uses |
| 31 | the “instantiation” API on ONAP NBI or ONAP SO. |
| 32 | |
| 33 | ONAP CDS component is then in charge of resolving those parameters |
| 34 | automatically. |
| 35 | |
| 36 | .. toctree:: |
| 37 | :maxdepth: 1 |
| 38 | :titlesonly: |
| 39 | |
| 40 | Full CDS documentation is here <../../../../submodules/ccsdk/cds.git/docs/index.rst> |
| 41 | |
| 42 | It offers automated solution out of the box by delivering network intent |
| 43 | declarative package during design time phase that automated the provisioning |
| 44 | and/or network configuration network intent. |
| 45 | |
| 46 | At instantiation time, CDS controller will find (assign) the values |
| 47 | according some “recipies” described in a "Controller Blueprint Archive”: |
| 48 | a collection of files that CDS controller will use to proceed |
| 49 | parameter resolution. |
| 50 | |
| 51 | Thanks to CDS, at instantiation time, the user, that wants to instantiate |
| 52 | a new VNF, does not need to get and provide those data himself. |
| 53 | Of course the “user” may be a human but may be also |
| 54 | an application that uses the “instantiation” API on ONAP NBI or ONAP SO. |
| 55 | |
| 56 | Less effort for the “user”, but more effort for the “designer” |
| 57 | that needs to pre-defined all necessary recipies |
| 58 | during design time. |
| 59 | |
| 60 | The purpose of the following text is to describe various files and content |
| 61 | that are necessary to the CDS controller to resolve any parameters. |
| 62 | |
| 63 | To illustrate the subject, let's take an example: a service composed of |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 64 | an "ubuntu" VNF. That service will be called "ubuntuCDS" in ONAP SDC |
| 65 | for that example. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 66 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 67 | That VNF will be based on a simple ubuntu image. That VF will be called |
| 68 | ubuntuCDS in ONAP SDC for that example. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 69 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 70 | WARNING: all operations need to be adapted to your context |
| 71 | (platform, service, identifiers...) |
| 72 | |
| 73 | Pre-requisite |
| 74 | ------------- |
| 75 | |
| 76 | There are two problems with ONAP ElAlto release: |
| 77 | |
| 78 | **wrong Directed Graphs** |
| 79 | |
| 80 | In ONAP Elalto, a problem was detected about Directed Graphs: JIRA_SDNC_949_ |
| 81 | |
| 82 | The workaround is to upload/replace the following two Directed Graph in SDNC |
| 83 | (via DG Builder UI for example). |
| 84 | |
| 85 | VNF topology assign: DG_VNF_ASSIGN_. |
| 86 | |
| 87 | VF-Module topology assign: DG_VFMODULE_ASSIGN_. |
| 88 | |
| 89 | |
| 90 | **wrong URL in CDS-UI pod** |
| 91 | |
| 92 | CDS-UI pod needs to communicate with CDS BluePrint processor to perform |
| 93 | "enrichment", "publish", "deploy" operations. |
| 94 | |
| 95 | The URL is not correct in the OOM file used to deploy CDS UI. |
| 96 | |
| 97 | If you have permission, you can change the url via: |
| 98 | |
| 99 | :: |
| 100 | |
| 101 | kubectl edit deployment -n onap {{cds ui pod id}} |
| 102 | |
| 103 | API_BLUEPRINT_CONTROLLER_HTTP_BASE_URL parameter must have the following value |
| 104 | |
| 105 | :: |
| 106 | |
| 107 | http://cds-blueprints-processor-http:8080/api/v1 |
| 108 | |
| 109 | |
| 110 | Those problems should be corrected in next ONAP release. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 111 | |
| 112 | Design process |
| 113 | -------------- |
| 114 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 115 | * `Step 1: identify the parameters needed for instantiation`_ |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 116 | * `Step 2: identify the parameters needed for post-instantiation`_ |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 117 | * `Step 3: identify the resolution method for each parameter`_ |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 118 | * `Step 4: add new data definition in CDS resource dictionary`_ |
| 119 | * `Step 5: write template files`_ |
| 120 | * `Step 6: write mapping files`_ |
| 121 | * `Step 7: write scripts`_ |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 122 | * `Step 8: write the "blueprint" file`_ |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 123 | * `Step 9: build the "Controller Blueprint Archive” (cba)`_ |
| 124 | * `Step 10: attached the cba to a service definition`_ |
| 125 | * `Step 11: distribute the service`_ |
| 126 | * `Step 12: instantiate the service and check`_ |
| 127 | |
| 128 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 129 | Step 1: identify the parameters needed for instantiation |
| 130 | -------------------------------------------------------- |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 131 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 132 | To instantiate an "ubuntu" VNF, a Heat Template can be used. Several |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 133 | parameters are defined in that template: vnf_name, image_name, |
| 134 | management @ip... |
| 135 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 136 | This Heat Template is a first place to identify the parameters that need |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 137 | to be resolved. |
| 138 | |
| 139 | Our example: |
| 140 | |
| 141 | :: |
| 142 | |
| 143 | parameters: |
| 144 | # Metadata required by ONAP |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 145 | vnf_id: ubuntuCDS-VNF |
| 146 | vf_module_id: ubuntuCDS-VF-module |
| 147 | vnf_name: ubuntuCDS-VNF-name |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 148 | |
| 149 | # Server parameters, naming required by ONAP |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 150 | ubuntuCDS_image_name: ubuntu-18 |
| 151 | ubuntuCDS_flavor_name: onap.small |
| 152 | ubuntuCDS_pub_key: ssh-rsa AAAAB3VHCx...vVL8l1BrX3BY0R8D imported-openssh-key |
| 153 | ubuntuCDS_name_0: ubuntuCDS |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 154 | |
| 155 | # Network parameters, naming required by ONAP |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 156 | admin_plane_net_name: admin |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 157 | |
| 158 | Step 2: identify the parameters needed for post-instantiation |
| 159 | ------------------------------------------------------------- |
| 160 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 161 | Post-instantiation activity will occur after the VNF is instantiated. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 162 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 163 | Typically, it can be adding a first firewall rule in a firewall VNF. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 164 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 165 | In the ubuntuCDS example, there is no such parameter. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 166 | |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 167 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 168 | Step 3: identify the resolution method for each parameter |
| 169 | --------------------------------------------------------- |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 170 | |
| 171 | Here after the decision/solution that the designer may take: |
| 172 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 173 | **vnf_name** will be resolved via an input that will be provided |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 174 | in the instantiation request. |
| 175 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 176 | **ubuntuCDS_image_name** will be resolved via an input that will be provided |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 177 | in the instantiation request. |
| 178 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 179 | **ubuntuCDS_flavor_name** will be resolved via an input that will be provided |
| 180 | in the instantiation request. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 181 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 182 | **ubuntuCDS_pub_key** will be resolved via an input that will be provided |
| 183 | in the instantiation request. |
| 184 | |
| 185 | **admin_plane_net_name** will be resolved via an input that will be provided |
| 186 | in the instantiation request. |
| 187 | |
| 188 | Service Designer needs also to know that some parameters will be |
| 189 | automatically resolved by ONAP SO and/or ONAP SDNC. |
| 190 | |
| 191 | - service-instance-id |
| 192 | - vnf-id |
| 193 | - vf_module_id |
| 194 | |
| 195 | For each resolution method, Service Designer needs to identify all |
| 196 | necessary parameters that must be provided to the resoluton method |
| 197 | in order to obtain the resolution. |
| 198 | |
| 199 | Also, Service Designer needs to know that ONAP will instantiate |
| 200 | a service, a list of VNF that are composing the service and, for each VNF, |
| 201 | a "VF-module" will be instantiated. |
| 202 | |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 203 | |
| 204 | Step 4: add new data definition in CDS resource dictionary |
| 205 | ---------------------------------------------------------- |
| 206 | |
| 207 | In CDS, there is a database that will contain all resource Definitions |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 208 | in order to be able to re-use those resources from one service to an other. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 209 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 210 | Service Designer needs to check about existing resource definitions |
| 211 | in the dictionary. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 212 | |
| 213 | By default, some resources are pre-loaded when installing ONAP platform. |
| 214 | |
| 215 | Preloaded resources (parameter definition): Resources_. |
| 216 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 217 | Be careful: the content of the resource dictionary is not the same from |
| 218 | one ONAP release to an other. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 219 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 220 | If Service Designer sees that there is an existing parameter |
| 221 | that corresponds to the need, he has the possibility to re-use it |
| 222 | in the mapping file(s), but maybe with a different name. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 223 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 224 | For example, "image_name" is already defined in the resource dictionary but, |
| 225 | it is named "freeRadius_image_name" in the Heat files. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 226 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 227 | For the ubuntuCDS example, there is no need to add any entry in the |
| 228 | data_dictionary |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 229 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 230 | "curls" requests example to declare a new resource |
| 231 | :download:`Here <ubuntu_example/curls_resource_dictionary.txt>` |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 232 | |
| 233 | Step 5: write template files |
| 234 | ---------------------------- |
| 235 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 236 | In this Ubuntu example, Designer needs to create 2 "templates" files. |
| 237 | Naming of those files is important. For VNF, prefix name must be equal to the |
| 238 | VF name in ONAP SDC. For the VFmodule, prefix name must be equal to the name |
| 239 | of the Heat template. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 240 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 241 | - VNF level :download:`VNF_template_file <ubuntu_example/cba-before-enrichment\ |
| 242 | /Templates/ubuntuCDS-template.vtl>` |
| 243 | - VF-module level :download:`VFmodule_template_file <ubuntu_example/cba-before\ |
| 244 | -enrichment/Templates/base_ubuntuCDS-template.vtl>` |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 245 | |
| 246 | CDS makes use of "velocity template" or "Jinja template" files. |
| 247 | |
| 248 | This way, CDS is able to generate the desired datastructure |
| 249 | with resolved values, that will then be sent to the target system: |
| 250 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 251 | - openstack when instantiating the Heat stack |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 252 | - instantiated VNF when doing some post-instantiation operation |
| 253 | |
| 254 | There are two sections in each velocity file: |
| 255 | |
| 256 | - "resource-accumulator-resolved-data": a list of all parameters |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 257 | - "capability-data": a list of "capabilities" to process and resolve |
| 258 | a parameter |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 259 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 260 | A capability can be an other way to resolve a parameter, |
| 261 | using a directed graph. |
| 262 | |
| 263 | A capability may also be an action to be performed such as modifying |
| 264 | a data in ONAP AAI. |
| 265 | |
| 266 | ONAP SDNC provides those "capabilities": |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 267 | |
| 268 | - generate-name |
| 269 | - vlan-tag-assign |
| 270 | - netbox-ip-assign |
| 271 | - aai-vnf-put |
| 272 | - ... |
| 273 | |
| 274 | There is an SDNC Directed Graph associated to each of those "capability". |
| 275 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 276 | Service Designer needs to know about those capabilities with their |
| 277 | input/output, in order to re-use them. Especially, Service Designer needs |
| 278 | to know inputs because those inputs need to be part of the templates. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 279 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 280 | In case Service Designer wants to use a new capability, a solution is |
| 281 | to create a Directed Graph and update the self-serve-vnf-assign and/or |
| 282 | self-serve-vf-module-assign Directed Graph by adding a new |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 283 | entry in the list of capabilities (node: set ss.capability.execution-order[]) |
| 284 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 285 | The "aai-vfmodule-put" capability is important to be part of a vf-module |
| 286 | template because it will be used to put the vf-module-name in AAI |
| 287 | and ONAP SO will use that value to name the heat stack. |
| 288 | |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 289 | |image3| |
| 290 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 291 | |
| 292 | About the name/value of each parameter, Service Designer needs to understand |
| 293 | how various information will map between the various files needed by CDS. |
| 294 | |
| 295 | |image5| |
| 296 | |
| 297 | And be very careful with "_" or "-" |
| 298 | |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 299 | Step 6: write mapping files |
| 300 | --------------------------- |
| 301 | |
| 302 | Along with each velocity template, Designer needs to create a |
| 303 | "mapping" file. |
| 304 | |
| 305 | This is the place where the Designer explains, for each parameter: |
| 306 | |
| 307 | - value source: the system or database that will provide the value |
| 308 | - default value |
| 309 | |
| 310 | At VNF instantiation step, values are often coming from input (in the request |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 311 | sent by the user, in the "instanceParams" section of the vnf). |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 312 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 313 | At VF module instantion step, values can come form input also in the request |
| 314 | sent by the user, in the "instanceParams" section of the vf-module) |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 315 | |
| 316 | Resolved data are always stored in SDNC database (MDSAL) |
| 317 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 318 | Note1: if service designer wants to re-use for vf-module a |
| 319 | parameter/value from VNF "userParams" section, |
| 320 | then the source will be from "SDNC" in the vf-module mapping file. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 321 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 322 | Note2: service-instance-id, vnf-id and vf_module_id are parameters considered |
| 323 | as "input" from CDS point of view but in reality they are resolved by ONAP SO |
| 324 | with ONAP AAI. Thus, those parameters are not "input" from ONAP SO |
| 325 | point of view: service designer has not need to provide those parameters in |
| 326 | service instantiation request (step 12). |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 327 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 328 | For the ubuntu example, there are then 2 mapping files. |
| 329 | File names are important and must be aligned with vtl template names. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 330 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 331 | - VNF level :download:`VNF_mapping_file <ubuntu_example/cba-before-enrichment\ |
| 332 | /Templates/ubuntuCDS-mapping.json>` |
| 333 | - VFmodule level :download:`VFmodule_mapping_file <ubuntu_example/cba-before-\ |
| 334 | enrichment/Templates/base_ubuntuCDS-mapping.json>` |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 335 | |
| 336 | Step 7: write scripts |
| 337 | --------------------- |
| 338 | |
| 339 | Sometimes, it will be necessary to use some scripts (python, kotlin, |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 340 | ansible...) to process some post-configuration operation. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 341 | |
| 342 | Those scripts needs to be part of the "Controller Blueprint Archive” (cba). |
| 343 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 344 | No such script for the ubuntuCDS example. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 345 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 346 | |
| 347 | Step 8: write the "blueprint" file |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 348 | -------------------------------------- |
| 349 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 350 | The "designer" will then create a "blueprint". |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 351 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 352 | It is a JSON file and for the ubuntuCDS usecase, it is called |
| 353 | ubuntuCDS.json. |
| 354 | Name must be aligned with VF name in ONAP SDC. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 355 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 356 | This file will be the main entry point for CDS blueprint processor. |
| 357 | This processor will use that file to understand what need to |
| 358 | be processed and how to process it. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 359 | |
| 360 | The content of that file is composed of several sections conforming to TOSCA |
| 361 | specifications. |
| 362 | |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 363 | |image1| |
| 364 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 365 | For the ubuntu example :download:`CDS blueprint <ubuntu_example/cba-before-\ |
| 366 | enrichment/Definitions/ubuntuCDS.json>` before enrichment. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 367 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 368 | This example is the minimum that is required to simply instantiate a |
| 369 | VNF. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 370 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 371 | Some extension can then be added in order to define additional |
| 372 | operations. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 373 | |
| 374 | Step 9: build the "Controller Blueprint Archive” (cba) |
| 375 | ------------------------------------------------------ |
| 376 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 377 | Having created velocity templates, mapping files and a first |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 378 | CDS blueprint version, |
| 379 | it is now simple to create the "Controller Blueprint Archive” (cba). |
| 380 | |
| 381 | This is a "zip-like" archive file that will have the following structure |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 382 | and content ("environment", "scripts" and "plans" are optional): |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 383 | |
| 384 | |image2| |
| 385 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 386 | For the ubuntu example :download:`cba archive <ubuntu_example/cba-before-\ |
| 387 | enrichment/cba-before-enrichment.zip>` before enrichment. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 388 | |
| 389 | To complete that cba, an "enrichment" operation is needed. |
| 390 | |
| 391 | Service Designer can use two methods: |
| 392 | |
| 393 | - using CDS User Interface |
| 394 | - using CDS rest API |
| 395 | |
| 396 | Service Designer needs to send the cba to CDS-UI pod and requests |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 397 | the enrichment, then save and then download. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 398 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 399 | Result will be that the cba will now contains several new files in "Definition" |
| 400 | folder of the cba. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 401 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 402 | The "blueprint" file will also be completed. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 403 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 404 | The "enriched" cba is now ready to be onboarded in ONAP SDC along with |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 405 | a service definition. |
| 406 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 407 | For the ubuntu example :download:`cba archive <ubuntu_example/cba-after\ |
| 408 | -enrichment/cba-ubuntuCDS-enriched.zip>` after enrichment. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 409 | |
| 410 | Step 10: attached the cba to a service definition |
| 411 | ------------------------------------------------- |
| 412 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 413 | In SDC, when defining a VF, Designer will attach the cba archive |
| 414 | to the VF definition, using the "deployment artifact" section. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 415 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 416 | Having define all necessary VF, Service Designer will create a SERVICE in SDC. |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 417 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 418 | Service Designer will compose the SERVICE with appropriate VF(s) and will have |
| 419 | to modify PROPERTIES in the "properties assignement" section. |
| 420 | |
| 421 | Service Designer needs to provide values for sdnc_artifact_name, |
| 422 | sdnc_model_name and sdnc_model_verion. |
| 423 | |
| 424 | This will tell SO which blueprint to use for the service model that is being |
| 425 | instantiate |
| 426 | |
| 427 | SDC sdnc_artifact_name = CBA blueprint json filename, e.g. “ubuntuCDS”, |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 428 | we will see below that we will have vnf-mapping.json and vnf-template.vtl |
| 429 | templates in the blueprint. |
| 430 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 431 | SDC sdnc_model_name = CBA Metadata template_name, e.g. “ubuntuCDS”, |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 432 | we can see in the below screenshot the metadata section showing template name. |
| 433 | |
| 434 | SDC sdnc_model_verion = CBA Metadata template_version, e.g. “1.0.0”, |
| 435 | we can see in the below screenshot the metadata section showing |
| 436 | template version. |
| 437 | |
| 438 | |image4| |
| 439 | |
| 440 | Step 11: distribute the service |
| 441 | ------------------------------- |
| 442 | |
| 443 | In SDC, when distributing the service, the CDS controller will be |
| 444 | informed that a new cba archive is available. |
| 445 | |
| 446 | CDS controller will then collect the cba archive. |
| 447 | |
| 448 | Step 12: instantiate the service and check |
| 449 | ------------------------------------------ |
| 450 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 451 | Here is an example of an ONAP SO api request to |
| 452 | instantiate the ubuntu service. |
| 453 | |
| 454 | This request is used to instantiate a service using the "Macro" mode. |
| 455 | |
| 456 | Do not try to use that example as-is: you need to adapt all values to your |
| 457 | platform/service model. |
| 458 | |
| 459 | In this example, the request contains several "inputs" at VNF level and |
| 460 | several "inputs" at VF-module level. |
| 461 | |
| 462 | All various "id" and "version" are some copy/paste information that |
| 463 | Service Designer has the possibility to find in the TOSCA service |
| 464 | template created in ONAP SDC. |
| 465 | |
| 466 | This request will instantiate a "service", a "VNF" and a "VF-module". |
| 467 | That "service" instance is attached to the customer named "JohnDoe" with |
| 468 | service subscription named "ubuntCDS" |
| 469 | (supposed already declared in your ONAP AAI). |
| 470 | |
| 471 | In case the instantiation fails, a roolback is performed (parameter |
| 472 | "suppressRollback" = false) |
| 473 | |
| 474 | For that example, no "homing" and the "cloud" tenant is explicitely |
| 475 | provided (supposed already declared in your ONAP AAI) |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 476 | |
| 477 | :: |
| 478 | |
| 479 | curl -X POST \ |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 480 | http://so.api.simpledemo.onap.org:30277/onap/so/infra/serviceInstantiation/v7/serviceInstances \ |
| 481 | -H 'Accept: application/json' \ |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 482 | -H 'Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==' \ |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 483 | -H 'Content-Type: application/json' \ |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 484 | -H 'X-ONAP-PartnerName: NBI' \ |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 485 | -H 'cache-control: no-cache' \ |
| 486 | -d '{ |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 487 | "requestDetails": { |
| 488 | "subscriberInfo": { |
| 489 | "globalSubscriberId": "JohnDoe" |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 490 | }, |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 491 | "requestInfo": { |
| 492 | "suppressRollback": false, |
| 493 | "productFamilyId": "Useless_But_Mandatory", |
| 494 | "requestorId": "adt", |
| 495 | "instanceName": "My_ubuntuCDS_service_instance_001", |
| 496 | "source": "VID" |
| 497 | }, |
| 498 | "cloudConfiguration": { |
| 499 | "lcpCloudRegionId": "RegionOne", |
| 500 | "tenantId": "71cf9d931d9e4b8e9fcca50d97c1cf96", |
| 501 | "cloudOwner": "ONAP" |
| 502 | }, |
| 503 | "requestParameters": { |
| 504 | "subscriptionServiceType": "ubuntuCDS", |
| 505 | "userParams": [ |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 506 | { |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 507 | "Homing_Solution": "none" |
| 508 | }, |
| 509 | { |
| 510 | "service": { |
| 511 | "instanceParams": [], |
| 512 | "instanceName": "My_ubuntuCDS_service_instance_001", |
| 513 | "resources": { |
| 514 | "vnfs": [ |
| 515 | { |
| 516 | "modelInfo": { |
| 517 | "modelName": "ubuntuCDS", |
| 518 | "modelVersionId": "c6a5534e-76d5-4128-97bf-ad3b72208d53", |
| 519 | "modelInvariantUuid": "ed3064e7-62c0-494c-bb9b-4f56d1ad157e", |
| 520 | "modelVersion": "1.0", |
| 521 | "modelCustomizationId": "6a32fb56-191e-4d11-a0cc-44b779aba4fc", |
| 522 | "modelInstanceName": "ubuntuCDS 0" |
| 523 | }, |
| 524 | "cloudConfiguration": { |
| 525 | "lcpCloudRegionId": "RegionOne", |
| 526 | "tenantId": "71cf9d931d9e4b8e9fcca50d97c1cf96" |
| 527 | }, |
| 528 | "platform": { |
| 529 | "platformName": "Useless_But_Mandatory" |
| 530 | }, |
| 531 | "productFamilyId": "Useless_But_Mandatory", |
| 532 | "instanceName": "My_VNF_ubuntuCDS_instance_001", |
| 533 | "instanceParams": [ |
| 534 | { |
| 535 | "vnf_name": "My_VNF_ubuntuCDS_instance_001" |
| 536 | } |
| 537 | ], |
| 538 | "vfModules": [ |
| 539 | { |
| 540 | "modelInfo": { |
| 541 | "modelName": "Ubuntucds..base_ubuntuCDS..module-0", |
| 542 | "modelVersionId": "3025cd36-b170-4667-abb1-2bae1f297844", |
| 543 | "modelInvariantUuid": "0101f9e0-7beb-4b58-92c7-ba3324b5a54d", |
| 544 | "modelVersion": "1", |
| 545 | "modelCustomizationId": "9bca4d4b-e27c-4652-a61e-b1b4ebca503d" |
| 546 | }, |
| 547 | "instanceName": "My_vfModule_ubuntuCDS_instance_001", |
| 548 | "instanceParams": [ |
| 549 | { |
| 550 | "vnf_name": "My_VNF_ubuntuCDS_instance_001", |
| 551 | "vf_module_name": "My_vfModule_ubuntuCDS_instance_001", |
| 552 | "ubuntuCDS_pub_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDY15cdBmIs2XOpe4EiFCsaY6bmUmK/GysMoLl4UG51JCfJwvwoWCoA+6mDIbymZxhxq9IGxilp/yTA6WQ9s/5pBag1cUMJmFuda9PjOkXl04jgqh5tR6I+GZ97AvCg93KAECis5ubSqw1xOCj4utfEUtPoF1OuzqM/lE5mY4N6VKXn+fT7pCD6cifBEs6JHhVNvs5OLLp/tO8Pa3kKYQOdyS0xc3rh+t2lrzvKUSWGZbX+dLiFiEpjsUL3tDqzkEMNUn4pdv69OJuzWHCxRWPfdrY9Wg0j3mJesP29EBht+w+EC9/kBKq+1VKdmsXUXAcjEvjovVL8l1BrX3BY0R8D imported-openssh-key", |
| 553 | "ubuntuCDS_image_name": "ubuntu-18.04-daily", |
| 554 | "ubuntuCDS_flavor_name": "onap.small", |
| 555 | "ubuntuCDS_name_0": "ubuntuCDS-VM-001", |
| 556 | "admin_plane_net_name": "admin" |
| 557 | } |
| 558 | ] |
| 559 | } |
| 560 | ] |
| 561 | } |
| 562 | ] |
| 563 | }, |
| 564 | "modelInfo": { |
| 565 | "modelVersion": "1.0", |
| 566 | "modelVersionId": "10369444-1e06-4d5d-974b-362bcfd19533", |
| 567 | "modelInvariantId": "32e00b49-eff8-443b-82a8-b75fbb6e3867", |
| 568 | "modelName": "ubuntuCDS", |
| 569 | "modelType": "service" |
| 570 | } |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 571 | } |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 572 | } |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 573 | ], |
| 574 | "aLaCarte": false, |
| 575 | "usePreload": false |
| 576 | }, |
| 577 | "owningEntity": { |
| 578 | "owningEntityId": "Useless_But_Mandatory", |
| 579 | "owningEntityName": "Useless_But_Mandatory" |
| 580 | }, |
| 581 | "modelInfo": { |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 582 | "modelVersion": "1.0", |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 583 | "modelVersionId": "10369444-1e06-4d5d-974b-362bcfd19533", |
| 584 | "modelInvariantId": "32e00b49-eff8-443b-82a8-b75fbb6e3867", |
| 585 | "modelName": "ubuntuCDS", |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 586 | "modelType": "service" |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 587 | } |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 588 | } |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 589 | }' |
| 590 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 591 | In response, ONAP SO will immediately provide a requestId and a service |
| 592 | instance id. |
| 593 | |
| 594 | The instantiation will take some time. It will be necessary |
| 595 | to perform a "GET" on the request to check the result. |
| 596 | |
| 597 | :: |
| 598 | |
| 599 | curl -X GET \ |
| 600 | http://so.api.simpledemo.onap.org:30277/onap/so/infra/orchestrationRequests/v7/{{requestID}} \ |
| 601 | -H 'Accept: application/json' \ |
| 602 | -H 'Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==' \ |
| 603 | -H 'Content-Type: application/json' \ |
| 604 | -H 'X-FromAppId: AAI' \ |
| 605 | -H 'X-TransactionId: get_aai_subscr' \ |
| 606 | -H 'cache-control: no-cache' |
| 607 | |
Rene_Robert | b0c7d86 | 2019-12-03 16:56:22 +0100 | [diff] [blame] | 608 | |
| 609 | To delete the service instance, just add the service_instance_id in the URL and |
| 610 | send a DELETE operation. |
| 611 | |
| 612 | |
| 613 | :: |
| 614 | |
| 615 | curl -X DELETE \ |
| 616 | http://so.api.simpledemo.onap.org:30277/onap/so/infra/serviceInstantiation/v7/serviceInstances/{{service_instance_Id}} \ |
| 617 | -H 'Accept: application/json' \ |
| 618 | -H 'Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==' \ |
| 619 | -H 'Content-Type: application/json' \ |
| 620 | -H 'X-ONAP-PartnerName: NBI' \ |
| 621 | -H 'cache-control: no-cache' \ |
| 622 | -d '{ |
| 623 | "requestDetails": { |
| 624 | "subscriberInfo": { |
| 625 | "globalSubscriberId": "JohnDoe" |
| 626 | }, |
| 627 | "requestInfo": { |
| 628 | "suppressRollback": false, |
| 629 | "productFamilyId": "Useless_But_Mandatory", |
| 630 | "requestorId": "adt", |
| 631 | "instanceName": "My_ubuntuCDS_service_instance_001", |
| 632 | "source": "VID" |
| 633 | }, |
| 634 | "cloudConfiguration": { |
| 635 | "lcpCloudRegionId": "RegionOne", |
| 636 | "tenantId": "71cf9d931d9e4b8e9fcca50d97c1cf96", |
| 637 | "cloudOwner": "ONAP" |
| 638 | }, |
| 639 | "requestParameters": { |
| 640 | "subscriptionServiceType": "ubuntuCDS", |
| 641 | "userParams": [ |
| 642 | { |
| 643 | "Homing_Solution": "none" |
| 644 | }, |
| 645 | { |
| 646 | "service": { |
| 647 | "instanceParams": [], |
| 648 | "instanceName": "My_ubuntuCDS_service_instance_001", |
| 649 | "resources": { |
| 650 | "vnfs": [ |
| 651 | { |
| 652 | "modelInfo": { |
| 653 | "modelName": "ubuntuCDS", |
| 654 | "modelVersionId": "c6a5534e-76d5-4128-97bf-ad3b72208d53", |
| 655 | "modelInvariantUuid": "ed3064e7-62c0-494c-bb9b-4f56d1ad157e", |
| 656 | "modelVersion": "1.0", |
| 657 | "modelCustomizationId": "6a32fb56-191e-4d11-a0cc-44b779aba4fc", |
| 658 | "modelInstanceName": "ubuntuCDS 0" |
| 659 | }, |
| 660 | "cloudConfiguration": { |
| 661 | "lcpCloudRegionId": "RegionOne", |
| 662 | "tenantId": "71cf9d931d9e4b8e9fcca50d97c1cf96" |
| 663 | }, |
| 664 | "platform": { |
| 665 | "platformName": "Useless_But_Mandatory" |
| 666 | }, |
| 667 | "productFamilyId": "Useless_But_Mandatory", |
| 668 | "instanceName": "My_VNF_ubuntuCDS_instance_001", |
| 669 | "instanceParams": [ |
| 670 | { |
| 671 | "vnf_name": "My_VNF_ubuntuCDS_instance_001" |
| 672 | } |
| 673 | ], |
| 674 | "vfModules": [ |
| 675 | { |
| 676 | "modelInfo": { |
| 677 | "modelName": "Ubuntucds..base_ubuntuCDS..module-0", |
| 678 | "modelVersionId": "3025cd36-b170-4667-abb1-2bae1f297844", |
| 679 | "modelInvariantUuid": "0101f9e0-7beb-4b58-92c7-ba3324b5a54d", |
| 680 | "modelVersion": "1", |
| 681 | "modelCustomizationId": "9bca4d4b-e27c-4652-a61e-b1b4ebca503d" |
| 682 | }, |
| 683 | "instanceName": "My_vfModule_ubuntuCDS_instance_001", |
| 684 | "instanceParams": [ |
| 685 | { |
| 686 | "vnf_name": "My_VNF_ubuntuCDS_instance_001", |
| 687 | "vf_module_name": "My_vfModule_ubuntuCDS_instance_001", |
| 688 | "ubuntuCDS_pub_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDY15cdBmIs2XOpe4EiFCsaY6bmUmK/GysMoLl4UG51JCfJwvwoWCoA+6mDIbymZxhxq9IGxilp/yTA6WQ9s/5pBag1cUMJmFuda9PjOkXl04jgqh5tR6I+GZ97AvCg93KAECis5ubSqw1xOCj4utfEUtPoF1OuzqM/lE5mY4N6VKXn+fT7pCD6cifBEs6JHhVNvs5OLLp/tO8Pa3kKYQOdyS0xc3rh+t2lrzvKUSWGZbX+dLiFiEpjsUL3tDqzkEMNUn4pdv69OJuzWHCxRWPfdrY9Wg0j3mJesP29EBht+w+EC9/kBKq+1VKdmsXUXAcjEvjovVL8l1BrX3BY0R8D imported-openssh-key", |
| 689 | "ubuntuCDS_image_name": "ubuntu-18.04-daily", |
| 690 | "ubuntuCDS_flavor_name": "onap.small", |
| 691 | "ubuntuCDS_name_0": "ubuntuCDS-VM-001", |
| 692 | "admin_plane_net_name": "admin" |
| 693 | } |
| 694 | ] |
| 695 | } |
| 696 | ] |
| 697 | } |
| 698 | ] |
| 699 | }, |
| 700 | "modelInfo": { |
| 701 | "modelVersion": "1.0", |
| 702 | "modelVersionId": "10369444-1e06-4d5d-974b-362bcfd19533", |
| 703 | "modelInvariantId": "32e00b49-eff8-443b-82a8-b75fbb6e3867", |
| 704 | "modelName": "ubuntuCDS", |
| 705 | "modelType": "service" |
| 706 | } |
| 707 | } |
| 708 | } |
| 709 | ], |
| 710 | "aLaCarte": false, |
| 711 | "usePreload": false |
| 712 | }, |
| 713 | "owningEntity": { |
| 714 | "owningEntityId": "Useless_But_Mandatory", |
| 715 | "owningEntityName": "Useless_But_Mandatory" |
| 716 | }, |
| 717 | "modelInfo": { |
| 718 | "modelVersion": "1.0", |
| 719 | "modelVersionId": "10369444-1e06-4d5d-974b-362bcfd19533", |
| 720 | "modelInvariantId": "32e00b49-eff8-443b-82a8-b75fbb6e3867", |
| 721 | "modelName": "ubuntuCDS", |
| 722 | "modelType": "service" |
| 723 | } |
| 724 | } |
| 725 | }' |
| 726 | |
| 727 | |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 728 | Trouble shooting |
| 729 | ---------------- |
| 730 | |
| 731 | Have a look to |
| 732 | |
| 733 | - debug.log in CDS blueprint processor pod |
| 734 | - debug.log into SO Bpmn pod |
| 735 | - karaf.log into SDNC pod |
| 736 | |
Rene_Robert | 5cceec6 | 2019-11-04 09:03:23 +0100 | [diff] [blame] | 737 | .. |image1| image:: ../media/cds-blueprint.png |
| 738 | .. |image2| image:: ../media/cba.png |
| 739 | .. |image3| image:: ../media/capabilities.png |
| 740 | .. |image4| image:: ../media/sdc.png |
Rene_Robert | 0551898 | 2019-11-28 11:26:39 +0100 | [diff] [blame] | 741 | .. |image5| image:: ../media/mapping.png |
| 742 | .. _JIRA_SDNC_949: https://jira.onap.org/browse/SDNC-949 |
| 743 | .. _Resources: https://git.onap.org/ccsdk/cds/tree/components/model-catalog/resource-dictionary/starter-dictionary |
| 744 | .. _DG_VNF_ASSIGN: https://gerrit.onap.org/r/gitweb?p=sdnc/oam.git;a=blob_plain;f=platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vnf-topology-operation-assign.json;hb=HEAD |
| 745 | .. _DG_VFMODULE_ASSIGN: https://gerrit.onap.org/r/gitweb?p=sdnc/oam.git;a=blob_plain;f=platform-logic/generic-resource-api/src/main/json/GENERIC-RESOURCE-API_vf-module-topology-operation-assign.json;hb=HEAD |