# # 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 gerrit_branch: type: string default: "master" gerrit_refspec: type: string default: "refs/heads/master" docker_manifest: type: string default: "docker-manifest.csv" 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 } __gerrit_branch__: { get_param: gerrit_branch } __gerrit_refspec__: { get_param: 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] }