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
|
heat_template_version: 2013-05-23
description: cmaui server template for vMMSC
parameters:
p1:
type: string
description: UID of OAM network
cmaui_names:
type: comma_delimited_list
description: CMAUI1, CMAUI2 server names
security_group_name:
type: not_important
description: not impotrtant
cmaui_image:
type: string
description: Image for CMAUI server
availability_zone_0:
type: string
label: availabilityzone name
description: availabilityzone name
cmaui_flavor:
type: string
description: Flavor for CMAUI server
cmaui_oam_ips:
type: string
abc_oam_ips:
type: string
lb_st_vlan_type_oam:
description: dummy
type: string
mac_address:
type: string
virtual_ip_address:
type: string
virtual_ipv6_address:
type: string
vlan_ids:
type: string
subinterface_name_prefix:
type: string
subinterface_instance_index:
type: number
resources:
cmaui_port_1:
type: OS::Neutron::Port
properties:
network: { get_param: p1 }
fixed_ips: [{"ip_address": {get_param: [cmaui_oam_ips, 0]}}]
security_groups: [{get_param: security_group_name}]
replacement_policy: AUTO
template_Vlan_3:
type: OS::ContrailV2::VirtualMachineInterface
properties:
name:
str_replace:
template: $NAME$VLAN
params:
$NAME: { get_param: subinterface_name_prefix }
$VLAN: { get_param: [ vlan_ids, { get_param: subinterface_instance_index } ] }
virtual_machine_interface_properties:
{
virtual_machine_interface_properties_sub_interface_vlan_tag: { get_param: lb_st_vlan_type_oam }
}
virtual_machine_interface_mac_addresses:
{
virtual_machine_interface_mac_addresses_mac_address: [{ get_param: mac_address }],
}
virtual_machine_interface_allowed_address_pairs:
{
virtual_machine_interface_allowed_address_pairs_allowed_address_pair: [
{
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
{
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ip_address },
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 32
}
},
{
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_address_mode: active-standby,
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_mac: { get_param: mac_address },
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip:
{
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix: { get_param: virtual_ipv6_address },
virtual_machine_interface_allowed_address_pairs_allowed_address_pair_ip_ip_prefix_len: 128
}
}
]
}
virtual_network_refs: [{ get_param: p1 }]
virtual_machine_interface_refs: [{ get_resource: cmaui_port_1 }]
server_cmaui:
type: OS::Nova::Server
properties:
name: { get_param: [cmaui_names, 0]}
image: { get_param: cmaui_image }
availability_zone: { get_param: availability_zone_0 }
flavor: { get_param: cmaui_flavor }
networks:
- port: { get_resource: cmaui_port_1 }
|