diff options
author | MichaelMorris <michael.morris@est.tech> | 2021-02-11 13:20:21 +0000 |
---|---|---|
committer | Christophe Closset <christophe.closset@intl.att.com> | 2021-02-21 16:01:04 +0000 |
commit | 2b609a313cfa4ab4b523f20627541264ad1e30f5 (patch) | |
tree | 335f324590094d4c435bcdb9956ee6a7a47237c3 | |
parent | 13b39127c1c91d7c05c67ea2c14220c8f992cba5 (diff) |
ETSI NSD SOL001 v3.3.1 types
Types in 2.7.1 folder are types valid for v3.3.1 that have not changed from v2.7.1
Signed-off-by: MichaelMorris <michael.morris@est.tech>
Issue-ID: SDC-3339
Change-Id: I8961bc9fc22ac53d61c785ef5f6cec0f958e9030
24 files changed, 522 insertions, 9 deletions
diff --git a/catalog-be/src/main/resources/import/tosca/capability-types/capabilityTypes.yml b/catalog-be/src/main/resources/import/tosca/capability-types/capabilityTypes.yml index e4037bcf76..bffd2519cd 100644 --- a/catalog-be/src/main/resources/import/tosca/capability-types/capabilityTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/capability-types/capabilityTypes.yml @@ -294,3 +294,6 @@ tosca.capabilities.nfv.ext.Compute.Container.Architecture: mem_size: type: string required: false +tosca.capabilities.nfv.Forwarding: + derived_from: tosca.capabilities.Root + diff --git a/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml b/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml index ff2942fe2b..e294528026 100644 --- a/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/data-types/dataTypes.yml @@ -2807,6 +2807,13 @@ tosca.datatypes.nfv.NsVlProfile: type: tosca.datatypes.nfv.ServiceAvailability description: Network service virtual link service availability levels, as described in ETSI GS NFV-REL 001 required: false + service_availability_level: + type: integer + description: Specifies the service availability level for the VL instance created from this profile + required: false + constraints: + - greater_or_equal: 1 + tosca.datatypes.nfv.NsProfile: derived_from: tosca.datatypes.Root description: describes a profile for instantiating NSs of a particular NS DF according to a specific NSD and NS DF. @@ -2958,6 +2965,46 @@ tosca.datatypes.nfv.AdditionalServiceData: type: string description: Service matching information exposed by the VirtualCp. required: false +tosca.datatypes.nfv.NsOperationAdditionalParameters: + derived_from: tosca.datatypes.Root + description: Is an empty base type for deriving data types for describing NS-specific additional parameters to be passed when invoking NS lifecycle management operations + #properties: +tosca.datatypes.nfv.Mask: + derived_from: tosca.datatypes.Root + properties: + starting_point: + description: Indicates the offset between the last bit of the source mac address and the first bit of the sequence of bits to be matched. + type: integer + required: true + length: + description: Indicates the number of bits to be matched. + type: integer + required: true + value: + description: Provide the sequence of bit values to be matched. + type: string + required: true +tosca.datatypes.nfv.NsMonitoringParameter: + derived_from: tosca.datatypes.Root + description: Represents information on virtualised resource related performance metrics applicable to the NS. + properties: + name: + type: string + description: Human readable name of the monitoring parameter + required: true + performance_metric: + type: string + description: Identifies a performance metric to be monitored, according to ETSI GS NFV-IFA 027. + required: true + constraints: + - valid_values: [byte_incoming_sap, byte_outgoing_sap, packet_incoming_sap, packet_outgoing_sap, byte_incoming, byte_outgoing, packet_incoming, packet_outgoing ] + collection_period: + type: scalar-unit.time + description: Describes the periodicity at which to collect the performance information. + required: false + + + ##### Partner service domain datatypes ###### diff --git a/catalog-be/src/main/resources/import/tosca/group-types/groupTypes.json b/catalog-be/src/main/resources/import/tosca/group-types/groupTypes.json index a572ed7013..bc82905a1a 100644 --- a/catalog-be/src/main/resources/import/tosca/group-types/groupTypes.json +++ b/catalog-be/src/main/resources/import/tosca/group-types/groupTypes.json @@ -22,5 +22,13 @@ "tosca.groups.nfv.PlacementGroup": { "displayName": "NFV PlacementGroup", "icon": "group-nfv-placementgroup" + }, + "tosca.groups.nfv.NsPlacementGroup": { + "displayName": "NFV NS PlacementGroup", + "icon": "group-nfv-placementgroup" + }, + "tosca.groups.nfv.VNFFG": { + "displayName": "NFV VNF Forwarding Graph", + "icon": "group-nfv-placementgroup" } } diff --git a/catalog-be/src/main/resources/import/tosca/group-types/groupTypes.yml b/catalog-be/src/main/resources/import/tosca/group-types/groupTypes.yml index 796dc207d6..235c341c97 100644 --- a/catalog-be/src/main/resources/import/tosca/group-types/groupTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/group-types/groupTypes.yml @@ -130,3 +130,24 @@ tosca.groups.nfv.PlacementGroup: description: Human readable description of the group required: true members: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink ] +tosca.groups.nfv.NsPlacementGroup: + derived_from: tosca.groups.Root + description: NsPlacementGroup is used for describing the affinity or anti-affinity relationship applicable between VNF instances created using different VNFDs, the Virtual Link instances created using different VLDs or the nested NS instances created using different NSDs when used in a NSD. + properties: + description: + type: string + description: Human readable description of the group + required: true + members: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS] + +tosca.groups.nfv.VNFFG: + derived_from: tosca.groups.Root + description: the VNFFG group type describes a topology of the NS or a portion of the NS, and optionally forwarding rules, applicable to the traffic conveyed over this topology + properties: + description: + type: string + description: Human readable description of the group + required: true + members: [ tosca.nodes.nfv.NFP, tosca.nodes.nfv.VNF, tosca.nodes.nfv.NS, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NfpPositionElement ] + + diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.json b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.json new file mode 100644 index 0000000000..8a781cda1f --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.json @@ -0,0 +1,17 @@ +{ + "payloadName": "Forwarding.yml", + "contactId": "jh0003", + "name": "Forwarding", + "description": "Forwarding", + "resourceIconPath": "network", + "resourceType": "VFC", + "categories": [{ + "name": "Generic", + "subcategories": [{ + "name": "Infrastructure" + }] + }], + "vendorName": "ETSI", + "vendorRelease": "2.7.1", + "tags": ["Forwarding"] +} diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.yml new file mode 100644 index 0000000000..1c14e778e5 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/Forwarding/Forwarding.yml @@ -0,0 +1,15 @@ +tosca_definitions_version: tosca_simple_yaml_1_3 +node_types: + tosca.nodes.nfv.Forwarding: + derived_from: tosca.nodes.Root + capabilities: + virtual_linkable: + type: tosca.capabilities.nfv.VirtualLinkable + forwarding: + type: tosca.capabilities.nfv.Forwarding + occurrences: [ 1, 2 ] #When the number of occurrences is 1, the ingress and egress traffic is associated to a single VnfExtCp, PnfExtCp or Sap; When the number of occurrences is 2, the ingress VnfExtCp, PnfExtCp or Sap is associated to the first value and the egress VnfExtCp, PnfExtCp or Sap is associated to the second value. + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.json b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.json new file mode 100644 index 0000000000..982f3ad7a0 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.json @@ -0,0 +1,17 @@ +{ + "payloadName": "NFP.yml", + "contactId": "jh0003", + "name": "NFP", + "description": "NFP", + "resourceIconPath": "network", + "resourceType": "VFC", + "categories": [{ + "name": "Generic", + "subcategories": [{ + "name": "Infrastructure" + }] + }], + "vendorName": "ETSI", + "vendorRelease": "2.7.1", + "tags": ["NFP"] +} diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.yml new file mode 100644 index 0000000000..40209b883c --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NFP/NFP.yml @@ -0,0 +1,11 @@ +tosca_definitions_version: tosca_simple_yaml_1_3 +node_types: + tosca.nodes.nfv.NFP: + derived_from: tosca.nodes.Root + description: node definition of NFP + requirements: + - nfp_position: + capability: tosca.capabilities.nfv.Forwarding + node: tosca.nodes.nfv.NfpPosition + relationship: tosca.relationships.nfv.ForwardTo + occurrences: [ 1, UNBOUNDED ] diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.json b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.json new file mode 100644 index 0000000000..198fbe252d --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.json @@ -0,0 +1,17 @@ +{ + "payloadName": "NfpPosition.yml", + "contactId": "jh0003", + "name": "NfpPosition", + "description": "NfpPosition", + "resourceIconPath": "network", + "resourceType": "VFC", + "categories": [{ + "name": "Generic", + "subcategories": [{ + "name": "Infrastructure" + }] + }], + "vendorName": "ETSI", + "vendorRelease": "2.7.1", + "tags": ["NfpPosition"] +} diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.yml new file mode 100644 index 0000000000..4d7ad6c641 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPosition/NfpPosition.yml @@ -0,0 +1,18 @@ +tosca_definitions_version: tosca_simple_yaml_1_3 +node_types: + tosca.nodes.nfv.NfpPosition: + derived_from: tosca.nodes.Root + description: node definition of NFP position + properties: + forwarding_behaviour: + type: string + description: Identifies a rule to apply to forward traffic to CP or SAP instances corresponding to the referenced NfpPositionElement(s). + constraints: + - valid_values: [ all, lb, ff ] + required: false +# forwarding_behaviour_input_parameters: +# description: Provides input parameters to configure the forwarding behaviour. +# type: map +# required: false +# entry_schema: +# type: string diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.json b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.json new file mode 100644 index 0000000000..a18880e0ec --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.json @@ -0,0 +1,17 @@ +{ + "payloadName": "NfpPositionElement.yml", + "contactId": "jh0003", + "name": "NfpPositionElement", + "description": "NfpPositionElement", + "resourceIconPath": "network", + "resourceType": "VFC", + "categories": [{ + "name": "Generic", + "subcategories": [{ + "name": "Infrastructure" + }] + }], + "vendorName": "ETSI", + "vendorRelease": "2.7.1", + "tags": ["NfpPositionElement"] +} diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.yml new file mode 100644 index 0000000000..f650703bf3 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/2.7.1/NfpPositionElement/NfpPositionElement.yml @@ -0,0 +1,13 @@ +tosca_definitions_version: tosca_simple_yaml_1_3 +node_types: + tosca.nodes.nfv.NfpPositionElement: + derived_from: tosca.nodes.Root + description: node definition of NfpPositionElement + capabilities: + forwarding: + type: tosca.capabilities.nfv.Forwarding + requirements: + - profile_element: + capability: tosca.capabilities.nfv.Forwarding + relationship: tosca.relationships.nfv.ForwardTo + occurrences: [ 1, 2 ] # When the number of occurrences is 1, the ingress and egress traffic is associated to a single VnfExtCp or Sap; When the number of occurrences is 2, the ingress VnfExtCp or Sap is associated to the first value and the egress VnfExtCp or Sap is associated to the second value. diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.json b/catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.json new file mode 100644 index 0000000000..c740fff413 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.json @@ -0,0 +1,17 @@ +{ + "payloadName": "NS.yml", + "contactId": "jh0003", + "name": "NS", + "description": "ETSI NS", + "resourceIconPath": "network", + "resourceType": "VFC", + "categories": [{ + "name": "Generic", + "subcategories": [{ + "name": "Network Elements" + }] + }], + "vendorName": "ETSI", + "vendorRelease": "3.3.1", + "tags": ["NS"] +} diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.yml new file mode 100644 index 0000000000..1ae055f68c --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/3.3.1/NS/NS.yml @@ -0,0 +1,48 @@ +tosca_definitions_version: tosca_simple_yaml_1_3 +node_types: + tosca.nodes.nfv.NS: + derived_from: tosca.nodes.Root + properties: + descriptor_id: + type: string # UUID + description: Identifier of this NS descriptor + required: true + designer: + type: string + description: Identifies the designer of the NSD. + required: true + version: + type: string + description: Identifies the version of the NSD. + required: true + name: + type: string + description: Provides the human readable name of the NSD. + required: true + invariant_id: # UUID + type: string + description: Identifies an NSD in a version independent manner. This attribute is invariant across versions of NSD + required: true + flavour_id: + type: string + description: Identifier of the NS Deployment Flavour within the NSD + required: true + ns_profile: + type: tosca.datatypes.nfv.NsProfile + description: Specifies a profile of a NS, when this NS is used as nested NS within another NS. + required: false + service_availability_level: + type: integer + description: Specifies the service availability level for the NS instance. + required: false + constraints: + - greater_or_equal: 1 + requirements: + - virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + node: tosca.nodes.nfv.NsVirtualLink + occurrences: [ 0, 1 ] + interfaces: + Nslcm: + type: tosca.interfaces.nfv.Nslcm diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.json b/catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.json new file mode 100644 index 0000000000..58be5d4088 --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.json @@ -0,0 +1,17 @@ +{ + "payloadName": "Sap.yml", + "contactId": "jh0003", + "name": "Sap", + "description": "Sap", + "resourceIconPath": "network", + "resourceType": "VFC", + "categories": [{ + "name": "Generic", + "subcategories": [{ + "name": "Infrastructure" + }] + }], + "vendorName": "ETSI", + "vendorRelease": "2.5.1", + "tags": ["Sap"] +} diff --git a/catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.yml b/catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.yml new file mode 100644 index 0000000000..a91f484fae --- /dev/null +++ b/catalog-be/src/main/resources/import/tosca/nfv-types/Sap/Sap.yml @@ -0,0 +1,14 @@ +tosca_definitions_version: tosca_simple_yaml_1_2 +node_types: + tosca.nodes.nfv.Sap: + derived_from: tosca.nodes.nfv.Cp + description: node definition of SAP. + requirements: + - external_virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + occurrences: [0, 1] + - internal_virtual_link: + capability: tosca.capabilities.nfv.VirtualLinkable + relationship: tosca.relationships.nfv.VirtualLinksTo + occurrences: [1, 1] diff --git a/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.json b/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.json index a7934e9385..bedd1d2d2f 100644 --- a/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.json +++ b/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.json @@ -94,5 +94,37 @@ "tosca.policies.nfv.AntiAffinityRule": { "displayName": "NFV AntiAffinityRule", "icon": "policy-nfv-anti-affinityrule" + }, + "tosca.policies.nfv.NsAffinityRule": { + "displayName": "NFV NsAffinityRule", + "icon": "policy-nfv-anti-affinityrule" + }, + "tosca.policies.nfv.NsAntiAffinityRule": { + "displayName": "NFV NsAntiAffinityRule", + "icon": "policy-nfv-anti-affinityrule" + }, + "tosca.policies.nfv.Abstract.SecurityGroupRule": { + "displayName": "NFV Abstract SecurityGroupRule", + "icon": "policy-nfv-anti-affinityrule" + }, + "tosca.policies.nfv.Abstract.SecurityGroupRule": { + "displayName": "NFV Abstract SecurityGroupRule", + "icon": "policy-nfv-anti-affinityrule" + }, + "tosca.policies.nfv.NsSecurityGroupRule": { + "displayName": "NFV NsSecurityGroupRule", + "icon": "policy-nfv-anti-affinityrule" + }, + "tosca.policies.nfv.NfpRule": { + "displayName": "NFV NfpRule ", + "icon": "policy-nfv-anti-affinityrule" + }, + "tosca.policies.nfv.NsMonitoring": { + "displayName": "NFV NsMonitoring", + "icon": "policy-nfv-anti-affinityrule" + }, + "tosca.policies.nfv.VnfMonitoring": { + "displayName": "NFV VnfMonitoring", + "icon": "policy-nfv-anti-affinityrule" } } diff --git a/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml b/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml index 724df7b5f8..169a71474b 100644 --- a/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/policy-types/policyTypes.yml @@ -301,3 +301,166 @@ tosca.policies.nfv.AntiAffinityRule: constraints: - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop ] targets: [ tosca.nodes.nfv.Vdu.Compute, tosca.nodes.nfv.VnfVirtualLink, tosca.groups.nfv.PlacementGroup ] + +tosca.policies.nfv.NsAffinityRule: + derived_from: tosca.policies.Placement + description: The NsAffinityRule describes the affinity rules applicable for the defined targets + properties: + scope: + type: string + description: Specifies the scope of the local affinity rule. + required: true + constraints: + - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop, network_link_and_node ] + targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ] + +tosca.policies.nfv.NsAntiAffinityRule: + derived_from: tosca.policies.Placement + description: The NsAntiAffinityRule describes the anti-affinity rules applicable for the defined targets + properties: + scope: + type: string + description: Specifies the scope of the local affinity rule.. + required: true + constraints: + - valid_values: [ nfvi_node, zone, zone_group, nfvi_pop, network_link_and_node ] + targets: [tosca.nodes.nfv.VNF, tosca.nodes.nfv.NsVirtualLink, tosca.nodes.nfv.NS, tosca.groups.nfv.NsPlacementGroup ] + +tosca.policies.nfv.Abstract.SecurityGroupRule: + derived_from: tosca.policies.Root + description: The Abstract.SecurityGroupRule type represents an abstract policy type without any target requirements + properties: + description: + type: string + description: Human readable description of the security group rule. + required: false + direction: + type: string + description: The direction in which the security group rule is applied. The direction of 'ingress' or 'egress' is specified against the associated CP. I.e., 'ingress' means the packets entering a CP, while 'egress' means the packets sent out of a CP. + required: true + constraints: + - valid_values: [ ingress, egress ] + default: ingress + ether_type: + type: string + description: Indicates the protocol carried over the Ethernet layer. + required: true + constraints: + - valid_values: [ ipv4, ipv6 ] + default: ipv4 + protocol: + type: string + description: Indicates the protocol carried over the IP layer. Permitted values include any protocol defined in the IANA protocol registry, e.g. TCP, UDP, ICMP, etc. + required: true + constraints: + - valid_values: [ hopopt, icmp, igmp, ggp, ipv4, st, tcp, cbt, egp, igp, bbn_rcc_mon, nvp_ii, pup, argus, emcon, xnet, chaos, udp, mux, dcn_meas, hmp, prm, xns_idp, trunk_1, trunk_2, leaf_1, leaf_2, rdp, irtp, iso_tp4, netblt, mfe_nsp, merit_inp, dccp, 3pc, idpr, xtp, ddp, idpr_cmtp, tp++, il, ipv6, sdrp, ipv6_route, ipv6_frag, idrp, rsvp, gre, dsr, bna, esp, ah, i_nlsp, swipe, narp, mobile, tlsp, skip, ipv6_icmp, ipv6_no_nxt, ipv6_opts, cftp, sat_expak, kryptolan, rvd, ippc, sat_mon, visa, ipcv, cpnx, cphb, wsn, pvp, br_sat_mon, sun_nd, wb_mon, wb_expak, iso_ip, vmtp, secure_vmtp, vines, ttp, iptm, nsfnet_igp, dgp, tcf, eigrp, ospfigp, sprite_rpc, larp, mtp, ax.25, ipip, micp, scc_sp, etherip, encap, gmtp, ifmp, pnni, pim, aris, scps, qnx, a/n, ip_comp, snp, compaq_peer, ipx_in_ip, vrrp, pgm, l2tp, ddx, iatp, stp, srp, uti, smp, sm, ptp, isis, fire, crtp, crudp, sscopmce, iplt, sps, pipe, sctp, fc, rsvp_e2e_ignore, mobility, udp_lite, mpls_in_ip, manet, hip, shim6, wesp, rohc ] + default: tcp + port_range_min: + type: integer + description: Indicates minimum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints. + required: true + constraints: + - greater_or_equal: 0 + - less_or_equal: 65535 + default: 0 + port_range_max: + type: integer + description: Indicates maximum port number in the range that is matched by the security group rule. If a value is provided at design-time, this value may be overridden at run-time based on other deployment requirements or constraints. + required: true + constraints: + - greater_or_equal: 0 + - less_or_equal: 65535 + default: 65535 + +tosca.policies.nfv.NsSecurityGroupRule: + derived_from: tosca.policies.nfv.Abstract.SecurityGroupRule + description: The NsSecurityGroupRule type is a policy type specified the matching criteria for the ingress and/or egress traffic to/from visited SAPs. + targets: [ tosca.nodes.nfv.Sap ] + +tosca.policies.nfv.NfpRule: + derived_from: tosca.policies.Root + description: policy definition of NfpRule + properties: + ether_destination_address: + description: Indicates a destination Mac address. + type: string + required: false + ether_source_address: + description: Indicates a source Mac address. + type: string + required: false + ether_type: + description: Indicates the protocol carried over the Ethernet layer. + type: string + constraints: + - valid_values: [ ipv4, ipv6 ] + required: false + vlan_tag: + description: Indicates a VLAN identifier in an IEEE 802.1Q-2014 tag [14]. Multiple tags can be included for QinQ stacking. + type: list + entry_schema: + type: string + required: false + protocol: + description: 'Indicates the L4 protocol, For IPv4 [15] this corresponds to the field called "Protocol" to identify the next level protocol. For IPv6 [16] this corresponds to the field is called the "Next Header" field. Permitted values: Any keyword defined in the IANA [17] protocol registry.' + type: string + required: false + dscp: + description: For IPv4 [15] a string of "0" and "1" digits that corresponds to the 6-bit Differentiated Services Code Point (DSCP) field of the IP header. For IPv6 [16] a string of "0" and "1" digits that corresponds to the 6 differentiated services bits of the traffic class header field. + type: string + required: false + source_port_range: + description: Indicates a range of source ports. + type: range + required: false + constraints: + - in_range: [0, 65535] + destination_port_range: + description: Indicates a range of destination ports. + type: range + required: false + constraints: + - in_range: [0, 65535] + source_ip_address_prefix: + description: Indicates the source IP address range in CIDR format. + type: string + required: false + destination_ip_address_prefix: + description: Indicates the destination IP address range in CIDR format. + type: string + required: false + extended_criteria: + description: Indicates values of specific bits in a frame. + type: list + entry_schema: + type: tosca.datatypes.nfv.Mask + required: false + targets: [ tosca.nodes.nfv.NFP ] + +tosca.policies.nfv.NsMonitoring: + derived_from: tosca.policies.Root + description: Policy type is used to identify information to be monitored during the lifetime of a network service instance as defined in ETSI GS NFV-IFA 014 [2]. + properties: + ns_monitoring_parameters: + type: list + description: Specifies a virtualised resource related performance metric to be monitored on the NS level. + required: true + entry_schema: + type: tosca.datatypes.nfv.NsMonitoringParameter + constraints: + - min_length: 1 + targets: [ tosca.nodes.nfv.NS ] + +tosca.policies.nfv.VnfMonitoring: + derived_from: tosca.policies.Root + description: Policy type is used to identify information to be monitored during the lifetime of a VNF instance as defined in ETSI GS NFV-IFA 014 [2]. + properties: + vnf_monitoring_parameters: + type: list + description: Specifies a virtualised resource related performance metric to be monitored on the NS level. + required: true + entry_schema: + type: tosca.datatypes.nfv.VnfMonitoringParameter + constraints: + - min_length: 1 + targets: [ tosca.nodes.nfv.VNF ] diff --git a/catalog-be/src/main/resources/import/tosca/relationship-types/relationshipTypes.yml b/catalog-be/src/main/resources/import/tosca/relationship-types/relationshipTypes.yml index a2ea535a56..6f7676583c 100644 --- a/catalog-be/src/main/resources/import/tosca/relationship-types/relationshipTypes.yml +++ b/catalog-be/src/main/resources/import/tosca/relationship-types/relationshipTypes.yml @@ -137,3 +137,8 @@ tosca.relationships.nfv.AttachesTo: tosca.relationships.nfv.Vdu.AttachedTo: derived_from: tosca.relationships.DependsOn valid_target_types: [ tosca.capabilities.nfv.VirtualStorage ] + +tosca.relationships.nfv.ForwardTo: + derived_from: tosca.relationships.Root + valid_target_types: [ tosca.capabilities.nfv.Forwarding ] + diff --git a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/data/onapTypesToUpgrade.json b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/data/onapTypesToUpgrade.json index 7076705619..8167b09100 100644 --- a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/data/onapTypesToUpgrade.json +++ b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/data/onapTypesToUpgrade.json @@ -2,9 +2,14 @@ "nfv": [ "allottedResource", "NS", - "NsVirtualLink" + "NsVirtualLink", + "Sap" ], "nfv_2_7_1": [ + "NfpPositionElement", + "NfpPosition", + "NFP", + "Forwarding", "vduCompute", "vduVirtualFileStorage", "vnfExtCp", @@ -13,7 +18,8 @@ ], "nfv_3_3_1": [ "VNF", - "vduVirtualBlockStorage" + "vduVirtualBlockStorage", + "NS" ], "nfv_4_1_1": [ "VNF", diff --git a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/imports/runNormativeType.py b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/imports/runNormativeType.py index 4e9a14932f..c2493b522d 100644 --- a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/imports/runNormativeType.py +++ b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/imports/runNormativeType.py @@ -38,7 +38,7 @@ def run_import_nfv(): run(nfv_candidate) def run_import_nfv_2_7_1(): - nfv_candidate = get_nfv_3_3_1() + nfv_candidate = get_nfv_2_7_1() run(nfv_candidate) def run_import_nfv_3_3_1(): @@ -46,7 +46,7 @@ def run_import_nfv_3_3_1(): run(nfv_candidate) def run_import_nfv_4_1_1(): - nfv_candidate = get_nfv_3_3_1() + nfv_candidate = get_nfv_4_1_1() run(nfv_candidate) def run_import_onap(): diff --git a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeToUpdateList.py b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeToUpdateList.py index 2d243d80ab..6537b1cdd0 100644 --- a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeToUpdateList.py +++ b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeToUpdateList.py @@ -58,7 +58,7 @@ def get_nfv(types, base_location="/"): def get_nfv_2_7_1(types, base_location="/"): return NormativeTypeCandidate(base_location + "nfv-types/2.7.1/", - types.get_type("nfv_2_7_1")) + types.get_type("nfv_2_7_1")) def get_nfv_3_3_1(types, base_location="/"): return NormativeTypeCandidate(base_location + "nfv-types/3.3.1/", diff --git a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeTypesList.py b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeTypesList.py index 12a4491b96..b6cfb9e264 100644 --- a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeTypesList.py +++ b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/models/normativeTypesList.py @@ -112,11 +112,16 @@ def get_nfv(base_file_location="/"): "OntPnf", "PonUni", "OltNni", - "OntNni"]) + "OntNni", + "Sap"]) def get_nfv_2_7_1(base_file_location="/"): return NormativeTypeCandidate(base_file_location + "nfv-types/2.7.1/", - ["vduCompute", + ["NfpPositionElement", + "NfpPosition", + "NFP", + "Forwarding", + "vduCompute", "vduVirtualFileStorage", "vnfExtCp", "vduCp", @@ -125,7 +130,8 @@ def get_nfv_2_7_1(base_file_location="/"): def get_nfv_3_3_1(base_file_location="/"): return NormativeTypeCandidate(base_file_location + "nfv-types/3.3.1/", ["vduVirtualBlockStorage", - "VNF"]) + "VNF", + "NS"]) def get_nfv_4_1_1(base_file_location="/"): return NormativeTypeCandidate(base_file_location + "nfv-types/4.1.1/", diff --git a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/upgrade/run.py b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/upgrade/run.py index 8cdf22842f..cef7dd74db 100644 --- a/catalog-be/src/main/resources/scripts/sdcBePy/tosca/upgrade/run.py +++ b/catalog-be/src/main/resources/scripts/sdcBePy/tosca/upgrade/run.py @@ -22,7 +22,6 @@ def main(sdc_be_proxy): base_file_location = os.getcwd() + "/" logger.debug("working directory =" + base_file_location) process_element_list(get_normative_element_candidate_list(base_file_location), sdc_be_proxy) - process_element_list(get_normative_element_with_metadata_list(base_file_location), sdc_be_proxy) all_types = get_all_types() @@ -34,6 +33,8 @@ def main(sdc_be_proxy): nfv_list = get_nfv_to_update_list(all_types, base_file_location) process_type_list(nfv_list, sdc_be_proxy, update_nfv_version) + + process_element_list(get_normative_element_with_metadata_list(base_file_location), sdc_be_proxy) logger.log("Updating end ->", "All normatives updated successfully!") print_and_exit(0, None) |