K 8 s RB Definition Instantiation with CDS
K 8 s RB Definition Instantiation with CDS Konrad Bańka (Samsung) Eric Multanen (Intel) Łukasz Rajewski (Orange) Samuli Silvus (Samsung) 20. 11. 2019
K 8 S Resource Bundle (RB) Profile (1) • Profile: Input Values for Helm Charts Instantiation (+ K 8 S Resources) • Profile belongs to the K 8 S RB Definition (equivalent of vf-module definition in ONAP today) being stored in K 8 s Plugin in Multicloud • Today’s CNF/RB Flow with K 8 S Plugin 1. Create Definition -> Automatic with SDC model distribution. RB name is the name of the VNF type (see new naming proposal in upcoming slides) 2. Create Profile -> Manual today with API of K 8 s Plugin 3. Create Instance • • Creation of Helm Charts in Kubernetes RB & Profile name required – Today parameters in User Direct. in Infra Workload API So far SDN Directives Parameters are skipped for v. FW K 8 S use case Invoked in Mutlicloud by Infra Workload API 2
K 8 S RB Profile (2) – v. FW K 8 S values. yaml (today) replica. Count: 1 image: repository: virtlet. cloud/ubuntu/16. 04 tag: latest pull. Policy: If. Not. Present name. Override: "" fullname. Override: "" protected. Network. Name: protected-private-net protected. Net. Cidr: 192. 168. 20. 0/24 protected. Net. Gw. Ip: 192. 168. 20. 100 protected. Net. Gw: 192. 168. 20. 100/24 #v. Firewall container vfw. Private. Ip 0: 192. 168. 10. 3 vfw. Private. Ip 1: 192. 168. 20. 2 vfw. Private. Ip 2: 10. 100. 3 resources: #Packetgen container memory: 4 Gi vpg. Private. Ip 0: 192. 168. 10. 2 #global vars for parent and subcharts. global: #Networks unprotected. Network. Name: unprotected-private-net protected. Private. Net. Cidr: 192. 168. 10. 0/24 protected. Private. Net. Gw: 192. 168. 10. 1/24 vpg. Private. Ip 1: 10. 0. 100. 2 #Sink container vsn. Private. Ip 0: 192. 168. 20. 3 vsn. Private. Ip 1: 10. 100. 4 ##### ovn. Multus. Network. Name: ovn-networkobj demo. Artifacts. Version: 1. 5. 0 onap. Private. Network. Name: onap-private-net dcae. Collector. Ip: 10. 0. 4. 1 onap. Private. Net. Cidr: 10. 0. 0/16 dcae. Collector. Port: 8081 onap. Private. Net. Gw: 10. 0. 1/16 3
(New) K 8 S Definition handling proposal Identify the K 8 S Definition artifact using the VF Module Model Identifiers • These are already present in the in VF Module create call from SO to Multicloud • K 8 S Definition Artifact is here: /api/multicloud-k 8 s/v 1/rb/definition/{VF Module Model Invariant ID}/{VF Module Model Version ID}/content • Stored upon Distribution from SDC by Multicloud artifact broker • Eliminates need to invoke pass Definition ID and Version as User Parameters on creation 4
K 8 S RB Profile – Upload to K 8 s Multicloud Plugin (1) • CREATE Profile in K 8 s Multicloud Plugin curl -i -d @create_rbprofile. json -X POST http: //${K 8 S_NODE_IP}: 30280/api/multicloudk 8 s/v 1/rb/definition/{VF Module Model Invariant ID}/{VF Module Model Version ID}/profile { "rb-name": “{VF Module Model Invariant ID}", "rb-version": "{VF Module Model Version ID}", "profile-name": "p 1", "release-name": "r 1", "namespace": "testns 1", Profile Info: ID/Name, release, namespace, K 8 s ver. "kubernetes-version": "1. 13. 5" } • UPLOAD Profile Content curl -i --data-binary @profile. tar. gz -X POST http: //${K 8 S_NODE_IP}: 30280/api/multicloud-k 8 s/v 1/rb/definition/ /{VF Module Model Invariant ID}/{VF Module Model Version ID}/profile/p 1/content 5
K 8 S RB Profile – Upload to K 8 s Multicloud Plugin (2) • Profile tar. gz structure for v. FW K 8 S use case manifest. yaml override_values. yaml Replacement of selected values from values. yaml testfol/subdir (Optional) Replacement/New K 8 S resources in helm package testfol/subdir/deployment. yaml • Profile Manifest --version: v 1 type: values: "override_values. yaml" configresource: (Optional) Configuration files - filepath: testfol/subdir/deployment. yaml chartpath: firewall/templates/deployment. yaml Configuration file: source and destination
Instantiation Workflow Overview (1) § CBA package (CDS package with service model) can contain K 8 s profile and then uploads it to K 8 s plugin when necessary § CDS during resource assignment process resolves parameters and sends them to SDNC § K 8 s profile (template) name comes from the macro flow input if necessary and is used by CDS to pass it to SDNC, SO and Multicloud § SO invokes infra workload with SDNC parameters created by CDS § Multli. Cloud invokes instantiation of K 8 s service with extra parameters used to replace values from the profile or helm package § Required interpretation of input parameters by K 8 s Instantiation API 7
Instantiation Workflow Overview (2) Changes vs El Alto 8
K 8 S profiling examples with required changes for Option 3 Id Type of Profile Source Profile Processing CDS Input/Output parameters for 1 No profile None No CDS K 8 S Plugin Instantiation Parameters None 2 No profile None Output: Values 3 Static profile(s) External Manual Upload over K 8 S Input: Profile ID Plugin Output: Profile ID 4 Static profile(s) External Manual Upload over K 8 S Input: Profile ID Plugin Output: Profile ID + Values 5 Static profile(s) Bundled with CBA Auto Upload from CBA by CDS Input (O): Profile ID Output: Profile ID 6 Static profile(s) Bundled with CBA Auto Upload from CBA by CDS Input (O): Profile ID Output: Profile ID + Values 7 Profile template(s) (CDS compatible) Template Bundled with CBA Auto Upload from CBA by CDS Templating in CDS Input (O): Temp. Profile Info Output: Profile ID • 2, 6 and 7 will be done and showcased for v. FW K 8 s use case • All possible for other use cases 9
Summary of necessary chages (1) • Adaptation of v. FW CDS CBA for K 8 s Use Case - New input parameters Changes in Data Dictionary Resource-assigment workflow Step(s) to upload RB definition profile (Eventually) new naming policies • Adaptation of v. FW K 8 s Helm charts - Split of helm packages in order to have 4 vf-modules - Modification of naming convention of parameters • Distribution from SDC of many VF-modules placed in one CSAR and their upload as RB definition to multicloud-k 8 s plugin • Modification of naming convention for created definition and its version (vf-module-model-invariant-id, vf-module-model-version-id) 10
Summary of necessary chages (2) • Elimination of multicloud-k 8 s plugin infra workload API user_directives in favor of sdnc_directives – to simplify use input parameters generated by CDS • Possibility to create K 8 s RB definition instance without profile and with parameters coming from sdnc_directives • Integration of new Use Case MORE -> https: //jira. onap. org/browse/INT-1184 11
- Slides: 11