Skip to content

Instantly share code, notes, and snippets.

@alazyer
Forked from Ladas/cloud_router_vnfd.yaml
Created June 26, 2017 09:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alazyer/24bb4f7544d324b31972ef9ca8447062 to your computer and use it in GitHub Desktop.
Save alazyer/24bb4f7544d324b31972ef9ca8447062 to your computer and use it in GitHub Desktop.
Working NSD and VNFD
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
description: OPNFV-Demo-flavor
# NOT USED
#imports:
# - tacker_nfv_defs.yaml
# - tacker_defs.yaml
metadata:
template_name: demo-flavor
ID: OPNFV Demo CloudRouter
vendor: Red Hat Inc
version: 1.0
node_types:
tosca.nodes.nfv.VNF.CloudRouter:
derived_from: tosca.nodes.nfv.VNF
capabilities:
forwarder1:
type: tosca.capabilities.nfv.Forwarder
forwarder2:
type: tosca.capabilities.nfv.Forwarder
forwarder3:
type: tosca.capabilities.nfv.Forwarder
forwarder4:
type: tosca.capabilities.nfv.Forwarder
topology_template:
substitution_mappings:
node_type: tosca.nodes.nfv.VNF.CloudRouter
requirements:
virtualLink1: [CP1, virtualLink]
virtualLink2: [CP2, virtualLink]
virtualLink3: [CP3, virtualLink]
virtualLink4: [CP4, virtualLink]
virtualLinkMgmt: [CP5, virtualLink]
capabilities:
forwarder1: [CP1, forwarder]
forwarder2: [CP2, forwarder]
forwarder3: [CP3, forwarder]
forwarder4: [CP4, forwarder]
inputs:
image:
type: string
default: OPNFVCloudRouter20GOpenVPNClientBIRD # Pre-existing image in glance
node_templates:
VDU1:
type: tosca.nodes.nfv.VDU.Tacker
capabilities:
nfv_compute:
properties:
disk_size: 20 GB
mem_size: 4096 MB
num_cpus: 2
properties:
key_name: demo-key
service_type: router
image: { get_input: image }
availability_zone: nova
mgmt_driver: noop
CP1:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: true
requirements:
- virtualBinding:
node: VDU1
CP2:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: true
requirements:
- virtualBinding:
node: VDU1
CP3:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: true
requirements:
- virtualBinding:
node: VDU1
CP4:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: true
requirements:
- virtualBinding:
node: VDU1
CP5:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: false
requirements:
- virtualBinding:
node: VDU1
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
description: OPNFV demo NSD
metadata:
ID: OPNFV demo # ID of this Network Service Descriptor
vendor: Red Hat Inc. # Provider or vendor of the Network Service
version: 1 # Version of the Network Service Descriptor
topology_template:
inputs:
node_templates:
VNF1:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: openstack-nfvpe # ManageIQ provider entry for openstack cloud
vendor: cloudrouter
id: 1
version: 0.2
requirements:
- virtualLink1: VL1 # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: VL2 # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: CloudExternal # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: # the subsititution mappings in VNF1 has virtualLink4: [CP4, virtualLink]
- virtualLinkMgmt: net_mgmt # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
forwarder1: # the subsititution mappings in VNF1 has forwarder1: [CP1, forwarder]
forwarder2: # the subsititution mappings in VNF1 has forwarder2: [CP2, forwarder]
forwarder3: # the subsititution mappings in VNF1 has forwarder3: [CP3, forwarder]
VNF2:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: openstack-nfvpe # ManageIQ provider entry for openstack cloud
vendor: cloudrouter
id: 2
version: 0.2
requirements:
- virtualLink1: VL2 # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: VL3 # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: CloudExternal # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: # the subsititution mappings in VNF1 has virtualLink4 [CP4, virtualLink]
- virtualLinkMgmt: net_mgmt # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
- forwarder1: # the subsititution mappings in VNF1 has forwarder1: [CP1, forwarder]
- forwarder2: # the subsititution mappings in VNF1 has forwarder2: [CP2, forwarder]
- forwarder3: # the subsititution mappings in VNF1 has forwarder3: [CP3, forwarder]
VNF3:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: openstack-nfvpe # ManageIQ provider entry for openstack cloud
vendor: cloudrouter
id: 3
version: 0.2
requirements:
- virtualLink1: VL1 # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: VL2 # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: InterCloud # the subsititution mappings in VNF1 has virtualLink4: [CP4, virtualLink]
- virtualLinkMgmt: net_mgmt # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
forwarder1: # the subsititution mappings in VNF1 has forwarder1: [CP1, forwarder]
forwarder2: # the subsititution mappings in VNF1 has forwarder2: [CP2, forwarder]
forwarder4: # the subsititution mappings in VNF1 has forwarder4: [CP4, forwarder]
VNF4:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: amazon # ManageIQ provider entry for AWS VPC
vendor: cloudrouter
id: 4
image_id: OPNFVCloudRouter #ami name
image_type: t2.medium
vpc_id: openshift2 #aws vpc name
availabilityzone: us-east-1b
key_name: red-hat #change this to match
version: 0.2
requirements:
- virtualLink1: # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: CloudExternal # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: InterCloud # the subsititution mappings in VNF1 has virtualLink4: [CP4, virtualLink]
- virtualLinkMgmt: net_mgmt # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
forwarder3: # the subsititution mappings in VNF1 has forwarder3: [CP3, forwarder]
forwarder4: # the subsititution mappings in VNF1 has forwarder4: [CP4, forwarder]
CPnsd1:
type: tosca.nodes.nfv.CP
properties:
type:
requirements:
- virtualBinding:
node: VNF1
- virtualLink:
node: CloudExternal
CPnsd2:
type: tosca.nodes.nfv.CP
properties:
type:
requirements:
- virtualBinding:
node: VNF2
- virtualLink:
node: CloudExternal
CPnsd3: #endpoints of NS
type: tosca.nodes.nfv.CP
properties:
type:
requirements:
- virtualBinding:
node: VNF4
- virtualLink:
node: VLIMS
net_mgmt:
type: tosca.nodes.nfv.VL
properties:
network_type: flat
vendor: openstack
cidr: 10.1.0.0/24
CloudExternal:
type: tosca.nodes.nfv.VL
properties:
network_type: flat
vendor: openstack
cidr: 10.2.0.0/24
VL1:
type: tosca.nodes.nfv.VL
properties:
network_type: something
vendor: openstack
cidr: 10.3.0.0/24
VL2:
type: tosca.nodes.nfv.VL
properties:
network_type: something
vendor: openstack
cidr: 10.4.0.0/24
VL3:
type: tosca.nodes.nfv.VL
properties:
network_type: something
vendor: openstack
cidr: 10.5.0.0/24
InterCloud:
type: tosca.nodes.nfv.VL
properties:
network_type: something
vendor: openstack
cidr: 10.6.0.0/24
VLIMS:
type: tosca.nodes.nfv.VL
properties:
network_type: something
vendor: openstack
cidr: 10.7.0.0/24
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
description: OPNFV demo NSD
metadata:
ID: OPNFV demo # ID of this Network Service Descriptor
vendor: Red Hat Inc. # Provider or vendor of the Network Service
version: 1 # Version of the Network Service Descriptor
topology_template:
inputs:
node_templates:
VNF1:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: openstack-nfvpe # ManageIQ provider entry for openstack cloud
vendor: cloudrouter
id: 1
version: 0.2
requirements:
- virtualLink1: VL1 # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: VL2 # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: CloudExternal # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: # the subsititution mappings in VNF1 has virtualLink4: [CP4, virtualLink]
- virtualLinkMgmt: net_management # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
forwarder1: # the subsititution mappings in VNF1 has forwarder1: [CP1, forwarder]
forwarder2: # the subsititution mappings in VNF1 has forwarder2: [CP2, forwarder]
forwarder3: # the subsititution mappings in VNF1 has forwarder3: [CP3, forwarder]
VNF2:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: openstack-nfvpe # ManageIQ provider entry for openstack cloud
vendor: cloudrouter
id: 2
version: 0.2
requirements:
- virtualLink1: VL2 # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: VL3 # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: CloudExternal # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: # the subsititution mappings in VNF1 has virtualLink4 [CP4, virtualLink]
- virtualLinkMgmt: net_management # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
- forwarder1: # the subsititution mappings in VNF1 has forwarder1: [CP1, forwarder]
- forwarder2: # the subsititution mappings in VNF1 has forwarder2: [CP2, forwarder]
- forwarder3: # the subsititution mappings in VNF1 has forwarder3: [CP3, forwarder]
VNF3:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: openstack-nfvpe # ManageIQ provider entry for openstack cloud
vendor: cloudrouter
id: 3
version: 0.2
requirements:
- virtualLink1: VL1 # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: VL2 # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: InterCloud # the subsititution mappings in VNF1 has virtualLink4: [CP4, virtualLink]
- virtualLinkMgmt: net_management # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
forwarder1: # the subsititution mappings in VNF1 has forwarder1: [CP1, forwarder]
forwarder2: # the subsititution mappings in VNF1 has forwarder2: [CP2, forwarder]
forwarder4: # the subsititution mappings in VNF1 has forwarder4: [CP4, forwarder]
VNF4:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: aws-openshift # ManageIQ provider entry for AWS VPC
vendor: cloudrouter
id: 4
version: 0.2
requirements:
- virtualLink1: # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: CloudExternal # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: InterCloud # the subsititution mappings in VNF1 has virtualLink4: [CP4, virtualLink]
- virtualLinkMgmt: net_management # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
forwarder3: # the subsititution mappings in VNF1 has forwarder3: [CP3, forwarder]
forwarder4: # the subsititution mappings in VNF1 has forwarder4: [CP4, forwarder]
CPnsd1:
type: tosca.nodes.nfv.CP
properties:
type:
requirements:
- virtualBinding:
node: VNF1
- virtualLink:
node: CloudExternal
CPnsd2:
type: tosca.nodes.nfv.CP
properties:
type:
requirements:
- virtualBinding:
node: VNF2
- virtualLink:
node: CloudExternal
CPnsd3: #endpoints of NS
type: tosca.nodes.nfv.CP
properties:
type:
requirements:
- virtualBinding:
node: VNF4
- virtualLink:
node: VLIMS
net_management:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
CloudExternal:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
VL1:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
VL2:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
VL3:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
InterCloud:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
VLIMS:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
description: OPNFV demo NSD
metadata:
ID: OPNFV demo # ID of this Network Service Descriptor
vendor: Red Hat Inc. # Provider or vendor of the Network Service
version: 1 # Version of the Network Service Descriptor
topology_template:
inputs:
node_templates:
VNF1:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: openstack-nfvpe # ManageIQ provider entry for openstack cloud
vendor: cloudrouter
id: 1
version: 0.2
requirements:
- virtualLink1: # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: external # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: # the subsititution mappings in VNF1 has virtualLink4: [CP4, virtualLink]
- virtualLinkMgmt: net_mgmt # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
forwarder1: # the subsititution mappings in VNF1 has forwarder1: [CP1, forwarder]
forwarder2: # the subsititution mappings in VNF1 has forwarder2: [CP2, forwarder]
forwarder3: # the subsititution mappings in VNF1 has forwarder3: [CP3, forwarder]
VNF2:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: openstack-nfvpe # ManageIQ provider entry for openstack cloud
vendor: cloudrouter
id: 2
version: 0.2
requirements:
- virtualLink1: # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: external # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: # the subsititution mappings in VNF1 has virtualLink4 [CP4, virtualLink]
- virtualLinkMgmt: net_mgmt # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
- forwarder1: # the subsititution mappings in VNF1 has forwarder1: [CP1, forwarder]
- forwarder2: # the subsititution mappings in VNF1 has forwarder2: [CP2, forwarder]
- forwarder3: # the subsititution mappings in VNF1 has forwarder3: [CP3, forwarder]
VNF3:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: openstack-nfvpe # ManageIQ provider entry for openstack cloud
vendor: cloudrouter
id: 3
version: 0.2
requirements:
- virtualLink1: # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: external # the subsititution mappings in VNF1 has virtualLink4: [CP4, virtualLink]
- virtualLinkMgmt: net_mgmt
capabilities:
forwarder1: # the subsititution mappings in VNF1 has forwarder1: [CP1, forwarder]
forwarder2: # the subsititution mappings in VNF1 has forwarder2: [CP2, forwarder]
forwarder4: # the subsititution mappings in VNF1 has forwarder4: [CP4, forwarder]
VNF4:
type: tosca.nodes.nfv.VNF.CloudRouter
properties:
vim_id: aws-openshift # ManageIQ provider entry for AWS VPC
vendor: cloudrouter
id: 4
version: 0.2
requirements:
- virtualLink1: # the subsititution mappings in VNF1 has virtualLink1: [CP1, virtualLink]
- virtualLink2: # the subsititution mappings in VNF1 has virtualLink2: [CP2, virtualLink]
- virtualLink3: # the subsititution mappings in VNF1 has virtualLink3: [CP3, virtualLink]
- virtualLink4: # the subsititution mappings in VNF1 has virtualLink4: [CP4, virtualLink]
- virtualLinkMgmt: net_mgmt # the subsititution mappings in VNF1 has virtualLinkMgmt: [CP5, virtualLink]
capabilities:
forwarder3: # the subsititution mappings in VNF1 has forwarder3: [CP3, forwarder]
forwarder4: # the subsititution mappings in VNF1 has forwarder4: [CP4, forwarder]
CPnsd1:
type: tosca.nodes.nfv.CP
properties:
type:
requirements:
- virtualBinding:
node: VNF1
- virtualLink:
node: CloudExternal
CPnsd2:
type: tosca.nodes.nfv.CP
properties:
type:
requirements:
- virtualBinding:
node: VNF2
- virtualLink:
node: CloudExternal
CPnsd3: #endpoints of NS
type: tosca.nodes.nfv.CP
properties:
type:
requirements:
- virtualBinding:
node: VNF4
- virtualLink:
node: VLIMS
net_mgmt:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
external:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
VL1:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
VL2:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
VL3:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
InterCloud:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
VLIMS:
type: tosca.nodes.nfv.VL
properties:
vendor: openstack
tosca_definitions_version: tosca_simple_profile_for_nfv_1_0_0
description: OPNFV-Demo-flavor
# NOT USED
#imports:
# - tacker_nfv_defs.yaml
# - tacker_defs.yaml
metadata:
template_name: demo-flavor
ID: OPNFV Demo CloudRouter
vendor: Red Hat Inc
version: 1.0
node_types:
tosca.nodes.nfv.VNF.CloudRouter:
derived_from: tosca.nodes.nfv.VNF
capabilities:
forwarder1:
type: tosca.capabilities.nfv.Forwarder
forwarder2:
type: tosca.capabilities.nfv.Forwarder
forwarder3:
type: tosca.capabilities.nfv.Forwarder
forwarder4:
type: tosca.capabilities.nfv.Forwarder
topology_template:
substitution_mappings:
node_type: tosca.nodes.nfv.VNF.CloudRouter
requirements:
virtualLink1: [CP1, virtualLink]
virtualLink2: [CP2, virtualLink]
virtualLink3: [CP3, virtualLink]
virtualLink4: [CP4, virtualLink]
virtualLinkMgmt: [CP5, virtualLink]
capabilities:
forwarder1: [CP1, forwarder]
forwarder2: [CP2, forwarder]
forwarder3: [CP3, forwarder]
forwarder4: [CP4, forwarder]
inputs:
image:
type: string
default: cirros # Pre-existing image in glance
node_templates:
VDU1:
type: tosca.nodes.nfv.VDU.Tacker
capabilities:
nfv_compute:
properties:
disk_size: 1 GB
mem_size: 512 MB
num_cpus: 1
properties:
key_name: demo-key
service_type: router
image: { get_input: image }
availability_zone: nova
mgmt_driver: noop
CP1:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: true
requirements:
- virtualBinding:
node: VDU1
CP2:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: true
requirements:
- virtualBinding:
node: VDU1
CP3:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: true
requirements:
- virtualBinding:
node: VDU1
CP4:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: true
requirements:
- virtualBinding:
node: VDU1
CP5:
type: tosca.nodes.nfv.CP.Tacker
properties:
anti_spoofing_protection: false
requirements:
- virtualBinding:
node: VDU1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment