blob: b182f04208f24c8490f91cdb8654d7144a6293c8 [file] [log] [blame]
Zack Williams682450e2016-11-19 09:04:41 -07001tosca_definitions_version: tosca_simple_yaml_1_0
2
3description: Just enough Tosca to get the vSG slice running on the CORD POD, created by platform-install
4
5imports:
6 - custom_types/xos.yaml
7
8topology_template:
9 node_templates:
10
11# site, image, fully created in deployment.yaml
12 {{ site_name }}:
13 type: tosca.nodes.Site
14
15 image#vsg-1.1:
16 type: tosca.nodes.Image
17
18# management networks, fully created in management-net.yaml
19 management:
20 type: tosca.nodes.network.Network.XOS
21 properties:
22 no-create: true
23 no-delete: true
24 no-update: true
25
26 management_hosts:
27 type: tosca.nodes.network.Network.XOS
28 properties:
29 no-create: true
30 no-delete: true
31 no-update: true
32
33# ONOS_CORD, fully created in vtn.yaml
34 service#ONOS_CORD:
35 type: tosca.nodes.ONOSService
36 properties:
37 no-delete: true
38 no-create: true
39 no-update: true
40
41# ONOS_Fabric, fully created in fabric.yaml
42 service#ONOS_Fabric:
43 type: tosca.nodes.ONOSService
44 properties:
45 no-delete: true
46 no-create: true
47 no-update: true
48
49# CORD Services
50 service#vtr:
51 type: tosca.nodes.Service
52 properties:
53 view_url: /admin/vtr/vtrservice/$id$/
54 kind: vTR
55 replaces: service_vtr
56
57 service#volt:
58 type: tosca.nodes.VOLTService
59 requirements:
60 - vsg_tenant:
61 node: service#vsg
62 relationship: tosca.relationships.TenantOfService
63 properties:
64 view_url: /admin/volt/voltservice/$id$/
65 kind: vOLT
66 replaces: service_volt
67 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
68 private_key_fn: /opt/xos/services/volt/keys/volt_rsa
69 artifacts:
70 pubkey: /opt/xos/services/volt/keys/volt_rsa.pub
71
72 addresses_vsg:
73 type: tosca.nodes.AddressPool
74 properties:
75 addresses: 10.6.1.128/26
76 gateway_ip: 10.6.1.129
77 gateway_mac: 02:42:0a:06:01:01
78
79 addresses_public:
80 type: tosca.nodes.AddressPool
81 properties:
82 addresses: 10.6.1.192/26
83 gateway_ip: 10.6.1.193
84 gateway_mac: 02:42:0a:06:01:01
85
86 label_vsg:
87 type: tosca.nodes.NodeLabel
88
89 service#vsg:
90 type: tosca.nodes.VSGService
91 requirements:
92 - vrouter_tenant:
93 node: service#vrouter
94 relationship: tosca.relationships.TenantOfService
95 properties:
96 view_url: /admin/vsg/vsgservice/$id$/
97 backend_network_label: hpc_client
98 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
99 private_key_fn: /opt/xos/services/vsg/keys/vsg_rsa
100# node_label: label_vsg
101 replaces: service_vsg
102 artifacts:
103 pubkey: /opt/xos/services/vsg/keys/vsg_rsa.pub
104
105 service#vrouter:
106 type: tosca.nodes.VRouterService
107 properties:
108 view_url: /admin/vrouter/vrouterservice/$id$/
109 replaces: service_vrouter
110 requirements:
111 - addresses_vsg:
112 node: addresses_vsg
113 relationship: tosca.relationships.ProvidesAddresses
114 - addresses_public:
115 node: addresses_public
116 relationship: tosca.relationships.ProvidesAddresses
117
118 vRouter_ONOS_app:
119 type: tosca.nodes.ONOSvRouterApp
120 requirements:
121 - onos_tenant:
122 node: service#ONOS_Fabric
123 relationship: tosca.relationships.TenantOfService
124 - vrouter_service:
125 node: service#vrouter
126 relationship: tosca.relationships.UsedByService
127 properties:
128 dependencies: org.onosproject.vrouter
129 autogenerate: vrouter-network-cfg
130
131 template#vsg:
132 type: tosca.nodes.NetworkTemplate
133 properties:
134 visibility: private
135 translation: none
136 vtn_kind: VSG
137
138 # Networks required by the CORD setup
139 {{ site_name }}_vsg-access:
140 type: tosca.nodes.network.Network
141 properties:
142 ip_version: 4
143 requirements:
144 - network_template:
145 node: template#vsg
146 relationship: tosca.relationships.UsesNetworkTemplate
147 - owner:
148 node: {{ site_name }}_vsg
149 relationship: tosca.relationships.MemberOfSlice
150 - connection:
151 node: {{ site_name }}_vsg
152 relationship: tosca.relationships.ConnectsToSlice
153
154 # CORD Slices
155 {{ site_name }}_vsg:
156 description: vSG Controller Slice
157 type: tosca.nodes.Slice
158 properties:
159 network: noauto
160 requirements:
161 - vsg_service:
162 node: service#vsg
163 relationship: tosca.relationships.MemberOfService
164 - site:
165 node: {{ site_name }}
166 relationship: tosca.relationships.MemberOfSite
167 - management:
168 node: management
169 relationship: tosca.relationships.ConnectsToNetwork
170 - image:
171 node: image#vsg-1.1
172 relationship: tosca.relationships.DefaultImage
173