blob: 67fb1ad4ee49580e9c2846365bdc10ad3eb3c0b5 [file] [log] [blame]
Ilya Bumarskov128d4d22021-12-27 10:43:09 +04001heat_template_version: queens
2
3parameters:
4 linux_img:
5 type: string
6 description: Name of image to use for servers
7 linux_flav:
8 type: string
9 description: Name of image to use for servers
10 junos_flav:
11 type: string
12 description: Name of image to use for servers
13 junos_img:
14 type: string
15 description: Name of image to use for servers
16 vmx_gateway_ip:
17 type: string
18 description: Default GW for vmx
19 vmx_lo_ip:
20 type: string
21 description: lo ip addr (used for BGP peering)
22 evpn_network_vmx_ip:
23 type: string
24 description: vmx ip addr in a network for evpn test
25
26 accessible_network_id:
27 type: string
28 control_network_cidr:
29 type: string
30 control_network_vmx_ip:
31 type: string
32
33 tun_network_id:
34 type: string
35 tun_network_cidr:
36 type: string
37 tun_network_vmx_ip:
38 type: string
39
40 private_floating_network_id:
41 type: string
42 private_floating_network_cidr:
43 type: string
44 private_floating_network_gateway:
45 type: string
46
47 evpn_network_cidr:
48 type: string
49 evpn_network_ipam_pool_start:
50 type: string
51 evpn_network_ipam_pool_end:
52 type: string
53
54 public_net_id:
55 type: string
56
57resources:
58
59 accessible_server_port:
60 type: OS::Neutron::Port
61 properties:
62 network_id: { get_param: accessible_network_id }
63 port_security_enabled: false
64 fixed_ips:
65 - ip_address: {get_param: control_network_vmx_ip }
66
67 private_floating_server_port:
68 type: OS::Neutron::Port
69 properties:
70 network_id: { get_param: private_floating_network_id }
71 port_security_enabled: false
72 fixed_ips:
73 - ip_address: { get_param: private_floating_network_gateway}
74
75 tun_server_port:
76 type: OS::Neutron::Port
77 properties:
78 network_id: { get_param: tun_network_id }
79 port_security_enabled: false
80 fixed_ips:
81 - ip_address: { get_param: tun_network_vmx_ip}
82
83 server_floating_ip:
84 type: OS::Neutron::FloatingIP
85 properties:
86 floating_network_id: { get_param: public_net_id }
87 port_id: { get_resource: accessible_server_port }
88
89 vmx_int_network:
90 type: OS::Networking::VmxInternalNet
91
92 evpn_network:
93 type: OS::Networking::VmxFpcEvpnNet
94 properties:
95 evpn_network_cidr: { get_param: evpn_network_cidr }
96 evpn_network_ipam_pool_start: { get_param: evpn_network_ipam_pool_start }
97 evpn_network_ipam_pool_end: { get_param: evpn_network_ipam_pool_end }
98
99 evpn_server_port:
100 type: OS::Neutron::Port
101 properties:
102 network_id: { get_attr: [ evpn_network, evpn_network_id ] }
103 port_security_enabled: false
104 fixed_ips:
105 - ip_address: { get_param: evpn_network_vmx_ip }
106
107 re0:
108 type: OS::Nova::VmxRe
109 properties:
110 junos_flav: { get_param: junos_flav }
111 junos_img: { get_param: junos_img }
112 re_pfe_network: { get_attr: [ vmx_int_network, re_pfe_network ] }
113 access_port: { get_resource: accessible_server_port }
114 access_port_ip: {get_param: control_network_vmx_ip }
115 control_network_cidr: { get_param: control_network_cidr }
116 gateway_ip: { get_param: vmx_gateway_ip }
117 lo_ip: { get_param: vmx_lo_ip }
118 floating_port_ip: { get_param: private_floating_network_gateway }
119 tun_network_cidr: { get_param: tun_network_cidr }
120 tun_port_ip: { get_param: tun_network_vmx_ip }
121 evpn_port_ip: { get_param: evpn_network_vmx_ip }
122
123 fpc0:
124 type: OS::Nova::VmxFpcSingle
125 properties:
126 linux_img: { get_param: linux_img }
127 linux_flav: { get_param: linux_flav }
128 id: 0
129 re0_ip: { get_attr: [ fpc0_fixed_net, external_ip ] }
130 all_ports: [ { get_attr: [ fpc0_fixed_net, external_port ] },
131 { get_attr: [ fpc0_fixed_net, internal_port ] },
132 { get_resource: private_floating_server_port },
133 { get_resource: tun_server_port },
134 { get_resource: evpn_server_port } ]
135
136 fpc0_fixed_net:
137 type: OS::Networking::VmxFpcFixedNet
138 properties:
139 public_network: { get_param: accessible_network_id }
140 re_pfe_network: { get_attr: [ vmx_int_network, re_pfe_network ] }
141 id: 0
142 internal_ip: 128.0.0.16
143
144outputs:
145 re_floating_ip:
146 description: Floating IP address of server in public network
147 value: { get_attr: [ server_floating_ip, floating_ip_address ] }
Anton Samoylov584ffbc2022-03-11 18:10:56 +0400148 evpn_network_id:
149 description: Id of network for evpn tests
150 value: { get_attr: [ evpn_network, evpn_network_id ] }