diff options
Diffstat (limited to 'resources')
-rw-r--r-- | resources/ansible_roles/openstack/defaults/main.yml | 7 | ||||
-rw-r--r-- | resources/ansible_roles/openstack/tasks/create_image.yml | 32 | ||||
-rw-r--r-- | resources/ansible_roles/openstack/tasks/create_stack.yml | 24 | ||||
-rw-r--r-- | resources/ansible_roles/openstack/tasks/delete_image.yml | 17 | ||||
-rw-r--r-- | resources/ansible_roles/openstack/tasks/delete_stack.yml | 16 | ||||
-rw-r--r-- | resources/ansible_roles/openstack/tasks/main.yml | 16 | ||||
-rw-r--r-- | resources/ansible_roles/qtip-generator/defaults/main.yml | 3 | ||||
-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.yml | 8 | ||||
-rw-r--r-- | resources/ansible_roles/qtip-generator/files/compute/teardown.yml | 10 |
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 } + + + |