194 lines
5.5 KiB
YAML
194 lines
5.5 KiB
YAML
|
# Test code for the UCS modules
|
||
|
# Copyright 2018, David Soper (@dsoper2)
|
||
|
|
||
|
- name: Test that we have a UCS host, UCS username, and UCS password
|
||
|
fail:
|
||
|
msg: 'Please define the following variables: ucs_hostname, ucs_username and ucs_password.'
|
||
|
when: ucs_hostname is not defined or ucs_username is not defined or ucs_password is not defined
|
||
|
vars:
|
||
|
login_info: &login_info
|
||
|
hostname: "{{ ucs_hostname }}"
|
||
|
username: "{{ ucs_username }}"
|
||
|
password: "{{ ucs_password }}"
|
||
|
|
||
|
# Setup (clean environment)
|
||
|
- name: Disk Group Policy absent
|
||
|
ucs_disk_group_policy: &disk_group_policy_absent
|
||
|
<<: *login_info
|
||
|
name: DEE-DG
|
||
|
state: absent
|
||
|
|
||
|
|
||
|
# Test present (check_mode)
|
||
|
- name: Disk Group Policy present (check_mode)
|
||
|
ucs_disk_group_policy: &disk_group_policy_present
|
||
|
<<: *login_info
|
||
|
name: DEE-DG
|
||
|
raid_level: mirror
|
||
|
configuration_mode: manual
|
||
|
manual_disks:
|
||
|
- slot_num: '1'
|
||
|
role: normal
|
||
|
- slot_num: '2'
|
||
|
role: normal
|
||
|
check_mode: yes
|
||
|
register: cm_disk_group_policy_present
|
||
|
|
||
|
|
||
|
# Present (normal mode)
|
||
|
- name: Disk Group Policy present (normal mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_present
|
||
|
register: nm_disk_group_policy_present
|
||
|
|
||
|
|
||
|
# Test present again (idempotent)
|
||
|
- name: Disk Group Policy present again (check_mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_present
|
||
|
check_mode: yes
|
||
|
register: cm_disk_group_policy_present_again
|
||
|
|
||
|
|
||
|
# Present again (normal mode)
|
||
|
- name: Disk Group Policy present again (normal mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_present
|
||
|
register: nm_disk_group_policy_present_again
|
||
|
|
||
|
|
||
|
# Verfiy present
|
||
|
- name: Verify Disk Group Policy present results
|
||
|
assert:
|
||
|
that:
|
||
|
- cm_disk_group_policy_present.changed == nm_disk_group_policy_present.changed == true
|
||
|
- cm_disk_group_policy_present_again.changed == nm_disk_group_policy_present_again.changed == false
|
||
|
|
||
|
|
||
|
# Test change (check_mode)
|
||
|
- name: Disk Group Policy change (check_mode)
|
||
|
ucs_disk_group_policy: &disk_group_policy_change
|
||
|
<<: *login_info
|
||
|
name: DEE-DG
|
||
|
description: Testing Ansible
|
||
|
raid_level: stripe
|
||
|
configuration_mode: manual
|
||
|
manual_disks:
|
||
|
- slot_num: '1'
|
||
|
role: normal
|
||
|
- slot_num: '2'
|
||
|
role: normal
|
||
|
state: absent
|
||
|
check_mode: yes
|
||
|
register: cm_disk_group_policy_change
|
||
|
|
||
|
|
||
|
# Change (normal mode)
|
||
|
- name: Disk Group Policy change (normal mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_change
|
||
|
register: nm_disk_group_policy_change
|
||
|
|
||
|
|
||
|
# Test change again (idempotent)
|
||
|
- name: Disk Group Policy again (check_mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_change
|
||
|
check_mode: yes
|
||
|
register: cm_disk_group_policy_change_again
|
||
|
|
||
|
|
||
|
# Change again (normal mode)
|
||
|
- name: Disk Group Policy change again (normal mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_change
|
||
|
register: nm_disk_group_policy_change_again
|
||
|
|
||
|
|
||
|
# Verfiy change
|
||
|
- name: Verify Disk Group Policy change results
|
||
|
assert:
|
||
|
that:
|
||
|
- cm_disk_group_policy_change.changed == nm_disk_group_policy_change.changed == true
|
||
|
- cm_disk_group_policy_change_again.changed == nm_disk_group_policy_change_again.changed == false
|
||
|
|
||
|
|
||
|
# Clean environment for next tests
|
||
|
- name: Disk Group Policy absent for automatic testing
|
||
|
ucs_disk_group_policy: &disk_group_policy_absent_auto
|
||
|
<<: *login_info
|
||
|
name: DEE-DG
|
||
|
state: absent
|
||
|
|
||
|
|
||
|
# Test automatic configuration mode (check_mode)
|
||
|
- name: Disk Group Policy automatic (check_mode)
|
||
|
ucs_disk_group_policy: &disk_group_policy_auto
|
||
|
<<: *login_info
|
||
|
name: DEE-DG
|
||
|
raid_level: mirror
|
||
|
configuration_mode: automatic
|
||
|
drive_type: SSD
|
||
|
num_drives: 2
|
||
|
virtual_drive:
|
||
|
access_policy: platform-default
|
||
|
io_policy: direct
|
||
|
strip_size: 64KB
|
||
|
check_mode: yes
|
||
|
register: cm_disk_group_policy_auto
|
||
|
|
||
|
|
||
|
# Automatic configuration (normal mode)
|
||
|
- name: Disk Group Policy automatic (normal mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_auto
|
||
|
register: nm_disk_group_policy_auto
|
||
|
|
||
|
|
||
|
# Test automatic configuration again (idempotent)
|
||
|
- name: Disk Group Policy automatic again (check_mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_auto
|
||
|
check_mode: yes
|
||
|
register: cm_disk_group_policy_auto_again
|
||
|
|
||
|
|
||
|
# Automatic configuration again (normal mode)
|
||
|
- name: Disk Group Policy automatic again (normal mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_auto
|
||
|
register: nm_disk_group_policy_auto_again
|
||
|
|
||
|
|
||
|
# Verfiy Automatic configuration
|
||
|
- name: Verify Disk Group Policy automatic results
|
||
|
assert:
|
||
|
that:
|
||
|
- cm_disk_group_policy_auto.changed == nm_disk_group_policy_auto.changed == true
|
||
|
- cm_disk_group_policy_auto_again.changed == nm_disk_group_policy_auto_again.changed == false
|
||
|
|
||
|
|
||
|
# Teardown (clean environment)
|
||
|
- name: Disk Group Policy absent (check_mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_absent
|
||
|
check_mode: yes
|
||
|
register: cm_disk_group_policy_absent
|
||
|
|
||
|
|
||
|
# Absent (normal mode)
|
||
|
- name: Disk Group Policy absent (normal mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_absent
|
||
|
register: nm_disk_group_policy_absent
|
||
|
|
||
|
|
||
|
# Test absent again (idempotent)
|
||
|
- name: Disk Group Policy absent again (check_mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_absent
|
||
|
check_mode: yes
|
||
|
register: cm_disk_group_policy_absent_again
|
||
|
|
||
|
|
||
|
# Absent again (normal mode)
|
||
|
- name: Disk Group Policy absent again (normal mode)
|
||
|
ucs_disk_group_policy: *disk_group_policy_absent
|
||
|
register: nm_disk_group_policy_absent_again
|
||
|
|
||
|
|
||
|
# Verfiy absent
|
||
|
- name: Verify Disk Group Policy absent results
|
||
|
assert:
|
||
|
that:
|
||
|
- cm_disk_group_policy_absent.changed == nm_disk_group_policy_absent.changed == true
|
||
|
- cm_disk_group_policy_absent_again.changed == nm_disk_group_policy_absent_again.changed == false
|