...
// note: it will be finalized after the ASD data model
Code Block | ||
---|---|---|
| ||
tosca_definitions_version: tosca_simple_yaml_1_3 data_types: ExtCpdData: version: 1.0 description: "Describes the datatype for exposed service" properties: id: description: "A symbolic name for this exposed service (extCpd)" required: true type: string virtualLinkRequirement: description: > Refers in an abstract way to the network or multiple networks that the ExtCpd shall be exposed on (ex: OAM, EndUser, backhaul, LI, etc) required: false type: string interfaceOrder: description: > Mandatory attribute for a secondary network interface. Defines the order (0-N) in which an the additional/secondary network interface declaration appears in the pod manifest required: false networkInterfaceRequirements: description: > Details container implementation specific requirements on the NetworkAttachmentDefinition required: false type: ExtCpdData.NetworkInterfaceRequirementsIE switchPlane: description: > Used to indicate resource pool (left or right) to allocate connection resources for sepcific secondary interfaces required: false type: string constraints: - valid_values: [left, right] inputParamMappings: description: > Information on what helm chart input parameters that are required to be configured for this extCpd required: false type: ExtCpdData.ParamMappings resourceMapping: description: > Kubernetes API resource name for the resource manifest for the service required: false type: ExtCpdData.ParamMappings artifact_types: AsdDeploymentItem: version: 1.0 description: "The default type of the ASD artifacts" properties: artifactType: type: string constraints: - valid_values: ["helm_chart", "helmfile", "crd", "terraform" ] itemId: type: integer deploymentOrder: type: integer lifecycleParameters: type: list entry_schema: string node_types: ApplicationServiceDescriptor: description: "The ASD node type" properties: id: type: string provider: type: string applicationName: type: string applicationVersion: type: string extCpds: type: list entry_schema: ExtCpdData enhancedClusterCapabilities: type: list entry_schema: string requirements: - virtual_link_1: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo occurrences: [ 0, 1 ] - virtual_link_2: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo occurrences: [ 0, 1 ] - ... - virtual_link_8: capability: tosca.capabilities.nfv.VirtualLinkable relationship: tosca.relationships.nfv.VirtualLinksTo occurrences: [ 0, 1 ] |
...
e.g., Sample main_app_template.yaml
Code Block | ||
---|---|---|
| ||
tosca_definitions_version: tosca_simple_yaml_1_3 imports: - asd_types.yaml - nsd_types.yaml topology_template: substitution_mappings: node_type: tosca.nodes.nfv.ASD_in_NS substitution_filter: properties: - descriptor_id: { equal: 'b1bb0ce7-2222-4fa7-95ed-4840d70a1179' } requirements: virtual_link_1: [ applicationServiceDescriptor, virtual_link_1 ] virtual_link_2: [ applicationServiceDescriptor, virtual_link_2 ] ... virtual_link_8: [ applicationServiceDescriptor, virtual_link_8 ] node_templates: applicationServiceDescriptor: type: ApplicationServiceDescriptor version: 1.0 description: "Sample Application to Illustrate ASD Usage" properties: id: fdsa-xdsfg-sdfsd-wqeuy provider: MyCompany applicationName: SampleApp applicationVersion: “2.3” applicationInfoName: “Sample Application” extCpds: - id: webpage-service virtualLinkRequirement: endUser - id: transactionAPI virtualLinkRequirement: backhaul interfaceOrder: 0 switchPlane: left enhancedClusterCapabilities: [ o-ran.o-cloud.hw.gpgpu ] artifacts: #these are the deployment items: sampleapp-db: type: AsdDeploymentItem file: "sampleapp-db-operator-helm.tgz" # this can be also a uri properties: artifactType: "helm_chart" itemId: 1 deploymentOrder: 1 lifecycleParameters: - ".Values.db.fullBackupInterval" - ".Values.db.walConsolidationInterval" sampleapp-services: type: AsdDeploymentItem file: "sampleapp-services-helm.tgz" # this can be also a uri properties: artifactType: "helm_chart" itemId: 2 deploymentOrder: 2 lifecycleParameters: - ".Values.app.initialWebReplicas" |
...
note: The following definitions files are there for all VSPs, but not really used outside of SDC; i.g., The VSP itself is an internal SDC structure, and I believe it is not supposed to be read/used outside of SDC.
For ASD, there would be no impact.
- onap (TBD)
- _index.yml
- artifacts.yml
- capabilities.yml
- data.yml
- interfaces.yml
- nodes.yml
- relationships.yml
- onapecomp
- _index.yml
- artifacts.yml
- capabilities.yml
- data.yml
- interfaces.yml
- nodes.yml
- relationships.yml
- openecomp-heat
- _index.yml
- data.yml
- groups.yml
- nodes.yml
- tosca
- _index.yml
- artifacts.yml
- capabilities.yml
- data.yml
- groups.yml
- interfaces.yml
- nodes.yml
- policies.yml
- relationships.yml
- onap (TBD)
- Artifacts: TASK #<12>: SDC generates this directory by copying artifacts from the onboarding App package
- <cnf>.mf // TASK #<13>: based on the app/asd metadata in the onboarding manifest file, SDC creates app/asd-specific metadata (e.g., subcategory: ASD)
...
// The category associated will be defined in the main TOSCA descriptor metadata. So, runtime components solutions could know what type of resource they are dealing with.
- Definitions
- ASD_1_0asd_types.yaml
- <main_app_template>.yaml
- Deployment: TASK #<14>: SDC preserves the original onboarding App package
- ORAN_PACKAGE // a directory where the original package is stored
- Images: TASK #<15>: SDC should be able to handle large-size image files. SDC stores the image files to the Kubernetes Object Storage temporarily and waits for the Runtime Catalog Manager picks up and stores the images files to the Image repository.
- <image>
- <image>
- HELM (TBD)
- <helm file>
- <helm file>
- Informational
- <Guide>
- VSP_<?>_Information.txt
- <Guide>
- LcmScripts
- <scripts>
- Licenses
- LICENSE.txt
- TOSCA-Metadata: TASK #<16>: SDC preserves the original onboarding TOSCA.metadata
- TOSCA.meta.original
- ChangeLog.txt
- vendor-license-model.xml (not sure how SO uses)
- vf-license-model.xml (not sure how SO uses)
- Definitions
...