| heat_template_version: 2015-10-15 |
| description: ONAP on Kubernetes using OOM |
| |
| parameters: |
| lab_name: |
| type: string |
| |
| 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 |
| |
| 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 |
| |
| 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 |
| |
| 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: onap_key |
| networks: |
| - port: { get_resource: rancher_private_port } |
| user_data_format: RAW |
| user_data: |
| str_replace: |
| template: |
| get_file: rancher_vm_entrypoint.sh |
| params: |
| __lab_name__: { get_param: lab_name } |
| __docker_proxy__: { get_param: docker_proxy } |
| __apt_proxy__: { get_param: apt_proxy } |
| __rancher_ip_addr__: { get_attr: [rancher_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], |
| get_attr: [k8s_6_floating_ip, floating_ip_address], |
| get_attr: [k8s_7_floating_ip, floating_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: onap_key |
| networks: |
| - port: { get_resource: k8s_1_private_port } |
| user_data_format: RAW |
| user_data: |
| str_replace: |
| params: |
| __lab_name__: { get_param: lab_name } |
| __docker_proxy__: { get_param: docker_proxy } |
| __apt_proxy__: { get_param: apt_proxy } |
| __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_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: onap_key |
| networks: |
| - port: { get_resource: k8s_2_private_port } |
| user_data_format: RAW |
| user_data: |
| str_replace: |
| params: |
| __lab_name__: { get_param: lab_name } |
| __docker_proxy__: { get_param: docker_proxy } |
| __apt_proxy__: { get_param: apt_proxy } |
| __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_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: onap_key |
| networks: |
| - port: { get_resource: k8s_3_private_port } |
| user_data_format: RAW |
| user_data: |
| str_replace: |
| params: |
| __lab_name__: { get_param: lab_name } |
| __docker_proxy__: { get_param: docker_proxy } |
| __apt_proxy__: { get_param: apt_proxy } |
| __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_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: onap_key |
| networks: |
| - port: { get_resource: k8s_4_private_port } |
| user_data_format: RAW |
| user_data: |
| str_replace: |
| params: |
| __lab_name__: { get_param: lab_name } |
| __docker_proxy__: { get_param: docker_proxy } |
| __apt_proxy__: { get_param: apt_proxy } |
| __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_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: onap_key |
| networks: |
| - port: { get_resource: k8s_5_private_port } |
| user_data_format: RAW |
| user_data: |
| str_replace: |
| params: |
| __lab_name__: { get_param: lab_name } |
| __docker_proxy__: { get_param: docker_proxy } |
| __apt_proxy__: { get_param: apt_proxy } |
| __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] } |
| template: |
| get_file: k8s_vm_entrypoint.sh |
| |
| k8s_6_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_6_floating_ip: |
| type: OS::Neutron::FloatingIP |
| properties: |
| floating_network_id: { get_param: public_net_id } |
| port_id: { get_resource: k8s_6_private_port } |
| |
| k8s_6_vm: |
| type: OS::Nova::Server |
| properties: |
| name: k8s_6 |
| image: { get_param: ubuntu_1604_image } |
| flavor: { get_param: k8s_vm_flavor } |
| key_name: onap_key |
| networks: |
| - port: { get_resource: k8s_6_private_port } |
| user_data_format: RAW |
| user_data: |
| str_replace: |
| params: |
| __lab_name__: { get_param: lab_name } |
| __docker_proxy__: { get_param: docker_proxy } |
| __apt_proxy__: { get_param: apt_proxy } |
| __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] } |
| template: |
| get_file: k8s_vm_entrypoint.sh |
| |
| k8s_7_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_7_floating_ip: |
| type: OS::Neutron::FloatingIP |
| properties: |
| floating_network_id: { get_param: public_net_id } |
| port_id: { get_resource: k8s_7_private_port } |
| |
| k8s_7_vm: |
| type: OS::Nova::Server |
| properties: |
| name: k8s_7 |
| image: { get_param: ubuntu_1604_image } |
| flavor: { get_param: k8s_vm_flavor } |
| key_name: onap_key |
| networks: |
| - port: { get_resource: k8s_7_private_port } |
| user_data_format: RAW |
| user_data: |
| str_replace: |
| params: |
| __lab_name__: { get_param: lab_name } |
| __docker_proxy__: { get_param: docker_proxy } |
| __apt_proxy__: { get_param: apt_proxy } |
| __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_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] } |
| |