summaryrefslogtreecommitdiffstats
path: root/resources/ansible_roles
diff options
context:
space:
mode:
authorzhihui wu <wu.zhihui1@zte.com.cn>2018-01-17 16:09:08 +0800
committerzhihui wu <wu.zhihui1@zte.com.cn>2018-02-11 11:05:15 +0800
commit936415d85d9d7471d7061b81f5f0d17164c9c795 (patch)
treeb9b97366f23d4f3ecb2d277c0ce9375dc9a79a2b /resources/ansible_roles
parent17ff15959005c3c6f72a9b91192de7d54734a005 (diff)
Add the creation/deletion of image in the pipeline
- Specify image download and upload details JIRA: QTIP-291 Change-Id: I9f4e0d179f7d907b448b716274348fb6c71dd3bc Signed-off-by: zhihui wu <wu.zhihui1@zte.com.cn>
Diffstat (limited to 'resources/ansible_roles')
-rw-r--r--resources/ansible_roles/openstack/defaults/main.yml7
-rw-r--r--resources/ansible_roles/openstack/tasks/create_image.yml32
-rw-r--r--resources/ansible_roles/openstack/tasks/create_stack.yml24
-rw-r--r--resources/ansible_roles/openstack/tasks/delete_image.yml17
-rw-r--r--resources/ansible_roles/openstack/tasks/delete_stack.yml16
-rw-r--r--resources/ansible_roles/openstack/tasks/main.yml16
-rw-r--r--resources/ansible_roles/qtip-generator/defaults/main.yml3
-rw-r--r--resources/ansible_roles/qtip-generator/files/compute/heat_template.yml (renamed from resources/ansible_roles/openstack/templates/heat_template.yml)2
-rw-r--r--resources/ansible_roles/qtip-generator/files/compute/setup.yml8
-rw-r--r--resources/ansible_roles/qtip-generator/files/compute/teardown.yml10
10 files changed, 119 insertions, 16 deletions
diff --git a/resources/ansible_roles/openstack/defaults/main.yml b/resources/ansible_roles/openstack/defaults/main.yml
index 3b83d6c0..19af96b4 100644
--- a/resources/ansible_roles/openstack/defaults/main.yml
+++ b/resources/ansible_roles/openstack/defaults/main.yml
@@ -11,7 +11,10 @@
stack_name: qtip_stack
image_name: qtip_image
-flavor_name: m1.large
+flavor_name: qtip_flavor
net_name: qtip_net
subnet_name: qtip_subnet
-instance_name: qtip_vm \ No newline at end of file
+inst_name: qtip
+image_url: https://cloud-images.ubuntu.com/releases/16.04/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img
+checksum: 9cb8ed487ad8fbc8b7d082968915c4fd
+download_dest: /tmp/qtip/images \ No newline at end of file
diff --git a/resources/ansible_roles/openstack/tasks/create_image.yml b/resources/ansible_roles/openstack/tasks/create_image.yml
new file mode 100644
index 00000000..b67595ce
--- /dev/null
+++ b/resources/ansible_roles/openstack/tasks/create_image.yml
@@ -0,0 +1,32 @@
+##############################################################################
+# Copyright (c) 2018 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 directories for image
+ file:
+ path: "{{ download_dest }}"
+ state: directory
+
+- name: download image as qtip image
+ get_url:
+ url: "{{ image_url }}"
+ dest: "{{ download_dest }}/{{ image_name }}.img"
+ checksum: "md5:{{ checksum }}"
+ when: image_url | search("https://")
+
+- name: upload qtip image
+ os_image:
+ name: "{{ image_name }}"
+ container_format: bare
+ disk_format: qcow2
+ state: present
+ endpoint_type: admin
+ filename: "{{ download_dest }}/{{ image_name }}.img"
+
diff --git a/resources/ansible_roles/openstack/tasks/create_stack.yml b/resources/ansible_roles/openstack/tasks/create_stack.yml
new file mode 100644
index 00000000..33e8f148
--- /dev/null
+++ b/resources/ansible_roles/openstack/tasks/create_stack.yml
@@ -0,0 +1,24 @@
+##############################################################################
+# 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: ../template/heat_template.yml
+ endpoint_type: admin
+ parameters:
+ image_name: "{{ image_name }}"
+ flavor_name: "{{ flavor_name }}"
+ net_name: "{{ net_name }}"
+ subnet_name: "{{ subnet_name }}"
+ instance_name: "{{ inst_name }}"
+ timeout: 600
diff --git a/resources/ansible_roles/openstack/tasks/delete_image.yml b/resources/ansible_roles/openstack/tasks/delete_image.yml
new file mode 100644
index 00000000..46653080
--- /dev/null
+++ b/resources/ansible_roles/openstack/tasks/delete_image.yml
@@ -0,0 +1,17 @@
+##############################################################################
+# Copyright (c) 2018 ZTE Corporation and others.
+#
+# 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: delete qtip image
+ os_image:
+ name: "{{ image_name }}"
+ state: absent
+ endpoint_type: admin
+
diff --git a/resources/ansible_roles/openstack/tasks/delete_stack.yml b/resources/ansible_roles/openstack/tasks/delete_stack.yml
new file mode 100644
index 00000000..63739345
--- /dev/null
+++ b/resources/ansible_roles/openstack/tasks/delete_stack.yml
@@ -0,0 +1,16 @@
+##############################################################################
+# Copyright (c) 2018 ZTE Corporation and others.
+# wu.zhihui1@zte.com.cn
+# 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: cleanup qtip stack
+ os_stack:
+ name: "{{ stack_name }}"
+ state: absent
+ endpoint_type: admin
diff --git a/resources/ansible_roles/openstack/tasks/main.yml b/resources/ansible_roles/openstack/tasks/main.yml
index f4d3d18c..0b84923e 100644
--- a/resources/ansible_roles/openstack/tasks/main.yml
+++ b/resources/ansible_roles/openstack/tasks/main.yml
@@ -1,6 +1,6 @@
##############################################################################
-# Copyright (c) 2017 ZTE Corporation and others.
-# taseer94@gmail.com
+# Copyright (c) 2018 ZTE Corporation and others.
+#
# 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
@@ -9,14 +9,4 @@
---
-- 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 }}"
+- include_tasks: "{{ tasks }}.yml"
diff --git a/resources/ansible_roles/qtip-generator/defaults/main.yml b/resources/ansible_roles/qtip-generator/defaults/main.yml
index 344feb54..b7616486 100644
--- a/resources/ansible_roles/qtip-generator/defaults/main.yml
+++ b/resources/ansible_roles/qtip-generator/defaults/main.yml
@@ -22,3 +22,6 @@ project_template: 'compute'
qtip_package: ../../..
qtip_cache: .qtip-cache
cwd: .
+
+# TODO(zhihui) temporarily hardcode
+sut_type: vnf \ No newline at end of file
diff --git a/resources/ansible_roles/openstack/templates/heat_template.yml b/resources/ansible_roles/qtip-generator/files/compute/heat_template.yml
index ed5a3ab7..d476c8f5 100644
--- a/resources/ansible_roles/openstack/templates/heat_template.yml
+++ b/resources/ansible_roles/qtip-generator/files/compute/heat_template.yml
@@ -63,7 +63,7 @@ resources:
my_instance:
type: OS::Nova::Server
properties:
- name: { get_param: inst_name }
+ name: { get_param: instance_name }
image: { get_param: image_name }
flavor: { get_param: flavor_name }
networks:
diff --git a/resources/ansible_roles/qtip-generator/files/compute/setup.yml b/resources/ansible_roles/qtip-generator/files/compute/setup.yml
index f5920c1f..d7f2b875 100644
--- a/resources/ansible_roles/qtip-generator/files/compute/setup.yml
+++ b/resources/ansible_roles/qtip-generator/files/compute/setup.yml
@@ -10,6 +10,14 @@
# Prepare connection to SUT (System Under Test)
---
+
+{% if sut_type == 'vnf' %}
+- hosts: localhost
+ gather_facts: no
+ roles:
+ - { role: openstack, tasks: create_image }
+{% endif %}
+
{% if installer_type == 'manual' %}
- hosts: localhost
gather_facts: no
diff --git a/resources/ansible_roles/qtip-generator/files/compute/teardown.yml b/resources/ansible_roles/qtip-generator/files/compute/teardown.yml
index dc659930..84d9c8c1 100644
--- a/resources/ansible_roles/qtip-generator/files/compute/teardown.yml
+++ b/resources/ansible_roles/qtip-generator/files/compute/teardown.yml
@@ -7,8 +7,18 @@
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
+{% if sut_type == 'vnf' %}
+- hosts: localhost
+ gather_facts: no
+ roles:
+ - { role: openstack, tasks: delete_image }
+{% endif %}
+
- hosts: SUT
roles:
# teardown environment
- { role: qtip, tasks: teardown }
+
+
+