blob: 01adb51d71bfafb53bcd2101f1be83b03587aae5 (
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
|
heat_template_version: 2013-05-23
description: >
Metaswitch MVS (Metaview Server)
parameters:
cloud_zone_id:
type: string
description: The cloud zone for this VF instance
vf_name:
type: string
description: The VF Name; defaults to VMVM for the virtual MVM VNF.
constraints:
- allowed_pattern: "[a-zA-Z0-9]+"
- length: { min: 4, max: 4 }
description: Each VF will have a 4-character alphanumeric identifier
vf_instance_num:
type: string
description: The number for this VF instance
constraints:
- allowed_pattern: "[0-9]+"
- length: { min: 2, max: 2 }
description: VF instance number must be a two-digit numeric value
vf_component:
type: string
description: The component that this VF instance is running
constraints:
- allowed_pattern: "[a-zA-Z0-9]+"
- length: { min: 3, max: 3 }
description: Each VF component will have a 3-character alphanumeric identifier
vm_instance_num:
type: comma_delimited_list
description: VM instance number list must be a list of three-digit numeric value
vnf_id:
type: string
description: Unique ID for this VF instance
vf_module_id:
type: string
description: Unique ID for this VF_MODULE instance
bootimage:
type: string
description: Master bootimage volume id
flavor:
type: string
description: Server flavor
constraints:
- custom_constraint: nova.flavor
key_name:
type: string
description: SSH key name
constraints:
- custom_constraint: nova.keypair
availability_zone_0:
type: comma_delimited_list
description: List of Availability Zone IDs or Names
sec_groups:
type: comma_delimited_list
description: Security groups
mgmt_net_id:
type: string
description: Neutron UUID for the Management network
constraints:
- custom_constraint: neutron.network
virtual_mgmt_ip_0:
type: string
description: Virtual management network ip address
mvs_mgmt_ip_0:
type: comma_delimited_list
description: List of Management network IP addresses for IPv4
indx:
type: number
description: Index of the current instance
resources:
mgmt_port:
type: OS::Neutron::Port
properties:
name:
str_replace:
template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM-mgmt-port
params:
$CLOUD_ZONE_ID: { get_param: cloud_zone_id }
$VF_NAME: { get_param: vf_name }
$VF_INSTANCE_NUM: { get_param: vf_instance_num }
$VF_COMPONENT: { get_param: vf_component }
$VM_INSTANCE_NUM: { "Fn::Select" : [ { get_param: indx }, { get_param: [vm_instance_num] } ] }
network_id: { get_param: mgmt_net_id }
security_groups: [{ get_param: sec_groups }]
fixed_ips:
- ip_address: { "Fn::Select" : [ { get_param: indx }, { get_param: [{ get_param: mvs_mgmt_ip_0 }] } ] }
allowed_address_pairs:
- ip_address: { get_param: virtual_mgmt_ip_0 }
vnfci:
type: OS::Nova::Server
properties:
name:
str_replace:
template: Z$CLOUD_ZONE_ID$VF_NAME$VF_INSTANCE_NUM$VF_COMPONENT$VM_INSTANCE_NUM
params:
$CLOUD_ZONE_ID: { get_param: cloud_zone_id }
$VF_NAME: { get_param: vf_name }
$VF_INSTANCE_NUM: { get_param: vf_instance_num }
$VF_COMPONENT: { get_param: vf_component }
$VM_INSTANCE_NUM: { "Fn::Select" : [ { get_param: indx }, { get_param: [vm_instance_num] } ] }
flavor: { get_param: flavor }
key_name: { get_param: key_name }
networks:
- port: { get_resource: mgmt_port }
availability_zone: { "Fn::Select" : [ { get_param: indx }, { get_param: [availability_zone_0] } ] }
metadata:
vnf_id: { get_param: vnf_id }
vf_module_id: { get_param: vf_module_id }
outputs:
vnfci_id_1:
value: { get_resource: vnfci }
vnfci_id_2:
value: { get_resource: vnfci }
|