blob: 868eaf41420afe7637f76786714bb539c3f757f6 (
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
|
heat_template_version: 2013-05-23
parameters:
availability_zone_0:
type: string
description: Availability zone where this component should be instantiated
cpm_image_name:
type: string
description: Image to be used for the instance
cpm_flavor_name:
type: string
description: Flavor of the VNF to be used
security_group:
type: string
description: Security group to be used
mgt_net_id:
type: string
description: Network used by the Management interface
mgt_subnet_id:
type: string
description: Subnet used by the Management interface
ctrl_fabric_net_id:
type: string
description: Network used by the Control Fabric interface
ctrl_fabric_subnet_id:
type: string
description: Subnet used by the Control Fabric interface
cpm_mgt_ip:
type: string
description: Fixed IP that will be used by the primary Management Interface
cpm_mgt_cidr:
type: string
description: Fixed IP that will be used by the secondary Management Interface
stack_name:
type: string
description: Name of the HEAT stack
stack_id:
type: string
description: Id of the HEAT stack
project_id:
type: string
description: Id of the HEAT project
cpm_smbios:
type: string
description: Parameters to be passed to the VM at boot up as key-value pairs
cpm_slot:
type: string
description: The slot value assigned to the module eg A and B
cpm_mtu:
type: string
description: MTU size in bytes
vnf_id:
type: string
description: VNF ID
vm_name:
type: string
description: Name of the VNF
vf_module_id:
type: string
description: VNF Module ID
resources:
cpm_mgt_0_port:
type: OS::Neutron::Port
properties:
network_id: { get_param: mgt_net_id }
security_groups: [ { get_param: security_group} ]
fixed_ips: [ { subnet_id: { get_param: mgt_subnet_id }, ip_address: { get_param: cpm_mgt_ip } } ]
allowed_address_pairs: [ { ip_address: { get_param: cpm_mgt_cidr } } ]
cpm_ctrl_fabric_0_port:
type: OS::Neutron::Port
properties:
network_id: { get_param: ctrl_fabric_net_id }
security_groups: [ { get_param: security_group} ]
fixed_ips: [ { subnet_id: { get_param: ctrl_fabric_subnet_id } } ]
value_specs:
extra_dhcp_opts:
- {opt_name: interface-mtu, opt_value: { get_param: cpm_mtu } }
CPM:
type: OS::Nova::Server
depends_on: [ cpm_mgt_0_port, cpm_ctrl_fabric_0_port ]
properties:
name: { get_param: vm_name }
metadata:
vnf_id: { get_param: vnf_id }
vf_module_id: { get_param: vf_module_id }
image: { get_param: cpm_image_name }
flavor: { get_param: cpm_flavor_name }
availability_zone: { get_param: availability_zone_0 }
config_drive: "true"
user_data: { get_param: cpm_smbios }
user_data_format: "RAW"
networks:
- port: { get_resource: cpm_mgt_0_port }
- port: { get_resource: cpm_ctrl_fabric_0_port }
|