| tosca_definitions_version: tosca_simple_yaml_1_0 |
| |
| description: Setup CORD-related services -- vOLT, vCPE, vBNG. |
| |
| imports: |
| - custom_types/xos.yaml |
| |
| topology_template: |
| node_templates: |
| |
| # CORD Services |
| service_volt: |
| type: tosca.nodes.Service |
| requirements: |
| - vcpe_tenant: |
| node: service_vcpe |
| relationship: tosca.relationships.TenantOfService |
| properties: |
| view_url: /admin/cord/voltservice/$id$/ |
| kind: vOLT |
| |
| service_vcpe: |
| type: tosca.nodes.VCPEService |
| requirements: |
| - vbng_tenant: |
| node: service_vbng |
| relationship: tosca.relationships.TenantOfService |
| properties: |
| view_url: /admin/cord/vcpeservice/$id$/ |
| backend_network_label: hpc_client |
| public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] } |
| artifacts: |
| pubkey: /opt/xos/observers/vcpe/vcpe_public_key |
| |
| service_vbng: |
| type: tosca.nodes.VBNGService |
| properties: |
| view_url: /admin/cord/vbngservice/$id$/ |
| vbng_url: http://10.11.10.24:8181/onos/virtualbng/ |
| |
| service_ONOS: |
| type: tosca.nodes.ONOSService |
| requirements: |
| properties: |
| kind: onos |
| view_url: /admin/onos/onosservice/$id$/ |
| public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] } |
| artifacts: |
| pubkey: /opt/xos/observers/onos/onos_key.pub |
| |
| vBNG_ONOS_app: |
| type: tosca.nodes.ONOSvBNGApp |
| requirements: |
| - onos_tenant: |
| node: service_ONOS |
| relationship: tosca.relationships.TenantOfService |
| properties: |
| dependencies: org.onosproject.proxyarp, org.onosproject.virtualbng, org.onosproject.openflow, org.onosproject.fwd |
| config_addresses.json: > |
| { |
| "addresses" : [ |
| { |
| "dpid" : "00:00:00:00:00:00:00:a1", |
| "port" : "1", |
| "ips" : [10.0.1.253/24"], |
| "mac" : "00:00:00:00:00:99" |
| |
| }, |
| { |
| "dpid" : "00:00:00:00:00:00:00:a5", |
| "port" : "2", |
| "ips" : ["10.254.0.1/24"], |
| "mac" : "00:00:00:00:00:98" |
| } |
| ] |
| } |
| config_virtualbng.json: > |
| { |
| "localPublicIpPrefixes" : [ |
| "10.254.0.128/25" |
| ], |
| "nextHopIpAddress" : "10.254.0.1", |
| "publicFacingMac" : "00:00:00:00:00:66", |
| "xosIpAddress" : "10.11.10.1", |
| "xosRestPort" : "9999" |
| } |
| |
| |
| # Network templates |
| Private: |
| type: tosca.nodes.NetworkTemplate |
| |
| Public network hack: |
| type: tosca.nodes.NetworkTemplate |
| properties: |
| visibility: private |
| translation: NAT |
| shared_network_name: tun0-net |
| |
| |
| # Networks required by the CORD setup |
| lan_network: |
| type: tosca.nodes.network.Network |
| properties: |
| ip_version: 4 |
| requirements: |
| - network_template: |
| node: Private |
| relationship: tosca.relationships.UsesNetworkTemplate |
| - owner: |
| node: mysite_vcpe |
| relationship: tosca.relationships.MemberOfSlice |
| - connection: |
| node: mysite_vcpe |
| relationship: tosca.relationships.ConnectsToSlice |
| - connection: |
| node: mysite_volt |
| relationship: tosca.relationships.ConnectsToSlice |
| |
| wan_network: |
| type: tosca.nodes.network.Network |
| properties: |
| ip_version: 4 |
| requirements: |
| - network_template: |
| node: Private |
| relationship: tosca.relationships.UsesNetworkTemplate |
| - owner: |
| node: mysite_vcpe |
| relationship: tosca.relationships.MemberOfSlice |
| - connection: |
| node: mysite_vcpe |
| relationship: tosca.relationships.ConnectsToSlice |
| - connection: |
| node: mysite_vbng |
| relationship: tosca.relationships.ConnectsToSlice |
| |
| subscriber_network: |
| type: tosca.nodes.network.Network |
| properties: |
| ip_version: 4 |
| requirements: |
| - network_template: |
| node: Private |
| relationship: tosca.relationships.UsesNetworkTemplate |
| - owner: |
| node: mysite_volt |
| relationship: tosca.relationships.MemberOfSlice |
| - connection: |
| node: mysite_volt |
| relationship: tosca.relationships.ConnectsToSlice |
| - connection: |
| node: mysite_clients |
| relationship: tosca.relationships.ConnectsToSlice |
| |
| public_network: |
| type: tosca.nodes.network.Network |
| properties: |
| requirements: |
| - network_template: |
| node: Public network hack |
| relationship: tosca.relationships.UsesNetworkTemplate |
| - owner: |
| node: mysite_vbng |
| relationship: tosca.relationships.MemberOfSlice |
| - connection: |
| node: mysite_vbng |
| relationship: tosca.relationships.ConnectsToSlice |
| |
| |
| mysite: |
| type: tosca.nodes.Site |
| |
| |
| # CORD Slices |
| mysite_vcpe: |
| description: vCPE Controller Slice |
| type: tosca.nodes.Slice |
| requirements: |
| - vcpe_service: |
| node: service_vcpe |
| relationship: tosca.relationships.MemberOfService |
| - site: |
| node: mysite |
| relationship: tosca.relationships.MemberOfSite |
| |
| mysite_onos: |
| description: ONOS Controller Slice |
| type: tosca.nodes.Slice |
| requirements: |
| - ONOS: |
| node: service_ONOS |
| relationship: tosca.relationships.MemberOfService |
| - site: |
| node: mysite |
| relationship: tosca.relationships.MemberOfSite |
| |
| mysite_vbng: |
| description: slice running OVS controlled by vBNG |
| type: tosca.nodes.Slice |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.MemberOfSite |
| |
| mysite_volt: |
| description: OVS controlled by vOLT |
| type: tosca.nodes.Slice |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.MemberOfSite |
| |
| mysite_clients: |
| description: slice for clients at the subscriber |
| type: tosca.nodes.Slice |
| requirements: |
| - site: |
| node: mysite |
| relationship: tosca.relationships.MemberOfSite |
| |
| |
| # Virtual machines |
| onos_app_1: |
| type: tosca.nodes.Compute |
| capabilities: |
| # Host container properties |
| host: |
| properties: |
| num_cpus: 1 |
| disk_size: 10 GB |
| mem_size: 4 MB |
| # Guest Operating System properties |
| os: |
| properties: |
| # host Operating System image properties |
| architecture: x86_64 |
| type: linux |
| distribution: Ubuntu |
| version: 14.10 |
| requirements: |
| - slice: |
| node: mysite_onos |
| relationship: tosca.relationships.MemberOfSlice |
| |
| onos_app_2: |
| type: tosca.nodes.Compute |
| capabilities: |
| # Host container properties |
| host: |
| properties: |
| num_cpus: 1 |
| disk_size: 10 GB |
| mem_size: 4 MB |
| # Guest Operating System properties |
| os: |
| properties: |
| # host Operating System image properties |
| architecture: x86_64 |
| type: linux |
| distribution: Ubuntu |
| version: 14.10 |
| requirements: |
| - slice: |
| node: mysite_onos |
| relationship: tosca.relationships.MemberOfSlice |
| |
| # VM for running the OVS controlled by vBNG |
| ovs_vbng: |
| type: tosca.nodes.Compute |
| capabilities: |
| # Host container properties |
| host: |
| properties: |
| num_cpus: 1 |
| disk_size: 10 GB |
| mem_size: 4 MB |
| # Guest Operating System properties |
| os: |
| properties: |
| # host Operating System image properties |
| architecture: x86_64 |
| type: linux |
| distribution: ubuntu |
| version: 14.04 |
| requirements: |
| - slice: |
| node: mysite_vbng |
| relationship: tosca.relationships.MemberOfSlice |
| |
| # VM for running the OVS controlled by vOLT |
| ovs_volt: |
| type: tosca.nodes.Compute |
| capabilities: |
| # Host container properties |
| host: |
| properties: |
| num_cpus: 1 |
| disk_size: 10 GB |
| mem_size: 4 MB |
| # Guest Operating System properties |
| os: |
| properties: |
| # host Operating System image properties |
| architecture: x86_64 |
| type: linux |
| distribution: ubuntu |
| version: 14.04 |
| requirements: |
| - slice: |
| node: mysite_volt |
| relationship: tosca.relationships.MemberOfSlice |
| |
| # A subscriber client VM |
| client1: |
| type: tosca.nodes.Compute |
| capabilities: |
| # Host container properties |
| host: |
| properties: |
| num_cpus: 1 |
| disk_size: 10 GB |
| mem_size: 4 MB |
| # Guest Operating System properties |
| os: |
| properties: |
| # host Operating System image properties |
| architecture: x86_64 |
| type: linux |
| distribution: ubuntu |
| version: 14.04 |
| requirements: |
| - slice: |
| node: mysite_clients |
| relationship: tosca.relationships.MemberOfSlice |
| |