- ${K8S_VM_NAME}_private_port:
+ ${VM_TYPE}_${VM_NUM}_private_port:
type: OS::Neutron::Port
properties:
network: { get_resource: oam_network }
security_groups:
- { get_resource: onap_sg }
- ${K8S_VM_NAME}_floating_ip:
+ ${VM_TYPE}_${VM_NUM}_floating_ip:
type: OS::Neutron::FloatingIP
properties:
floating_network_id: { get_param: public_net_id }
- port_id: { get_resource: ${K8S_VM_NAME}_private_port }
+ port_id: { get_resource: ${VM_TYPE}_${VM_NUM}_private_port }
- ${K8S_VM_NAME}_vm:
+ ${VM_TYPE}_${VM_NUM}_vm_scripts:
+ type: OS::Heat::CloudConfig
+ properties:
+ cloud_config:
+ power_state:
+ mode: reboot
+ runcmd:
+ - [ /opt/k8s_vm_install.sh ]
+ write_files:
+ - path: /opt/k8s_vm_install.sh
+ permissions: '0755'
+ content:
+ str_replace:
+ params:
+ __docker_proxy__: { get_param: docker_proxy }
+ __apt_proxy__: { get_param: apt_proxy }
+ __docker_version__: { get_param: docker_version }
+ __rancher_ip_addr__: { get_attr: [rancher_floating_ip, floating_ip_address] }
+ __rancher_private_ip_addr__: { get_attr: [rancher_floating_ip, fixed_ip_address] }
+ __host_private_ip_addr__: { get_attr: [${VM_TYPE}_${VM_NUM}_floating_ip, fixed_ip_address] }
+ __mtu__: { get_param: mtu }
+ template:
+ get_file: k8s_vm_install.sh
+ - path: /opt/k8s_vm_init.sh
+ permissions: '0755'
+ content:
+ str_replace:
+ params:
+ __host_private_ip_addr__: { get_attr: [${VM_TYPE}_${VM_NUM}_floating_ip, fixed_ip_address] }
+ __host_label__: '$HOST_LABEL'
+ template:
+ get_file: k8s_vm_init.sh
+ - path: /etc/init.d/k8s_vm_init_serv
+ permissions: '0755'
+ content:
+ get_file: k8s_vm_init_serv.sh
+
+ ${VM_TYPE}_${VM_NUM}_vm_config:
+ type: OS::Heat::MultipartMime
+ properties:
+ parts:
+ - config: { get_resource: ${VM_TYPE}_${VM_NUM}_vm_scripts }
+
+ ${VM_TYPE}_${VM_NUM}_vm:
type: OS::Nova::Server
properties:
- name: ${K8S_VM_NAME}
+ name:
+ list_join: ['-', [ { get_param: 'OS::stack_name' }, '${VM_TYPE}', '${VM_NUM}' ] ]
image: { get_param: ubuntu_1604_image }
- flavor: { get_param: k8s_vm_flavor }
+ flavor: { get_param: ${VM_TYPE}_vm_flavor }
key_name: { get_param: key_name }
networks:
- - port: { get_resource: ${K8S_VM_NAME}_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] }
- template:
- get_file: k8s_vm_entrypoint.sh
+ - port: { get_resource: ${VM_TYPE}_${VM_NUM}_private_port }
+ user_data_format: SOFTWARE_CONFIG
+ user_data: { get_resource: ${VM_TYPE}_${VM_NUM}_vm_config }