blob: d53e0da8c6b333a4c44d1db8d23c06f5c058237f [file] [log] [blame]
Scott Baker50421662016-06-27 22:09:48 -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
Scott Baker1edb6972016-06-29 15:23:01 -070091 # 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
Scott Baker50421662016-06-27 22:09:48 -0700105
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
Scott Baker3e397522016-09-09 15:23:56 -0700119 template#vsg:
Scott Baker50421662016-06-27 22:09:48 -0700120 type: tosca.nodes.NetworkTemplate
Scott Baker3e397522016-09-09 15:23:56 -0700121 properties:
122 visibility: private
123 translation: none
124 vtn_kind: VSG
Scott Baker50421662016-06-27 22:09:48 -0700125
126 management:
127 type: tosca.nodes.network.Network.XOS
128 properties:
129 no-create: true
130 no-delete: true
131 no-update: true
132
Scott Bakerd8d905a2016-07-18 16:04:05 -0700133 image#vsg-1.1:
Scott Baker50421662016-06-27 22:09:48 -0700134 type: tosca.nodes.Image
135
136 mysite:
137 type: tosca.nodes.Site
138
139 label_vsg:
140 type: tosca.nodes.NodeLabel
141
142 # Networks required by the CORD setup
143 mysite_vsg-access:
144 type: tosca.nodes.network.Network
145 properties:
146 ip_version: 4
147 requirements:
148 - network_template:
Scott Baker3e397522016-09-09 15:23:56 -0700149 node: template#vsg
Scott Baker50421662016-06-27 22:09:48 -0700150 relationship: tosca.relationships.UsesNetworkTemplate
151 - owner:
152 node: mysite_vsg
153 relationship: tosca.relationships.MemberOfSlice
154 - connection:
155 node: mysite_vsg
156 relationship: tosca.relationships.ConnectsToSlice
157
158 # CORD Slices
159 mysite_vsg:
160 description: vSG Controller Slice
161 type: tosca.nodes.Slice
162 properties:
163 network: noauto
164 requirements:
165 - vsg_service:
166 node: service#vsg
167 relationship: tosca.relationships.MemberOfService
168 - site:
169 node: mysite
170 relationship: tosca.relationships.MemberOfSite
171 - management:
172 node: management
173 relationship: tosca.relationships.ConnectsToNetwork
174 - image:
Scott Bakerd8d905a2016-07-18 16:04:05 -0700175 node: image#vsg-1.1
Scott Baker50421662016-06-27 22:09:48 -0700176 relationship: tosca.relationships.DefaultImage