blob: 5079f69935f5bdf6ef784d8dbda0191f86b09bd7 [file] [log] [blame]
Andrea Campanellabcfb2d62017-02-15 09:37:35 -08001tosca_definitions_version: tosca_simple_yaml_1_0
2
3description: Just enough Tosca to get the vEG slice running on the CORD POD, created by platform-install
4
5imports:
6 - custom_types/xos.yaml
7 - custom_types/veg.yaml
Andrea Campanellabd56e782017-02-23 15:43:21 +01008 - custom_types/vnodlocal.yaml
Andrea Campanellabcfb2d62017-02-15 09:37:35 -08009
10topology_template:
11 node_templates:
12
13# site, image, fully created in deployment.yaml
14 {{ site_name }}:
15 type: tosca.nodes.Site
16
Andrea Campanella0a34e232017-02-23 17:20:04 +010017 image#vsg-1.1:
Andrea Campanellabcfb2d62017-02-15 09:37:35 -080018 type: tosca.nodes.Image
19
20# management networks, fully created in management-net.yaml
21 management:
22 type: tosca.nodes.network.Network.XOS
23 properties:
24 no-create: true
25 no-delete: true
26 no-update: true
27
28{% if use_management_hosts %}
29 management_hosts:
30 type: tosca.nodes.network.Network.XOS
31 properties:
32 no-create: true
33 no-delete: true
34 no-update: true
35{% endif %}
36
37# ONOS_CORD, fully created in vtn.yaml
38 service#ONOS_CORD:
39 type: tosca.nodes.ONOSService
40 properties:
41 no-delete: true
42 no-create: true
43 no-update: true
44
45# ONOS_Fabric, fully created in fabric.yaml
46 service#ONOS_Fabric:
47 type: tosca.nodes.ONOSService
48 properties:
49 no-delete: true
50 no-create: true
51 no-update: true
52
53# CORD Services
Andrea Campanellabcfb2d62017-02-15 09:37:35 -080054 addresses_veg:
55 type: tosca.nodes.AddressPool
56 properties:
57 addresses: 10.6.1.128/26
58 gateway_ip: 10.6.1.129
59 gateway_mac: 02:42:0a:06:01:01
60
61 addresses_public:
62 type: tosca.nodes.AddressPool
63 properties:
64 addresses: 10.6.1.192/26
65 gateway_ip: 10.6.1.193
66 gateway_mac: 02:42:0a:06:01:01
67
68 label_veg:
69 type: tosca.nodes.NodeLabel
70
71 service#veg:
72 type: tosca.nodes.VEGService
73 requirements:
74 - vrouter_tenant:
75 node: service#vrouter
76 relationship: tosca.relationships.TenantOfService
77 properties:
78 view_url: /admin/vEG/vegservice/$id$/
79 backend_network_label: hpc_client
80 public_key: { get_artifact: [ SELF, pubkey, LOCAL_FILE] }
Andrea Campanella4ef48392017-05-16 10:07:05 -070081 private_key_fn: /opt/cord_profile/key_import/veg_rsa
Andrea Campanellabcfb2d62017-02-15 09:37:35 -080082# node_label: label_veg
83 replaces: service_veg
84 artifacts:
Andrea Campanella4ef48392017-05-16 10:07:05 -070085 pubkey: /opt/cord_profile/key_import/veg_rsa.pub
Andrea Campanellabcfb2d62017-02-15 09:37:35 -080086
87 service#vrouter:
88 type: tosca.nodes.VRouterService
89 properties:
90 view_url: /admin/vrouter/vrouterservice/$id$/
91 replaces: service_vrouter
92 requirements:
93 - addresses_veg:
94 node: addresses_veg
95 relationship: tosca.relationships.ProvidesAddresses
96 - addresses_public:
97 node: addresses_public
98 relationship: tosca.relationships.ProvidesAddresses
99
100 vRouter_ONOS_app:
101 type: tosca.nodes.ONOSvRouterApp
102 requirements:
103 - onos_tenant:
104 node: service#ONOS_Fabric
105 relationship: tosca.relationships.TenantOfService
106 - vrouter_service:
107 node: service#vrouter
108 relationship: tosca.relationships.UsedByService
109 properties:
110 dependencies: org.onosproject.vrouter
111 autogenerate: vrouter-network-cfg
112
113 template#veg:
114 type: tosca.nodes.NetworkTemplate
115 properties:
116 visibility: private
117 translation: none
118 vtn_kind: VEG
119
Andrea Campanellabd56e782017-02-23 15:43:21 +0100120 service#vnodlocal:
121 type: tosca.nodes.VNodLocalService
122 properties:
123 requirements:
124
Andrea Campanellabcfb2d62017-02-15 09:37:35 -0800125 # Networks required by the CORD setup
126 {{ site_name }}_veg-access:
127 type: tosca.nodes.network.Network
128 properties:
129 ip_version: 4
130 requirements:
131 - network_template:
132 node: template#veg
133 relationship: tosca.relationships.UsesNetworkTemplate
134 - owner:
135 node: {{ site_name }}_veg
136 relationship: tosca.relationships.MemberOfSlice
137 - connection:
138 node: {{ site_name }}_veg
139 relationship: tosca.relationships.ConnectsToSlice
140
141 # CORD Slices
142 {{ site_name }}_veg:
143 description: vEG Controller Slice
144 type: tosca.nodes.Slice
145 properties:
146 network: noauto
147 requirements:
148 - veg_service:
149 node: service#veg
150 relationship: tosca.relationships.MemberOfService
151 - site:
152 node: {{ site_name }}
153 relationship: tosca.relationships.MemberOfSite
154 - management:
155 node: management
156 relationship: tosca.relationships.ConnectsToNetwork
157{% if use_management_hosts %}
158 - management_hosts:
159 node: management_hosts
160 relationship: tosca.relationships.ConnectsToNetwork
161{% endif %}
162 - image:
Andrea Campanella0a34e232017-02-23 17:20:04 +0100163 node: image#vsg-1.1
Andrea Campanellabcfb2d62017-02-15 09:37:35 -0800164 relationship: tosca.relationships.DefaultImage
165