summaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
authorTaseer Ahmed <taseer94@gmail.com>2017-11-17 12:06:44 +0500
committerTaseer Ahmed <taseer94@gmail.com>2017-11-20 23:43:23 +0500
commit717a05251f782d81a1658d65e7f78092d9f4b566 (patch)
tree3f5f8a5a685a63b9260d0077a5b3bb71087703bc /resources
parentdb38ad38c87863388ca38225b02289b4cad77089 (diff)
Add role for heat stack creation
JIRA: QTIP-284 Change-Id: I8de67c74fe31d6353f05892df67f21ae9af9640e Signed-off-by: Taseer Ahmed <taseer94@gmail.com>
Diffstat (limited to 'resources')
-rw-r--r--resources/ansible_roles/openstack/defaults/main.yml17
-rw-r--r--resources/ansible_roles/openstack/tasks/main.yml22
-rw-r--r--resources/ansible_roles/openstack/templates/heat_template.yml70
3 files changed, 109 insertions, 0 deletions
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 }