1 / 9

Network Connectivity Use cases at Carrier / service providers

Network Connectivity Use cases at Carrier / service providers. Avi.vachnis@alcatel-lucent.com CloudBand June 2014. Use cases. As an application architect I’d like to model my application and network topology as follows:. TOSCA Simple profile YAML - Network node type. # continue…

abram
Télécharger la présentation

Network Connectivity Use cases at Carrier / service providers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network Connectivity Use cases at Carrier / service providers Avi.vachnis@alcatel-lucent.com CloudBand June 2014

  2. Use cases As an application architect I’d like to model my application and network topology as follows:

  3. TOSCA Simple profile YAML - Network node type # continue… end_ip: type: string required: false gateway: # generalize this idea and address also static routes type: string required: false attributes: segmentation_id: type: string description: VLAN ID to be set in runtime node_types: tosca.nodes.Network: derived_from: tosca.nodes.Root properties: ip_version: type: integer required: true cidr: type: string required: false start_ip: type: string required: false # continue at the right

  4. TOSCA Simple profile YAML - port node type relationship_types: tosca.relationships.LinkedTo: short_name: compute derived_from: tosca.relationships.DependsOn valid_targets: [ tosca.capabilities.Linkable ] # The name relationships.Networkshould be revised tosca.relationships.Network: short_name: network derived_from: tosca.relationships.DependsOn valid_targets: [ tosca.capabilities.Connection] # Compute node should be added with this capability capability types: tosca.capabilities.Linkable: derived_from: tosca.capabilities.Feature # Network/Router node type should have this capability capability types: tosca.capabilities.Connection: derived_from: tosca.capabilities.Feature node_types: tosca.nodes.Port: derived_from: tosca.nodes.Root properties: order: type: integer required: true description: The order of the network interface default: 0 constraints: - greater_or_equal: 0 attributes:   ip_address:    type: string

  5. TOSCA Simple profile YAML - service template example fe_oam_net_port: type: tosca.nodes.Port requirements: - link: frontend - network: oam_network fe_admin_net_port: type: tosca.nodes.Port requirements: - link: frontend - network: admin_network be_admin_net_port: type: tosca.nodes.Port properties: order: 1 requirements: - link: backend - network: admin_network be_data_net_port: type: tosca.nodes.Port properties: order: 2 requirements: - link: backend - network: data_network db_data_net_port: type: tosca.nodes.Port requirements: - link: database - network: data_network node_templates: frontend: type: tosca.nodes.Compute properties: # omitted for brevity backend: type: tosca.nodes.Compute properties: # omitted for brevity database: type: tosca.nodes.Compute properties: # omitted for brevity oam_network: type: tosca.nodes.Network properties: ip_version: { get_input: oam_network_ip_version } #  4 cidr: { get_input: oam_network_cidr } start_ip: { get_input: oam_network_start_ip } end_ip: { get_input: oam_network_end_ip } admin_network: type: tosca.nodes.Network properties: ip_version: { get_input: admin_network_ip_version } #  4 dhcp_enabled: { get_input: admin_network_dhcp_enabled } #  false data_network: type: tosca.nodes.Network properties: ip_version: { get_input: data_network_ip_version } #  6 cidr: { get_input: data_network_cidr } #  2001:db8:92a4:0:0:6b3a:180:abcd/64

  6. Link between port and network node_templates: frontend: type: tosca.nodes.Compute properties: # omitted for brevity oam_network: type: tosca.nodes.Network properties: ip_version: { get_input: oam_network_ip_version } #  4 cidr: { get_input: oam_network_cidr } start_ip: { get_input: oam_network_start_ip } end_ip: { get_input: oam_network_end_ip } fe_oam_net_port: type: tosca.nodes.Port properties: # instead of referencing the node template name (which is not supported) use a requirement (see below) # network_name: oam_network requirements: - link: frontend - network: oam_network

  7. DISTINGUISH between creating new to use existing network App modeler should be able to specify whether a certain node should be newly created or an existing one should be used by the tosca container. • Concrete use cases: • Create new network that is modeled in service template or use an existing one by referencing it as shown in the left side of this slide (and in use case #1 in slide 2) • As appear in Block Storage node type which has a property and attribute named volume_id to reference an exiting volume id. • How to reference an existing service that is not modeled in service template (e.g. DNS, AAA services) node_templates: … oam_network: type: tosca.nodes.Network properties: ip_version: { get_input: oam_network_ip_version } #  4 cidr: { get_input: oam_network_cidr } start_ip: { get_input: oam_network_start_ip } end_ip: { get_input: oam_network_end_ip } # the property below is mutually exclusive with the ones above network_id : { get_input: my_oam_network_id } network_name: { get_input: my_oam_network_name } admin_network: type: tosca.nodes.Network properties: ip_version: { get_input: admin_network_ip_version } #  4 dhcp_enabled: { get_input: admin_network_dhcp_enabled } #  false network_id : { get_input: my_admin_network_id } network_name: { get_input: my_admin_network_name }

  8. Routing Use case

  9. ** DRAFT ** – Router use case admin_router: type: tosca.nodes.L3_Connectivity    properties:                                                   id: { get_input: admin_router_id } # name: { get_input: admin_router_name }  mutually exclusive with id property requirements: - network: fe_admin_network - network: be_admin_network other_router: type: tosca.nodes.Router    properties:                                                   id: { get_input: admin_router_id } be_admin_net_port: type: tosca.nodes.Port properties: requirements: - link: backend # requires support of referencing a node template in deploy time (currently missing) - connectivity: { get_input: admin_network / admin_router } fe_admin_net_port: type: tosca.nodes.Port properties: requirements: - link: frontend - connectivity: { get_input: admin_network / admin_router } node_templates: frontend: type: tosca.nodes.Compute properties: # omitted for brevity backend: type: tosca.nodes.Compute properties: # omitted for brevity fe_admin_network: type: tosca.nodes.Network properties: network_id: { get_input: admin_net_id } be_admin_network: type: tosca.nodes.Network properties: network_id: { get_input: admin_net_id }

More Related