aboutsummaryrefslogtreecommitdiffstats
path: root/resources/ansible_roles
diff options
context:
space:
mode:
Diffstat (limited to 'resources/ansible_roles')
-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 }