From 1bd6e1e2f978abbab4b924288a72ff6b2657d1e4 Mon Sep 17 00:00:00 2001 From: kuldipr Date: Tue, 16 Mar 2021 15:27:00 -0400 Subject: [PATCH] Fixed sdc-controller ingestion logic for cds values sdc controller was not picking the cds values because logic expected the values in the 'metadata' block however the cds values exist in the 'input' block. Logic is modified to look for values at the correct location. Issue-ID: SO-3591 Signed-off-by: kuldipr Change-Id: I59778fde00025e22446446df560b5f85bfda7469 Signed-off-by: kuldipr --- .../installer/heat/ToscaResourceInstaller.java | 29 +++++++++++++++---- .../installer/heat/ToscaResourceInstallerTest.java | 31 +++++++++++++++++++++ .../resources/download/service-pnfservice.csar | Bin 27525 -> 27126 bytes .../resources/download/service-vnfservice.csar | Bin 27602 -> 27206 bytes 4 files changed, 54 insertions(+), 6 deletions(-) diff --git a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java index da7aad4319..bc4434a70a 100644 --- a/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java +++ b/asdc-controller/src/main/java/org/onap/so/asdc/installer/heat/ToscaResourceInstaller.java @@ -1471,13 +1471,30 @@ public class ToscaResourceInstaller { generateNamingValue = "true".equalsIgnoreCase(generateNaming); } service.setOnapGeneratedNaming(generateNamingValue); - service.setBlueprintName(serviceMetadata.getValue(CDS_MODEL_NAME)); - service.setBlueprintVersion(serviceMetadata.getValue(CDS_MODEL_VERSION)); - service.setSkipPostInstConf(Boolean.valueOf(serviceMetadata.getValue(SKIP_POST_INST_CONF))); - service.setControllerActor(serviceMetadata.getValue(CONTROLLER_ACTOR)); - } - + List serviceInputs = toscaResourceStructure.getSdcCsarHelper().getServiceInputs(); + logger.debug("serviceInputs: {} " + serviceInputs); + if (!serviceInputs.isEmpty()) { + serviceInputs.forEach(input -> { + if (CDS_MODEL_NAME.equalsIgnoreCase(input.getName())) { + String value = input.getDefault() != null ? input.getDefault().toString() : null; + service.setBlueprintName(value); + } + if (CDS_MODEL_VERSION.equalsIgnoreCase(input.getName())) { + String value = input.getDefault() != null ? input.getDefault().toString() : null; + service.setBlueprintVersion(value); + } + if (CONTROLLER_ACTOR.equalsIgnoreCase(input.getName())) { + String value = input.getDefault() != null ? input.getDefault().toString() : null; + service.setControllerActor(value); + } + if (SKIP_POST_INST_CONF.equalsIgnoreCase(input.getName())) { + String value = input.getDefault() != null ? input.getDefault().toString() : "false"; + service.setSkipPostInstConf(Boolean.valueOf(value)); + } + }); + } + } toscaResourceStructure.setCatalogService(service); return service; } diff --git a/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java b/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java index e4882119ab..bf327f5bb1 100644 --- a/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java +++ b/asdc-controller/src/test/java/org/onap/so/asdc/installer/heat/ToscaResourceInstallerTest.java @@ -36,6 +36,7 @@ import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; +import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Optional; @@ -571,6 +572,36 @@ public class ToscaResourceInstallerTest extends BaseTest { doReturn(namingPolicy).when(metadata).getValue("namingPolicy"); doReturn(ecompGeneratedNaming).when(metadata).getValue("ecompGeneratedNaming"); + ISdcCsarHelper iSdcCsarHelper = mock(ISdcCsarHelper.class); + List serviceInputs = new ArrayList(); + + LinkedHashMap value = new LinkedHashMap(); + value.put("controller_actor", "SO-REF-DATA"); + value.put("type", "string"); + Input input = new Input("controller_actor", value, null); + serviceInputs.add(0, input); + + value = new LinkedHashMap(); + value.put("cds_model_version", "v1.4.0"); + value.put("type", "string"); + input = new Input("cds_model_version", value, null); + serviceInputs.add(1, input); + + value = new LinkedHashMap(); + value.put("cds_model_name", "Blueprint140"); + value.put("type", "string"); + input = new Input("cds_model_name", value, null); + serviceInputs.add(2, input); + + value = new LinkedHashMap(); + value.put("skip_post_instantiation_configuration", "false"); + value.put("type", "boolean"); + input = new Input("skip_post_instantiation_configuration", value, null); + serviceInputs.add(3, input); + + doReturn(iSdcCsarHelper).when(toscaResourceStructure).getSdcCsarHelper(); + doReturn(serviceInputs).when(iSdcCsarHelper).getServiceInputs(); + Service service = toscaInstaller.createService(toscaResourceStructure, resourceStructure); assertNotNull(service); diff --git a/asdc-controller/src/test/resources/download/service-pnfservice.csar b/asdc-controller/src/test/resources/download/service-pnfservice.csar index 89d24a18ee075f284a2c7f8614261aed0e5b8aa6..a026c7aebe3b46cc8e339ad571045dd234675bc5 100644 GIT binary patch delta 3325 zcmai$dpz4$AIDE5lu(yxi3Fiynft1$s_H&-4~n)-iG)TUA)8yZB}&Jto>!4t*NbV> zEuNuh+1k}=N_7-f^|U;zZ8~&aGna1WGGWg-6nP}_B(Goc%O9Wj`TkDMd4JD`eVD0U z3?sk?i^Bu-dco%eE#AETPyxEYJtj6TAuc&CF(Jt+Bv=Vx|L_TnQuGasN;#|yFu1Qe zsyE>rU2WqLWfROP0<)bgT3VC^?|~cu1u6h&0bQO7MTZEpufkd*uE6}7Y@HkBp~Xu^J# zy+T+e6$gM0tn2nxT~wEEq|`ibdh6&)98FG1fSh3>7Jze#09eEL56tb{*HeO~WzA!i zhWMR+YO8*Gyyjt7UUn|i>*J9Nb>w%lsz`@R56I^e?cFIs#wO)sHRA#Nm=2-9^F(X& zr|ExOK9}Ads^f7Af3vU|Z|wIzjy=(0UwgabBf-_nc0B@1{+1)GrbqcU z(2(Dj@JlYwt5PDRB}%uMD!z^nA~zszW;V`&Wiq%u17 z@909crtyL>ySFmJHiXyyRI;FTEZ?(0bsN`tYImk>!@krC$M6$2T9JVPdt;p&g9MM| zMV-OD32{clm~z3cy>DC`O)I=~Ej4B6%zR&Wh1PGwm01q>t4!=8N7J}xi4Cf`6Sw;B zXfQVnV+ZR;?rdIo^Lu{CJuTiCUO>^#^Y5ioGIkD>J$h0__B7b+-)Ui~c#~t*PkLU? z6?l|~SC9s9g9Sf!vwVC4he~`6`%={&2TbdIQo}EeqN=JnvL5>d=Cn41@A&*e@xcpu z0VXASzaO|#-Kqa#`kk>-O%1!0E|VOgF5|?oW79LTnVY$R73ap;o3BRx`Lezy`{W$H z*YF~ynDOQ>`gQYfeK)VlJu@oUQOV)FMg-_Cp8u6lt9Juh=Rl-)YuNr6#c=r74ab)%M;w{vAf;yXjy1WfVMbcMv_U zy6rn45Cx>keTmx27sywz=Az{Ix-)y7if$Hl>mMu0L~1 zT+jDdcg_-;?HM6P3%{OxmU1DlCt7EZ9Koa5G*W|j(D-Cs$o)E-`z?ffGp~N3Yjw5! zht>FEGTr-%@Y~?Oj+`JI{*@Cf^n1FcXU;!|OKVRwYEB-JpUm!<^A{eO{8W2_+J;Y@ z$!Ir;+ORzU`}e7%DS2Owo`0jhFMhh7xTD7EeE*GU&6f`Mf{TB6o9V5jc6pz&5(Bbfko-7>L@XA4Up-gWWcGAd%FQC|K>oGn)cFS6 zdUlZoBhwUnWvsAOC=``8I*OE6MfAH3i`Gv4Rxn8gpluohHp3mOe~5rK{PZ5F8@?{b zeu}!XEl1g&k6ItX+xgL618S1Oz7q0FulBAi%gIm4xEn>-aj2>Y}icukvTn+S*I-j3IdEEDUqGBTj5% z(Ox&h#VxVc#P#U#_2^kn){Q`8JXF}d8e(q23pJlt z(TmLottBZW_OMB2Sf~&4nb?{bi6O`@T4d2{)j4 zZEH^fkdICQ>+vb@U?O<{5FcO$2hefA6@t)lU_B7zNS*}5IkpPC0j4d&NI4P&_^i&H zq@Khv8hD=GAsvK4u98uWq@~0$!PdO@Vw~L|1}zX77)e=)V^nPbQWxSNb;;mJN=uv* z;s=nz5CFA;ZZ)NxDrO)ffp;_GsH7(MiQDDM38$!rytqH<0NL*-1pS|7DJed2PG2+-*Wh|MdDwvf(17nEct>NPU;hOU C?*It^ delta 3688 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 delta 3773 zcmb7`2~<;88pm%)NWwCBWKmW@kw(g@mc>DWNof@jfdOn~F(eQoJwPPE3d538p)Sx4 z@LD*7)}==%Sc(ck5fR3=8srE{X{m^~v@kkN6A7hK1aeL-(Y3zx8^>j+5cBYgP^n4e)qfjsEYJrhd5Y#<1fX z>;vLMXAX_%1=k%XVg}k6iJB4Ha~FlezW!3)w#fTIhf}S0ZuV6499&f{J0W^=%}9IR z)RTL*pWZcBte}=}Ff4q<*(p^K$z9v(mlQQhfD*&I<5{15EM%;3a4{I7vRLi^3Oeog z%|N?rVCz!m*7^eJ_=K{u@bd4@|B*Px`k4F14mJPg;CW&ADXqsg>So-vUb7Zi^Q7or z(>;|_VcRX&rSUn%R*xG^&X>!s9x*GOIG$X%_NOK5+9gBsu==tS+%uc+$KOrsDA3#E zwa;gZS1wx_BjF7;DZbcl{iSudx_GNeev8!nE9JDFf2~QUXhTKxh>e-ISpME)?`rnI zw`px-`aSFbhQznVtF__caEV{qDMd%;h|)2;MRxAa-OT2UM{Uc?zDiIkWY%v~kH;B* zplYt`{oh7)%63Xy#<;Y30&SF_Z!{qQp%5rK~k1+Vq5S5L ziJv|D$4cwPhkb%G66C8wDokC)8+T;5ZYt|_+;0?-9CX=~e#zE`8~Af|(WjeY)T@qZ zmM>Qb6hY1=nI5#`nG7lOVSV3+)9bGKd?T$GbsSQ4mQjOE{eCehj>vB;myNC2;#*;M zP4nx!Lr#Ogr+e?cRAo@5a)};O-~arRfYFJ^Szm~k)J~nbH2C-Lte$WJx|xF(KG&&| zZJs$w@rq{_ACKDPRUWr`s%C?@qjckEyjw@Mvk$k{fFn|FGyU`Q^kRR{i2rh~rq@JF zjlE;qVX(UHPL@yW%`3LQHS0|e%1$?OyMniRR5fumi=y4v*NYlWS|#1Gcl5Kr&L583 zZ8)-an~2+8k=1=`W$`YCTUVW9{xr5QcFKyjxluA}I?6WoX%7#+dLVJPwBFyjUQSi|TAR67*i zENVeyQwx=grg-D|eA)&W9aWM{E*3q^1OPk8yp!yJn0B!XGdW=~dO`*>wyxLrZI}~P zlFZyhGAD}$fYrR|;7c-7lKF|5;bTa z>GP89QTn>b1(8kdLGJpHNu|lRyXpggDoN%>0m*!1NCD=M$@W}|n2h*^nPSf=OFo0y z%{jrFv;+WEl1vSjvvYz1EauHfx;RNl&c=j}=x)qMEExR?tD|O|1ptDP!`NXPMCuBF zC5-+s$_7Ob*0DiWMsw(px!$tIG63#tR7o=Pu;^mAeQY4}OvEz8w4clQ;LopWLLG5R z#$e_&zp8G4tA+|^k?R(I_gx?xKa-x(k zaZiIOXBrui)h`Z6yr1X;C!lN6@jWkCi|WHeD0=49g^xn;Pi8I^2R;7U!DyDOJsQm^ z+G57h@N6`LMIZ8lU_gWmozOuk7*36jgOWBaVj{WYhK6p(kP}ph^a_DE9iqo^Nb9(q zq1G{6lRiL_M?4*p$9YKUxR{~RF`k?Wkl@j|P>0}g9@05(V5D>HB`EP{AX2WL~gPJT5uiG#&Jl|xM-oGG29+2fP{?} zT!*l69?~;zRHSF^B`>(W=J^GGNm+Y5zuw5rxM882wL`!u@QMY<)M!d|m>SQFyo~D= zdKu&0a?lGfr--HV*8<*7It0r=~Nrsz2%-64S>N#l}zemk)f0U;CEqO>|( ptxc=t;c7){)?V@gk0kK&q7DzyhwnT976aqOfC3Mh=V3Jf{|C`jd)xp3 -- 2.16.6