blob: 41bd316192eba2991744aff1a871a653bdac16f0 [file] [log] [blame]
#
# Generated by scripts/gen-onap-oom-yaml.sh; MANUAL CHANGES WILL BE LOST
#
heat_template_version: 2015-10-15
description: ONAP on Kubernetes using OOM
parameters:
docker_proxy:
type: string
apt_proxy:
type: string
public_net_id:
type: string
description: The ID of the Public network for floating IP address allocation
oam_network_cidr:
type: string
description: CIDR of the OAM ONAP network
ubuntu_1604_image:
type: string
description: Name of the Ubuntu 16.04 image
rancher_vm_flavor:
type: string
description: VM flavor for Rancher
k8s_vm_flavor:
type: string
description: VM flavor for k8s hosts
integration_override_yaml:
type: string
description: Content for integration_override.yaml
integration_gerrit_branch:
type: string
default: "master"
integration_gerrit_refspec:
type: string
default: "refs/heads/master"
oom_gerrit_branch:
type: string
default: "master"
oom_gerrit_refspec:
type: string
default: "refs/heads/master"
docker_manifest:
type: string
default: ""
key_name:
type: string
default: "onap_key"
resources:
random-str:
type: OS::Heat::RandomString
properties:
length: 4
# ONAP security group
onap_sg:
type: OS::Neutron::SecurityGroup
properties:
name:
str_replace:
template: base_rand
params:
base: onap_sg
rand: { get_resource: random-str }
description: security group used by ONAP
rules:
# All egress traffic
- direction: egress
ethertype: IPv4
- direction: egress
ethertype: IPv6
# ingress traffic
# ICMP
- protocol: icmp
- protocol: udp
port_range_min: 1
port_range_max: 65535
- protocol: tcp
port_range_min: 1
port_range_max: 65535
# ONAP management private network
oam_network:
type: OS::Neutron::Net
properties:
name:
str_replace:
template: oam_network_rand
params:
rand: { get_resource: random-str }
oam_subnet:
type: OS::Neutron::Subnet
properties:
name:
str_replace:
template: oam_network_rand
params:
rand: { get_resource: random-str }
network_id: { get_resource: oam_network }
cidr: { get_param: oam_network_cidr }
dns_nameservers: [ "8.8.8.8" ]
router:
type: OS::Neutron::Router
properties:
external_gateway_info:
network: { get_param: public_net_id }
router_interface:
type: OS::Neutron::RouterInterface
properties:
router_id: { get_resource: router }
subnet_id: { get_resource: oam_subnet }
rancher_private_port:
type: OS::Neutron::Port
properties:
network: { get_resource: oam_network }
fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
security_groups:
- { get_resource: onap_sg }
rancher_floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network_id: { get_param: public_net_id }
port_id: { get_resource: rancher_private_port }
rancher_vm:
type: OS::Nova::Server
properties:
name: rancher
image: { get_param: ubuntu_1604_image }
flavor: { get_param: rancher_vm_flavor }
key_name: { get_param: key_name }
networks:
- port: { get_resource: rancher_private_port }
user_data_format: RAW
user_data:
str_replace:
template:
get_file: rancher_vm_entrypoint.sh
params:
__docker_proxy__: { get_param: docker_proxy }
__apt_proxy__: { get_param: apt_proxy }
__rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
__rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
__integration_override_yaml__: { get_param: integration_override_yaml }
__integration_gerrit_branch__: { get_param: integration_gerrit_branch }
__integration_gerrit_refspec__: { get_param: integration_gerrit_refspec }
__oom_gerrit_branch__: { get_param: oom_gerrit_branch }
__oom_gerrit_refspec__: { get_param: oom_gerrit_refspec }
__docker_manifest__: { get_param: docker_manifest }
__public_net_id__: { get_param: public_net_id }
__oam_network_cidr__: { get_param: oam_network_cidr }
__oam_network_id__: { get_resource: oam_network }
__oam_subnet_id__: { get_resource: oam_subnet }
__k8s_1_vm_ip__: { get_attr: [k8s_1_floating_ip, floating_ip_address] }
__k8s_vm_ips__: [
get_attr: [k8s_1_floating_ip, floating_ip_address],
get_attr: [k8s_2_floating_ip, floating_ip_address],
get_attr: [k8s_3_floating_ip, floating_ip_address],
get_attr: [k8s_4_floating_ip, floating_ip_address],
get_attr: [k8s_5_floating_ip, floating_ip_address],
]
__k8s_private_ips__: [
get_attr: [k8s_1_floating_ip, fixed_ip_address],
get_attr: [k8s_2_floating_ip, fixed_ip_address],
get_attr: [k8s_3_floating_ip, fixed_ip_address],
get_attr: [k8s_4_floating_ip, fixed_ip_address],
get_attr: [k8s_5_floating_ip, fixed_ip_address],
]
k8s_1_private_port:
type: OS::Neutron::Port
properties:
network: { get_resource: oam_network }
fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
security_groups:
- { get_resource: onap_sg }
k8s_1_floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network_id: { get_param: public_net_id }
port_id: { get_resource: k8s_1_private_port }
k8s_1_vm:
type: OS::Nova::Server
properties:
name: k8s_1
image: { get_param: ubuntu_1604_image }
flavor: { get_param: k8s_vm_flavor }
key_name: { get_param: key_name }
networks:
- port: { get_resource: k8s_1_private_port }
user_data_format: RAW
user_data:
str_replace:
params:
__docker_proxy__: { get_param: docker_proxy }
__apt_proxy__: { get_param: apt_proxy }
__rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
__rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
template:
get_file: k8s_vm_entrypoint.sh
k8s_2_private_port:
type: OS::Neutron::Port
properties:
network: { get_resource: oam_network }
fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
security_groups:
- { get_resource: onap_sg }
k8s_2_floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network_id: { get_param: public_net_id }
port_id: { get_resource: k8s_2_private_port }
k8s_2_vm:
type: OS::Nova::Server
properties:
name: k8s_2
image: { get_param: ubuntu_1604_image }
flavor: { get_param: k8s_vm_flavor }
key_name: { get_param: key_name }
networks:
- port: { get_resource: k8s_2_private_port }
user_data_format: RAW
user_data:
str_replace:
params:
__docker_proxy__: { get_param: docker_proxy }
__apt_proxy__: { get_param: apt_proxy }
__rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
__rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
template:
get_file: k8s_vm_entrypoint.sh
k8s_3_private_port:
type: OS::Neutron::Port
properties:
network: { get_resource: oam_network }
fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
security_groups:
- { get_resource: onap_sg }
k8s_3_floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network_id: { get_param: public_net_id }
port_id: { get_resource: k8s_3_private_port }
k8s_3_vm:
type: OS::Nova::Server
properties:
name: k8s_3
image: { get_param: ubuntu_1604_image }
flavor: { get_param: k8s_vm_flavor }
key_name: { get_param: key_name }
networks:
- port: { get_resource: k8s_3_private_port }
user_data_format: RAW
user_data:
str_replace:
params:
__docker_proxy__: { get_param: docker_proxy }
__apt_proxy__: { get_param: apt_proxy }
__rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
__rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
template:
get_file: k8s_vm_entrypoint.sh
k8s_4_private_port:
type: OS::Neutron::Port
properties:
network: { get_resource: oam_network }
fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
security_groups:
- { get_resource: onap_sg }
k8s_4_floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network_id: { get_param: public_net_id }
port_id: { get_resource: k8s_4_private_port }
k8s_4_vm:
type: OS::Nova::Server
properties:
name: k8s_4
image: { get_param: ubuntu_1604_image }
flavor: { get_param: k8s_vm_flavor }
key_name: { get_param: key_name }
networks:
- port: { get_resource: k8s_4_private_port }
user_data_format: RAW
user_data:
str_replace:
params:
__docker_proxy__: { get_param: docker_proxy }
__apt_proxy__: { get_param: apt_proxy }
__rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
__rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
template:
get_file: k8s_vm_entrypoint.sh
k8s_5_private_port:
type: OS::Neutron::Port
properties:
network: { get_resource: oam_network }
fixed_ips: [{"subnet": { get_resource: oam_subnet }}]
security_groups:
- { get_resource: onap_sg }
k8s_5_floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network_id: { get_param: public_net_id }
port_id: { get_resource: k8s_5_private_port }
k8s_5_vm:
type: OS::Nova::Server
properties:
name: k8s_5
image: { get_param: ubuntu_1604_image }
flavor: { get_param: k8s_vm_flavor }
key_name: { get_param: key_name }
networks:
- port: { get_resource: k8s_5_private_port }
user_data_format: RAW
user_data:
str_replace:
params:
__docker_proxy__: { get_param: docker_proxy }
__apt_proxy__: { get_param: apt_proxy }
__rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
__rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
template:
get_file: k8s_vm_entrypoint.sh
outputs:
rancher_vm_ip:
description: The IP address of the rancher instance
value: { get_attr: [rancher_floating_ip, floating_ip_address] }
k8s_1_vm_ip:
description: The IP address of the k8s_1 instance
value: { get_attr: [k8s_1_floating_ip, floating_ip_address] }
k8s_2_vm_ip:
description: The IP address of the k8s_2 instance
value: { get_attr: [k8s_2_floating_ip, floating_ip_address] }
k8s_3_vm_ip:
description: The IP address of the k8s_3 instance
value: { get_attr: [k8s_3_floating_ip, floating_ip_address] }
k8s_4_vm_ip:
description: The IP address of the k8s_4 instance
value: { get_attr: [k8s_4_floating_ip, floating_ip_address] }
k8s_5_vm_ip:
description: The IP address of the k8s_5 instance
value: { get_attr: [k8s_5_floating_ip, floating_ip_address] }