From 6d284b3c71fb5edf4b167a2408c78b49f108cb9a Mon Sep 17 00:00:00 2001 From: yangyan Date: Tue, 9 Apr 2019 18:38:48 +0800 Subject: [PATCH] update vfc doc Issue-ID: VFC-1345 Change-Id: I06f1ebe49d702c2ed3dc9191164f834c103b4d7b Signed-off-by: yangyan --- docs/platform/APIs/index.rst | 31 +++++++++++++++++++++ docs/platform/APIs/vfc-api.png | Bin 0 -> 9630 bytes docs/platform/architecture.rst | 30 +++++++++++++++++++- docs/platform/index.rst | 10 +++++-- docs/platform/installation/index.rst | 4 +-- docs/platform/installation/installation/index.rst | 2 +- .../{ => installation/user-guide}/gvnfm.png | Bin .../user-guide}/image2018-12-10_12-1-36.png | Bin .../user-guide/ns-instantiate-guide.rst | 13 +++++---- .../platform/{ => installation/user-guide}/vim.png | Bin docs/platform/onap-arc.png | Bin 0 -> 61824 bytes docs/platform/vfc-dependence.png | Bin 0 -> 19929 bytes docs/platform/vfc-internal-component.png | Bin 0 -> 17279 bytes 13 files changed, 79 insertions(+), 11 deletions(-) create mode 100644 docs/platform/APIs/vfc-api.png rename docs/platform/{ => installation/user-guide}/gvnfm.png (100%) rename docs/platform/{ => installation/user-guide}/image2018-12-10_12-1-36.png (100%) rename docs/platform/{ => installation/user-guide}/vim.png (100%) create mode 100644 docs/platform/onap-arc.png create mode 100644 docs/platform/vfc-dependence.png create mode 100644 docs/platform/vfc-internal-component.png diff --git a/docs/platform/APIs/index.rst b/docs/platform/APIs/index.rst index ad31664d..86eddffc 100644 --- a/docs/platform/APIs/index.rst +++ b/docs/platform/APIs/index.rst @@ -11,7 +11,38 @@ VF-C Offered APIs Now VF-C provides the NS life cycle management APIs to UUI,SO,Policy and package management APIs to UUI. For VNFM vendor, VF-C also provides the VNFM integration APIs, they can reference these APIs to implmemet their VNFMDriver to integrate with VF-C and ONAP. + |image0| + .. |image0| image:: nfvo-api.png + :width: 1000px + :height: 600px + +NFVO provided interfaces: + +* Network Service LCM interface + + Provides Network Service LCM interface(NS instantiate/scale/heal/terminate/query/…) + +* VNF Operation Granting interface + + Provides VNF Operation Granting interface and make granting decision + +* NS package management interface + + Provides runtime NS package management interface + +* VNF package management interface + + Provides runtime VNF package management interface + + +GVNFM provided interfaces: + +* VNF LCM interface + + Provides the VNF LCM interface(VNF instantiate/terminate/query/…) + +More interface defination can be found in the following part. VFC Northbound API ------------------ diff --git a/docs/platform/APIs/vfc-api.png b/docs/platform/APIs/vfc-api.png new file mode 100644 index 0000000000000000000000000000000000000000..1f8478bb95a29360d8fc80b641ca86b19be83d8b GIT binary patch literal 9630 zcmZ8{byQSQ_b4DD9Yc2xTtZ4pq#5dhFf$@0B?1x>(jXxqF?0+eCCo6CfYKr$5=z$q zBB>yPgoFYT0&o0&-&?=+-u>t7ID4OU&e`kkvjYV;)}x{1pd=z9qA}2iA&H1cKq4aI zdGad+$`vV{al%0Ci`3I1svYIpARy~-BU7Er%S*Sk#=CJ1PjS74J?k3Yg#=E=%&t}b z^d%9Ia{Bybi*rfq$mEv|W#X&Ex6&@=(-$u<=hKxfi`OnMTZo92oLer_REh4S^%2O< zL?o9#ei(qejXhWIX2JqekQu&R97>785!B)Ow=+sk9qg`^6$~5Gfq9u=(2b{>&vBB&`4JP^dpDJ z%lXU8iJ?p9mZ1Dk<2<65M9zkqg6;Fom+8uv3k#QBU6@dLd!IbTkO+s&;py5+&h>5< zA|gH_1DK|1(A>{L)Pp>b@jY=O1>(_;;hY;1I`{Fox?^d`FptMz^3VBY#8?Y!+|z4s z-%AWP%GA4Y&AzzN(6C)yR#IGCTp<;ULSB`r*Bc0pB#aDDCK$z4gq9{+0ajTSP1!}$ z!E%%HJ=3#S_bs|q5P0`m8dn$BHu(pT9T6AG?iuN7`*6VK=Ighp7YT5aNK^WEvG1Zz zN*pz|ftqi}+*j{t9&?0HuEip2$ZkZ=O?3dI6;XTgOaw~CPPYnO^KuNo2J^F5C2(m) zG*|A9;2tmh|Ds04+~4V>yTr)tv>6dvXnH7&0@0m90C3Yzo#7Im^w3Ag_tDv2K~eK6wyL;SZFl*^{ZsS-X+fd>M$K*Igblv{p9AF- zh+G>AIPnQsi8wh~f8iRCPu@wcevSWLow!|`CsPk@Oxt08FG>>JASG~9Q z+3<>VG6`DcM(>7QOCLRS!)t0?P{{?Lc+z`!BlAoRw8dWglvl!yL3eTfypyd_0>cfN zF2Bp>5aETsO6RQoN{%4e)0Lwkk~G6-V`2WD)wf<}M&Ui(MM{5cBcKQewv#I*u}O#) z2{eRjVY|ZD=2Dmnw?hpsR$+V9LcDn#SKGc93mrS3#&qw%CAY`kUfiYyi?094U|Pl| zlr+wV{1nOlGh0AG71&kWE4$YoN7#+v*!Z6<_k8$GU+>U_V#Myp)GEct5Tmw&ppGN(0)lbT^~kO=0gkoq_Y;0Nnt zi{c@e#@3)^Nz5~#B$j|Y1MchbgD9_6zo&sr7FUggHX9tY*s-`bUB+A0i9Ru#j7{Y50NO3Lk1ngDmQ*I=qupM1BI z_Od9sT~At6t6Bdvx5YhCrBlb|3kf;G8f-}VtpKb&MbQ7)IT}v?UyCOg*z8I!aFdNy&YgmP z@tfP{Y+Pfp)R{C8_Pr%XkIQ&ZA5_NUH* zH!|o{#;p_UBv`KKx=xQL=$Y5?s$_0`WHafoP5sCY=nMv_{5&iwVhW&~TuzIK4PYNe zieX7XGLscfRc_H^b~0?G{Elk2s1;Hj>6U5y{D|qyHZ>LuCuWJbHMpOgOZ$W}ETeq+ z0HGb}mLJlSE>?0Blr$3`nccSmN70AM@!Wsdb@^7D{^YRi%C;!YnX9k5%7>)aV*7vC z4&XZsh51^>p5#iUVO$RFHF!Af&R&J;N2aF^5}H4y4?H(%R_#A7sV2RdPV6YJUi=7-Ls#;s3}@d+YN-Nb4I~jmBna4j^sKl@HpH81sUs%+06?09FVULnzg9_2rU(K z?zS{ti(u6!QD$-?!s;cZ^iZGNvYzKb_>@Goe=-kA7H6(y8+S z_Z3-_A(2rZ!QSbglxQ_?-yZe{w4RMaFN{Z+p_@4$?0&Hm+ztskes`s}{W8$}+2WM+ z#POImN^i9tl`C+Hd2$rU0ELMr;RA286`pB-!H>7`zm&W9lQVM=Net!DycP$HuHS73&^K z8W;iOwf8bM8M6g=NyvXY2)UP6z!7pEz_Gf$Rg*B0;|E{P3O%@2%f|QtuG~lu6~(*& zbvNb^*KoUYD+@vxbk&1qr^HHH&|but;5sYofmzRgZd4&7B}{&Tds3R37uRWP1Is-Q zVd#0Lz}?(cU1C=Od#OQB6}j7khwgpgZ#`oX0{tp@JK|9fd)aMh zV6I_FTygeHP5cc&Qz!R!hw6{e-yP4-J1h!8nW))+Z z-o}f@XVK%BRyIcko-~Gqag2ylIK-b}Xm{+r_Oes(+eFYg*iNEZ_?z+x86FLE}|+_f&A#94m!=^RpBTnkQV0#X4%x7H;4to*XMgM5E#h+;_^~jCkTN3q{92EmfprU=ywXVvvVrSbsTR6hrpn`G zLh@ zlG@#Rj5+ z&6M4zteWri7SA zqoR$W_=O!NURS-0Wts46cwG(%)ClU&595c zHnU3lHVQ$V#hix66iF{zvkgBAy&0|94vif(AG zBrO7Y6*>~|)cW;PpfUyd!$%^G^=>vL6ze!6K0=pMK#M_F^87M<*fqHPnQV0x*;@NE z+eVqn%K7GTEs+s9nhH9AYw+{-?3G%(x(A6Itd9PDOEbn_1FY??q6E8s^dTaJn9c9s zy$X%k!#+bGeVEO3;G0VCMP9EZpE3`+nUX>yWSLGW`6R(LEAgm|7tp66F=Uw1cph%X zgY9W&0Cn4x0cU-%*YkNYZxdK_v08{drQ{X^Cc;CsU;Qqfq5WbVpJl$CH=YPJ)MtR+bP#6|yPlAB z5u)ROv)8%uMMmX6GOklK`W1~qq<>~!Hfx|>wPS!fbAE7kYgq)y()X9TO}0R7D~;|Q z6u+M(y*;W;*ZDe00P%+et;R6<`!Kx^boie2@3&?RSB?p)JhB2Nrp2VS;DLPQ;F|wM+*2*Bung~N`Mz>1|%1csd5MI(J&P=b&qY^S?X^jW&T4YhS zWoa4^fLv-KQ8B{7vVc{kKo<46_X}RX0ePzY>>O875~$`A@M@{si$# z=V}kGD_8YQ?A{=_X_vxTRYZnKTkbvhBB=&sVfF`D(wkTs0R<+aidiw<%BpiL->076 z%_Hz7iiF;qN19PUU(Fo~-Y|K=qqFQ6k(y>gf@{4xJ)>o?xt)CFxIPvvk=v_*M6RzP zn2gtfeVZ!rAE;RkTQKhz3m(A~y!Fa*j9GNb@6bf|?j>fFMB1^f@I{Snb02ftxqU2n(FAK{SiQwEdv;hO$;5+Gt@1bthN7~Uom!bmr4 zqtQ)5A|S!b+$SAvtB3x&L5xXJ#+Z_+YD^*QD4;S3#z!%U0P*A%E$+j+@L$5-e`~xM zpe`XA71(z{tkzA!B=`JTmJ>Uy1k{GGj(zqcN+e^7gddnsfAb86;kr3+ifeOLgWgMji^ct zygVK9(F<2u5gGKd>@yUO zALL$PR5Z>%QC1go-%QDTR4wGp?~`*xA1^S;kn8IsU;d)yl?lpU)@|ohWp)Rqm>fLx zymU?1H|Lf#a7a|hZ2sawUar3^SLWw(w8pIG9Yv$QTwdiu<&>9_`gsZ*R}iH$SNv_a z^BMr#vLn>flC9fOQvzj=qTqLCxE&IbCMR_!8k2;~>VVsbba|u9YfR7tX`K=b(%q+W zU%O9k_FK8(r*(W%^vg;~`y^tv-%9yh-e#Obj1{?TTE`P0Rl6%sqgkx#R@XD&iaXK% z-_N&u(u-afakCf?zGukwqa7kkdRl}@F(k8*HPnBmB%23a)}Q2wvp3ziy;x-Yrx z^K}>WYCn@rL4u6p`^q4XVvQmQR3P<1+G7LGIXIEdtmKshrG%&y$7d3v&`AdCMcoGn zk2ix__Q~r*0=1JmvQTec6k}6v5<^!h-d$lgDrb}KqI>fMeAd))-|K1N)s93a)H-^i zF;A95Y*lG)a+!RQYq*v@x!jGWfw#QpG2M+T;~_Z3<}%8Zx)&im_g^W7yzP-BC7PJ5 z&^vvgjQn$NJU=Cl1zeWpN`2A+hE+ZZnr2KW$Q`dA=f>#EfZ17*mTnItA96mw=7~0w zH%vaA*wX3{e(Uf<7nP3-@37sC<-K{UH5BLCR>OUH{N1+1meEEg6bpMB|F~g3FOra? zGx7{IM3do++MN|@*>s95SbS}#jt^38cbk`{W4Px${MpqTE0*{O3PnW1F=5}Y{S_^N%F?MW!fOlU}^!z^WO_hjX{4^fBdOl$!m-RCV zArv^ieDka!FqVt?0cP@$3x$q?fxvHuJ2_j1v<1?)b`m2!+nZ4VC~ESu#t zkMu{3(cS3>C^XTsbp~`9Eo!Hqwb50g-|h_n8$ALD$Yd*43z5Mo3p5nXothk_JTfaW zL)kdW#;rXRojCd}i`MVod(oS={LLa=i|$iEE8I;=8eFT&{(3PJb!`L+B&)Ho$?}0d zBX||ot&#&L{cyF2akYEA9K3QrleiM>WZ@j@tZcGGu#H#dt94!KD?h%D#K;0o>w2KG z#^Bklt)3rgm?`_)t21#QJIds%|6IDo{poziYqcHES9UINyX_^`)TN&Y0wozM@482C zwo$8?RWH1#y>V8nvCi56#&O}EkTCOaQ`PDJ>9}>O5_0fdaWTS{8|MKNjm00$=sBb{ zH}*v0PWbxKMcw*6D9F^tpGqG+ zMV=RKX;xs0HRwyV5aC|WH^ccEN0maE`< zKHm!Q!1Y@kG?q{DEL?fOtv+gcxWhbNGCKy4aa+QVooD|Q@n8aeCCZPUfBn4#zOwO0 zVuc#2-=*TuA|f7#yc;g|Gx<3lnEVmk<&FFEu0)_NLt(7z!`NOZ`cpEyz(Z3h`xo~4 z?UfyMcUJ(9hz>sc#n&?uny$6VJH6hM7@>xpwC8H=96BC&2~goA|T${RzdMF^cT#m$H4E_kK7a?$9bFW11`p z4>L@~E6YSTXtBQe}ZQC1%dO|g+AO9xXyo>t1(DF<56F4_Y!nY z;kCF7g&zjjQ#wPpicf%GW<9M#-FjV=Nte$0YS8DOeIOl7?X;d6x)E>@P)!cD8V+}T z5KDQsnY=0+WtbfocNx~+fqN;n;q9?uYB%oU2x5KAFF)TJB{XW;ZZ zd!!c8=Khv0;Pl2q5!m$mw*VPTG@Dw#LJ2a(X_=~NV$$cQ5-uz%~aM#$nU|O>eCDNg5{9H=U+c>{5FoD zfIF<8?)^QaJnt&{8L_kYDOCWmvN1e+W;CyRPIo5sc>1y+&;zpn%R^QNRefS8TQ1EV# zRm&fJOfgoiF01X@O!rLZXX5V7p*zqDN!s|Om=dO&VI`BV-bHVny||Hh(NB$=Rr_kc zUq4`~&hZCY!J|^6gcc~5Qaazn!t@Y*&kyxJ0zVV^xmp{(eXp#jKR}rH3onfO^ccP{ z;{wwsSqm;8Nnbx7{H@Er9pUJerF6RedMuP@>rI%|oa)hadlP3TBVS$Az~f&VTRG08 zee4dr!qFG~YG#mpV)_<|9hA((_c7Ax^Qn->W}?dnKg*pcd=iku<%7Ga+j`!S-O1yx zBa^crrsa>NoL+07A;xx&?z}hzGHT8EG&c*9snAF2u1Gghlc+V|)?KOXe z^K^dD;V+A0YK%fr{W)w}=Z&opxIC%&*X+x5ETvvp^Va%7~th$(P{`sp#k- zyE?IwQtxYo%)!6%3;+K=AZq~{dR+IHr42MOZrP^fZ8HP(`WH%HS0S4)oNL|L6A6hJ zS3j{RWCH~wv?ZGix6}xCV$JTBI2y`(P+80MMJ(%C;-I9SD_`BCKZNM^O$CXTFY<@E zY+s<%QD&_J+N^T^+;r8`B{4BJkQ%TX*#2Uakmznm6Kd0uNeit}lpK_7%DL)x!!EG^ zx_<10Y0Jlo%UEr^3Gom%wQ+4LD8Ij3Sr}obdYJ81ixeN;Q~X`_xt5*NYuDAXrA$c1 zjiKIrzSn)6^WMqOn--GJ+w69q4i+~z`J!{22<4l4PMA|YHt0* zrsEDJF6#F+;CC`I)>#xwV-j}2Ibb-%QAu@DOsMwEKF1|B-{*-FkBFm;Ong{SSbgUw z@zpZM!5yy~$30n{O|x2G38#tvD442Ez`XhQ0uMuSYBk#a8tm>IOiX5x;Er;W_WO{5 z8^2V2Dt@)FNRnRoq_T+^PY-pd)x?f};E{~H>k#7@7cId=D;A+g6`8p=&|n@Vw(W3; zaDX;Ec@A(@{k;wKiwCk~&GMY@qu+FEe)kgY;>VbR=$(3L(0aM}mty8udW6_Ixo2J^ zV$k$HQ-!Lp$Re=lBqIT>&=ASH`rYMhiOkg`?jE^RC==pf!i5lvV z5EOEw1@Z?Zbwt~VeO;b&y3=;#a<-{qO!@zj%XA0Y>a#s(SlcZcG0`uXz=r?O5{EXZ zqFEEoV3kN<#8bG92-+NIrN|*ZqD@hQyo$)1H43P_o3M0P&7`aZa}Bs*X&Y7ANrW4} zn5k}(>fYHIPL$cM6##EM*^edL=X#+w#uk&2o~%3;5Ev}3J;ZtKRH`gSgxtg>t11RR zY}@WvZdqitdOU9WZU2#NeqJ5@qwTbNRbM}B?~E?r#F#Stw?0WYB}~Toj(R*&2R<17 zhZjbX;Mh)#JUSDXxo>VyL_})&uNQzHgbQs!`OPgmH79_kU3vjexxCrVnCCNEyS#@v z24lwv^})S!b+uf;57$!jx23CoG@-g;Y1G?}8r_b-6X2qa097Cu+j!4f=kQU>mgWE_ zu3<&2>S3D=9k>KAnHY(3#EoOXi9<#$1Lwm zNq+>%(S>0g`cQBIONFrdex5@s`Z!fm9zNKD2@x0^ibcPPK?#_N&LnK2BD`nQAPB8% zEt_Xj>_`DZR%-v2ZsAUoAP$76u&%rb?ytTgo&iU~S_ZGlYwBNB{I zpTzPJ4w`l}ndzje+C(L9=z<>PyVA^DbC(bFkOTJ|YjlixMGazhPAhg+aO#aNV@?cP z1@*cE3s!mnxMLQ%a^Xdl(e6HdS=JfRZ2Qh$&(!vvQYCME-$2jq=Q~SHZ||+_nEk!~ z3p~B{Sw!U(?_&Sd#4{AcMx`+ZQf#_@E(u>LCHG{LTSY8^yQp%giqS<%s`-{46h0^R z8R*j9pz9Hc%6JlfGN5S2k0#aLkL&2vei3xi#sM6T10$G&!2X3}z~g*PLD#;U%eup` z2x?@qeSdd%yz@X2hOV#R-Amd!d`KzO{#W~fYXD;v=6&kOr}QtU<#*M8y%g=`5msFJ zpq}#MveCgYIRoV^_~d18)Q^h0E0WtHzE+ql*r&ysV7kowVh@^^jsl>Q2FhWzq<7V8 zt(%SSni|;YD)u#Vh9xX_N&1!EJUy-o18a@9f_j!2TlihK*vR0;AKhZxA5rT9S)n4^n~l0?_*XMfSMz_`R0!=eaD{YMa|78* z95bxaNH&f%Ot-)#I6~FHZKRQ)XfP52?Il0DV<_C!)PqO(+iAdDX}oSczyAUCR2Bt6 zre7Ckz@3me$L79nVNlTVzYzsEX%8pez<=xI6Ej3OtPeA)OGq$E?--FYHp|?1uoiOG zzP~<}cqtri!IsLTEtoQ%J9Sk~A|W{*M*nROD-5|pBroPEy^^c$lT2gnE-R$QMB9P; yrudNz#@34_Rx!zw?M*(nRG9?+pU?ICB|`Zb`_{ZWq2Y*#$Uw&!R;y(n^?v|r*%CDX literal 0 HcmV?d00001 diff --git a/docs/platform/architecture.rst b/docs/platform/architecture.rst index ca015792..d0115f77 100644 --- a/docs/platform/architecture.rst +++ b/docs/platform/architecture.rst @@ -9,7 +9,34 @@ VF-C High Level Architecture. |image0| -.. |image0| image:: vfc-arc.png +.. |image0| image:: vfc-internal-component.png + :width: 5.97047in + :height: 4.63208in + +This shows all VF-C components, each component is a standalone microservice, these microservice including: + +* nslcm is the core components, mainly responsible for network service management. +* catalog is used to package management, including NS/VNF/PNF package management. +* Resource Manager is used to management the instance created by VF-C and also responsible for resource granting. +* SVNFM Driver, now VF-C has three vendor's Specific VNFM driver, including nokia/huawei/zte driver, each driver is a microservice. +* GVNFM Driver, now have two generic VNFM driver, including gvnfm driver and juju driver. +* SFC Driver, it migrate from Open-O seed code and now haven't been used in any usecase in ONAP. +* Wfengine-mgrservice, it provides the workflow management service, now it has been integrated with activiti workflow and provide the unified interface to external components. +* Wfengine-activiti, it is as the activiti work flow microservice. +* Multivim-proxy,provide the multivim indirect mode proxy which can forward virtual resource requests to multivim and do some resource checking. +* EMS Driver, used for VNF performance and alarm data collection and report to DCAE VES collector. +* GVNFM, it includes three micorservice: vnflcm, vnfmgr and vnfres and the core is vnflcm which responsible for VNF life cycle management. +* DB, provide database services for each VF-C component. + +Note: + a. SFC Driver migrated from Open-O seed code and now haven't been used in any usecase in ONAP. + b. Resource resmanagement is used to do the resource granting, but now VF-C has been integrated with OOF, this component will be deprecated in the future release. + c. DB provides the stand-alone database microservice in casablanca release, but now VF-C leverages OOM shared MariaDB-Gelera cluster. This repo still has redis to be used by VF-C component. + + +|image1| + +.. |image1| image:: vfc-dependence.png :width: 5.97047in :height: 4.63208in @@ -23,3 +50,4 @@ As you can see in this picture, VF-C has many dependencies with other projects, * In addition, VF-C also provides interface to Policy and works with DCAE for Close Loop Automation. +* In Casablanca release, VF-C also integrated with OOF to do the resource homing and placement. \ No newline at end of file diff --git a/docs/platform/index.rst b/docs/platform/index.rst index 37378f2b..d0484c40 100644 --- a/docs/platform/index.rst +++ b/docs/platform/index.rst @@ -6,6 +6,12 @@ ONAP VF-C ========= +|image0| + +.. |image0| image:: onap-arc.png + :width: 3.97047in + :height: 2.63208in + As part of the integration between OpenECOMP and OPEN-O, VF-C leverages ETSI NFV MANO architecture and information model as a reference, and implements life cycle management and FCAPS of VNF and NS. * support NS and VNF lifecycle management based on the ONAP tosca and yang data model and workflow @@ -15,9 +21,9 @@ As part of the integration between OpenECOMP and OPEN-O, VF-C leverages ETSI NFV * support microservice architecture and model driven resource orchestration and management -|image0| +|image1| -.. |image0| image:: vfc-component.png +.. |image1| image:: vfc-component.png :width: 3.97047in :height: 2.63208in diff --git a/docs/platform/installation/index.rst b/docs/platform/installation/index.rst index 0750831c..d64172c2 100644 --- a/docs/platform/installation/index.rst +++ b/docs/platform/installation/index.rst @@ -8,13 +8,13 @@ VF-C Installation and User Guide :depth: 2 -VFC Insta1llation over OOM +VFC Installation over OOM -------------------------- .. toctree:: :maxdepth: 1 - installation/index + installation/index diff --git a/docs/platform/installation/installation/index.rst b/docs/platform/installation/installation/index.rst index 2fd14246..25fd89fa 100644 --- a/docs/platform/installation/installation/index.rst +++ b/docs/platform/installation/installation/index.rst @@ -1,5 +1,5 @@ VFC Insta1llation over OOM ------------------------ +-------------------------- .. toctree:: :titlesonly: diff --git a/docs/platform/gvnfm.png b/docs/platform/installation/user-guide/gvnfm.png similarity index 100% rename from docs/platform/gvnfm.png rename to docs/platform/installation/user-guide/gvnfm.png diff --git a/docs/platform/image2018-12-10_12-1-36.png b/docs/platform/installation/user-guide/image2018-12-10_12-1-36.png similarity index 100% rename from docs/platform/image2018-12-10_12-1-36.png rename to docs/platform/installation/user-guide/image2018-12-10_12-1-36.png diff --git a/docs/platform/installation/user-guide/ns-instantiate-guide.rst b/docs/platform/installation/user-guide/ns-instantiate-guide.rst index c8bd1fe8..12c40a19 100644 --- a/docs/platform/installation/user-guide/ns-instantiate-guide.rst +++ b/docs/platform/installation/user-guide/ns-instantiate-guide.rst @@ -8,6 +8,7 @@ VF-C supports vCPE use case in R3, all VNFs are deployed through VF-C GVNFM . This page describes how to use VF-C to instantiate NS Before you try, please prepare two csar file: + * VNF csar * NS csar @@ -77,6 +78,7 @@ ESR Registration Before we instantiate a service, we need to register vim and vnfm which is used to deploy vnfs. + 1.VIM Registration |image1| @@ -97,9 +99,10 @@ Before we instantiate a service, we need to register vim and vnfm which is used :height: 600px -Note: type should be gvnfmdriver which is the same with gvnfmdriver microservice -url is the msb-iag NodeIp:port -vim corresponds to cloudowner_cloudregionid which registered in step1 +Note: + a. type should be gvnfmdriver which is the same with gvnfmdriver microservice. + b. url is the msb-iag NodeIp:port. + c. vim corresponds to cloudowner_cloudregionid which registered in step1. Package Onboarding ++++++++++++++++++ @@ -140,8 +143,8 @@ Note: -F 'file=@C:\ONAP\Integration\R3\vCPE\vnf-vsn.csar' Note: - a.38037a12-a0d4-4aa4-ac50-cd6b05ce0b24 is the vnf_pkg_id which we get from the first step. - b.-F is used to specify the local vnf package file + a. 38037a12-a0d4-4aa4-ac50-cd6b05ce0b24 is the vnf_pkg_id which we get from the first step. + b. -F is used to specify the local vnf package file 3. Create NS package record in catalog DB diff --git a/docs/platform/vim.png b/docs/platform/installation/user-guide/vim.png similarity index 100% rename from docs/platform/vim.png rename to docs/platform/installation/user-guide/vim.png diff --git a/docs/platform/onap-arc.png b/docs/platform/onap-arc.png new file mode 100644 index 0000000000000000000000000000000000000000..756fe56ddf79319b59d312aa4aa6102dc436051d GIT binary patch literal 61824 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

JRwsPSBq+ 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 Q{`Y^?di{T%WB4)tU+Z?J4FCWD literal 0 HcmV?d00001 diff --git a/docs/platform/vfc-dependence.png b/docs/platform/vfc-dependence.png new file mode 100644 index 0000000000000000000000000000000000000000..f4c74ba1741a13cf5af779671b988c96527ea549 GIT binary patch literal 19929 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 wf7F-5;?JmTi~gY5)KL literal 0 HcmV?d00001 diff --git a/docs/platform/vfc-internal-component.png b/docs/platform/vfc-internal-component.png new file mode 100644 index 0000000000000000000000000000000000000000..61ded572ab585f0c2f1bbfbe10727df3225f30aa GIT binary patch literal 17279 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