Download presentation
Presentation is loading. Please wait.
Published byJanis Greer Modified over 9 years ago
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 node_types: tosca.nodes.Network: derived_from: tosca.nodes.Root properties: ip_version: type: integer required: false cidr: type: string required: false start_ip: type: string required: false # continue at the right # continue… end_ip: type: string required: false gateway: # generalize this idea and address also static routes type: string required: false segmentation_id: type: string description: VLAN ID to be set in runtime capabilities: connection: type: tosca.capabilities.Connectivity
4
TOSCA SIMPLE PROFILE YAML - PORT NODE TYPE node_types: tosca.nodes.Port: derived_from: tosca.nodes.Root properties: ip_address: type: string is_default: type: boolean default: false start_range: type: string end_range: type: string order: type: integer required: true description: The order of the network interface default: 0 constraints: - greater_or_equal: 0 relationship_types: tosca.relationships.LinkedTo: short_name: link derived_from: tosca.relationships.DependsOn valid_targets: [ tosca.capabilities.Linkable ] # The name relationships.Network should 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.Connectivity: short_name: connection derived_from: tosca.capabilities.Feature
5
SERVICE TEMPLATE WITH NETWORKS STITCHING – OPTION 1 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 # continue from left side template node_templates: # appears here again just for indentation orientation fe_oam_net_port: type: tosca.nodes.Port properties: is_default: true 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: 0 requirements: - link: backend - network: admin_network be_data_net_port: type: tosca.nodes.Port properties: order: 1 requirements: - link: backend - network: data_network db_data_net_port: type: tosca.nodes.Port requirements: - link: database - network: data_network
6
6 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — CONFIDENTIAL — SOLELY FOR AUTHORIZED PERSONS HAVING A NEED TO KNOW — PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION DR1 Presentation Template 8AY-03030-0004-TQZZA Revision 07 SERVICE TEMPLATE WITH NETWORKS STITCHING – OPTION 1
7
SERVICE TEMPLATE WITH NETWORKS STITCHING – OPTION 2 node_templates: frontend: type: tosca.nodes.Compute properties: # omitted for brevity requirements: - network: oam_network - network: admin_network backend: type: tosca.nodes.Compute properties: # omitted for brevity requirements: - network: admin_network - network: data_network database: type: tosca.nodes.Compute properties: # omitted for brevity requirements: - network: data_network # continue from left side template node_templates: # appears here again just for indentation orientation 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
8
8 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — CONFIDENTIAL — SOLELY FOR AUTHORIZED PERSONS HAVING A NEED TO KNOW — PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION DR1 Presentation Template 8AY-03030-0004-TQZZA Revision 07 SERVICE TEMPLATE WITH NETWORKS STITCHING – OPTION 2
9
DISTINGUISH BETWEEN CREATING NEW TO USE EXISTING NETWORK 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 } 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: 1.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)slide 2 2.As appear in Block Storage node type which has a property and attribute named volume_id to reference an exiting volume id. 3.How to reference an existing service that is not modeled in service template (e.g. DNS, AAA services)
10
10 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — CONFIDENTIAL — SOLELY FOR AUTHORIZED PERSONS HAVING A NEED TO KNOW — PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION DR1 Presentation Template 8AY-03030-0004-TQZZA Revision 07 ** DRAFT ** – ROUTING USE CASE
11
11 COPYRIGHT © 2013 ALCATEL-LUCENT. ALL RIGHTS RESERVED. ALCATEL-LUCENT — CONFIDENTIAL — SOLELY FOR AUTHORIZED PERSONS HAVING A NEED TO KNOW — PROPRIETARY — USE PURSUANT TO COMPANY INSTRUCTION DR1 Presentation Template 8AY-03030-0004-TQZZA Revision 07 ** DRAFT ** – ROUTER USE CASE 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: 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 } be_admin_network: type: tosca.nodes.Network properties: network_id: { get_input: admin_net_id } admin_connectivity: 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_connectivity } fe_admin_net_port: type: tosca.nodes.Port properties: requirements: - link: frontend - connectivity: { get_input: admin_network / admin_connectivity }
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.