blob: bd8d7acd33a1e4952d2732734ee854169bfc6b4d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
|
heat_template_version: 2015-04-30
description: ATT Vyatta vRouter template with 3 ports total - 1 Mgmt - 2 SR-IOV.
#Create two AIC network ports via SR-IOV provider networks -- assumes one-time site-prep template has been run already
parameters:
#VM Parameters
vce_name_0:
type: string
description: Name of the VM
vce_flavor_name:
type: string
description: VM instance sizing
availability_zone_0:
type: string
description: The Availability Zone to launch the instance.
vnf_name:
type: string
description: Unique name for this VF instance
vnf_id:
type: string
description: Unique ID for this VF instance; Unique ID for VNF for AAI metadata
vf_module_name:
type: string
description: Unique name for this VF Module instance -- Not used for this VNF
sdnc_model_name:
type: string
description: SDNC Blue Print Name
sdnc_model_version:
type: string
description: SDNC Model Version
sdnc_artifact_name:
type: string
description: SDNC Artifact Name
vf_module_id:
type: string
description: Unique ID for this VF Module instance -- Not used for this VNF
vce_volume_id_0:
type: string
description: ID of the boot disk volume
dcae_0:
type: string
description: IP Address of DCAE CTS Server
ntp_ip_0:
type: string
description: IP Address of primary NTP Server
ntp_ip_1:
type: string
description: IP Address of secondary NTP Server
syslog_ip_0:
type: string
description: IP Address of first syslog Server
syslog_ip_1:
type: string
description: IP Address of second syslog Server
syslog_ip_2:
type: string
description: IP Address of third syslog Server
syslog_ip_3:
type: string
description: IP Address of fourth syslog Server
snmp_community_0:
type: string
description: SNMP Community value
snmp_ip_0:
type: string
description: IP Address of first SNMP Server
snmp_ip_1:
type: string
description: IP Address of second SNMP Server
snmp_ip_2:
type: string
description: IP Address of third SNMP Server
snmp_ip_3:
type: string
description: IP Address of fourth SNMP Server
tacplus_key_0:
type: string
description: TACPLUS key
tacplus_ip_0:
type: string
description: IP Address of first TACPLUS Server
tacplus_ip_1:
type: string
description: IP Address of first TACPLUS Server
tacplus_ip_2:
type: string
description: IP Address of first TACPLUS Server
tacplus_ip_3:
type: string
description: IP Address of first TACPLUS Server
tacplus_port_0:
type: string
description: TACPLUS Domain Port
#Networking Parameters
#SRIOV Port 0
vce_SRIOV1_0_net_id:
type: string
description: SRIOV Provider 0 network id
vce_SRIOV1_0_port_name:
type: string
description: name for sriov Port 0
ATT_VF_VLAN_FILTER_vCE_SRIOV1_0:
type: json
description: VF VLAN Filters specified in JSON list object
ATT_VF_VLAN_STRIP_vCE_SRIOV1_0:
type: boolean
description: boolean to specify VLAN Strip option
ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
type: boolean
description: boolean to specify vlan anti spoof check option
ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0:
type: boolean
description: boolean to specify mac anti spoof check option
ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0:
type: boolean
description: boolean to specify allowance of broadcast traffic
ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0:
type: boolean
description: boolean to specify allowance of unknown multicast
ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0:
type: boolean
description: boolean to specify allowance of unknown unicast
ATT_VF_INSERT_STAG_vCE_SRIOV1_0:
type: boolean
description: boolean to specify insertion of outer tag for traffic coming out of VM
ATT_VF_LINK_STATUS_vCE_SRIOV1_0:
type: string
description: specify link status of SRIOV VF
#SRIOV Port 1
vce_SRIOV2_0_net_id:
type: string
description: SRIOV Provider 1 network id
vce_SRIOV2_0_port_name:
type: string
description: name for sriov Port 1
vce_SRIOV2_0_vlan_filter:
type: comma_delimited_list
description: VLAN filter for oam attached to vce_SRIOV2_0
vce_SRIOV2_0_public_vlans:
type: comma_delimited_list
description: public_vlans for oam attached to vce_SRIOV2_0
vce_SRIOV2_0_private_vlans:
type: comma_delimited_list
description: private_vlans for oam attached to vce_SRIOV2_0
#OAM Port 0
oam0_net_id:
type: string
description: OAM network - 1st vNIC
vce_oam0_port_name:
type: string
description: Neutron name for the OAM Port
vce_oam0_ip_0:
type: string
description: IP Address of OAM port
oam0_subnet_0_default_gateway:
type: string
description: Default Gateway for OAM network
# NOTE: Normally when creating an OS SR-IOV Neutron port, you have to specify the binding:vnic_type=direct;
resources:
vce_oam0_port:
type: OS::Neutron::Port
properties:
admin_state_up: true
name: { get_param: vce_oam0_port_name}
network: { get_param: oam0_net_id }
fixed_ips: [ { "ip_address": {get_param: vce_oam0_ip_0}}]
vce_SRIOV1_0_port:
type: OS::Neutron::Port
properties:
admin_state_up: true
name: { get_param: vce_SRIOV1_0_port_name}
network: { get_param: vce_SRIOV1_0_net_id }
binding:vnic_type: direct
value_specs:
ATT_VF_VLAN_FILTER: { get_param: ATT_VF_VLAN_FILTER_vCE_SRIOV1_0 }
ATT_VF_VLAN_STRIP: { get_param: ATT_VF_VLAN_STRIP_vCE_SRIOV1_0 }
ATT_VF_VLAN_ANTI_SPOOF_CHECK: { get_param: ATT_VF_VLAN_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
ATT_VF_MAC_ANTI_SPOOF_CHECK: { get_param: ATT_VF_MAC_ANTI_SPOOF_CHECK_vCE_SRIOV1_0 }
ATT_VF_BROADCAST_ALLOW: { get_param: ATT_VF_BROADCAST_ALLOW_vCE_SRIOV1_0 }
ATT_VF_UNKNOWN_MULTICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_MULTICAST_ALLOW_vCE_SRIOV1_0 }
ATT_VF_UNKNOWN_UNICAST_ALLOW: { get_param: ATT_VF_UNKNOWN_UNICAST_ALLOW_vCE_SRIOV1_0 }
ATT_VF_INSERT_STAG: { get_param: ATT_VF_INSERT_STAG_vCE_SRIOV1_0 }
ATT_VF_LINK_STATUS: { get_param: ATT_VF_LINK_STATUS_vCE_SRIOV1_0 }
ATT_FABRIC_CONFIGURATION_REQUIRED: false
vce_SRIOV2_0_port:
type: OS::Neutron::Port
properties:
admin_state_up: true
name: { get_param: vce_SRIOV2_0_port_name}
network: { get_param: vce_SRIOV2_0_net_id }
binding:vnic_type: direct
value_specs:
"binding:profile":
vce_0:
type: OS::Nova::Server
properties:
name: { get_param: vce_name_0 }
block_device_mapping:
- device_name: vda
volume_id: { get_param: vce_volume_id_0 }
delete_on_termination: false
flavor: { get_param: vce_flavor_name }
availability_zone: { get_param: availability_zone_0 }
networks:
- port: { get_resource: vce_oam0_port }
- port: { get_resource: vce_SRIOV1_0_port }
- port: { get_resource: vce_SRIOV2_0_port }
metadata:
vnf_name: { get_param: vnf_name }
vnf_id: { get_param: vnf_id }
vf_module_name: { get_param: vf_module_name }
vf_module_id: { get_param: vf_module_id }
hostname: { get_param: vnf_name }
gateway: { get_param: oam0_subnet_0_default_gateway }
sdnc_model_name: { get_param: sdnc_model_name }
sdnc_model_version: { get_param: sdnc_model_version }
sdnc_artifact_name: { get_param: sdnc_artifact_name }
user_data_format: RAW
user_data:
str_replace:
template: { get_file: vCE_Cloudinit.txt }
params:
$OAM0_IP_0: { get_param: vce_oam0_ip_0 }
$OAM0_GATEWAY: { get_param: oam0_subnet_0_default_gateway }
$DCAE_CTS: { get_param: dcae_0 }
$HOSTNAME: { get param: vnf_name }
$NTP_SERVER_IPV4_1: { get_param: ntp_ip_0 }
$NTP_SERVER_IPV4_2: { get_param: ntp_ip_1 }
$SYSLOG_SERVER_IPV4_1: { get_param: syslog_ip_0 }
$SYSLOG_SERVER_IPV4_2: { get_param: syslog_ip_1 }
$SYSLOG_SERVER_IPV4_3: { get_param: syslog_ip_2 }
$SYSLOG_SERVER_IPV4_4: { get_param: syslog_ip_3 }
$SNMP_COMMUNITY: { get_param: snmp_community_0 }
$SNMP_TRAP_SERVER_IPV4_1: { get_param: snmp_ip_0 }
$SNMP_TRAP_SERVER_IPV4_2: { get_param: snmp_ip_1 }
$SNMP_TRAP_SERVER_IPV4_3: { get_param: snmp_ip_2 }
$SNMP_TRAP_SERVER_IPV4_4: { get_param: snmp_ip_3 }
$TACPLUS_KEY: { get_param: tacplus_key_0 }
$TACPLUS_SERVER_IPV4_1: { get_param: tacplus_ip_0 }
$TACPLUS_SERVER_IPV4_2: { get_param: tacplus_ip_1 }
$TACPLUS_SERVER_IPV4_3: { get_param: tacplus_ip_2 }
$TACPLUS_SERVER_IPV4_4: { get_param: tacplus_ip_3 }
$TACPLUS_DOMAIN_PORT: { get_param: tacplus_port_0 }
|