start breaking the CDN config out into a separate tosca recipe
diff --git a/xos/configurations/opencloud/cdn-opencloud.yaml b/xos/configurations/opencloud/cdn-opencloud.yaml
new file mode 100644
index 0000000..9fed1f6
--- /dev/null
+++ b/xos/configurations/opencloud/cdn-opencloud.yaml
@@ -0,0 +1,198 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: Template for deploying a single server with predefined properties.
+
+imports:
+ - custom_types/xos.yaml
+ - custom_types/cdn.yaml
+
+topology_template:
+ node_templates:
+ HyperCache:
+ type: tosca.nodes.CDNService
+ description: Content Delivery Network
+ properties:
+ view_url: /admin/hpc/hpcservice/$id$/
+ icon_url: /static/primarycons_blue/network.png
+
+ onlab:
+ type: tosca.nodes.Site
+ properties:
+ # Assume the onlab site exists, and don't touch it
+ no-delete: true
+ no-update: true
+ no-delete: true
+
+ onlab_cmi:
+ description: CMI Slice
+ type: tosca.nodes.Slice
+ requirements:
+ - cdn_service:
+ node: HyperCache
+ relationship: tosca.relationships.MemberOfService
+ - site:
+ node: onlab
+ relationship: tosca.relationships.MemberOfSite
+
+ onlab_hpc:
+ description: HyperCache Slice
+ type: tosca.nodes.Slice
+ requirements:
+ - cdn_service:
+ node: HyperCache
+ relationship: tosca.relationships.MemberOfService
+ - site:
+ node: onlab
+ relationship: tosca.relationships.MemberOfSite
+
+ onlab_dnsredir:
+ description: HyperCache Slice
+ type: tosca.nodes.Slice
+ requirements:
+ - cdn_service:
+ node: HyperCache
+ relationship: tosca.relationships.MemberOfService
+ - site:
+ node: onlab
+ relationship: tosca.relationships.MemberOfSite
+
+ onlab_dnsdemux:
+ description: HyperCache Slice
+ type: tosca.nodes.Slice
+ requirements:
+ - cdn_service:
+ node: HyperCache
+ relationship: tosca.relationships.MemberOfService
+ - site:
+ node: onlab
+ relationship: tosca.relationships.MemberOfSite
+
+ # 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
+
+ downloads.onosproject.org:
+ type: tosca.nodes.CDNPrefix
+ requirements:
+ - content_provider:
+ node: on_lab_content
+ relationship: tosca.relationships.MemberOfContentProvider
+ - default_origin_server:
+ node: http_downloads.onosproject.org
+ relationship: tosca.relationships.DefaultOriginServer
+
+ onlab.vicci.org:
+ type: tosca.nodes.CDNPrefix
+ requirements:
+ - content_provider:
+ node: on_lab_content
+ relationship: tosca.relationships.MemberOfContentProvider
+ - default_origin_server:
+ node: http_onlab.vicci.org
+ relationship: tosca.relationships.DefaultOriginServer
+
+ http_downloads.onosproject.org:
+ type: tosca.nodes.OriginServer
+ requirements:
+ - content_provider:
+ node: on_lab_content
+ relationship: tosca.relationships.MemberOfContentProvider
+
+ http_onlab.vicci.org:
+ type: tosca.nodes.OriginServer
+ requirements:
+ - content_provider:
+ node: on_lab_content
+ relationship: tosca.relationships.MemberOfContentProvider
+
diff --git a/xos/configurations/opencloud/opencloud.yaml b/xos/configurations/opencloud/opencloud.yaml
index c3a2c01..c71369a 100644
--- a/xos/configurations/opencloud/opencloud.yaml
+++ b/xos/configurations/opencloud/opencloud.yaml
@@ -753,34 +753,6 @@
# Slices
- onlab_cmi:
- type: tosca.nodes.Slice
- requirements:
- - site:
- node: onlab
- relationship: tosca.relationships.MemberOfSite
-
- onlab_hpc:
- type: tosca.nodes.Slice
- requirements:
- - site:
- node: onlab
- relationship: tosca.relationships.MemberOfSite
-
- onlab_dnsredir:
- type: tosca.nodes.Slice
- requirements:
- - site:
- node: onlab
- relationship: tosca.relationships.MemberOfSite
-
- onlab_dnsdemux:
- type: tosca.nodes.Slice
- requirements:
- - site:
- node: onlab
- relationship: tosca.relationships.MemberOfSite
-
princeton_publicdata:
type: tosca.nodes.Slice
requirements:
@@ -789,15 +761,6 @@
relationship: tosca.relationships.MemberOfSite
# Services
- hypercache:
- type: tosca.nodes.Service
- capabilities:
- scalable:
- properties:
- max_instances: 25
- min_instances: 1
- default_instances: 1
-
syndicate:
type: tosca.nodes.Service
capabilities: