blob: c8c6cebc5e398d18bd2447ce4b9205316a2823ad [file] [log] [blame]
Andy Bavier6e1602e2016-02-17 14:14:11 -05001tosca_definitions_version: tosca_simple_yaml_1_0
2
3description: Just enough Tosca to get the vSG slice running on the CORD POD
4
5imports:
6 - custom_types/xos.yaml
7
8topology_template:
9 node_templates:
10 # CORD Services
Scott Baker0f589992016-03-07 20:32:29 -080011 service_vtr:
12 type: tosca.nodes.Service
13 properties:
14 view_url: /admin/vtr/vtrservice/$id$/
15 kind: vTR
16
Andy Bavier6e1602e2016-02-17 14:14:11 -050017 service_volt:
18 type: tosca.nodes.Service
19 requirements:
20 - vsg_tenant:
21 node: service_vsg
22 relationship: tosca.relationships.TenantOfService
23 properties:
24 view_url: /admin/cord/voltservice/$id$/
25 kind: vOLT
26
Scott Baker8a660112016-04-13 09:12:19 -070027 addresses_vsg:
Andy Bavier6e1602e2016-02-17 14:14:11 -050028 type: tosca.nodes.AddressPool
29 properties:
Andy Baviera6a7c0b2016-03-02 14:22:10 -050030 addresses: 10.168.0.0/24
Scott Baker8a660112016-04-13 09:12:19 -070031 gateway_ip: 10.168.0.1
32 gateway_mac: 02:42:0a:a8:00:01
33
Scott Baker97ca9102016-04-13 16:56:39 -070034 addresses_exampleservice-public:
Scott Baker8a660112016-04-13 09:12:19 -070035 type: tosca.nodes.AddressPool
36 properties:
37 addresses: 10.168.1.0/24
38 gateway_ip: 10.168.1.1
39 gateway_mac: 02:42:0a:a8:00:01
Andy Bavier6e1602e2016-02-17 14:14:11 -050040
41 service_vsg:
42 type: tosca.nodes.VSGService
43 requirements:
Scott Baker6b3c9b32016-04-13 11:25:52 -070044 - vrouter_tenant:
45 node: service_vrouter
Andy Bavier6e1602e2016-02-17 14:14:11 -050046 relationship: tosca.relationships.TenantOfService
47 properties:
48 view_url: /admin/cord/vsgservice/$id$/
49 backend_network_label: hpc_client
50 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
51 private_key_fn: /opt/xos/synchronizers/vcpe/vcpe_private_key
Andy Baviera6a7c0b2016-03-02 14:22:10 -050052 wan_container_gateway_ip: 10.168.0.1
53 wan_container_gateway_mac: 02:42:0a:a8:00:01
Andy Bavierc57fc262016-03-01 16:51:33 -050054 wan_container_netbits: 24
Scott Baker4b9d40d2016-03-04 12:10:13 -080055# node_label: label_vsg
Andy Bavier6e1602e2016-02-17 14:14:11 -050056 artifacts:
57 pubkey: /opt/xos/synchronizers/vcpe/vcpe_public_key
58
Scott Baker8a660112016-04-13 09:12:19 -070059 service_vrouter:
60 type: tosca.nodes.VRouterService
Andy Bavier6e1602e2016-02-17 14:14:11 -050061 properties:
Scott Bakera5f95b32016-04-14 16:06:23 -070062 view_url: /admin/vrouter/vrouterservice/$id$/
Scott Baker8a660112016-04-13 09:12:19 -070063 requirements:
Scott Baker6b3c9b32016-04-13 11:25:52 -070064 - addresses_vsg:
Scott Baker8a660112016-04-13 09:12:19 -070065 node: addresses_vsg
66 relationship: tosca.relationships.ProvidesAddresses
Scott Baker6b3c9b32016-04-13 11:25:52 -070067 - addresses_service1:
Scott Baker97ca9102016-04-13 16:56:39 -070068 node: addresses_exampleservice-public
Scott Baker8a660112016-04-13 09:12:19 -070069 relationship: tosca.relationships.ProvidesAddresses
Andy Bavier6e1602e2016-02-17 14:14:11 -050070
71 Private:
72 type: tosca.nodes.NetworkTemplate
73
74 management:
75 type: tosca.nodes.network.Network.XOS
76 properties:
77 no-create: true
78 no-delete: true
79 no-update: true
80
81 mysite:
82 type: tosca.nodes.Site
83
Scott Bakerc4d78da2016-03-04 10:44:41 -080084 label_vsg:
85 type: tosca.nodes.NodeLabel
86
Andy Bavier6e1602e2016-02-17 14:14:11 -050087 # Networks required by the CORD setup
88 mysite_vsg-access:
89 type: tosca.nodes.network.Network
90 properties:
91 ip_version: 4
92 requirements:
93 - network_template:
94 node: Private
95 relationship: tosca.relationships.UsesNetworkTemplate
96 - owner:
97 node: mysite_vsg
98 relationship: tosca.relationships.MemberOfSlice
99 - connection:
100 node: mysite_vsg
101 relationship: tosca.relationships.ConnectsToSlice
102
103 # CORD Slices
104 mysite_vsg:
105 description: vSG Controller Slice
106 type: tosca.nodes.Slice
107 properties:
108 network: noauto
109 requirements:
110 - vsg_service:
111 node: service_vsg
112 relationship: tosca.relationships.MemberOfService
113 - site:
114 node: mysite
115 relationship: tosca.relationships.MemberOfSite
116 - management:
117 node: management
118 relationship: tosca.relationships.ConnectsToNetwork
119
120 # Let's add a user who can be administrator of the household
121 johndoe@myhouse.com:
122 type: tosca.nodes.User
123 properties:
124 password: letmein
125 firstname: john
126 lastname: doe
127 requirements:
128 - site:
129 node: mysite
130 relationship: tosca.relationships.MemberOfSite
131
132 # A subscriber
133 My House:
134 type: tosca.nodes.CORDSubscriber
135 properties:
136 service_specific_id: 123
137 firewall_enable: false
138 cdn_enable: false
139 url_filter_enable: false
140 url_filter_level: R
141 requirements:
142 - house_admin:
143 node: johndoe@myhouse.com
144 relationship: tosca.relationships.AdminPrivilege
145
146 Mom's PC:
147 type: tosca.nodes.CORDUser
148 properties:
149 mac: 01:02:03:04:05:06
150 level: PG_13
151 requirements:
152 - household:
153 node: My House
154 relationship: tosca.relationships.SubscriberDevice
155
156 Dad's PC:
157 type: tosca.nodes.CORDUser
158 properties:
159 mac: 90:E2:BA:82:F9:75
160 level: PG_13
161 requirements:
162 - household:
163 node: My House
164 relationship: tosca.relationships.SubscriberDevice
165
166 Jack's Laptop:
167 type: tosca.nodes.CORDUser
168 properties:
169 mac: 68:5B:35:9D:91:D5
170 level: PG_13
171 requirements:
172 - household:
173 node: My House
174 relationship: tosca.relationships.SubscriberDevice
175
176 Jill's Laptop:
177 type: tosca.nodes.CORDUser
178 properties:
179 mac: 34:36:3B:C9:B6:A6
180 level: PG_13
181 requirements:
182 - household:
183 node: My House
184 relationship: tosca.relationships.SubscriberDevice
185
186 My Volt:
187 type: tosca.nodes.VOLTTenant
188 properties:
189 service_specific_id: 123
190 s_tag: 222
Andy Bavierb50c25f2016-02-19 11:17:54 -0500191 c_tag: 111
Andy Bavier6e1602e2016-02-17 14:14:11 -0500192 requirements:
193 - provider_service:
194 node: service_volt
195 relationship: tosca.relationships.MemberOfService
196 - subscriber:
197 node: My House
198 relationship: tosca.relationships.BelongsToSubscriber