From c573e17d558ff2a34c9474aabf1ca77d2d6f108f Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Sun, 25 Feb 2024 08:38:22 +0000 Subject: [PATCH] orasw_meta: added assert for oracle_db_mem_totalmb in oracle_databases The attribute oracle_db_mem_totalmb should not be used in oracle_databases anymore. Use sga_target and pga_aggregate_target in oracle_databases.init_parameters as replacement. The assert checks, if oracle_db_mem_totalmb is defined without sga_target or oracle_db_mem_totalmb is not used with an entry for sga_target in oracle_databases.init_parameters. The assert of oracle_database is enabled by default. This could be disabled by setting: orasw_meta_assert_oracle_databases: false --- changelogs/fragments/oracle_db_mem_totalmb.yml | 3 +++ roles/orasw_meta/README.md | 14 +++++++++++++- roles/orasw_meta/defaults/main.yml | 8 +++++++- .../tasks/assert_oracle_databases.yml | 18 ++++++++++++++++++ 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 changelogs/fragments/oracle_db_mem_totalmb.yml diff --git a/changelogs/fragments/oracle_db_mem_totalmb.yml b/changelogs/fragments/oracle_db_mem_totalmb.yml new file mode 100644 index 000000000..ce58bacfd --- /dev/null +++ b/changelogs/fragments/oracle_db_mem_totalmb.yml @@ -0,0 +1,3 @@ +--- +breaking_changes: + - "orasw_meta: added assert for oracle_db_mem_totalmb in oracle_databases (oravirt#414)" diff --git a/roles/orasw_meta/README.md b/roles/orasw_meta/README.md index 0a9f6cd0f..216ea80c1 100644 --- a/roles/orasw_meta/README.md +++ b/roles/orasw_meta/README.md @@ -58,6 +58,7 @@ There are a lot of variables who are used by `orasw_meta` - [oracle_sw_patches](#oracle_sw_patches) - [oracle_sw_source_local](#oracle_sw_source_local) - [oracle_sw_source_www](#oracle_sw_source_www) + - [orasw_meta_assert_oracle_databases](#orasw_meta_assert_oracle_databases) - [shell_aliases](#shell_aliases) - [shell_ps1](#shell_ps1) - [Discovered Tags](#discovered-tags) @@ -446,7 +447,6 @@ oracle_databases: oracle_db_type: SI is_container: true storage_type: FS - oracle_db_mem_totalmb: 1024 oracle_database_type: MULTIPURPOSE redolog_size: 100M redolog_groups: 3 @@ -848,6 +848,18 @@ server during software installation and patching. oracle_sw_source_www: http://www/orasw ``` +### orasw_meta_assert_oracle_databases + +Switch for enable/disable assert on `oracle_databases`. + +Please change the state only when really needed! + +#### Default value + +```YAML +orasw_meta_assert_oracle_databases: true +``` + ### shell_aliases Define shell Aliases for oracle user. diff --git a/roles/orasw_meta/defaults/main.yml b/roles/orasw_meta/defaults/main.yml index 875cafad4..80c9702c5 100644 --- a/roles/orasw_meta/defaults/main.yml +++ b/roles/orasw_meta/defaults/main.yml @@ -472,7 +472,6 @@ oracle_ee_options_213: # oracle_db_type: SI # is_container: true # storage_type: FS -# oracle_db_mem_totalmb: 1024 # oracle_database_type: MULTIPURPOSE # redolog_size: 100M # redolog_groups: 3 @@ -599,3 +598,10 @@ default_dbpass: >- # PDBADMIN: Oracle_789 # @end dbpasswords: {} + +# @var orasw_meta_assert_oracle_databases:description: > +# Switch for enable/disable assert on `oracle_databases`. +# +# Please change the state only when really needed! +# @end +orasw_meta_assert_oracle_databases: true diff --git a/roles/orasw_meta/tasks/assert_oracle_databases.yml b/roles/orasw_meta/tasks/assert_oracle_databases.yml index 2efe4ed7c..8c7e8cf0d 100644 --- a/roles/orasw_meta/tasks/assert_oracle_databases.yml +++ b/roles/orasw_meta/tasks/assert_oracle_databases.yml @@ -70,7 +70,16 @@ when: - db_homes_installed is defined + - name: Check switch for orasw_meta_assert_oracle_databases + ansible.builtin.debug: + msg: >- + WARNING!!! Assert for oracle_databases has been disabled! + when: + - not orasw_meta_assert_oracle_databases | bool + - name: assert oracle_databases + when: + - orasw_meta_assert_oracle_databases | bool block: - name: assert oracle_databases ansible.builtin.assert: @@ -95,6 +104,15 @@ - ass_odb.users | default([]) | type_debug == 'list' - ass_odb.oracle_db_type | default('SI2') in ('SI', 'RAC', 'RACONENODE') - ass_odb.storage_type | default('FS') in ('FS', 'ASM') + - (ass_odb.oracle_db_mem_totalmb is defined + and ass_odb.init_parameters | default([]) + | selectattr ('name', 'match', 'sga_target') | list | length == 0 + ) + or + (ass_odb.oracle_db_mem_totalmb is not defined + and ass_odb.init_parameters | default([]) | list + | selectattr ('name', 'match', 'sga_target') | list | length > 0 + ) with_items: - "{{ oracle_databases }}" loop_control: