blob: 0c3c2fdd428f60daf53c308dc24c9ba4249bb108 [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
Zack Williamsa2763112017-01-03 11:38:38 -070026{% if use_management_hosts %}
Zack Williams682450e2016-11-19 09:04:41 -070027 management_hosts:
28 type: tosca.nodes.network.Network.XOS
29 properties:
30 no-create: true
31 no-delete: true
32 no-update: true
Zack Williamsa2763112017-01-03 11:38:38 -070033{% endif %}
Zack Williams682450e2016-11-19 09:04:41 -070034
35# ONOS_CORD, fully created in vtn.yaml
36 service#ONOS_CORD:
37 type: tosca.nodes.ONOSService
38 properties:
39 no-delete: true
40 no-create: true
41 no-update: true
42
43# ONOS_Fabric, fully created in fabric.yaml
44 service#ONOS_Fabric:
45 type: tosca.nodes.ONOSService
46 properties:
47 no-delete: true
48 no-create: true
49 no-update: true
50
51# CORD Services
52 service#vtr:
53 type: tosca.nodes.Service
54 properties:
55 view_url: /admin/vtr/vtrservice/$id$/
56 kind: vTR
57 replaces: service_vtr
58
59 service#volt:
60 type: tosca.nodes.VOLTService
61 requirements:
62 - vsg_tenant:
63 node: service#vsg
64 relationship: tosca.relationships.TenantOfService
65 properties:
66 view_url: /admin/volt/voltservice/$id$/
67 kind: vOLT
68 replaces: service_volt
69 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
70 private_key_fn: /opt/xos/services/volt/keys/volt_rsa
71 artifacts:
72 pubkey: /opt/xos/services/volt/keys/volt_rsa.pub
73
74 addresses_vsg:
75 type: tosca.nodes.AddressPool
76 properties:
77 addresses: 10.6.1.128/26
78 gateway_ip: 10.6.1.129
79 gateway_mac: 02:42:0a:06:01:01
80
81 addresses_public:
82 type: tosca.nodes.AddressPool
83 properties:
84 addresses: 10.6.1.192/26
85 gateway_ip: 10.6.1.193
86 gateway_mac: 02:42:0a:06:01:01
87
88 label_vsg:
89 type: tosca.nodes.NodeLabel
90
91 service#vsg:
92 type: tosca.nodes.VSGService
93 requirements:
94 - vrouter_tenant:
95 node: service#vrouter
96 relationship: tosca.relationships.TenantOfService
97 properties:
98 view_url: /admin/vsg/vsgservice/$id$/
99 backend_network_label: hpc_client
100 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
101 private_key_fn: /opt/xos/services/vsg/keys/vsg_rsa
102# node_label: label_vsg
103 replaces: service_vsg
104 artifacts:
105 pubkey: /opt/xos/services/vsg/keys/vsg_rsa.pub
106
107 service#vrouter:
108 type: tosca.nodes.VRouterService
109 properties:
110 view_url: /admin/vrouter/vrouterservice/$id$/
111 replaces: service_vrouter
112 requirements:
113 - addresses_vsg:
114 node: addresses_vsg
115 relationship: tosca.relationships.ProvidesAddresses
116 - addresses_public:
117 node: addresses_public
118 relationship: tosca.relationships.ProvidesAddresses
119
120 vRouter_ONOS_app:
121 type: tosca.nodes.ONOSvRouterApp
122 requirements:
123 - onos_tenant:
124 node: service#ONOS_Fabric
125 relationship: tosca.relationships.TenantOfService
126 - vrouter_service:
127 node: service#vrouter
128 relationship: tosca.relationships.UsedByService
129 properties:
130 dependencies: org.onosproject.vrouter
131 autogenerate: vrouter-network-cfg
132
133 template#vsg:
134 type: tosca.nodes.NetworkTemplate
135 properties:
136 visibility: private
137 translation: none
138 vtn_kind: VSG
139
140 # Networks required by the CORD setup
141 {{ site_name }}_vsg-access:
142 type: tosca.nodes.network.Network
143 properties:
144 ip_version: 4
145 requirements:
146 - network_template:
147 node: template#vsg
148 relationship: tosca.relationships.UsesNetworkTemplate
149 - owner:
150 node: {{ site_name }}_vsg
151 relationship: tosca.relationships.MemberOfSlice
152 - connection:
153 node: {{ site_name }}_vsg
154 relationship: tosca.relationships.ConnectsToSlice
155
156 # CORD Slices
157 {{ site_name }}_vsg:
158 description: vSG Controller Slice
159 type: tosca.nodes.Slice
160 properties:
161 network: noauto
162 requirements:
163 - vsg_service:
164 node: service#vsg
165 relationship: tosca.relationships.MemberOfService
166 - site:
167 node: {{ site_name }}
168 relationship: tosca.relationships.MemberOfSite
169 - management:
170 node: management
171 relationship: tosca.relationships.ConnectsToNetwork
Zack Williamsa2763112017-01-03 11:38:38 -0700172{% if use_management_hosts %}
173 - management_hosts:
174 node: management_hosts
175 relationship: tosca.relationships.ConnectsToNetwork
176{% endif %}
Zack Williams682450e2016-11-19 09:04:41 -0700177 - image:
178 node: image#vsg-1.1
179 relationship: tosca.relationships.DefaultImage
180