diff options
Diffstat (limited to 'resources/ansible_roles/openstack')
7 files changed, 97 insertions, 85 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/openstack/templates/heat_template.yml b/resources/ansible_roles/openstack/templates/heat_template.yml deleted file mode 100644 index ed5a3ab7..00000000 --- a/resources/ansible_roles/openstack/templates/heat_template.yml +++ /dev/null @@ -1,70 +0,0 @@ -############################################################################## -# 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 } |