From 25e9753e94ab7738fa1af1754685a7480fc78c25 Mon Sep 17 00:00:00 2001 From: Mark Woolley Date: Sun, 23 Jan 2022 17:08:19 +0000 Subject: [PATCH] try splitting up tests further --- .../targets/rds_instance/inventory | 1 + .../integration/targets/rds_instance/main.yml | 2 +- .../roles/rds_instance/tasks/test_complex.yml | 7 -- .../roles/rds_instance/tasks/test_upgrade.yml | 86 +++++++++++++++++++ 4 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 tests/integration/targets/rds_instance/roles/rds_instance/tasks/test_upgrade.yml diff --git a/tests/integration/targets/rds_instance/inventory b/tests/integration/targets/rds_instance/inventory index 2d65fca6409..e0443d829d6 100644 --- a/tests/integration/targets/rds_instance/inventory +++ b/tests/integration/targets/rds_instance/inventory @@ -13,6 +13,7 @@ states modify tagging replica +upgrade # TODO: uncomment after adding rds_cluster module # aurora diff --git a/tests/integration/targets/rds_instance/main.yml b/tests/integration/targets/rds_instance/main.yml index 1b33dab5076..7d0dd4f8990 100644 --- a/tests/integration/targets/rds_instance/main.yml +++ b/tests/integration/targets/rds_instance/main.yml @@ -6,6 +6,6 @@ - hosts: all gather_facts: no strategy: free - serial: 8 + serial: 9 roles: - rds_instance diff --git a/tests/integration/targets/rds_instance/roles/rds_instance/tasks/test_complex.yml b/tests/integration/targets/rds_instance/roles/rds_instance/tasks/test_complex.yml index cad35996fad..c8c3f94a29b 100644 --- a/tests/integration/targets/rds_instance/roles/rds_instance/tasks/test_complex.yml +++ b/tests/integration/targets/rds_instance/roles/rds_instance/tasks/test_complex.yml @@ -55,8 +55,6 @@ backup_retention_period: 2 preferred_backup_window: "05:00-06:00" preferred_maintenance_window: "{{ preferred_maintenance_window }}" - engine_version: "{{ mariadb_engine_version_2 }}" - allow_major_version_upgrade: true auto_minor_version_upgrade: false monitoring_interval: "{{ monitoring_interval }}" monitoring_role_arn: "{{ enhanced_monitoring_role.arn }}" @@ -73,7 +71,6 @@ - '"max_allocated_storage" in result.pending_modified_values or result.max_allocated_storage == 150' - '"port" in result.pending_modified_values or result.endpoint.port == 1150' - '"db_instance_class" in result.pending_modified_values or result.db_instance_class == modified_db_instance_class' - - '"engine_version" in result.pending_modified_values or result.engine_version == mariadb_engine_version_2' - '"monitoring_interval" in result.pending_modified_values or result.monitoring_interval == monitoring_interval' - name: Idempotence modifying several pending attributes @@ -85,8 +82,6 @@ backup_retention_period: 2 preferred_backup_window: "05:00-06:00" preferred_maintenance_window: "{{ preferred_maintenance_window }}" - engine_version: "{{ mariadb_engine_version_2 }}" - allow_major_version_upgrade: true auto_minor_version_upgrade: false monitoring_interval: "{{ monitoring_interval }}" monitoring_role_arn: "{{ enhanced_monitoring_role.arn }}" @@ -94,7 +89,6 @@ port: 1150 max_allocated_storage: 150 apply_immediately: True - wait: false register: result - assert: @@ -104,7 +98,6 @@ - '"max_allocated_storage" in result.pending_modified_values or result.max_allocated_storage == 150' - '"port" in result.pending_modified_values or result.endpoint.port == 1150' - '"db_instance_class" in result.pending_modified_values or result.db_instance_class == modified_db_instance_class' - - '"engine_version" in result.pending_modified_values or result.engine_version == mariadb_engine_version_2' always: - name: Delete the instance diff --git a/tests/integration/targets/rds_instance/roles/rds_instance/tasks/test_upgrade.yml b/tests/integration/targets/rds_instance/roles/rds_instance/tasks/test_upgrade.yml new file mode 100644 index 00000000000..75d7b52b05c --- /dev/null +++ b/tests/integration/targets/rds_instance/roles/rds_instance/tasks/test_upgrade.yml @@ -0,0 +1,86 @@ +--- +- block: + - name: Ensure the resource doesn't exist + rds_instance: + id: "{{ instance_id }}" + state: absent + skip_final_snapshot: True + register: result + + - assert: + that: + - not result.changed + ignore_errors: yes + + - name: Create a mariadb instance + rds_instance: + id: "{{ instance_id }}" + state: present + engine: mariadb + engine_version: "{{ mariadb_engine_version }}" + allow_major_version_upgrade: true + username: "{{ username }}" + password: "{{ password }}" + db_instance_class: "{{ db_instance_class }}" + allocated_storage: "{{ io1_allocated_storage }}" + storage_type: "{{ storage_type }}" + iops: "{{ iops }}" + register: result + + - assert: + that: + - result.changed + - "result.db_instance_identifier == '{{ instance_id }}'" + + # Test upgrade of DB instance + + - name: Uprade a mariadb instance + rds_instance: + id: "{{ instance_id }}" + state: present + engine: mariadb + engine_version: "{{ mariadb_engine_version_2 }}" + allow_major_version_upgrade: true + username: "{{ username }}" + password: "{{ password }}" + db_instance_class: "{{ db_instance_class }}" + allocated_storage: "{{ io1_allocated_storage }}" + storage_type: "{{ storage_type }}" + iops: "{{ iops }}" + apply_immediately: True + register: result + + - assert: + that: + - result.changed + - '"engine_version" in result.pending_modified_values or result.engine_version == mariadb_engine_version_2' + + - name: Idempotence uprading a mariadb instance + rds_instance: + id: "{{ instance_id }}" + state: present + engine: mariadb + engine_version: "{{ mariadb_engine_version_2 }}" + allow_major_version_upgrade: true + username: "{{ username }}" + password: "{{ password }}" + db_instance_class: "{{ db_instance_class }}" + allocated_storage: "{{ io1_allocated_storage }}" + storage_type: "{{ storage_type }}" + iops: "{{ iops }}" + apply_immediately: True + register: result + + - assert: + that: + - not result.changed + - '"engine_version" in result.pending_modified_values or result.engine_version == mariadb_engine_version_2' + + always: + - name: Delete the instance + rds_instance: + id: "{{ instance_id }}" + state: absent + skip_final_snapshot: True + wait: false + ignore_errors: yes