blob: dff1f91f9019109ffe73becf0c0bfff2336918f7 [file] [log] [blame]
{#
Copyright 2017-present Open Networking Foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
#}
tosca_definitions_version: tosca_simple_yaml_1_0
description: Hypercache CDN Content
imports:
- custom_types/xos.yaml
- custom_types/cdn.yaml
topology_template:
node_templates:
HyperCache:
type: tosca.nodes.CDNService
properties:
# HyperCache service must already exist before running this recipe
no-create: true
no-delete: true
no-update: true
# Setup the CDN Service Provider
main_service_provider:
type: tosca.nodes.ServiceProvider
requirements:
- hpc_service:
node: HyperCache
relationship: tosca.relationships.MemberOfService
# Wall Street Journal Content Provider
wsj_content:
type: tosca.nodes.ContentProvider
requirements:
- service_provider:
node: main_service_provider
relationship: tosca.relationships.MemberOfServiceProvider
www.wsj.com:
type: tosca.nodes.CDNPrefix
requirements:
- content_provider:
node: wsj_content
relationship: tosca.relationships.MemberOfContentProvider
- default_origin_server:
node: http_www.wsj.com
relationship: tosca.relationships.DefaultOriginServer
si.wsj.net:
type: tosca.nodes.CDNPrefix
requirements:
- content_provider:
node: wsj_content
relationship: tosca.relationships.MemberOfContentProvider
- default_origin_server:
node: http_si.wsj.net
relationship: tosca.relationships.DefaultOriginServer
s.wsj.net:
type: tosca.nodes.CDNPrefix
requirements:
- content_provider:
node: wsj_content
relationship: tosca.relationships.MemberOfContentProvider
- default_origin_server:
node: http_s.wsj.net
relationship: tosca.relationships.DefaultOriginServer
ore.wsj.net:
type: tosca.nodes.CDNPrefix
requirements:
- content_provider:
node: wsj_content
relationship: tosca.relationships.MemberOfContentProvider
- default_origin_server:
node: http_ore.wsj.net
relationship: tosca.relationships.DefaultOriginServer
http_www.wsj.com:
type: tosca.nodes.OriginServer
requirements:
- content_provider:
node: wsj_content
relationship: tosca.relationships.MemberOfContentProvider
http_si.wsj.net:
type: tosca.nodes.OriginServer
requirements:
- content_provider:
node: wsj_content
relationship: tosca.relationships.MemberOfContentProvider
http_s.wsj.net:
type: tosca.nodes.OriginServer
requirements:
- content_provider:
node: wsj_content
relationship: tosca.relationships.MemberOfContentProvider
http_ore.wsj.net:
type: tosca.nodes.OriginServer
requirements:
- content_provider:
node: wsj_content
relationship: tosca.relationships.MemberOfContentProvider
# ON.Lab content provider
on_lab_content:
type: tosca.nodes.ContentProvider
requirements:
- service_provider:
node: main_service_provider
relationship: tosca.relationships.MemberOfServiceProvider
# Create CDN prefix onlab.vicci.org
onlab.vicci.org:
type: tosca.nodes.CDNPrefix
requirements:
- content_provider:
node: on_lab_content
relationship: tosca.relationships.MemberOfContentProvider
http_onos-videos.s3.amazonaws.com:
type: tosca.nodes.OriginServer
requirements:
- content_provider:
node: on_lab_content
relationship: tosca.relationships.MemberOfContentProvider
# Create origin server s3-us-west-1.amazonaws.com
http_s3-us-west-1.amazonaws.com:
type: tosca.nodes.OriginServer
requirements:
- content_provider:
node: on_lab_content
relationship: tosca.relationships.MemberOfContentProvider
# Create origin server s3.amazonaws.com
http_s3.amazonaws.com:
type: tosca.nodes.OriginServer
requirements:
- content_provider:
node: on_lab_content
relationship: tosca.relationships.MemberOfContentProvider
# Test Content Provider
testcp2:
type: tosca.nodes.ContentProvider
requirements:
- service_provider:
node: main_service_provider
relationship: tosca.relationships.MemberOfServiceProvider
http_www.cs.arizona.edu:
type: tosca.nodes.OriginServer
requirements:
- content_provider:
node: testcp2
relationship: tosca.relationships.MemberOfContentProvider
test-cdn.opencloud.us:
type: tosca.nodes.CDNPrefix
requirements:
- content_provider:
node: testcp2
relationship: tosca.relationships.MemberOfContentProvider
- default_origin_server:
node: http_www.cs.arizona.edu
relationship: tosca.relationships.DefaultOriginServer
# Health Checks
healthcheck_dns_onlab.vicci.org:
type: tosca.nodes.HpcHealthCheck
requirements:
- hpc_service:
node: HyperCache
relationship: tosca.relationships.MemberOfService
properties:
kind: dns
resource_name: onlab.vicci.org
healthcheck_dns_test-cdn.opencloud.us:
type: tosca.nodes.HpcHealthCheck
requirements:
- hpc_service:
node: HyperCache
relationship: tosca.relationships.MemberOfService
properties:
kind: dns
resource_name: test-cdn.opencloud.us
healthcheck_http_test-cdn-index:
type: tosca.nodes.HpcHealthCheck
requirements:
- hpc_service:
node: HyperCache
relationship: tosca.relationships.MemberOfService
properties:
kind: http
resource_name: test-cdn.opencloud.us:/
result_contains: Lowenthal
healthcheck_http_onlab_onos_image:
type: tosca.nodes.HpcHealthCheck
requirements:
- hpc_service:
node: HyperCache
relationship: tosca.relationships.MemberOfService
properties:
kind: http
resource_name: onlab.vicci.org:/onos/vm/onos-tutorial-1.1.0r220-ovf.zip
healthcheck_http_onlab_mininet_image:
type: tosca.nodes.HpcHealthCheck
requirements:
- hpc_service:
node: HyperCache
relationship: tosca.relationships.MemberOfService
properties:
kind: http
resource_name: onlab.vicci.org:/mininet-vm/mininet-2.1.0-130919-ubuntu-13.04-server-amd64-ovf.zip