blob: 66b69ff921c1c54e548c09d7ba566b10b44656df [file] [log] [blame]
Scott Bakerf93a06c2016-07-11 17:04:49 -07001tosca_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
11 service#vtr:
12 type: tosca.nodes.Service
13 properties:
14 view_url: /admin/vtr/vtrservice/$id$/
15 kind: vTR
16 replaces: service_vtr
17
18 service#volt:
19 type: tosca.nodes.VOLTService
20 requirements:
21 - vsg_tenant:
22 node: service#vsg
23 relationship: tosca.relationships.TenantOfService
24 properties:
25 view_url: /admin/volt/voltservice/$id$/
26 kind: vOLT
27 replaces: service_volt
28 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
29 private_key_fn: /opt/xos/services/volt/keys/volt_rsa
30 artifacts:
31 pubkey: /opt/xos/services/volt/keys/volt_rsa.pub
32
33 addresses_vsg:
34 type: tosca.nodes.AddressPool
35 properties:
36 addresses: 10.168.0.0/24
37 gateway_ip: 10.168.0.1
38 gateway_mac: 02:42:0a:a8:00:01
39
40 addresses_exampleservice-public:
41 type: tosca.nodes.AddressPool
42 properties:
43 addresses: 10.168.1.0/24
44 gateway_ip: 10.168.1.1
45 gateway_mac: 02:42:0a:a8:00:01
46
47 service#vsg:
48 type: tosca.nodes.VSGService
49 requirements:
50 - vrouter_tenant:
51 node: service#vrouter
52 relationship: tosca.relationships.TenantOfService
53 properties:
54 view_url: /admin/vsg/vsgservice/$id$/
55 backend_network_label: hpc_client
56 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
57 private_key_fn: /opt/xos/services/vsg/keys/vsg_rsa
58# node_label: label_vsg
59 replaces: service_vsg
60 artifacts:
61 pubkey: /opt/xos/services/vsg/keys/vsg_rsa.pub
62
63 service#vrouter:
64 type: tosca.nodes.VRouterService
65 properties:
66 view_url: /admin/vrouter/vrouterservice/$id$/
67 replaces: service_vrouter
68 requirements:
69 - addresses_vsg:
70 node: addresses_vsg
71 relationship: tosca.relationships.ProvidesAddresses
72 - addresses_service1:
73 node: addresses_exampleservice-public
74 relationship: tosca.relationships.ProvidesAddresses
75
76
77 service#ONOS_CORD:
78 type: tosca.nodes.ONOSService
79 properties:
80 no-delete: true
81 no-create: true
82 no-update: true
83
84 service#ONOS_Fabric:
85 type: tosca.nodes.ONOSService
86 properties:
87 no-delete: true
88 no-create: true
89 no-update: true
90
91 # The vOLT ONOS app is not yet fully integrated
92 #vOLT_ONOS_app:
93 # type: tosca.nodes.ONOSvOLTApp
94 # requirements:
95 # - onos_tenant:
96 # node: service#ONOS_CORD
97 # relationship: tosca.relationships.TenantOfService
98 # - volt_service:
99 # node: service#volt
100 # relationship: tosca.relationships.UsedByService
101 # properties:
102 # install_dependencies: onos-ext-notifier-1.0-SNAPSHOT.oar, onos-ext-volt-event-publisher-1.0-SNAPSHOT.oar
103 # dependencies: org.onosproject.openflow-base, org.onosproject.olt, org.ciena.onos.ext_notifier, org.ciena.onos.volt_event_publisher
104 # autogenerate: volt-network-cfg
105
106 vRouter_ONOS_app:
107 type: tosca.nodes.ONOSvRouterApp
108 requirements:
109 - onos_tenant:
110 node: service#ONOS_Fabric
111 relationship: tosca.relationships.TenantOfService
112 - vrouter_service:
113 node: service#vrouter
114 relationship: tosca.relationships.UsedByService
115 properties:
116 dependencies: org.onosproject.vrouter
117 autogenerate: vrouter-network-cfg
118
119 Private:
120 type: tosca.nodes.NetworkTemplate
121
122 management:
123 type: tosca.nodes.network.Network.XOS
124 properties:
125 no-create: true
126 no-delete: true
127 no-update: true
128
129 image#vsg-1.0:
130 type: tosca.nodes.Image
131
132 mysite:
133 type: tosca.nodes.Site
134
135 label_vsg:
136 type: tosca.nodes.NodeLabel
137
138 # Networks required by the CORD setup
139 mysite_vsg-access:
140 type: tosca.nodes.network.Network
141 properties:
142 ip_version: 4
143 requirements:
144 - network_template:
145 node: Private
146 relationship: tosca.relationships.UsesNetworkTemplate
147 - owner:
148 node: mysite_vsg
149 relationship: tosca.relationships.MemberOfSlice
150 - connection:
151 node: mysite_vsg
152 relationship: tosca.relationships.ConnectsToSlice
153
154 # CORD Slices
155 mysite_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: mysite
166 relationship: tosca.relationships.MemberOfSite
167 - management:
168 node: management
169 relationship: tosca.relationships.ConnectsToNetwork
170 - image:
171 node: image#vsg-1.0
172 relationship: tosca.relationships.DefaultImage