ansible/test/integration/targets/azure_rm_gallery/tasks/main.yml
haiyuan_zhang cff80f1319 azure_rm_galleryimageversion: support data disk snapshot as source input (#65405)
* azure_rm_galleryimageversion: support data disk snapshot as source

* fixing typo
2019-12-05 08:31:47 +08:00

342 lines
8.7 KiB
YAML

- name: Prepare random number
set_fact:
rpfx: "{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
run_once: yes
- name: Create virtual network
azure_rm_virtualnetwork:
resource_group: "{{ resource_group }}"
name: testVnet
address_prefixes: "10.0.0.0/16"
- name: Add subnet
azure_rm_subnet:
resource_group: "{{ resource_group }}"
name: testSubnet
address_prefix: "10.0.1.0/24"
virtual_network: testVnet
- name: Create public IP address
azure_rm_publicipaddress:
resource_group: "{{ resource_group }}"
allocation_method: Static
name: testPublicIP
- name: Create virtual network inteface cards for VM A and B
azure_rm_networkinterface:
resource_group: "{{ resource_group }}"
name: "vmforimage{{ rpfx }}nic"
virtual_network: testVnet
subnet: testSubnet
- name: Create VM
azure_rm_virtualmachine:
resource_group: "{{ resource_group }}"
name: "vmforimage{{ rpfx }}"
location: eastus
admin_username: testuser
admin_password: "Password1234!"
vm_size: Standard_B1ms
network_interfaces: "vmforimage{{ rpfx }}nic"
image:
offer: UbuntuServer
publisher: Canonical
sku: 16.04-LTS
version: latest
- name: Get VM facts
azure_rm_virtualmachine_facts:
resource_group: "{{ resource_group }}"
name: "vmforimage{{ rpfx }}"
register: output
- name: Create a snapshot by importing an unmanaged blob from the same subscription.
azure_rm_snapshot:
resource_group: "{{ resource_group }}"
name: "mySnapshot-{{ rpfx }}"
location: eastus
creation_data:
create_option: Import
source_uri: 'https://{{ output.vms[0].storage_account_name }}.blob.core.windows.net/{{ output.vms[0].storage_container_name }}/{{ output.vms[0].storage_blob_name }}'
register: output
- assert:
that:
- output.changed
- name: Generalize VM
azure_rm_virtualmachine:
resource_group: "{{ resource_group }}"
name: "vmforimage{{ rpfx }}"
generalized: yes
- name: Create custom image
azure_rm_image:
resource_group: "{{ resource_group }}"
name: testimagea
source: "vmforimage{{ rpfx }}"
- name: Create or update a simple gallery.
azure_rm_gallery:
resource_group: "{{ resource_group }}"
name: myGallery{{ rpfx }}
location: eastus
description: This is the gallery description.
register: output
- assert:
that:
- output.changed
- name: Create or update a simple gallery - idempotent
azure_rm_gallery:
resource_group: "{{ resource_group }}"
name: myGallery{{ rpfx }}
location: eastus
description: This is the gallery description.
register: output
- assert:
that:
- not output.changed
- name: Create or update a simple gallery - change description
azure_rm_gallery:
resource_group: "{{ resource_group }}"
name: myGallery{{ rpfx }}
location: eastus
description: This is the gallery description - xxx.
register: output
- assert:
that:
- output.changed
- name: Get a gallery info.
azure_rm_gallery_info:
resource_group: "{{ resource_group }}"
name: myGallery{{ rpfx }}
register: output
- assert:
that:
- not output.changed
- output.galleries['id'] != None
- output.galleries['name'] != None
- output.galleries['location'] != None
- output.galleries['description'] != None
- output.galleries['provisioning_state'] != None
- name: Create or update gallery image
azure_rm_galleryimage:
resource_group: "{{ resource_group }}"
gallery_name: myGallery{{ rpfx }}
name: myImage
location: eastus
os_type: linux
os_state: generalized
identifier:
publisher: myPublisherName
offer: myOfferName
sku: mySkuName
description: Image Description
register: output
- assert:
that:
- output.changed
- name: Create or update gallery image - idempotent
azure_rm_galleryimage:
resource_group: "{{ resource_group }}"
gallery_name: myGallery{{ rpfx }}
name: myImage
location: eastus
os_type: linux
os_state: generalized
identifier:
publisher: myPublisherName
offer: myOfferName
sku: mySkuName
description: Image Description
register: output
- assert:
that:
- not output.changed
- name: Create or update gallery image - change description
azure_rm_galleryimage:
resource_group: "{{ resource_group }}"
gallery_name: myGallery{{ rpfx }}
name: myImage
location: eastus
os_type: linux
os_state: generalized
identifier:
publisher: myPublisherName
offer: myOfferName
sku: mySkuName
description: Image Description XXXs
register: output
- assert:
that:
- output.changed
- name: Get a gallery image info.
azure_rm_galleryimage_info:
resource_group: "{{ resource_group }}"
gallery_name: myGallery{{ rpfx }}
name: myImage
register: output
- assert:
that:
- not output.changed
- output.images['id'] != None
- output.images['name'] != None
- output.images['location'] != None
- output.images['os_state'] != None
- output.images['os_type'] != None
- output.images['identifier'] != None
- name: Create or update a simple gallery Image Version.
azure_rm_galleryimageversion:
resource_group: "{{ resource_group }}"
gallery_name: myGallery{{ rpfx }}
gallery_image_name: myImage
name: 10.1.3
location: eastus
publishing_profile:
end_of_life_date: "2020-10-01t00:00:00+00:00"
exclude_from_latest: yes
replica_count: 3
storage_account_type: Standard_LRS
target_regions:
- name: eastus
regional_replica_count: 1
- name: westus
regional_replica_count: 2
storage_account_type: Standard_ZRS
managed_image:
name: testimagea
resource_group: "{{ resource_group }}"
register: output
- assert:
that:
- output.changed
- name: Create or update a simple gallery Image Version - idempotent
azure_rm_galleryimageversion:
resource_group: "{{ resource_group }}"
gallery_name: myGallery{{ rpfx }}
gallery_image_name: myImage
name: 10.1.3
location: eastus
publishing_profile:
end_of_life_date: "2020-10-01t00:00:00+00:00"
exclude_from_latest: yes
replica_count: 3
storage_account_type: Standard_LRS
target_regions:
- name: eastus
regional_replica_count: 1
- name: westus
regional_replica_count: 2
storage_account_type: Standard_ZRS
managed_image:
name: testimagea
resource_group: "{{ resource_group }}"
register: output
- assert:
that:
- not output.changed
- name: Create or update a simple gallery Image Version - change end of life
azure_rm_galleryimageversion:
resource_group: "{{ resource_group }}"
gallery_name: myGallery{{ rpfx }}
gallery_image_name: myImage
name: 10.1.3
location: eastus
publishing_profile:
end_of_life_date: "2021-10-01t00:00:00+00:00"
exclude_from_latest: yes
replica_count: 3
storage_account_type: Standard_LRS
target_regions:
- name: eastus
regional_replica_count: 1
- name: westus
regional_replica_count: 2
storage_account_type: Standard_ZRS
managed_image:
name: testimagea
resource_group: "{{ resource_group }}"
register: output
- assert:
that:
- output.changed
- name: Get a simple gallery Image Version info.
azure_rm_galleryimageversion_info:
resource_group: "{{ resource_group }}"
gallery_name: myGallery{{ rpfx }}
gallery_image_name: myImage
name: 10.1.3
register: output
- assert:
that:
- not output.changed
- output.versions['id'] != None
- output.versions['name'] != None
- output.versions['location'] != None
- output.versions['publishing_profile'] != None
- output.versions['provisioning_state'] != None
- name: Delete gallery image Version.
azure_rm_galleryimageversion:
resource_group: "{{ resource_group }}"
gallery_name: myGallery{{ rpfx }}
gallery_image_name: myImage
name: 10.1.3
state: absent
register: output
- assert:
that:
- output.changed
- name: pasue 2 minutes, wait for deletion complete
pause:
minutes: 2
- name: Delete gallery image
azure_rm_galleryimage:
resource_group: "{{ resource_group }}"
gallery_name: myGallery{{ rpfx }}
name: myImage
state: absent
register: output
- assert:
that:
- output.changed
- name: pasue 2 minutes, wait for deletion complete
pause:
minutes: 2
- name: Delete gallery
azure_rm_gallery:
resource_group: "{{ resource_group }}"
name: myGallery{{ rpfx }}
state: absent
register: output
- assert:
that:
- output.changed