diff options
Diffstat (limited to 'resources/ansible_roles/openstack')
-rw-r--r-- | resources/ansible_roles/openstack/defaults/main.yml | 9 | ||||
-rw-r--r-- | resources/ansible_roles/openstack/tasks/main.yml | 80 | ||||
-rw-r--r-- | resources/ansible_roles/openstack/templates/heat_template.yml | 70 |
3 files changed, 77 insertions, 82 deletions
diff --git a/resources/ansible_roles/openstack/defaults/main.yml b/resources/ansible_roles/openstack/defaults/main.yml index 3b83d6c0..830def62 100644 --- a/resources/ansible_roles/openstack/defaults/main.yml +++ b/resources/ansible_roles/openstack/defaults/main.yml @@ -9,9 +9,10 @@ --- +image_url: https://cloud-images.ubuntu.com/releases/16.04/release-20180222/ubuntu-16.04-server-cloudimg-amd64-disk1.img +checksum: 027b3e9d219f0f6c17b5448ed67dc41e +temp_dir: /tmp/qtip + +flavor_name: qtip_flavor 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 index f4d3d18c..ed043831 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,78 @@ --- +- name: Delete QTIP stack + os_stack: + name: "{{ stack_name }}" + state: absent + +- name: Delete QTIP keypair + os_keypair: + name: QtipKey + state: absent + +- name: Delete QTIP flavor + os_nova_flavor: + name: "{{ flavor_name }}" + state: absent + +- name: Delete qtip image + os_image: + name: "{{ image_name }}" + state: absent + +- name: Create temp directory for QTIP + file: + path: "{{ temp_dir }}" + state: directory + +- name: Clean the existing SSH keypair + file: + state: absent + path: "{{ temp_dir }}/{{ item }}" + with_items: + - QtipKey.pub + - QtipKey + +- name: Generate a SSH key for QTIP VM + shell: ssh-keygen -t rsa -N "" -f "{{ temp_dir }}/QtipKey" -q + +- name: Create QTIP keypair + os_keypair: + name: QtipKey + public_key_file: "{{ temp_dir }}/QtipKey.pub" + state: present + +- name: Create QTIP flavor + os_nova_flavor: + name: "{{ flavor_name }}" + ram: 2048 + vcpus: 3 + disk: 4 + state: present + +- name: Download image as qtip image + get_url: + url: "{{ image_url }}" + dest: "{{ temp_dir }}/{{ 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 + filename: "{{ temp_dir }}/{{ image_name }}.img" + - name: create qtip stack os_stack: name: "{{ stack_name }}" state: present - template: heat_template.yml + template: "{{ heat_template }}" parameters: - image_name: "{{ image_name }}" - flavor_name: "{{ flavor_name }}" - net_name: "{{ net_name }}" - subnet_name: "{{ subnet_name }}" - instance_name: "{{ inst_name }}" + image: "{{ image_name }}" + flavor: "{{ flavor_name }}" + keypair: QtipKey + external_network: "{{ external_network }}" 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 } |