blob: a564f2effb5e09ec066e3c8bed6e1b1d7b85574f [file] [log] [blame]
wriderea83d032019-06-04 22:31:18 -04001 ${VM_TYPE}_${VM_NUM}_private_port:
2 type: OS::Neutron::Port
3 properties:
4 network: { get_resource: int_network }
5 fixed_ips: [{"subnet": { get_resource: int_subnet }}]
6 security_groups:
7 - { get_resource: ric_sg }
8
9 ${VM_TYPE}_${VM_NUM}_floating_ip:
10 type: OS::Neutron::FloatingIP
11 properties:
12 floating_network_id: { get_param: public_net_id }
13 port_id: { get_resource: ${VM_TYPE}_${VM_NUM}_private_port }
14
15 ${VM_TYPE}_${VM_NUM}_vm_scripts:
16 type: OS::Heat::CloudConfig
17 properties:
18 cloud_config:
19 power_state:
20 mode: reboot
21 runcmd:
22 - [ /opt/k8s_vm_install.sh ]
23 write_files:
24 - path: /opt/k8s_vm_install.sh
25 permissions: '0755'
26 content:
27 str_replace:
28 params:
29 __docker_proxy__: { get_param: docker_proxy }
30 __apt_proxy__: { get_param: apt_proxy }
31 __docker_version__: { get_param: docker_version }
32 __k8s_version__: { get_param: k8s_version }
33 __k8s_cni_version__: { get_param: k8s_cni_version }
34 __helm_version__: { get_param: helm_version }
35 __host_private_ip_addr__: { get_attr: [${VM_TYPE}_${VM_NUM}_floating_ip, fixed_ip_address] }
36 __k8s_mst_floating_ip_addr__: { get_attr: [${VM_TYPE}_mst_floating_ip, floating_ip_address] }
37 __k8s_mst_private_ip_addr__: { get_attr: [${VM_TYPE}_mst_floating_ip, fixed_ip_address] }
38 __mtu__: { get_param: mtu }
39 __cinder_volume_id__: { get_resource: cinder_volume }
40 __stack_name__: { get_param: OS::stack_name }
41 template:
42 get_file: k8s_vm_install.sh
43 - path: /opt/k8s_vm_init.sh
44 permissions: '0755'
45 content:
46 str_replace:
47 params:
48 __host_private_ip_addr__: { get_attr: [${VM_TYPE}_${VM_NUM}_floating_ip, fixed_ip_address] }
49 __host_label__: '$HOST_LABEL'
50 template:
51 get_file: k8s_vm_init.sh
52 - path: /etc/init.d/k8s_vm_init_serv
53 permissions: '0755'
54 content:
55 get_file: k8s_vm_init_serv.sh
56
57 ${VM_TYPE}_${VM_NUM}_vm_config:
58 type: OS::Heat::MultipartMime
59 properties:
60 parts:
61 - config: { get_resource: ${VM_TYPE}_${VM_NUM}_vm_scripts }
62
63 ${VM_TYPE}_${VM_NUM}_vm:
64 type: OS::Nova::Server
65 properties:
66 name:
67 list_join: ['-', [ { get_param: 'OS::stack_name' }, '${VM_TYPE}', '${VM_NUM}' ] ]
68 image: { get_param: ubuntu_1604_image }
69 flavor: { get_param: ${VM_TYPE}_vm_flavor }
70 key_name: { get_param: key_name }
71 networks:
72 - port: { get_resource: ${VM_TYPE}_${VM_NUM}_private_port }
73 user_data_format: SOFTWARE_CONFIG
74 user_data: { get_resource: ${VM_TYPE}_${VM_NUM}_vm_config }
75