Add heat templates for HCO
Added base heat template to deploy VMs for
HCO with MKE4
Related-PROD: KUBV-57
Change-Id: I4f5246d06a265971544f776362db6f0cac058f90
diff --git a/hco/fragments/VMInstance.yaml b/hco/fragments/VMInstance.yaml
new file mode 100644
index 0000000..b4115f3
--- /dev/null
+++ b/hco/fragments/VMInstance.yaml
@@ -0,0 +1,58 @@
+heat_template_version: queens
+
+parameters:
+
+ node_type:
+ type: string
+ k8s_network:
+ type: string
+ k8s_subnet_id:
+ type: string
+ public_net_id:
+ type: string
+ data_network:
+ type: string
+ availability_zone:
+ type: string
+ default: nova
+ image:
+ type: string
+ description: Name of image to use for servers
+ flavor:
+ type: string
+ description: Flavor to use for servers
+ key_name:
+ type: string
+ description: Name of keypair to assign to servers
+
+resources:
+
+ k8s_network_port:
+ type: OS::Neutron::Port
+ properties:
+ network: { get_param: k8s_network }
+ port_security_enabled: false
+ fixed_ips:
+ - subnet: { get_param: k8s_subnet_id }
+
+ floating_ip_k8s_net:
+ type: OS::Neutron::FloatingIP
+ properties:
+ floating_network_id: { get_param: public_net_id }
+ port_id: { get_resource: k8s_network_port }
+
+ vm_server:
+ type: OS::Nova::Server
+ properties:
+ availability_zone: { get_param: availability_zone }
+ image: { get_param: image }
+ flavor: { get_param: flavor }
+ key_name: { get_param: key_name }
+ networks:
+ - port: { get_resource: k8s_network_port }
+ - network: { get_param : data_network }
+
+outputs:
+ server_public_ip:
+ description: Floating IP address of server in public network
+ value: { get_attr: [ floating_ip_k8s_net, floating_ip_address ] }