ansible/test/integration/targets/azure_rm_hdinsightcluster/tasks/main.yml
2019-04-11 15:08:01 +08:00

244 lines
6.9 KiB
YAML

- name: Prepare random number
set_fact:
rpfx: "{{ resource_group | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}"
run_once: yes
- name: Create storage account
azure_rm_storageaccount:
resource_group: "{{ resource_group }}"
name: "storage{{ rpfx }}"
account_type: Standard_LRS
location: eastus2
- name: Sample for Azure REST API - StorageAccounts_ListKeys
azure_rm_resource:
api_version: '2018-07-01'
method: POST
resource_group: "{{ resource_group }}"
provider: storage
resource_type: storageaccounts
resource_name: "storage{{ rpfx }}"
subresource:
- type: listkeys
register: storage_output
- debug:
var: storage_output
- name: Create instance of Cluster -- check mode
azure_rm_hdinsightcluster:
resource_group: "{{ resource_group }}"
name: "cluster{{ rpfx }}"
location: eastus2
cluster_version: 3.6
os_type: linux
tier: standard
cluster_definition:
kind: spark
gateway_rest_username: http-user
gateway_rest_password: MuABCPassword!!@123
storage_accounts:
- name: storage{{ rpfx }}.blob.core.windows.net
is_default: yes
container: "cluster{{ rpfx }}"
key: "{{ storage_output['response']['keys'][0]['value'] }}"
compute_profile_roles:
- name: headnode
target_instance_count: 1
vm_size: Standard_D3
linux_profile:
username: sshuser
password: MuABCPassword!!@123
- name: workernode
target_instance_count: 1
vm_size: Standard_D3
linux_profile:
username: sshuser
password: MuABCPassword!!@123
- name: zookeepernode
target_instance_count: 3
vm_size: Medium
linux_profile:
username: sshuser
password: MuABCPassword!!@123
check_mode: yes
register: output
- name: Assert the resource instance is well created
assert:
that:
- output.changed
- name: Create instance of Cluster
azure_rm_hdinsightcluster:
resource_group: "{{ resource_group }}"
name: "cluster{{ rpfx }}"
location: eastus2
cluster_version: 3.6
os_type: linux
tier: standard
cluster_definition:
kind: spark
gateway_rest_username: http-user
gateway_rest_password: MuABCPassword!!@123
storage_accounts:
- name: storage{{ rpfx }}.blob.core.windows.net
is_default: yes
container: "cluster{{ rpfx }}"
key: "{{ storage_output['response']['keys'][0]['value'] }}"
compute_profile_roles:
- name: headnode
target_instance_count: 1
vm_size: Standard_D3
linux_profile:
username: sshuser
password: MuABCPassword!!@123
- name: workernode
target_instance_count: 1
vm_size: Standard_D3
linux_profile:
username: sshuser
password: MuABCPassword!!@123
- name: zookeepernode
target_instance_count: 3
vm_size: Medium
linux_profile:
username: sshuser
password: MuABCPassword!!@123
register: output
- name: Assert the resource instance is well created
assert:
that:
- output.changed
- name: Create again instance of Cluster -- idempotent
azure_rm_hdinsightcluster:
resource_group: "{{ resource_group }}"
name: "cluster{{ rpfx }}"
location: eastus2
cluster_version: 3.6
os_type: linux
tier: standard
cluster_definition:
kind: spark
gateway_rest_username: http-user
gateway_rest_password: MuABCPassword!!@123
storage_accounts:
- name: storage{{ rpfx }}.blob.core.windows.net
is_default: yes
container: "cluster{{ rpfx }}"
key: "{{ storage_output['response']['keys'][0]['value'] }}"
compute_profile_roles:
- name: headnode
target_instance_count: 1
vm_size: Standard_D3
linux_profile:
username: sshuser
password: MuABCPassword!!@123
- name: workernode
target_instance_count: 1
vm_size: Standard_D3
linux_profile:
username: sshuser
password: MuABCPassword!!@123
- name: zookeepernode
target_instance_count: 3
vm_size: Medium
linux_profile:
username: sshuser
password: MuABCPassword!!@123
register: output
- name: Assert the state has not changed
assert:
that:
- output.changed == false
- name: Create again instance of Cluster -- resize and add tags
azure_rm_hdinsightcluster:
resource_group: "{{ resource_group }}"
name: "cluster{{ rpfx }}"
location: eastus2
cluster_version: 3.6
os_type: linux
tier: standard
cluster_definition:
kind: spark
gateway_rest_username: http-user
gateway_rest_password: MuABCPassword!!@123
storage_accounts:
- name: storage{{ rpfx }}.blob.core.windows.net
is_default: yes
container: "cluster{{ rpfx }}"
key: "{{ storage_output['response']['keys'][0]['value'] }}"
compute_profile_roles:
- name: headnode
target_instance_count: 1
vm_size: Standard_D3
linux_profile:
username: sshuser
password: MuABCPassword!!@123
- name: workernode
target_instance_count: 2
vm_size: Standard_D3
linux_profile:
username: sshuser
password: MuABCPassword!!@123
- name: zookeepernode
target_instance_count: 3
vm_size: Medium
linux_profile:
username: sshuser
password: MuABCPassword!!@123
tags:
aaa: bbb
register: output
- debug:
var: output
- name: Assert the state has changed
assert:
that:
- output.changed
- name: Get facts of Cluster
azure_rm_hdinsightcluster_facts:
resource_group: "{{ resource_group }}"
name: "cluster{{ rpfx }}"
register: output
- name: Assert that facts are returned
assert:
that:
- output.changed == False
- output.clusters[0]['id'] != None
- output.clusters[0]['resource_group'] != None
- output.clusters[0]['name'] != None
- output.clusters[0]['location'] != None
- output.clusters[0]['cluster_version'] != None
- output.clusters[0]['os_type'] != None
- output.clusters[0]['tier'] != None
- output.clusters[0]['cluster_definition'] != None
- output.clusters[0]['compute_profile_roles'] != None
- output.clusters[0]['connectivity_endpoints'] != None
- name: Delete instance of Cluster -- check mode
azure_rm_hdinsightcluster:
resource_group: "{{ resource_group }}"
name: "cluster{{ rpfx }}"
state: absent
check_mode: yes
register: output
- name: Assert the state has changed
assert:
that:
- output.changed
- name: Delete instance of Cluster
azure_rm_hdinsightcluster:
resource_group: "{{ resource_group }}"
name: "cluster{{ rpfx }}"
state: absent
register: output
- name: Assert the state has changed
assert:
that:
- output.changed