blob: 6241c0ae3e22a1c56b85c59db63a0e99237ac167 [file] [log] [blame]
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
public_net_name:
type: string
description: The name of the Public network referred by public_net_id
oam_network_cidr:
type: string
description: CIDR of the OAM ONAP network
keystone_url:
type: string
description: URL of OpenStack Keystone
openstack_tenant_id:
type: string
description: OpenStack tenant ID
openstack_tenant_name:
type: string
description: OpenStack tenant name (matching with the openstack_tenant_id)
openstack_username:
type: string
description: OpenStack username
openstack_api_key:
type: string
description: OpenStack password or API Key
ubuntu_1404_image:
type: string
description: Name of the Ubuntu 14.04 image
ubuntu_1604_image:
type: string
description: Name of the Ubuntu 16.04 image
centos_7_image:
type: string
description: the id/name of the CentOS 7 VM imange
rancher_vm_flavor:
type: string
description: Name of the Ubuntu 14.04 image
k8s_vm_flavor:
type: string
description: Name of the Ubuntu 14.04 image
dcae_ip_addr:
type: string
dns_forwarder:
type: string
description: the forwarder address for setting up ONAP's private DNS server
external_dns:
type: string
description: Public IP of the external DNS for ONAP network
dnsaas_proxy_enable:
type: string
description: whether to enable DNSaaS proxy via multicloud
dnsaas_region:
type: string
description: the region of the cloud instance providing the Designate DNS as a Service
dnsaas_keystone_url:
type: string
description: the keystone URL of the cloud instance providing the Designate DNS as a Service
dnsaas_username:
type: string
description: the username of the cloud instance providing the Designate DNS as a Service
dnsaas_password:
type: string
description: the password of the cloud instance providing the Designate DNS as a Service
dnsaas_tenant_name:
type: string
description: the name of the tenant in the cloud instance providing the Designate DNS as a Service
dcae_keystone_url:
type: string
description: the keystone URL for DCAE to use (via MultiCloud)
resources:
random-str:
type: OS::Heat::RandomString
properties:
length: 4
rancher_vm:
type: OS::Nova::Server
properties:
name: rancher
image: { get_param: ubuntu_1604_image }
flavor: { get_param: rancher_vm_flavor }
key_name: onap_key
networks:
- network: { get_param: public_net_id }
user_data_format: RAW
user_data:
str_replace:
params:
__docker_proxy__: { get_param: docker_proxy }
__apt_proxy__: { get_param: apt_proxy }
template:
get_file: rancher_vm_entrypoint.sh
k8s_vm:
type: OS::Nova::Server
properties:
name: k8s
image: { get_param: ubuntu_1604_image }
flavor: { get_param: k8s_vm_flavor }
key_name: onap_key
networks:
- network: { get_param: public_net_id }
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_vm, first_address] }
__openstack_tenant_id__: { get_param: openstack_tenant_id }
__openstack_tenant_name__: { get_param: openstack_tenant_name }
__openstack_username__: { get_param: openstack_username }
__openstack_api_key__: { get_param : openstack_api_key }
__public_net_id__: { get_param: public_net_id }
__public_net_name__: { get_param: public_net_name }
__oam_network_cidr__: { get_param: oam_network_cidr }
__ubuntu_1404_image__: { get_param: ubuntu_1404_image }
__ubuntu_1604_image__: { get_param: ubuntu_1604_image }
__centos_7_image__: { get_param: centos_7_image }
__keystone_url__: { get_param: keystone_url }
__dcae_keystone_url__: { get_param: dcae_keystone_url }
__dcae_ip_addr__: { get_param: dcae_ip_addr }
__dns_forwarder__: { get_param: dns_forwarder }
__external_dns__: { get_param: external_dns }
__dnsaas_proxy_enable__: { get_param: dnsaas_proxy_enable }
__dnsaas_keystone_url__: { get_param: dnsaas_keystone_url }
__dnsaas_region__: { get_param: dnsaas_region }
__dnsaas_tenant_name__: { get_param: dnsaas_tenant_name }
__dnsaas_username__: { get_param: dnsaas_username }
__dnsaas_password__: { get_param: dnsaas_password }
template:
get_file: k8s_vm_entrypoint.sh
outputs:
k8s_vm_ip:
description: The IP address of the k8s instance
value: { get_attr: [k8s_vm, first_address] }