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