Re: [onap-discuss] SDN-C Code flow Queries
If you mean by flow execution from one node to another then they are in memory. Once your DG flow execution gets completed flow will come back to caller which is your northbound rpcs. Thanks, Prashant From: onap-discuss-boun...@lists.onap.org [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of olivier.augiz...@orange.com Sent: Friday, July 7, 2017 12:40 PM To: FREEMAN, BRIAN D ; Arun Arora (c) ; onap-discuss@lists.onap.org Subject: Re: [onap-discuss] SDN-C Code flow Queries Thanks again. Now it is clear ! Last question (I hope). Are DG execution states just stored in memory or are they persisted? (And if persisted, where?). Best regards, Olivier De : FREEMAN, BRIAN D [mailto:bf1...@att.com] Envoyé : jeudi 6 juillet 2017 18:09 À : AUGIZEAU Olivier DTSI/DERS; Arun Arora (c); onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Objet : RE: SDN-C Code flow Queries Depends on the service. Today we do MPLS VPN provisioning on a per vPE/PE basis and rollback just that vPE/PE. When we have multiple devices in one SDNC transaction we make the DG handle the consistent application of the change or rollback as needed. We would generally avoid your use case since we tend to bring up new links on vPE's without touching the existing vPE's connections , but if we decided to do something like change 4 vPE's in one customer order we would pass in an array of the vPE changes and the DG would process the transaction using one of two mechanism. i)Careful booking of transaction and success and rollback (btw this is why we separate current md-sal data from input md-sal data) ii) Netconf-lite where the adaptor would do a netconf session to each device and only after all have check-commit successfully do we do the commits and unlocks. iii) In the end we would usually only touch one vPE at a time and on failure respond back to SO that orchestration has to be involved since generally we dont want to rollback the other 3 successfully configured vPE's. From: olivier.augiz...@orange.com<mailto:olivier.augiz...@orange.com> [mailto:olivier.augiz...@orange.com] Sent: Thursday, July 06, 2017 11:48 AM To: FREEMAN, BRIAN D mailto:bf1...@att.com>>; Arun Arora (c) mailto:aroraa...@vmware.com>>; onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: RE: SDN-C Code flow Queries Hello, My question related to the roll back mechanism was not related to each specific network adaptor but global to a DG execution. (Of course if a network adaptor cannot implement an "atomic" integrity we cannot have a global integrity) . Let's take as example a VPN provisioning involving 4 PMLS PE routers with the same Netconf adaptor. If the SDN-C can configure 3 PE and fails for the 4th --> how the global network configuration consistency is guaranteed ? Is the DG execution state stored and resumed later, is there a global roll-back? Or is it a DG design concern to handle each failure exception? Best regards, Olivier De : FREEMAN, BRIAN D [mailto:bf1...@att.com] Envoyé : jeudi 6 juillet 2017 16:23 À : AUGIZEAU Olivier DTSI/DERS; Arun Arora (c); onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Objet : RE: SDN-C Code flow Queries Responses below. Brian From: olivier.augiz...@orange.com<mailto:olivier.augiz...@orange.com> [mailto:olivier.augiz...@orange.com] Sent: Thursday, July 06, 2017 3:16 AM To: FREEMAN, BRIAN D mailto:bf1...@att.com>>; Arun Arora (c) mailto:aroraa...@vmware.com>>; onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: RE: SDN-C Code flow Queries Hello, Thanks a lot Brian for this clarification. Could you please give additional information about the following points? (3) "DG Builder builds the logic for processing rpc requests that are in yang models. 1 rpc == 1 DG" ? The sliapi Yang data model includes an execute-graph rpc that have other rpc as attribute Is the execute-graph rpc should be considered as a "meta" rpc with DG "rpc" as attribute? >> They both have rpc attributes. If you look at the vnf-topology-operation DG >> it has an rpc called vnf-topology-operation. The vnf-topolog-operation DG >> has "call" nodes that refer to the sub-tending DG's like vnf-topology-assign >> () . the >> vnf-topology-assign rpc's etc do not need to be an rpc in the VNF-API.yang >> file since they aren't accessed via the REST API on the northbound side >> ([sdnc/northbound.git]<https://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.onap.org_r_gitweb-3Fp-3Dsdnc_northbound.git-3Ba-3Dtree-3Bhb-3Drefs_heads_release-2D1.0.0&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=ljASFxbEc5d1HogFJWN2v-THS1_j6GMcgrZaq6jCVIU&s=VXIwVF_tiF9Uz59HYwZU52Vd
Re: [onap-discuss] SDN-C Code flow Queries
it-3Ba-3Dtree-3Bf-3Dvnfapi_model-3Bhb-3Drefs_heads_release-2D1.0.0&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=ljASFxbEc5d1HogFJWN2v-THS1_j6GMcgrZaq6jCVIU&s=SZ8vHYliDvGaYZjCQmmP3cAUISUYHai3xg7T8MJ17Dc&e=> >> / >> src<https://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.onap.org_r_gitweb-3Fp-3Dsdnc_northbound.git-3Ba-3Dtree-3Bf-3Dvnfapi_model_src-3Bhb-3Drefs_heads_release-2D1.0.0&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=ljASFxbEc5d1HogFJWN2v-THS1_j6GMcgrZaq6jCVIU&s=YrrEX4zYbliLLf4a5ueu9rT5wrxgauvfYlnzGQzy6Yk&e=> >> / >> main<https://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.onap.org_r_gitweb-3Fp-3Dsdnc_northbound.git-3Ba-3Dtree-3Bf-3Dvnfapi_model_src_main-3Bhb-3Drefs_heads_release-2D1.0.0&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=ljASFxbEc5d1HogFJWN2v-THS1_j6GMcgrZaq6jCVIU&s=GN_SPbxsU5ou1d60FUY5w95q0sI4dcSUCgaOJOSzhyU&e=> >> / >> yang<https://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.onap.org_r_gitweb-3Fp-3Dsdnc_northbound.git-3Ba-3Dtree-3Bf-3Dvnfapi_model_src_main_yang-3Bhb-3Drefs_heads_release-2D1.0.0&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=ljASFxbEc5d1HogFJWN2v-THS1_j6GMcgrZaq6jCVIU&s=iAJfjo5Pbxa95wRgJidf6Lfh4WUhhQECmXwM1yCrbOc&e=> >> / >> VNF-API.yang<https://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.onap.org_r_gitweb-3Fp-3Dsdnc_northbound.git-3Ba-3Dblob-5Fplain-3Bf-3Dvnfapi_model_src_main_yang_VNF-2DAPI.yang-3Bhb-3Drefs_heads_release-2D1.0.0&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=ljASFxbEc5d1HogFJWN2v-THS1_j6GMcgrZaq6jCVIU&s=WDc3E47w06TnSyVOA70sGQFO5hUh7asbXXcCpVFsOOQ&e=>) (5) "it is procedural logic meant to run to complete quickly and deal with devices" if a full rollback to the initial state is required in case of failure on any device, should the roll back procedure be explicitly designed in the directed graph or is it automatic with some kind of "all or nothing" global transaction integrity ? >> the DG needs to handle rollback - that depends on the adaptors since some >> adaptors have specific rollback capablity (like a netconf adaptor or BGP >> Flowspec - withdraw route) but others the DG will need to handle the >> rollback with a sub-graph (like cli/ssh where the DG needs to remember what >> the original config was - one of the reasons we are trying to get away from >> CLI as an industry) Thanks, Olivier Augizeau De : onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] De la part de FREEMAN, BRIAN D Envoyé : mercredi 5 juillet 2017 20:50 À : Arun Arora (c); onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Objet : Re: [onap-discuss] SDN-C Code flow Queries Some replies inline. Brian From: onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of Arun Arora (c) Sent: Wednesday, July 05, 2017 10:14 AM To: onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: [onap-discuss] SDN-C Code flow Queries Hi There, We are trying to understand the SDN-C code flow from its Northbound interface to Southbound Controllers which manage the controlled devices. Following is our understanding till now (build from ONAP Wiki and code reading): 1) SDN-C is based on ODL framework >> yes 2) ONAP has added SLI which understands the network configuration workflow >> yes 3) The DG builder builds different models (using YANG, XML). These models are then converted into SVC Recopies [Recipies] >> not quite. DG Builder builds the logic for processing rpc requests that are >> in yang models. 1 rpc == 1 DG >> 1 DG can call other DGs as needed to keep the size of any single DG manageable and to create re-useable DGs 4) SLI consumes into SVC Recopies to execute the network configuration workflow contained in the recipe >> yes the RPC in the yang model is a service recipe - the "input" data is the >> minimum data set needed for the service. >> the directed graph would then execute to fill out the rest of the containers >> in the model in the right sequence including assigning resources and >> calculating attributs as needed. Finally the DG at the ends of the branches >> would convert/map network data to the device specific attributes in config >> nodes. 5) Effectively the workflow is passed to one of he underlying Network Adaptors which actually configure the necessary network resources >> I hesitate to call it a workflow - it is procedural logic meant to run to &
Re: [onap-discuss] SDN-C Code flow Queries
Brian has explained almost everything, adding some more comments for you. Thanks, Prashant From: onap-discuss-boun...@lists.onap.org [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of FREEMAN, BRIAN D Sent: Thursday, July 6, 2017 8:04 PM To: Arun Arora (c) Cc: onap-discuss@lists.onap.org Subject: Re: [onap-discuss] SDN-C Code flow Queries From: Arun Arora (c) [mailto:aroraa...@vmware.com] Sent: Thursday, July 06, 2017 10:21 AM To: Arun Arora (c) mailto:aroraa...@vmware.com>>; FREEMAN, BRIAN D mailto:bf1...@att.com>> Cc: onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: RE: SDN-C Code flow Queries Hi Brian, We continued to study the code with the information you provided along with getting more familiar with the ODL framework. As you explained and we understood, SDNC has 3 workflows, namely, design-time, onboarding and run-time. We are trying to understand the code execution flow for each from northbound to southbound. We have some questions and would really appreciate if you can provide your comments on them and if possible provide the APIs for the workflows: 1) Design-Time a. We understand dgbuilder is used to create the directed-graphs. Are these static files which are stored once created into any database, like AAI? >> they are static and versioned and stored in the mysql databse in the >> SVC_LOGIC table. [PK]--> as mentioned by Brian they are static and versioned , you can find some of OOB DGs in project sdnc/oam path:- sdnc\oam\platform-logic\vnfapi\src\main\json or xml. We can have two form either in xml or JSon. One loaed in mysql db is in xml. Json one is used to import in nodered. b. Also, what is the input to dgbuilder create the directed-graphs? We saw in the netconf mount example, that certain JSON are used.. is similar input used for creating directed graphs for any service/ resource? >> I dont understand the question. DG creation is a design time activity by the >> network engineers/developers to implement the state changes. They are not >> automtically generated. c. What is the role of admin portal in design time >> its a way to activate new versions of a DG for testing in the development >> labs. Its also used for add-on admin functions if we need a GUI for some >> tier support function on an instance but generally its an extremely thin >> helper application for managing data in the controller. 2) Run-Time a. I have some confusion about the RPC request. I suppose the RPC request comes to the SDN-C interface as part of the run-time workflow? If yes, what is the interface on which the RPC request is received? >> http://[ipaddrss]:8282/restconf/operations/VNF-API:vnf-topology-operation (POST body would be the json or xml for the input) You can see the list of these operations in the apidoc/explorer if you have a running SDNC instnace (btw this is swagger.json based online documenation as you can see from the GUI view ) b. Also, how the directed-graph is used along with RPC input to create the complete sequence >> Again not sure I fully understand the question but look at the >> [sdnc/northbound.git]<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;hb=HEAD> >> / >> vnfapi<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi;hb=HEAD> >> / >> provider<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider;hb=HEAD> >> / >> src<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src;hb=HEAD> >> / >> main<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main;hb=HEAD> >> / >> java<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main/java;hb=HEAD> >> / >> org<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main/java/org;hb=HEAD> >> / >> openecomp<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main/java/org/openecomp;hb=HEAD> >> / >> sdnc<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main/java/org/openecomp/sdnc;hb=HEAD> >> / >> vnfapi<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main/java/org/openecomp/sdnc/vnfapi;hb=HEAD> >> / @Override 1008<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=blob;f=vnfapi/provider/src/main/java/org/openecomp/sdnc/vnfapi/vnfapiProvider.java;h=92ba08d07c4faa701ef8e588a9f91347dafe3ae5;hb=HEAD#l1008> public Future> vnfInstanceTopologyOperation( 1009<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=blob;f=vnfapi/provider/src/main/java/org/opene
Re: [onap-discuss] SDN-C Code flow Queries
zw&m=ljASFxbEc5d1HogFJWN2v-THS1_j6GMcgrZaq6jCVIU&s=YrrEX4zYbliLLf4a5ueu9rT5wrxgauvfYlnzGQzy6Yk&e=> >> / >> main<https://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.onap.org_r_gitweb-3Fp-3Dsdnc_northbound.git-3Ba-3Dtree-3Bf-3Dvnfapi_model_src_main-3Bhb-3Drefs_heads_release-2D1.0.0&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=ljASFxbEc5d1HogFJWN2v-THS1_j6GMcgrZaq6jCVIU&s=GN_SPbxsU5ou1d60FUY5w95q0sI4dcSUCgaOJOSzhyU&e=> >> / >> yang<https://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.onap.org_r_gitweb-3Fp-3Dsdnc_northbound.git-3Ba-3Dtree-3Bf-3Dvnfapi_model_src_main_yang-3Bhb-3Drefs_heads_release-2D1.0.0&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=ljASFxbEc5d1HogFJWN2v-THS1_j6GMcgrZaq6jCVIU&s=iAJfjo5Pbxa95wRgJidf6Lfh4WUhhQECmXwM1yCrbOc&e=> >> / >> VNF-API.yang<https://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.onap.org_r_gitweb-3Fp-3Dsdnc_northbound.git-3Ba-3Dblob-5Fplain-3Bf-3Dvnfapi_model_src_main_yang_VNF-2DAPI.yang-3Bhb-3Drefs_heads_release-2D1.0.0&d=DwMFAw&c=LFYZ-o9_HUMeMTSQicvjIg&r=e3d1ehx3DI5AoMgDmi2Fzw&m=ljASFxbEc5d1HogFJWN2v-THS1_j6GMcgrZaq6jCVIU&s=WDc3E47w06TnSyVOA70sGQFO5hUh7asbXXcCpVFsOOQ&e=>) (5) "it is procedural logic meant to run to complete quickly and deal with devices" if a full rollback to the initial state is required in case of failure on any device, should the roll back procedure be explicitly designed in the directed graph or is it automatic with some kind of "all or nothing" global transaction integrity ? >> the DG needs to handle rollback - that depends on the adaptors since some >> adaptors have specific rollback capablity (like a netconf adaptor or BGP >> Flowspec - withdraw route) but others the DG will need to handle the >> rollback with a sub-graph (like cli/ssh where the DG needs to remember what >> the original config was - one of the reasons we are trying to get away from >> CLI as an industry) Thanks, Olivier Augizeau De : onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] De la part de FREEMAN, BRIAN D Envoyé : mercredi 5 juillet 2017 20:50 À : Arun Arora (c); onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Objet : Re: [onap-discuss] SDN-C Code flow Queries Some replies inline. Brian From: onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of Arun Arora (c) Sent: Wednesday, July 05, 2017 10:14 AM To: onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: [onap-discuss] SDN-C Code flow Queries Hi There, We are trying to understand the SDN-C code flow from its Northbound interface to Southbound Controllers which manage the controlled devices. Following is our understanding till now (build from ONAP Wiki and code reading): 1) SDN-C is based on ODL framework >> yes 2) ONAP has added SLI which understands the network configuration workflow >> yes 3) The DG builder builds different models (using YANG, XML). These models are then converted into SVC Recopies [Recipies] >> not quite. DG Builder builds the logic for processing rpc requests that are >> in yang models. 1 rpc == 1 DG >> 1 DG can call other DGs as needed to keep the size of any single DG manageable and to create re-useable DGs 4) SLI consumes into SVC Recopies to execute the network configuration workflow contained in the recipe >> yes the RPC in the yang model is a service recipe - the "input" data is the >> minimum data set needed for the service. >> the directed graph would then execute to fill out the rest of the containers >> in the model in the right sequence including assigning resources and >> calculating attributs as needed. Finally the DG at the ends of the branches >> would convert/map network data to the device specific attributes in config >> nodes. 5) Effectively the workflow is passed to one of he underlying Network Adaptors which actually configure the necessary network resources >> I hesitate to call it a workflow - it is procedural logic meant to run to >> complete quickly and deal with devices not people and uses in some cases >> network signaling protocols like BGP >> it is the adapters that do the real work of "safe changes in state" of the >> network which includes things like applying engineering rules to the >> resource assignments and calculated network attributes (think calculating >> static routes from newly assigned ip addresses for example) 6) The update (success/ failure) is sent to MSO and AAI once t
Re: [onap-discuss] SDN-C Code flow Queries
Hello, My question related to the roll back mechanism was not related to each specific network adaptor but global to a DG execution. (Of course if a network adaptor cannot implement an "atomic" integrity we cannot have a global integrity) . Let's take as example a VPN provisioning involving 4 PMLS PE routers with the same Netconf adaptor. If the SDN-C can configure 3 PE and fails for the 4th --> how the global network configuration consistency is guaranteed ? Is the DG execution state stored and resumed later, is there a global roll-back? Or is it a DG design concern to handle each failure exception? Best regards, Olivier De : FREEMAN, BRIAN D [mailto:bf1...@att.com] Envoyé : jeudi 6 juillet 2017 16:23 À : AUGIZEAU Olivier DTSI/DERS; Arun Arora (c); onap-discuss@lists.onap.org Objet : RE: SDN-C Code flow Queries Responses below. Brian From: olivier.augiz...@orange.com<mailto:olivier.augiz...@orange.com> [mailto:olivier.augiz...@orange.com] Sent: Thursday, July 06, 2017 3:16 AM To: FREEMAN, BRIAN D mailto:bf1...@att.com>>; Arun Arora (c) mailto:aroraa...@vmware.com>>; onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: RE: SDN-C Code flow Queries Hello, Thanks a lot Brian for this clarification. Could you please give additional information about the following points? (3) "DG Builder builds the logic for processing rpc requests that are in yang models. 1 rpc == 1 DG" ? The sliapi Yang data model includes an execute-graph rpc that have other rpc as attribute Is the execute-graph rpc should be considered as a "meta" rpc with DG "rpc" as attribute? >> They both have rpc attributes. If you look at the vnf-topology-operation DG >> it has an rpc called vnf-topology-operation. The vnf-topolog-operation DG >> has "call" nodes that refer to the sub-tending DG's like vnf-topology-assign >> () . the >> vnf-topology-assign rpc's etc do not need to be an rpc in the VNF-API.yang >> file since they aren't accessed via the REST API on the northbound side >> ([sdnc/northbound.git]<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;hb=refs/heads/release-1.0.0> >> / >> vnfapi<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi;hb=refs/heads/release-1.0.0> >> / >> model<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/model;hb=refs/heads/release-1.0.0> >> / >> src<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/model/src;hb=refs/heads/release-1.0.0> >> / >> main<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/model/src/main;hb=refs/heads/release-1.0.0> >> / >> yang<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/model/src/main/yang;hb=refs/heads/release-1.0.0> >> / >> VNF-API.yang<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=blob_plain;f=vnfapi/model/src/main/yang/VNF-API.yang;hb=refs/heads/release-1.0.0>) (5) "it is procedural logic meant to run to complete quickly and deal with devices" if a full rollback to the initial state is required in case of failure on any device, should the roll back procedure be explicitly designed in the directed graph or is it automatic with some kind of "all or nothing" global transaction integrity ? >> the DG needs to handle rollback - that depends on the adaptors since some >> adaptors have specific rollback capablity (like a netconf adaptor or BGP >> Flowspec - withdraw route) but others the DG will need to handle the >> rollback with a sub-graph (like cli/ssh where the DG needs to remember what >> the original config was - one of the reasons we are trying to get away from >> CLI as an industry) Thanks, Olivier Augizeau De : onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] De la part de FREEMAN, BRIAN D Envoyé : mercredi 5 juillet 2017 20:50 À : Arun Arora (c); onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Objet : Re: [onap-discuss] SDN-C Code flow Queries Some replies inline. Brian From: onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of Arun Arora (c) Sent: Wednesday, July 05, 2017 10:14 AM To: onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: [onap-discuss] SDN-C Code flow Queries Hi There, We are trying to understand the SDN-C code flow from its Northbound interface to Southbound Controllers which manage the controlled devices. Following is our understanding till now (build from ONAP Wiki and code reading): 1) SDN-C is
Re: [onap-discuss] SDN-C Code flow Queries
From: Arun Arora (c) [mailto:aroraa...@vmware.com] Sent: Thursday, July 06, 2017 10:21 AM To: Arun Arora (c) ; FREEMAN, BRIAN D Cc: onap-discuss@lists.onap.org Subject: RE: SDN-C Code flow Queries Hi Brian, We continued to study the code with the information you provided along with getting more familiar with the ODL framework. As you explained and we understood, SDNC has 3 workflows, namely, design-time, onboarding and run-time. We are trying to understand the code execution flow for each from northbound to southbound. We have some questions and would really appreciate if you can provide your comments on them and if possible provide the APIs for the workflows: 1. Design-Time * We understand dgbuilder is used to create the directed-graphs. Are these static files which are stored once created into any database, like AAI? >> they are static and versioned and stored in the mysql databse in the >> SVC_LOGIC table. * Also, what is the input to dgbuilder create the directed-graphs? We saw in the netconf mount example, that certain JSON are used.. is similar input used for creating directed graphs for any service/ resource? >> I dont understand the question. DG creation is a design time activity by the >> network engineers/developers to implement the state changes. They are not >> automtically generated. * What is the role of admin portal in design time >> its a way to activate new versions of a DG for testing in the development >> labs. Its also used for add-on admin functions if we need a GUI for some >> tier support function on an instance but generally its an extremely thin >> helper application for managing data in the controller. 1. Run-Time * I have some confusion about the RPC request. I suppose the RPC request comes to the SDN-C interface as part of the run-time workflow? If yes, what is the interface on which the RPC request is received? >> http://[ipaddrss]:8282/restconf/operations/VNF-API:vnf-topology-operation (POST body would be the json or xml for the input) You can see the list of these operations in the apidoc/explorer if you have a running SDNC instnace (btw this is swagger.json based online documenation as you can see from the GUI view ) * Also, how the directed-graph is used along with RPC input to create the complete sequence >> Again not sure I fully understand the question but look at the >> [sdnc/northbound.git]<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;hb=HEAD> >> / >> vnfapi<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi;hb=HEAD> >> / >> provider<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider;hb=HEAD> >> / >> src<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src;hb=HEAD> >> / >> main<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main;hb=HEAD> >> / >> java<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main/java;hb=HEAD> >> / >> org<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main/java/org;hb=HEAD> >> / >> openecomp<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main/java/org/openecomp;hb=HEAD> >> / >> sdnc<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main/java/org/openecomp/sdnc;hb=HEAD> >> / >> vnfapi<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/provider/src/main/java/org/openecomp/sdnc/vnfapi;hb=HEAD> >> / @Override 1008<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=blob;f=vnfapi/provider/src/main/java/org/openecomp/sdnc/vnfapi/vnfapiProvider.java;h=92ba08d07c4faa701ef8e588a9f91347dafe3ae5;hb=HEAD#l1008> public Future> vnfInstanceTopologyOperation( 1009<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=blob;f=vnfapi/provider/src/main/java/org/openecomp/sdnc/vnfapi/vnfapiProvider.java;h=92ba08d07c4faa701ef8e588a9f91347dafe3ae5;hb=HEAD#l1009> VnfInstanceTopologyOperationInput input) { That method maps the vnf-topology-operation (VnfInstanceTopologyOpreration) to the process of pulling data from md-sal, combining with the input parameters , finding the active DG and then calling the execute method on the DG. From: onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of Arun Arora (c) Sent: Thursday, July 06, 2017 12:38 AM To: bf1...@att.com<mailto:bf1...@att.com> Cc: onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: Re: [onap-discuss]
Re: [onap-discuss] SDN-C Code flow Queries
Responses below. Brian From: olivier.augiz...@orange.com [mailto:olivier.augiz...@orange.com] Sent: Thursday, July 06, 2017 3:16 AM To: FREEMAN, BRIAN D ; Arun Arora (c) ; onap-discuss@lists.onap.org Subject: RE: SDN-C Code flow Queries Hello, Thanks a lot Brian for this clarification. Could you please give additional information about the following points? (3) "DG Builder builds the logic for processing rpc requests that are in yang models. 1 rpc == 1 DG" ? The sliapi Yang data model includes an execute-graph rpc that have other rpc as attribute Is the execute-graph rpc should be considered as a "meta" rpc with DG "rpc" as attribute? >> They both have rpc attributes. If you look at the vnf-topology-operation DG >> it has an rpc called vnf-topology-operation. The vnf-topolog-operation DG >> has "call" nodes that refer to the sub-tending DG's like vnf-topology-assign >> () . the >> vnf-topology-assign rpc's etc do not need to be an rpc in the VNF-API.yang >> file since they aren't accessed via the REST API on the northbound side >> ([sdnc/northbound.git]<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;hb=refs/heads/release-1.0.0> >> / >> vnfapi<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi;hb=refs/heads/release-1.0.0> >> / >> model<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/model;hb=refs/heads/release-1.0.0> >> / >> src<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/model/src;hb=refs/heads/release-1.0.0> >> / >> main<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/model/src/main;hb=refs/heads/release-1.0.0> >> / >> yang<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=tree;f=vnfapi/model/src/main/yang;hb=refs/heads/release-1.0.0> >> / >> VNF-API.yang<https://gerrit.onap.org/r/gitweb?p=sdnc/northbound.git;a=blob_plain;f=vnfapi/model/src/main/yang/VNF-API.yang;hb=refs/heads/release-1.0.0>) (5) "it is procedural logic meant to run to complete quickly and deal with devices" if a full rollback to the initial state is required in case of failure on any device, should the roll back procedure be explicitly designed in the directed graph or is it automatic with some kind of "all or nothing" global transaction integrity ? >> the DG needs to handle rollback - that depends on the adaptors since some >> adaptors have specific rollback capablity (like a netconf adaptor or BGP >> Flowspec - withdraw route) but others the DG will need to handle the >> rollback with a sub-graph (like cli/ssh where the DG needs to remember what >> the original config was - one of the reasons we are trying to get away from >> CLI as an industry) Thanks, Olivier Augizeau De : onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] De la part de FREEMAN, BRIAN D Envoyé : mercredi 5 juillet 2017 20:50 À : Arun Arora (c); onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Objet : Re: [onap-discuss] SDN-C Code flow Queries Some replies inline. Brian From: onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of Arun Arora (c) Sent: Wednesday, July 05, 2017 10:14 AM To: onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: [onap-discuss] SDN-C Code flow Queries Hi There, We are trying to understand the SDN-C code flow from its Northbound interface to Southbound Controllers which manage the controlled devices. Following is our understanding till now (build from ONAP Wiki and code reading): 1) SDN-C is based on ODL framework >> yes 2) ONAP has added SLI which understands the network configuration workflow >> yes 3) The DG builder builds different models (using YANG, XML). These models are then converted into SVC Recopies [Recipies] >> not quite. DG Builder builds the logic for processing rpc requests that are >> in yang models. 1 rpc == 1 DG >> 1 DG can call other DGs as needed to keep the size of any single DG manageable and to create re-useable DGs 4) SLI consumes into SVC Recopies to execute the network configuration workflow contained in the recipe >> yes the RPC in the yang model is a service recipe - the "input" data is the >> minimum data set needed for the service. >> the directed graph would then execute to fill out the rest of the containers >> in the model in the right sequence including assigning resources and >> calculating attributs as needed. Finally the DG at the ends
Re: [onap-discuss] SDN-C Code flow Queries
Hi Brian, We continued to study the code with the information you provided along with getting more familiar with the ODL framework. As you explained and we understood, SDNC has 3 workflows, namely, design-time, onboarding and run-time. We are trying to understand the code execution flow for each from northbound to southbound. We have some questions and would really appreciate if you can provide your comments on them and if possible provide the APIs for the workflows: 1) Design-Time a. We understand dgbuilder is used to create the directed-graphs. Are these static files which are stored once created into any database, like AAI? b. Also, what is the input to dgbuilder create the directed-graphs? We saw in the netconf mount example, that certain JSON are used.. is similar input used for creating directed graphs for any service/ resource? c. What is the role of admin portal in design time 2) Run-Time a. I have some confusion about the RPC request. I suppose the RPC request comes to the SDN-C interface as part of the run-time workflow? If yes, what is the interface on which the RPC request is received? b. Also, how the directed-graph is used along with RPC input to create the complete sequence From: onap-discuss-boun...@lists.onap.org [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of Arun Arora (c) Sent: Thursday, July 06, 2017 12:38 AM To: bf1...@att.com Cc: onap-discuss@lists.onap.org Subject: Re: [onap-discuss] SDN-C Code flow Queries Hi Brian, Really appreciate this detailed walk through. It would surely help in expediting our code understanding. With Best Regards, Arun Arora PS: Would ping back if any more queries. Thanks On Jul 6, 2017, at 12:20 AM, "FREEMAN, BRIAN D" mailto:bf1...@att.com>> wrote: Some replies inline. Brian From: onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of Arun Arora (c) Sent: Wednesday, July 05, 2017 10:14 AM To: onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: [onap-discuss] SDN-C Code flow Queries Hi There, We are trying to understand the SDN-C code flow from its Northbound interface to Southbound Controllers which manage the controlled devices. Following is our understanding till now (build from ONAP Wiki and code reading): 1) SDN-C is based on ODL framework >> yes 2) ONAP has added SLI which understands the network configuration workflow >> yes 3) The DG builder builds different models (using YANG, XML). These models are then converted into SVC Recopies [Recipies] >> not quite. DG Builder builds the logic for processing rpc requests that are >> in yang models. 1 rpc == 1 DG >> 1 DG can call other DGs as needed to keep the size of any single DG manageable and to create re-useable DGs 4) SLI consumes into SVC Recopies to execute the network configuration workflow contained in the recipe >> yes the RPC in the yang model is a service recipe – the “input” data is the >> minimum data set needed for the service. >> the directed graph would then execute to fill out the rest of the containers >> in the model in the right sequence including assigning resources and >> calculating attributs as needed. Finally the DG at the ends of the branches >> would convert/map network data to the device specific attributes in config >> nodes. 5) Effectively the workflow is passed to one of he underlying Network Adaptors which actually configure the necessary network resources >> I hesitate to call it a workflow – it is procedural logic meant to run to >> complete quickly and deal with devices not people and uses in some cases >> network signaling protocols like BGP >> it is the adapters that do the real work of “safe changes in state” of the >> network which includes things like applying engineering rules to the >> resource assignments and calculated network attributes (think calculating >> static routes from newly assigned ip addresses for example) 6) The update (success/ failure) is sent to MSO and AAI once the request is complete >> yes. Although the response is to MSO. AAI is updated on success or failure >> as appropriate. SDNC is the source of truth for network data in AAI that is >> set/configured/assingned by SDNC. Following are the code modules we know till now: 1) From MSO mso-sdn-adaptor calls VNFAPIProvider() in SDNCAdpaterRest.java 2) VNFApiProvider() – receives the request and invokes the activate/configure services >> the VNFApiProvider is the simplest case of MSO-SDNC interaction and really >> is used for dealing with L4-L7 VNFs that have a need for resource assignment >> but not any controller configuration. Question
Re: [onap-discuss] SDN-C Code flow Queries
Hello, Thanks a lot Brian for this clarification. Could you please give additional information about the following points? (3) "DG Builder builds the logic for processing rpc requests that are in yang models. 1 rpc == 1 DG" ? The sliapi Yang data model includes an execute-graph rpc that have other rpc as attribute Is the execute-graph rpc should be considered as a "meta" rpc with DG "rpc" as attribute? (5) "it is procedural logic meant to run to complete quickly and deal with devices" if a full rollback to the initial state is required in case of failure on any device, should the roll back procedure be explicitly designed in the directed graph or is it automatic with some kind of "all or nothing" global transaction integrity ? Thanks, Olivier Augizeau De : onap-discuss-boun...@lists.onap.org [mailto:onap-discuss-boun...@lists.onap.org] De la part de FREEMAN, BRIAN D Envoyé : mercredi 5 juillet 2017 20:50 À : Arun Arora (c); onap-discuss@lists.onap.org Objet : Re: [onap-discuss] SDN-C Code flow Queries Some replies inline. Brian From: onap-discuss-boun...@lists.onap.org<mailto:onap-discuss-boun...@lists.onap.org> [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of Arun Arora (c) Sent: Wednesday, July 05, 2017 10:14 AM To: onap-discuss@lists.onap.org<mailto:onap-discuss@lists.onap.org> Subject: [onap-discuss] SDN-C Code flow Queries Hi There, We are trying to understand the SDN-C code flow from its Northbound interface to Southbound Controllers which manage the controlled devices. Following is our understanding till now (build from ONAP Wiki and code reading): 1) SDN-C is based on ODL framework >> yes 2) ONAP has added SLI which understands the network configuration workflow >> yes 3) The DG builder builds different models (using YANG, XML). These models are then converted into SVC Recopies [Recipies] >> not quite. DG Builder builds the logic for processing rpc requests that are >> in yang models. 1 rpc == 1 DG >> 1 DG can call other DGs as needed to keep the size of any single DG manageable and to create re-useable DGs 4) SLI consumes into SVC Recopies to execute the network configuration workflow contained in the recipe >> yes the RPC in the yang model is a service recipe - the "input" data is the >> minimum data set needed for the service. >> the directed graph would then execute to fill out the rest of the containers >> in the model in the right sequence including assigning resources and >> calculating attributs as needed. Finally the DG at the ends of the branches >> would convert/map network data to the device specific attributes in config >> nodes. 5) Effectively the workflow is passed to one of he underlying Network Adaptors which actually configure the necessary network resources >> I hesitate to call it a workflow - it is procedural logic meant to run to >> complete quickly and deal with devices not people and uses in some cases >> network signaling protocols like BGP >> it is the adapters that do the real work of "safe changes in state" of the >> network which includes things like applying engineering rules to the >> resource assignments and calculated network attributes (think calculating >> static routes from newly assigned ip addresses for example) 6) The update (success/ failure) is sent to MSO and AAI once the request is complete >> yes. Although the response is to MSO. AAI is updated on success or failure >> as appropriate. SDNC is the source of truth for network data in AAI that is >> set/configured/assingned by SDNC. Following are the code modules we know till now: 1) From MSO mso-sdn-adaptor calls VNFAPIProvider() in SDNCAdpaterRest.java 2) VNFApiProvider() - receives the request and invokes the activate/configure services >> the VNFApiProvider is the simplest case of MSO-SDNC interaction and really >> is used for dealing with L4-L7 VNFs that have a need for resource assignment >> but not any controller configuration. Questions: 1. We have seen multiple entry pointers across SDN-C/SLI, dmaplisterner, uebClient, admportal and dgbuilder. But the interaction of these with each other, VnfAPIProvider() and southbound interfaces is not clear >> you need to separate design time / onboarding vs run time. >> dgbuilder is used as design time to create directed graphs. It is not used >> during run time. In fact we dont deploy it in production SDNC instnaces we >> use the desktop version and check the json strings into git. >> admin portal is only used to load/modify directed graphs and interact with >> mysql at design time if needed. >> uebclient is deprecated and it will go away -
Re: [onap-discuss] SDN-C Code flow Queries
Hi Brian, Really appreciate this detailed walk through. It would surely help in expediting our code understanding. With Best Regards, Arun Arora PS: Would ping back if any more queries. Thanks On Jul 6, 2017, at 12:20 AM, "FREEMAN, BRIAN D" mailto:bf1...@att.com>> wrote: Some replies inline. Brian From: onap-discuss-boun...@lists.onap.org [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of Arun Arora (c) Sent: Wednesday, July 05, 2017 10:14 AM To: onap-discuss@lists.onap.org Subject: [onap-discuss] SDN-C Code flow Queries Hi There, We are trying to understand the SDN-C code flow from its Northbound interface to Southbound Controllers which manage the controlled devices. Following is our understanding till now (build from ONAP Wiki and code reading): 1) SDN-C is based on ODL framework >> yes 2) ONAP has added SLI which understands the network configuration workflow >> yes 3) The DG builder builds different models (using YANG, XML). These models are then converted into SVC Recopies [Recipies] >> not quite. DG Builder builds the logic for processing rpc requests that are >> in yang models. 1 rpc == 1 DG >> 1 DG can call other DGs as needed to keep the size of any single DG manageable and to create re-useable DGs 4) SLI consumes into SVC Recopies to execute the network configuration workflow contained in the recipe >> yes the RPC in the yang model is a service recipe – the “input” data is the >> minimum data set needed for the service. >> the directed graph would then execute to fill out the rest of the containers >> in the model in the right sequence including assigning resources and >> calculating attributs as needed. Finally the DG at the ends of the branches >> would convert/map network data to the device specific attributes in config >> nodes. 5) Effectively the workflow is passed to one of he underlying Network Adaptors which actually configure the necessary network resources >> I hesitate to call it a workflow – it is procedural logic meant to run to >> complete quickly and deal with devices not people and uses in some cases >> network signaling protocols like BGP >> it is the adapters that do the real work of “safe changes in state” of the >> network which includes things like applying engineering rules to the >> resource assignments and calculated network attributes (think calculating >> static routes from newly assigned ip addresses for example) 6) The update (success/ failure) is sent to MSO and AAI once the request is complete >> yes. Although the response is to MSO. AAI is updated on success or failure >> as appropriate. SDNC is the source of truth for network data in AAI that is >> set/configured/assingned by SDNC. Following are the code modules we know till now: 1) From MSO mso-sdn-adaptor calls VNFAPIProvider() in SDNCAdpaterRest.java 2) VNFApiProvider() – receives the request and invokes the activate/configure services >> the VNFApiProvider is the simplest case of MSO-SDNC interaction and really >> is used for dealing with L4-L7 VNFs that have a need for resource assignment >> but not any controller configuration. Questions: 1. We have seen multiple entry pointers across SDN-C/SLI, dmaplisterner, uebClient, admportal and dgbuilder. But the interaction of these with each other, VnfAPIProvider() and southbound interfaces is not clear >> you need to separate design time / onboarding vs run time. >> dgbuilder is used as design time to create directed graphs. It is not used >> during run time. In fact we dont deploy it in production SDNC instnaces we >> use the desktop version and check the json strings into git. >> admin portal is only used to load/modify directed graphs and interact with >> mysql at design time if needed. >> uebclient is deprecated and it will go away – it was replaced with the >> dmapplistener >> dmaaplistener is used during onboarding when new models are distributed from >> SDNC >> SDNC/SLI is the run time component that is called when a REST RPC request is >> sent into the controller. A provider class is called by the rpc and this in >> turn pulls the xml form of the directed graph from mysql and calls the >> “execute” function othe SvcLogic object. 2) Post, VnfAPIProvider() how the allocateResourceL3SDN()and later the Southbound Adpator APIs are called is not known >> SDNC is nto demonstrating them in this release. The southbound adapter of interest in SDNC is probably the aai adapter. You can see how the DG updates AAI in the activate and delete sub-direcged graphs >> I would also point you to the tutorial on
Re: [onap-discuss] SDN-C Code flow Queries
Some replies inline. Brian From: onap-discuss-boun...@lists.onap.org [mailto:onap-discuss-boun...@lists.onap.org] On Behalf Of Arun Arora (c) Sent: Wednesday, July 05, 2017 10:14 AM To: onap-discuss@lists.onap.org Subject: [onap-discuss] SDN-C Code flow Queries Hi There, We are trying to understand the SDN-C code flow from its Northbound interface to Southbound Controllers which manage the controlled devices. Following is our understanding till now (build from ONAP Wiki and code reading): 1) SDN-C is based on ODL framework >> yes 2) ONAP has added SLI which understands the network configuration workflow >> yes 3) The DG builder builds different models (using YANG, XML). These models are then converted into SVC Recopies [Recipies] >> not quite. DG Builder builds the logic for processing rpc requests that are >> in yang models. 1 rpc == 1 DG >> 1 DG can call other DGs as needed to keep the size of any single DG manageable and to create re-useable DGs 4) SLI consumes into SVC Recopies to execute the network configuration workflow contained in the recipe >> yes the RPC in the yang model is a service recipe - the "input" data is the >> minimum data set needed for the service. >> the directed graph would then execute to fill out the rest of the containers >> in the model in the right sequence including assigning resources and >> calculating attributs as needed. Finally the DG at the ends of the branches >> would convert/map network data to the device specific attributes in config >> nodes. 5) Effectively the workflow is passed to one of he underlying Network Adaptors which actually configure the necessary network resources >> I hesitate to call it a workflow - it is procedural logic meant to run to >> complete quickly and deal with devices not people and uses in some cases >> network signaling protocols like BGP >> it is the adapters that do the real work of "safe changes in state" of the >> network which includes things like applying engineering rules to the >> resource assignments and calculated network attributes (think calculating >> static routes from newly assigned ip addresses for example) 6) The update (success/ failure) is sent to MSO and AAI once the request is complete >> yes. Although the response is to MSO. AAI is updated on success or failure >> as appropriate. SDNC is the source of truth for network data in AAI that is >> set/configured/assingned by SDNC. Following are the code modules we know till now: 1) From MSO mso-sdn-adaptor calls VNFAPIProvider() in SDNCAdpaterRest.java 2) VNFApiProvider() - receives the request and invokes the activate/configure services >> the VNFApiProvider is the simplest case of MSO-SDNC interaction and really >> is used for dealing with L4-L7 VNFs that have a need for resource assignment >> but not any controller configuration. Questions: 1. We have seen multiple entry pointers across SDN-C/SLI, dmaplisterner, uebClient, admportal and dgbuilder. But the interaction of these with each other, VnfAPIProvider() and southbound interfaces is not clear >> you need to separate design time / onboarding vs run time. >> dgbuilder is used as design time to create directed graphs. It is not used >> during run time. In fact we dont deploy it in production SDNC instnaces we >> use the desktop version and check the json strings into git. >> admin portal is only used to load/modify directed graphs and interact with >> mysql at design time if needed. >> uebclient is deprecated and it will go away - it was replaced with the >> dmapplistener >> dmaaplistener is used during onboarding when new models are distributed from >> SDNC >> SDNC/SLI is the run time component that is called when a REST RPC request is >> sent into the controller. A provider class is called by the rpc and this in >> turn pulls the xml form of the directed graph from mysql and calls the >> "execute" function othe SvcLogic object. 2) Post, VnfAPIProvider() how the allocateResourceL3SDN()and later the Southbound Adpator APIs are called is not known >> SDNC is nto demonstrating them in this release. The southbound adapter of interest in SDNC is probably the aai adapter. You can see how the DG updates AAI in the activate and delete sub-direcged graphs >> I would also point you to the tutorial on the wiki on the creating a netconf mount on APPC from SDNC's VNF API DG. While we are trying to understand the code further, if anyone can give some pointers or explain the codeflow on a broader level, it would be extremely helpful. Thanks, Arun Arora ___ onap-discuss mailing list onap-discuss@lists.onap.org https://lists.onap.org/mailman/listinfo/onap-discuss
[onap-discuss] SDN-C Code flow Queries
Hi There, We are trying to understand the SDN-C code flow from its Northbound interface to Southbound Controllers which manage the controlled devices. Following is our understanding till now (build from ONAP Wiki and code reading): 1) SDN-C is based on ODL framework 2) ONAP has added SLI which understands the network configuration workflow 3) The DG builder builds different models (using YANG, XML). These models are then converted into SVC Recopies 4) SLI consumes into SVC Recopies to execute the network configuration workflow contained in the recipe 5) Effectively the workflow is passed to one of he underlying Network Adaptors which actually configure the necessary network resources 6) The update (success/ failure) is sent to MSO and AAI once the request is complete Following are the code modules we know till now: 1) From MSO mso-sdn-adaptor calls VNFAPIProvider() in SDNCAdpaterRest.java 2) VNFApiProvider() – receives the request and invokes the activate/configure services Questions: 1) We have seen multiple entry pointers across SDN-C/SLI, dmaplisterner, uebClient, admportal and dgbuilder. But the interaction of these with each other, VnfAPIProvider() and southbound interfaces is not clear 2) Post, VnfAPIProvider() how the allocateResourceL3SDN()and later the Southbound Adpator APIs are called is not known While we are trying to understand the code further, if anyone can give some pointers or explain the codeflow on a broader level, it would be extremely helpful. Thanks, Arun Arora ___ onap-discuss mailing list onap-discuss@lists.onap.org https://lists.onap.org/mailman/listinfo/onap-discuss