blob: 0d75c78b909b37ea8cd3c1dddec365b30c70fe7a [file] [log] [blame]
Matteo Scandoloede125b2017-08-08 13:05:25 -07001
2# Copyright 2017-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16
Scott Bakerc41914d2017-06-26 14:00:52 -070017tosca_definitions_version: tosca_simple_yaml_1_0
18
19description: Setup the CDN on the pod
20
21imports:
22 - custom_types/xos.yaml
23
24topology_template:
25 node_templates:
26
27 Private:
28 type: tosca.nodes.NetworkTemplate
29
30 management:
31 type: tosca.nodes.network.Network.XOS
32 properties:
33 no-create: true
34 no-delete: true
35 no-update: true
36
37# cdn-public:
38# type: tosca.nodes.network.Network
39# properties:
40# ip_version: 4
41# cidr: 207.141.192.128/28
42# requirements:
43# - network_template:
44# node: Private
45# relationship: tosca.relationships.UsesNetworkTemplate
46# - owner:
47# node: mysite_cdn
48# relationship: tosca.relationships.MemberOfSlice
49# - connection:
50# node: mysite_cdn
51# relationship: tosca.relationships.ConnectsToSlice
52
53 mysite:
54 type: tosca.nodes.Site
55
56 public:
57 type: tosca.nodes.network.Network.XOS
58 properties:
59 no-create: true
60 no-delete: true
61 no-update: true
62
63 service#cdn:
64 type: tosca.nodes.Service
65 properties:
66 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
67 private_key_fn: /opt/xos/services/cdn/keys/amc_id_rsa
68 artifacts:
69 pubkey: /opt/cord_profile/key_import/cdnnode_id_rsa.pub
70
71 mysite_cdn_control:
72 description: This slice holds the controller for the CDN
73 type: tosca.nodes.Slice
74 properties:
75 network: noauto
76 requirements:
77 - site:
78 node: mysite
79 relationship: tosca.relationships.MemberOfSite
80 - management:
81 node: management
82 relationship: tosca.relationships.ConnectsToNetwork
83 - public:
84 node: public
85 relationship: tosca.relationships.ConnectsToNetwork
86 - cdn_service:
87 node: service#cdn
88 relationship: tosca.relationships.MemberOfService
89
90
91 mysite_cdn_nodes:
92 description: This slice holds the hypercache/rr nodes for the CDN
93 type: tosca.nodes.Slice
94 properties:
95 network: noauto
96 requirements:
97 - site:
98 node: mysite
99 relationship: tosca.relationships.MemberOfSite
100 - management:
101 node: management
102 relationship: tosca.relationships.ConnectsToNetwork
103 - public:
104 node: public
105 relationship: tosca.relationships.ConnectsToNetwork
106 - cdn_service:
107 node: service#cdn
108 relationship: tosca.relationships.MemberOfService
109
110 mysite_cdn_cli:
111 description: This slice holds the hypercache/rr nodes for the CDN
112 type: tosca.nodes.Slice
113 properties:
114 network: noauto
115 requirements:
116 - site:
117 node: mysite
118 relationship: tosca.relationships.MemberOfSite
119 - management:
120 node: management
121 relationship: tosca.relationships.ConnectsToNetwork
122 - public:
123 node: public
124 relationship: tosca.relationships.ConnectsToNetwork
125 - cdn_service:
126 node: service#cdn
127 relationship: tosca.relationships.MemberOfService