blob: 67fb1ad4ee49580e9c2846365bdc10ad3eb3c0b5 [file] [log] [blame]
heat_template_version: queens
parameters:
linux_img:
type: string
description: Name of image to use for servers
linux_flav:
type: string
description: Name of image to use for servers
junos_flav:
type: string
description: Name of image to use for servers
junos_img:
type: string
description: Name of image to use for servers
vmx_gateway_ip:
type: string
description: Default GW for vmx
vmx_lo_ip:
type: string
description: lo ip addr (used for BGP peering)
evpn_network_vmx_ip:
type: string
description: vmx ip addr in a network for evpn test
accessible_network_id:
type: string
control_network_cidr:
type: string
control_network_vmx_ip:
type: string
tun_network_id:
type: string
tun_network_cidr:
type: string
tun_network_vmx_ip:
type: string
private_floating_network_id:
type: string
private_floating_network_cidr:
type: string
private_floating_network_gateway:
type: string
evpn_network_cidr:
type: string
evpn_network_ipam_pool_start:
type: string
evpn_network_ipam_pool_end:
type: string
public_net_id:
type: string
resources:
accessible_server_port:
type: OS::Neutron::Port
properties:
network_id: { get_param: accessible_network_id }
port_security_enabled: false
fixed_ips:
- ip_address: {get_param: control_network_vmx_ip }
private_floating_server_port:
type: OS::Neutron::Port
properties:
network_id: { get_param: private_floating_network_id }
port_security_enabled: false
fixed_ips:
- ip_address: { get_param: private_floating_network_gateway}
tun_server_port:
type: OS::Neutron::Port
properties:
network_id: { get_param: tun_network_id }
port_security_enabled: false
fixed_ips:
- ip_address: { get_param: tun_network_vmx_ip}
server_floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network_id: { get_param: public_net_id }
port_id: { get_resource: accessible_server_port }
vmx_int_network:
type: OS::Networking::VmxInternalNet
evpn_network:
type: OS::Networking::VmxFpcEvpnNet
properties:
evpn_network_cidr: { get_param: evpn_network_cidr }
evpn_network_ipam_pool_start: { get_param: evpn_network_ipam_pool_start }
evpn_network_ipam_pool_end: { get_param: evpn_network_ipam_pool_end }
evpn_server_port:
type: OS::Neutron::Port
properties:
network_id: { get_attr: [ evpn_network, evpn_network_id ] }
port_security_enabled: false
fixed_ips:
- ip_address: { get_param: evpn_network_vmx_ip }
re0:
type: OS::Nova::VmxRe
properties:
junos_flav: { get_param: junos_flav }
junos_img: { get_param: junos_img }
re_pfe_network: { get_attr: [ vmx_int_network, re_pfe_network ] }
access_port: { get_resource: accessible_server_port }
access_port_ip: {get_param: control_network_vmx_ip }
control_network_cidr: { get_param: control_network_cidr }
gateway_ip: { get_param: vmx_gateway_ip }
lo_ip: { get_param: vmx_lo_ip }
floating_port_ip: { get_param: private_floating_network_gateway }
tun_network_cidr: { get_param: tun_network_cidr }
tun_port_ip: { get_param: tun_network_vmx_ip }
evpn_port_ip: { get_param: evpn_network_vmx_ip }
fpc0:
type: OS::Nova::VmxFpcSingle
properties:
linux_img: { get_param: linux_img }
linux_flav: { get_param: linux_flav }
id: 0
re0_ip: { get_attr: [ fpc0_fixed_net, external_ip ] }
all_ports: [ { get_attr: [ fpc0_fixed_net, external_port ] },
{ get_attr: [ fpc0_fixed_net, internal_port ] },
{ get_resource: private_floating_server_port },
{ get_resource: tun_server_port },
{ get_resource: evpn_server_port } ]
fpc0_fixed_net:
type: OS::Networking::VmxFpcFixedNet
properties:
public_network: { get_param: accessible_network_id }
re_pfe_network: { get_attr: [ vmx_int_network, re_pfe_network ] }
id: 0
internal_ip: 128.0.0.16
outputs:
re_floating_ip:
description: Floating IP address of server in public network
value: { get_attr: [ server_floating_ip, floating_ip_address ] }
evpn_network_id:
description: Id of network for evpn tests
value: { get_attr: [ evpn_network, evpn_network_id ] }