From 717a05251f782d81a1658d65e7f78092d9f4b566 Mon Sep 17 00:00:00 2001 From: Taseer Ahmed Date: Fri, 17 Nov 2017 12:06:44 +0500 Subject: Add role for heat stack creation JIRA: QTIP-284 Change-Id: I8de67c74fe31d6353f05892df67f21ae9af9640e Signed-off-by: Taseer Ahmed --- .../ansible_roles/openstack/defaults/main.yml | 17 ++++++ resources/ansible_roles/openstack/tasks/main.yml | 22 +++++++ .../openstack/templates/heat_template.yml | 70 ++++++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 resources/ansible_roles/openstack/defaults/main.yml create mode 100644 resources/ansible_roles/openstack/tasks/main.yml create mode 100644 resources/ansible_roles/openstack/templates/heat_template.yml (limited to 'resources') diff --git a/resources/ansible_roles/openstack/defaults/main.yml b/resources/ansible_roles/openstack/defaults/main.yml new file mode 100644 index 00000000..3b83d6c0 --- /dev/null +++ b/resources/ansible_roles/openstack/defaults/main.yml @@ -0,0 +1,17 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# taseer94@gmail.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- + +stack_name: qtip_stack +image_name: qtip_image +flavor_name: m1.large +net_name: qtip_net +subnet_name: qtip_subnet +instance_name: qtip_vm \ No newline at end of file diff --git a/resources/ansible_roles/openstack/tasks/main.yml b/resources/ansible_roles/openstack/tasks/main.yml new file mode 100644 index 00000000..f4d3d18c --- /dev/null +++ b/resources/ansible_roles/openstack/tasks/main.yml @@ -0,0 +1,22 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# taseer94@gmail.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- + +- name: create qtip stack + os_stack: + name: "{{ stack_name }}" + state: present + template: heat_template.yml + parameters: + image_name: "{{ image_name }}" + flavor_name: "{{ flavor_name }}" + net_name: "{{ net_name }}" + subnet_name: "{{ subnet_name }}" + instance_name: "{{ inst_name }}" diff --git a/resources/ansible_roles/openstack/templates/heat_template.yml b/resources/ansible_roles/openstack/templates/heat_template.yml new file mode 100644 index 00000000..ed5a3ab7 --- /dev/null +++ b/resources/ansible_roles/openstack/templates/heat_template.yml @@ -0,0 +1,70 @@ +############################################################################## +# Copyright (c) 2017 ZTE Corporation and others. +# taseer94@gmail.com +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +--- + +heat_template_version: 2015-04-30 + +description: Simple template to deploy a single compute instance + +parameters: + image_name: + type: string + label: Image ID + description: Image to be used for compute instance + default: Ubuntu 16.04 x86_64 + flavor_name: + type: string + label: Instance Type + description: Type of instance (flavor) to be used + default: m1.large + net_name: + type: string + label: Test network name + description: The name of the stack's network + default: qtip_net + subnet_name: + type: string + label: Test subnet name + description: The name of the stack's subnet + default: qtip_subnet + instance_name: + type: string + label: Test VM name + description: The name of the spawned vm + default: qtip_vm + +resources: + private_net: + type: OS::Neutron::Net + properties: + name: { get_param: net_name } + + private_subnet: + type: OS::Neutron::Subnet + properties: + name: { get_param: subnet_name } + network_id: { get_resource: private_net } + cidr: 10.0.0.0/24 + + server1_port: + type: OS::Neutron::Port + properties: + network_id: { get_resource: private_net } + fixed_ips: + - subnet_id: { get_resource: private_subnet } + + my_instance: + type: OS::Nova::Server + properties: + name: { get_param: inst_name } + image: { get_param: image_name } + flavor: { get_param: flavor_name } + networks: + - port: { get_resource: server1_port } -- cgit 1.2.3-korg