From ec94c0a45a70b7dacf1e5e1ac69d3cd983dc9179 Mon Sep 17 00:00:00 2001 From: duhlig <47413026+duhlig@users.noreply.github.com> Date: Fri, 28 Jun 2019 10:49:03 +0200 Subject: [PATCH 01/31] added stop_processes for remove_patch --- oracle_opatch | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/oracle_opatch b/oracle_opatch index 0f8495f83..32ea8d6cd 100644 --- a/oracle_opatch +++ b/oracle_opatch @@ -341,7 +341,7 @@ def stop_process(module, oracle_home): if msg: module.fail_json(msg=msg, changed=False) -def remove_patch (module, msg, oracle_home, patch_base, patch_id, opatchauto, ocm_response_file,output): +def remove_patch (module, msg, oracle_home, patch_base, patch_id, opatchauto, ocm_response_file, stop_processes, output): ''' Removes the patch ''' @@ -354,6 +354,9 @@ def remove_patch (module, msg, oracle_home, patch_base, patch_id, opatchauto, oc command = '%s/OPatch/%s %s -oh %s ' % (oracle_home,opatch_cmd, patch_base, oracle_home) else: + if stop_processes: + stop_process(module, oracle_home) + opatch_cmd = 'opatch rollback' command = '%s/OPatch/%s -id %s -silent' % (oracle_home,opatch_cmd, patch_id) @@ -547,7 +550,7 @@ def main(): elif state == 'absent': if check_patch_applied(module, msg, oracle_home, patch_id, patch_version, opatchauto): - if remove_patch(module, msg, oracle_home, patch_base, patch_id, opatchauto,ocm_response_file, output): + if remove_patch(module, msg, oracle_home, patch_base, patch_id, opatchauto,ocm_response_file, stop_processes, output): if patch_version is not None: msg = 'Patch %s (%s) successfully removed from %s' % (patch_id,patch_version, oracle_home) else: From 2a1240fa886d43d3504ebc69a6b99d3cc7ac0cd1 Mon Sep 17 00:00:00 2001 From: Dietmar Uhlig Date: Mon, 25 Nov 2019 17:34:07 +0100 Subject: [PATCH 02/31] Some interim patches are PSU/RU dependent. The patch ID is the same but content, dependencies, and UPI (unique patch ID) differ. These patches have to be rolled back in advance of applying the PSU/RU and must afterwards be installed with the correct version (=UPI). They should however not be rolled back if they are already there with the desired UPI. This helps to write more idempotent playbooks. So there is a new parameter exclude_upi that is evaluated only if state=absent. To keep changes in working code at a minimum the check for UPI could be acquired only by another "opatch lspatches" that costs some seconds. --- oracle_opatch | 40 +++++++++++++++++++++++++++++++--------- 1 file changed, 31 insertions(+), 9 deletions(-) diff --git a/oracle_opatch b/oracle_opatch index 32ea8d6cd..979ef1830 100644 --- a/oracle_opatch +++ b/oracle_opatch @@ -37,6 +37,15 @@ options: required: False default: None aliases: ['version_added'] + exclude_upi: + description: + - The unique patch identifier that should not be rolled back + e.g 22990084 + - This option will be honored only when state=absent. + - It helps to write idempotent playbooks when changing interim patches that are dependent on a specific PSU/RU. + required: False + default: None + aliases: ['exclude_unique_patch_id'] opatch_minversion: description: - The minimum version of opatch needed @@ -155,7 +164,7 @@ def get_file_owner(module, msg, oracle_home): msg = 'Could not determine owner of %s ' % (checkfile) module.fail_json(msg=msg) -def check_patch_applied(module, msg, oracle_home, patch_id, patch_version, opatchauto): +def check_patch_applied(module, msg, oracle_home, patch_id, patch_version, opatchauto, exclude_upi): ''' Gets all patches already applied and compares to the intended patch @@ -169,8 +178,8 @@ def check_patch_applied(module, msg, oracle_home, patch_id, patch_version, opatc (rc, stdout, stderr) = module.run_command(command) #module.exit_json(msg=stdout, changed=False) if rc != 0: - msg = 'Error - STDOUT: %s, STDERR: %s, COMMAND: %s' % (stdout, stderr, command) - module.fail_json(msg=msg, changed=False) + msg = 'Error - STDOUT: %s, STDERR: %s, COMMAND: %s' % (stdout, stderr, command) + module.fail_json(msg=msg, changed=False) else: if opatchauto: chk = '%s' % (patch_version) @@ -180,7 +189,17 @@ def check_patch_applied(module, msg, oracle_home, patch_id, patch_version, opatc chk = '%s' % (patch_id) if chk in stdout: - return True + if exclude_upi is None: + return True + else: + command += ' -id %s' % patch_id + (rc, stdout, stderr) = module.run_command(command) + if rc != 0: + msg = 'Error - STDOUT: %s, STDERR: %s, COMMAND: %s' % (stdout, stderr, command) + module.fail_json(msg=msg, changed=False) + else: + chk = 'unique_patch_id:%s' % exclude_upi + return (chk not in stdout) else: return False @@ -450,6 +469,7 @@ def main(): patch_base = dict(default=None, aliases = ['path','source','patch_source','phBaseDir']), patch_id = dict(default=None, aliases = ['id']), patch_version = dict(required=None, aliases = ['version']), + exclude_upi = dict(required=None, aliases = ['exclude_unique_patch_id']), opatch_minversion = dict(default=None, aliases = ['opmv']), opatchauto = dict(default='False', type='bool',aliases = ['autopatch']), rolling = dict(default='True', type='bool',aliases = ['rolling']), @@ -461,7 +481,7 @@ def main(): output = dict(default="short", choices = ["short","verbose"]), state = dict(default="present", choices = ["present", "absent", "opatchversion"]), hostname = dict(required=False, default = 'localhost', aliases = ['host']), - port = dict(required=False, default = 1521), + port = dict(required=False, type='int', default = 1521), @@ -473,6 +493,7 @@ def main(): patch_base = module.params["patch_base"] patch_id = module.params["patch_id"] patch_version = module.params["patch_version"] + exclude_upi = module.params["exclude_upi"] opatch_minversion = module.params["opatch_minversion"] opatchauto = module.params["opatchauto"] rolling = module.params["rolling"] @@ -533,7 +554,7 @@ def main(): module.exit_json(msg=opatch_version,changed=False) if state == 'present': - if not check_patch_applied(module, msg, oracle_home, patch_id, patch_version, opatchauto): + if not check_patch_applied(module, msg, oracle_home, patch_id, patch_version, opatchauto, None): if apply_patch(module, msg, oracle_home, patch_base, patch_id,patch_version, opatchauto,ocm_response_file,offline,stop_processes,rolling,output): if patch_version is not None: msg = 'Patch %s (%s) successfully applied to %s' % (patch_id,patch_version, oracle_home) @@ -549,7 +570,7 @@ def main(): module.exit_json(msg=msg, changed=False) elif state == 'absent': - if check_patch_applied(module, msg, oracle_home, patch_id, patch_version, opatchauto): + if check_patch_applied(module, msg, oracle_home, patch_id, patch_version, opatchauto, exclude_upi): if remove_patch(module, msg, oracle_home, patch_base, patch_id, opatchauto,ocm_response_file, stop_processes, output): if patch_version is not None: msg = 'Patch %s (%s) successfully removed from %s' % (patch_id,patch_version, oracle_home) @@ -560,8 +581,9 @@ def main(): module.fail_json(msg=msg, changed=False) else: if patch_version is not None: - msg = 'Patch %s (%s) is not applied to %s' % (patch_id,patch_version, oracle_home) - + msg = 'Patch %s (%s) is not applied to %s' % (patch_id, patch_version, oracle_home) + elif exclude_upi is not None: + msg = 'Patch %s (UPI %s) has already been applied and will not be removed from %s' % (patch_id, exclude_upi, oracle_home) else: msg = 'Patch %s is not applied to %s' % (patch_id, oracle_home) From 2cce28edb0b5449d274f0da4cdd3b293729ce106 Mon Sep 17 00:00:00 2001 From: bartowl Date: Thu, 23 Sep 2021 14:16:47 +0200 Subject: [PATCH 03/31] fix for quoted sqldelim fixes #68 --- oracle_sql | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/oracle_sql b/oracle_sql index 7b1a7d726..4927b850e 100755 --- a/oracle_sql +++ b/oracle_sql @@ -74,6 +74,7 @@ EXAMPLES = ''' script: /u01/scripts/create-tables-and-insert-default-values.sql ''' import os +import re from ansible.module_utils.basic import AnsibleModule try: @@ -228,8 +229,11 @@ def main(): else: sqldelim = ';' + # fixed problems with quoted sqldelim using + # https://stackoverflow.com/questions/2785755/how-to-split-but-ignore-separators-in-quoted-strings-in-python + PATTERN = re.compile(r'''((?:[^''' + sqldelim + r'''"']|"[^"]*"|'[^']*')+)''') sqlfile = sqlfile.strip(sqldelim) - sql = sqlfile.split(sqldelim) + sql = PATTERN.split(sqlfile)[1::2] for q in sql: execute_sql(module, cursor, conn, q) From cc7c1ca6fb93cd3c02f0db1991f334278520178d Mon Sep 17 00:00:00 2001 From: bartowl Date: Tue, 12 Oct 2021 11:53:39 +0200 Subject: [PATCH 04/31] - single quotes for create .. identified by values - implemented check for password change for hashes - implemented check for plaintext password against S: pw hash --- oracle_user | 77 ++++++++++++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/oracle_user b/oracle_user index 41a3aea80..44d3808c6 100755 --- a/oracle_user +++ b/oracle_user @@ -110,6 +110,9 @@ oracle_user: hostname=localhost service_name=orcl user=system password=manager s ''' +import hashlib +from binascii import unhexlify + try: import cx_Oracle except ImportError: @@ -160,7 +163,7 @@ def create_user(module, cursor, schema, schema_password, schema_password_hash, d if authentication_type == 'password': if (schema_password_hash): - sql = 'create user %s identified by values \"%s\" ' % (schema, schema_password_hash) + sql = 'create user %s identified by values \'%s\' ' % (schema, schema_password_hash) else: sql = 'create user %s identified by \"%s\" '% (schema, schema_password) elif authentication_type == 'global': @@ -205,7 +208,7 @@ def create_user(module, cursor, schema, schema_password, schema_password_hash, d # Get the current password hash for the user def get_user_password_hash(module, cursor, schema): - sql = 'select password from sys.user$ where name = upper(\'%s\')' % schema + sql = 'select spare4 from sys.user$ where name = upper(\'%s\')' % schema try: cursor.execute(sql) pwhashresult = cursor.fetchone()[0] @@ -216,17 +219,39 @@ def get_user_password_hash(module, cursor, schema): return pwhashresult +# Check plaintext password against retrieved hash +# currently works with S: hashes only, returns true otherwise +def password_matches_hash(password,password_hash): + # S: style hash + if ('S:' in password_hash): + for ch in password_hash.split('S:')[1][:60].upper(): + if((ch < '0' or ch > '9') and (ch < 'A' or ch > 'F')): + return False # not a valid hex string character found, should not happen + hash=password_hash.split('S:')[1][:40] + salt=password_hash.split('S:')[1][40:60] + sha1 = hashlib.sha1() + sha1.update(password.encode('utf-8')) + sha1.update(unhexlify(salt)) + return hash.upper() == sha1.hexdigest().upper() + + # no supported hashes found + return False + # Modify the user/schema def modify_user(module, cursor, schema, schema_password, schema_password_hash, default_tablespace, default_temp_tablespace, update_password, profile, authentication_type, state, container_data): sql_get_curr_def = 'select lower(account_status)' sql = 'alter user %s' % schema + pw_change_needed = False if update_password == 'always': if authentication_type == 'password': - if schema_password_hash: + old_pw_hash = get_user_password_hash(module, cursor, schema) + if (schema_password_hash and (old_pw_hash != schema_password_hash)): + pw_change_needed = True sql += ' identified by values \'%s\'' % (schema_password_hash) - elif schema_password: + elif schema_password and not password_matches_hash(schema_password,old_pw_hash): + pw_change_needed = True sql += ' identified by %s ' % (schema_password) elif authentication_type == 'external': sql += ' identified externally ' @@ -283,47 +308,21 @@ def modify_user(module, cursor, schema, schema_password, schema_password_hash, d sql_get_curr_def += ' from dba_users where username = upper(\'%s\')' % schema - if update_password == 'always': - old_pw_hash = get_user_password_hash(module, cursor, schema) - wanted_list = [x.lower() for x in wanted_list] curr_defaults = execute_sql_get(module, cursor, sql_get_curr_def) curr_defaults = [list(t) for t in curr_defaults] - if (schema_password_hash): - if update_password == 'always': - # if (wanted_list in curr_defaults) and (old_pw_hash == schema_password_hash): - # # Everything is kosher, exit changed=False - # module.exit_json(msg='The schema (%s) is in the intented state' % (schema), changed=False) - # else: - # # Make the change and exit changed=True - execute_sql(module, cursor, sql) - module.exit_json(msg='Successfully altered the user (%s)' % (schema), changed=True) + if (wanted_list in curr_defaults): + if (update_password == 'always' and pw_change_needed): + execute_sql(module, cursor, sql) + module.exit_json(msg='Successfully altered the user password (%s)' % (schema), changed=True) else: - if (wanted_list in curr_defaults): - module.exit_json(msg='The schema (%s) is in the intented state' % (schema), changed=False) - else: - # Make the change and exit changed=Truecontainer = module.params["container"] - execute_sql(module, cursor, sql) - module.exit_json(msg='Successfully altered the user (%s)' % (schema), changed=True) + module.exit_json(msg='The schema (%s) is in the intented state' % (schema), changed=False) else: - if (wanted_list in curr_defaults): - if update_password == 'always': - ## DISABLING THE PRE/POST-CHECK - # change everything and compare hash pre/post. If same => exit change=False else exit change=True - execute_sql(module, cursor, sql) - # new_pw_hash = get_user_password_hash(module, cursor, schema) - # if new_pw_hash == old_pw_hash: - # module.exit_json(msg='The schema (%s) is in the intented state' % (schema), changed=False) - # else: - module.exit_json(msg='Successfully altered the user (%s)' % (schema), changed=True) - else: - module.exit_json(msg='The schema (%s) is in the intented state' % (schema), changed=False) - else: - # do the complete change -> exit with change=True - # module.exit_json(msg=sql) - execute_sql(module, cursor, sql) - module.exit_json(msg='Successfully altered the user (%s, %s)' % (schema, sql), changed=True) + # do the complete change -> exit with change=True + # module.exit_json(msg=sql) + execute_sql(module, cursor, sql) + module.exit_json(msg='Successfully altered the user (%s, %s)' % (schema, sql), changed=True) return True From caa3186d2fdbb5087d33c63827571808a6618f14 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Thu, 7 Jul 2022 12:07:53 +0200 Subject: [PATCH 05/31] ansible-oracle: BREAKING CHANGE! move to a collection (#99) This is one of the biggest changes during the development of ansible-oracle since last refactoring. The project moves to a collection, which leads to the following breaking changes: - rename all roles with '-' in name to '_' This is a mandatory change, when moving to a collection. galaxy will not import a collection with a '-' in rolename... - Ansible 2.9+ needed Due to the dependency to Collections, the minimum version of Ansible has been cahnged to 2.9. - moved playbooks to playbooks folder This is the 1st step to reorganize the old - mostly not working - playbooks. The redesign of playbooks and example inventory is planned for a later time. - renamed variable for EE-Options in Binaries All variables with `oracle_EE_options` have been changed to `oracle_ee_options`. An assertation has been added to check the inventory for old - unsupported - variables. Other minor changes: - update ansible-lint for git pre-commit to v6.3.0 - removed all check exceptions from .ansible-lint --- .ansible-lint | 12 +- .pre-commit-config.yaml | 2 +- README.md | 10 +- customize-db.yml | 13 - galaxy.yml | 12 + {group_vars => inventory/group_vars}/all | 0 .../group_vars}/aws-si-asm/aws-si-asm.yml | 0 .../group_vars}/aws-si-asm/passwords.yml | 0 .../group_vars}/aws-si-fs/aws-si-fs.yml | 0 .../group_vars}/aws-si-fs/passwords.yml | 0 .../group_vars}/drracttack/drracattack.yml | 0 .../group_vars}/orarac-dc1/orarac-dc1.yml | 0 .../group_vars}/orarac-dc1/passwords.yml | 0 .../group_vars}/orarac-flex | 0 .../group_vars}/racattack/passwords.yml | 0 .../group_vars}/racattack/racattack.yml | 0 .../group_vars}/vbox-rac-dc1/databases.yml | 0 .../group_vars}/vbox-rac-dc1/db-homes.yml | 0 .../group_vars}/vbox-rac-dc1/diskgroups.yml | 0 .../group_vars}/vbox-rac-dc1/gi.yml | 0 .../group_vars}/vbox-rac-dc1/passwords.yml | 0 .../group_vars}/vbox-rac-dc1/pdbs.yml | 0 .../group_vars}/vbox-rac-dc1/vbox-rac-dc1.yml | 0 .../group_vars}/vbox-rac-dc2/databases.yml | 0 .../group_vars}/vbox-rac-dc2/db-homes.yml | 0 .../group_vars}/vbox-rac-dc2/diskgroups.yml | 0 .../group_vars}/vbox-rac-dc2/gi.yml | 0 .../group_vars}/vbox-rac-dc2/passwords.yml | 0 .../group_vars}/vbox-rac-dc2/pdbs.yml | 0 .../group_vars}/vbox-rac-dc2/vbox-rac-dc2.yml | 0 .../group_vars}/vbox-si-asm/databases.yml | 0 .../group_vars}/vbox-si-asm/db-homes.yml | 0 .../group_vars}/vbox-si-asm/diskgroups.yml | 0 .../group_vars}/vbox-si-asm/gi.yml | 0 .../group_vars}/vbox-si-asm/passwords.yml | 0 .../group_vars}/vbox-si-asm/pdbs.yml | 0 .../group_vars}/vbox-si-asm/vbox-si-asm.yml | 0 .../group_vars}/vbox-si-fs/databases.yml | 0 .../group_vars}/vbox-si-fs/db-homes.yml | 0 .../group_vars}/vbox-si-fs/passwords.yml | 0 .../group_vars}/vbox-si-fs/pdbs.yml | 0 .../group_vars}/vbox-si-fs/vbox-si-fs.yml | 2 +- {host_vars => inventory/host_vars}/.keep | 0 .../aws-si-asm-install.yml | 12 +- playbooks/customize-db.yml | 13 + db-opatch.yml => playbooks/db-opatch.yml | 4 +- delete-db.yml => playbooks/delete-db.yml | 2 +- .../drracattack-full-install.yml | 8 +- .../full-rac-flex-install.yml | 10 +- .../full-rac-install-dc1.yml | 14 +- gi-opatch.yml => playbooks/gi-opatch.yml | 2 +- manage-db.yml => playbooks/manage-db.yml | 2 +- .../racattack-full-install.yml | 10 +- .../single-instance-db-on-asm.yml | 18 +- .../single-instance-db-on-fs.yml | 4 +- .../vbox-rac-dc1.yml | 34 +-- .../vbox-rac-dc2.yml | 35 ++- .../vbox-rac-full-install.yml | 12 +- .../vbox-si-asm-install.yml | 33 ++- .../vbox-si-fs-install.yml | 26 +- {library => plugins/modules}/LICENSE | 0 {library => plugins/modules}/README.md | 0 {library => plugins/modules}/oracle_acfs | 0 {library => plugins/modules}/oracle_asmdg | 0 {library => plugins/modules}/oracle_asmvol | 0 {library => plugins/modules}/oracle_awr | 0 {library => plugins/modules}/oracle_datapatch | 0 {library => plugins/modules}/oracle_db | 0 {library => plugins/modules}/oracle_directory | 0 {library => plugins/modules}/oracle_facts | 0 {library => plugins/modules}/oracle_gi_facts | 0 {library => plugins/modules}/oracle_grants | 0 {library => plugins/modules}/oracle_job | 0 {library => plugins/modules}/oracle_jobclass | 0 .../modules}/oracle_jobschedule | 0 {library => plugins/modules}/oracle_jobwindow | 0 {library => plugins/modules}/oracle_ldapuser | 0 {library => plugins/modules}/oracle_opatch | 0 {library => plugins/modules}/oracle_parameter | 0 {library => plugins/modules}/oracle_pdb | 0 {library => plugins/modules}/oracle_privs | 0 {library => plugins/modules}/oracle_profile | 0 {library => plugins/modules}/oracle_redo | 0 {library => plugins/modules}/oracle_role | 0 .../modules}/oracle_rsrc_consgroup | 0 {library => plugins/modules}/oracle_services | 0 {library => plugins/modules}/oracle_sql | 0 {library => plugins/modules}/oracle_sqldba | 0 .../modules}/oracle_stats_prefs | 0 .../modules}/oracle_tablespace | 0 {library => plugins/modules}/oracle_user | 0 {library => plugins/modules}/test-modules.yml | 0 roles/common/tasks/main.yml | 34 +-- roles/cxoracle/tasks/main.yml | 2 +- .../README.md | 0 .../defaults/main.yml | 0 .../tasks/main.yml | 2 +- roles/oradb-manage-parameters/tasks/main.yml | 110 --------- .../README.md | 0 .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 8 +- .../LISTENER.md | 0 .../README.md | 0 .../defaults/main.yml | 0 .../files/ocenv | 0 .../meta/main.yml | 10 +- .../tasks/assert.yml | 2 +- .../tasks/listener.yml | 4 +- .../tasks/listener_details.yml | 8 +- .../tasks/main.yml | 16 +- .../tasks/manage-db.yml | 84 ++----- .../tasks/ocenv.yml | 10 +- .../tasks/sqlnet.yml | 6 +- .../tasks/tnsnames.yml | 6 +- .../templates/dbca-create-db.rsp.11.2.0.3.j2 | 0 .../templates/dbca-create-db.rsp.11.2.0.4.j2 | 0 .../templates/dbca-create-db.rsp.12.1.0.1.j2 | 0 .../templates/dbca-create-db.rsp.12.1.0.2.j2 | 0 .../templates/dbca-create-db.rsp.12.2.0.1.j2 | 0 .../templates/dbca-create-db.rsp.18.3.0.0.j2 | 0 .../templates/dbca-create-db.rsp.19.3.0.0.j2 | 0 .../templates/dbca-create-db.rsp.21.3.0.0.j2 | 0 .../templates/listener_details.j2 | 0 .../templates/netca.rsp.11.2.0.3.j2 | 0 .../templates/netca.rsp.11.2.0.4.j2 | 0 .../templates/netca.rsp.12.1.0.1.j2 | 0 .../templates/netca.rsp.12.1.0.2.j2 | 0 .../templates/netca.rsp.12.2.0.1.j2 | 0 .../templates/netca.rsp.18.3.0.0.j2 | 0 .../templates/pdb.sql.j2 | 0 .../templates/tnsnames.ora.j2 | 0 .../templates/tnsnamesdgfailover2.ora.j2 | 0 .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 0 .../defaults/main.yml | 0 .../meta/main.yml | 10 +- roles/oradb_manage_parameters/tasks/main.yml | 54 ++++ .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 22 -- .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 0 .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 0 .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 0 .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 0 .../README.md | 0 .../defaults/main.yml | 0 .../files/spcreate.sh | 0 .../files/spdrop.sh | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 32 +-- .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 0 .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 0 roles/{oradb-rman => oradb_rman}/README.md | 0 .../defaults/main.yml | 0 .../files/rman_backup.sh | 0 .../{oradb-rman => oradb_rman}/meta/main.yml | 10 +- .../{oradb-rman => oradb_rman}/tasks/main.yml | 42 ++-- .../templates/archivelog.rman.j2 | 0 .../templates/archivelog_fra_disk.rman.j2 | 0 .../templates/offline_level0.rman.j2 | 0 .../templates/online_level0.rman.j2 | 0 .../templates/online_level0_fra_disk.rman.j2 | 0 .../templates/online_level1.rman.j2 | 0 .../templates/online_level1_fra_disk.rman.j2 | 0 .../templates/parameter.rman.j2 | 0 .../templates/parameter_fra_disk.rman.j2 | 0 .../templates/parameter_rac.rman.j2 | 0 .../defaults/main.yml | 0 .../tasks/main.yml | 32 +-- .../templates/agent.rsp.12.1.0.4.0.j2 | 0 .../templates/dotprofile-agent.j2 | 0 roles/orahost-cron/tasks/main.yml | 8 - roles/orahost/handlers/main.yml | 6 +- roles/orahost/meta/main.yml | 8 +- roles/orahost/tasks/RedHat-6.yml | 12 +- roles/orahost/tasks/RedHat-7.yml | 6 +- roles/orahost/tasks/RedHat-8.yml | 6 +- roles/orahost/tasks/Suse-12.yml | 2 +- roles/orahost/tasks/main.yml | 116 ++++----- .../{orahost-cron => orahost_cron}/README.md | 0 .../defaults/main.yml | 0 roles/orahost_cron/tasks/main.yml | 8 + .../README.md | 0 .../defaults/main.yml | 0 .../tasks/main.yml | 4 +- .../templates/logrotate.j2 | 0 .../templates/oracle_cleanup.j2 | 0 roles/orahost_meta/meta/main.yml | 8 +- roles/{orahost-ssh => orahost_ssh}/README.md | 0 .../defaults/main.yml | 0 .../tasks/known-hosts.yml | 6 +- .../tasks/main.yml | 12 +- .../defaults/main.yml | 0 .../files/disks.sh | 0 .../tasks/asmlib.yml | 8 +- .../tasks/dm-multipath-kpartx.yml | 2 +- .../tasks/main.yml | 14 +- .../tasks/udev.yml | 14 +- .../templates/asm-label-device-mapping.txt.j2 | 0 .../templates/asm-udev-rules.rules.j2 | 0 .../templates/label-asm-disks.sh.j2 | 0 .../templates/oranfstab.j2 | 0 .../templates/part-device.sh.j2 | 0 .../templates/setup-udev.sh.j2 | 0 .../udev-label-device-mapping.txt.j2 | 0 .../defaults/main.yml | 0 roles/oraswdb-install/tasks/remove-home.yml | 2 - roles/oraswdb-manage-patches/tasks/main.yml | 231 ------------------ .../meta/main.yml | 10 +- .../tasks/main.yml | 8 +- .../defaults/main.yml | 28 +-- .../files/manage_oracle_rdbms_procs.sh | 0 .../handlers/main.yml | 2 +- .../meta/main.yml | 10 +- .../tasks/11.2.0.3.yml | 14 +- .../tasks/11.2.0.4.yml | 14 +- .../tasks/12.1.0.1.yml | 14 +- .../tasks/12.1.0.2.yml | 14 +- .../tasks/12.2.0.1.yml | 6 +- .../tasks/18.3.0.0.yml | 6 +- .../tasks/19.3.0.0.yml | 6 +- .../tasks/21.3.0.0.yml | 6 +- .../tasks/curl.yml | 4 +- .../tasks/get_url.yml | 4 +- .../tasks/init.yml | 8 +- .../tasks/install-home-db.yml | 53 ++-- .../tasks/main.yml | 61 +++-- roles/oraswdb_install/tasks/remove-home.yml | 2 + .../tasks/systemd.yml | 4 +- .../templates/db-install.rsp.11.2.0.3.j2 | 0 .../templates/db-install.rsp.11.2.0.4.j2 | 0 .../templates/db-install.rsp.12.1.0.1.j2 | 0 .../templates/db-install.rsp.12.1.0.2.j2 | 0 .../templates/db-install.rsp.12.2.0.1.j2 | 0 .../templates/db-install.rsp.18.3.0.0.j2 | 0 .../templates/db-install.rsp.19.3.0.0.j2 | 0 .../templates/db-install.rsp.21.3.0.0.j2 | 0 .../templates/dbora.j2 | 0 .../templates/dotprofile-home.j2 | 0 .../templates/glogin.sql.j2 | 0 .../templates/oraInst.loc.j2 | 0 .../templates/oracle-rdbms-service.j2 | 0 .../templates/run-db-install.sh.j2 | 0 .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/db-home-patch.yml | 34 +-- roles/oraswdb_manage_patches/tasks/main.yml | 31 +++ .../tasks/opatch-upgrade.yml | 16 +- .../tasks/transfer-files.yml | 24 +- .../tasks/unpack-files.yml | 16 +- .../templates/ocmrsp.expect.j2 | 0 roles/oraswgi-install/tasks/main.yml | 162 ------------ .../meta/main.yml | 10 +- .../tasks/main.yml | 12 +- .../clone.sh | 0 .../defaults/main.yml | 0 .../tasks/11.2.0.3.yml | 52 ++-- .../tasks/11.2.0.4.yml | 50 ++-- .../tasks/12.1.0.1.yml | 50 ++-- .../tasks/12.1.0.2.yml | 52 ++-- .../tasks/12.2.0.1.yml | 66 ++--- .../tasks/18.3.0.0.yml | 66 ++--- .../tasks/19.3.0.0.yml | 70 +++--- .../tasks/21.3.0.0.yml | 70 +++--- .../tasks/curl.yml | 4 +- .../tasks/get_url.yml | 4 +- roles/oraswgi_install/tasks/main.yml | 161 ++++++++++++ .../tasks/runcluvfy.yml | 26 +- .../configtoolallcommands.rsp.11.2.0.3.j2 | 0 .../configtoolallcommands.rsp.11.2.0.4.j2 | 0 .../configtoolallcommands.rsp.12.1.0.1.j2 | 0 .../configtoolallcommands.rsp.12.1.0.2.j2 | 0 .../templates/dotprofile-gi.j2 | 0 .../templates/grid-install.rsp.11.2.0.3.j2 | 0 .../templates/grid-install.rsp.11.2.0.4.j2 | 0 .../templates/grid-install.rsp.12.1.0.1.j2 | 0 .../templates/grid-install.rsp.12.1.0.2.j2 | 0 .../templates/grid-install.rsp.12.2.0.1.j2 | 0 .../templates/grid-install.rsp.18.3.0.0.j2 | 0 .../templates/grid-install.rsp.19.3.0.0.j2 | 0 .../templates/grid-install.rsp.21.3.0.0.j2 | 0 .../defaults/main.yml | 0 .../meta/main.yml | 10 +- .../tasks/main.yml | 32 +-- .../tasks/opatch-upgrade.yml | 23 +- .../tasks/transfer-files.yml | 16 +- .../tasks/unpack-files.yml | 8 +- .../templates/ocmrsp.expect.j2 | 0 .../defaults/main.yml | 0 .../tasks/main.yml | 54 ++-- .../templates/ocmrsp.expect.j2 | 0 305 files changed, 1212 insertions(+), 1558 deletions(-) delete mode 100644 customize-db.yml create mode 100644 galaxy.yml rename {group_vars => inventory/group_vars}/all (100%) rename {group_vars => inventory/group_vars}/aws-si-asm/aws-si-asm.yml (100%) rename {group_vars => inventory/group_vars}/aws-si-asm/passwords.yml (100%) rename {group_vars => inventory/group_vars}/aws-si-fs/aws-si-fs.yml (100%) rename {group_vars => inventory/group_vars}/aws-si-fs/passwords.yml (100%) rename {group_vars => inventory/group_vars}/drracttack/drracattack.yml (100%) rename {group_vars => inventory/group_vars}/orarac-dc1/orarac-dc1.yml (100%) rename {group_vars => inventory/group_vars}/orarac-dc1/passwords.yml (100%) rename {group_vars => inventory/group_vars}/orarac-flex (100%) rename {group_vars => inventory/group_vars}/racattack/passwords.yml (100%) rename {group_vars => inventory/group_vars}/racattack/racattack.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc1/databases.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc1/db-homes.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc1/diskgroups.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc1/gi.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc1/passwords.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc1/pdbs.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc1/vbox-rac-dc1.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc2/databases.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc2/db-homes.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc2/diskgroups.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc2/gi.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc2/passwords.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc2/pdbs.yml (100%) rename {group_vars => inventory/group_vars}/vbox-rac-dc2/vbox-rac-dc2.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-asm/databases.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-asm/db-homes.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-asm/diskgroups.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-asm/gi.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-asm/passwords.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-asm/pdbs.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-asm/vbox-si-asm.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-fs/databases.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-fs/db-homes.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-fs/passwords.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-fs/pdbs.yml (100%) rename {group_vars => inventory/group_vars}/vbox-si-fs/vbox-si-fs.yml (95%) rename {host_vars => inventory/host_vars}/.keep (100%) rename aws-si-asm-install.yml => playbooks/aws-si-asm-install.yml (83%) create mode 100644 playbooks/customize-db.yml rename db-opatch.yml => playbooks/db-opatch.yml (75%) mode change 100755 => 100644 rename delete-db.yml => playbooks/delete-db.yml (89%) mode change 100755 => 100644 rename drracattack-full-install.yml => playbooks/drracattack-full-install.yml (82%) rename full-rac-flex-install.yml => playbooks/full-rac-flex-install.yml (81%) rename full-rac-install-dc1.yml => playbooks/full-rac-install-dc1.yml (74%) rename gi-opatch.yml => playbooks/gi-opatch.yml (75%) mode change 100755 => 100644 rename manage-db.yml => playbooks/manage-db.yml (85%) mode change 100755 => 100644 rename racattack-full-install.yml => playbooks/racattack-full-install.yml (78%) rename single-instance-db-on-asm.yml => playbooks/single-instance-db-on-asm.yml (73%) rename single-instance-db-on-fs.yml => playbooks/single-instance-db-on-fs.yml (84%) rename vbox-rac-dc1.yml => playbooks/vbox-rac-dc1.yml (63%) rename vbox-rac-dc2.yml => playbooks/vbox-rac-dc2.yml (62%) rename vbox-rac-full-install.yml => playbooks/vbox-rac-full-install.yml (81%) rename vbox-si-asm-install.yml => playbooks/vbox-si-asm-install.yml (59%) rename vbox-si-fs-install.yml => playbooks/vbox-si-fs-install.yml (56%) rename {library => plugins/modules}/LICENSE (100%) rename {library => plugins/modules}/README.md (100%) rename {library => plugins/modules}/oracle_acfs (100%) rename {library => plugins/modules}/oracle_asmdg (100%) rename {library => plugins/modules}/oracle_asmvol (100%) rename {library => plugins/modules}/oracle_awr (100%) rename {library => plugins/modules}/oracle_datapatch (100%) rename {library => plugins/modules}/oracle_db (100%) rename {library => plugins/modules}/oracle_directory (100%) rename {library => plugins/modules}/oracle_facts (100%) rename {library => plugins/modules}/oracle_gi_facts (100%) rename {library => plugins/modules}/oracle_grants (100%) rename {library => plugins/modules}/oracle_job (100%) rename {library => plugins/modules}/oracle_jobclass (100%) rename {library => plugins/modules}/oracle_jobschedule (100%) rename {library => plugins/modules}/oracle_jobwindow (100%) rename {library => plugins/modules}/oracle_ldapuser (100%) rename {library => plugins/modules}/oracle_opatch (100%) rename {library => plugins/modules}/oracle_parameter (100%) rename {library => plugins/modules}/oracle_pdb (100%) rename {library => plugins/modules}/oracle_privs (100%) rename {library => plugins/modules}/oracle_profile (100%) rename {library => plugins/modules}/oracle_redo (100%) rename {library => plugins/modules}/oracle_role (100%) rename {library => plugins/modules}/oracle_rsrc_consgroup (100%) rename {library => plugins/modules}/oracle_services (100%) rename {library => plugins/modules}/oracle_sql (100%) rename {library => plugins/modules}/oracle_sqldba (100%) rename {library => plugins/modules}/oracle_stats_prefs (100%) rename {library => plugins/modules}/oracle_tablespace (100%) rename {library => plugins/modules}/oracle_user (100%) rename {library => plugins/modules}/test-modules.yml (100%) rename roles/{oraasm-manage-diskgroups => oraasm_manage_diskgroups}/README.md (100%) rename roles/{oraasm-manage-diskgroups => oraasm_manage_diskgroups}/defaults/main.yml (100%) rename roles/{oraasm-manage-diskgroups => oraasm_manage_diskgroups}/tasks/main.yml (91%) delete mode 100644 roles/oradb-manage-parameters/tasks/main.yml rename roles/{oradb-datapatch => oradb_datapatch}/README.md (100%) rename roles/{oradb-datapatch => oradb_datapatch}/defaults/main.yml (100%) rename roles/{oradb-datapatch => oradb_datapatch}/meta/main.yml (75%) rename roles/{oradb-datapatch => oradb_datapatch}/tasks/main.yml (85%) rename roles/{oradb-manage-db => oradb_manage_db}/LISTENER.md (100%) rename roles/{oradb-manage-db => oradb_manage_db}/README.md (100%) rename roles/{oradb-manage-db => oradb_manage_db}/defaults/main.yml (100%) rename roles/{oradb-manage-db => oradb_manage_db}/files/ocenv (100%) rename roles/{oradb-manage-db => oradb_manage_db}/meta/main.yml (76%) rename roles/{oradb-manage-db => oradb_manage_db}/tasks/assert.yml (94%) rename roles/{oradb-manage-db => oradb_manage_db}/tasks/listener.yml (63%) rename roles/{oradb-manage-db => oradb_manage_db}/tasks/listener_details.yml (72%) rename roles/{oradb-manage-db => oradb_manage_db}/tasks/main.yml (82%) rename roles/{oradb-manage-db => oradb_manage_db}/tasks/manage-db.yml (57%) rename roles/{oradb-manage-db => oradb_manage_db}/tasks/ocenv.yml (76%) rename roles/{oradb-manage-db => oradb_manage_db}/tasks/sqlnet.yml (84%) rename roles/{oradb-manage-db => oradb_manage_db}/tasks/tnsnames.yml (86%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/dbca-create-db.rsp.11.2.0.3.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/dbca-create-db.rsp.11.2.0.4.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/dbca-create-db.rsp.12.1.0.1.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/dbca-create-db.rsp.12.1.0.2.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/dbca-create-db.rsp.12.2.0.1.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/dbca-create-db.rsp.18.3.0.0.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/dbca-create-db.rsp.19.3.0.0.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/dbca-create-db.rsp.21.3.0.0.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/listener_details.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/netca.rsp.11.2.0.3.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/netca.rsp.11.2.0.4.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/netca.rsp.12.1.0.1.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/netca.rsp.12.1.0.2.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/netca.rsp.12.2.0.1.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/netca.rsp.18.3.0.0.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/pdb.sql.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/tnsnames.ora.j2 (100%) rename roles/{oradb-manage-db => oradb_manage_db}/templates/tnsnamesdgfailover2.ora.j2 (100%) rename roles/{oradb-manage-grants => oradb_manage_grants}/defaults/main.yml (100%) rename roles/{oradb-manage-grants => oradb_manage_grants}/meta/main.yml (76%) rename roles/{oradb-manage-grants => oradb_manage_grants}/tasks/main.yml (100%) rename roles/{oradb-manage-parameters => oradb_manage_parameters}/defaults/main.yml (100%) rename roles/{oradb-manage-parameters => oradb_manage_parameters}/meta/main.yml (75%) create mode 100644 roles/oradb_manage_parameters/tasks/main.yml rename roles/{oradb-manage-pdb => oradb_manage_pdb}/defaults/main.yml (100%) rename roles/{oradb-manage-pdb => oradb_manage_pdb}/meta/main.yml (75%) rename roles/{oradb-manage-pdb => oradb_manage_pdb}/tasks/main.yml (59%) rename roles/{oradb-manage-profiles => oradb_manage_profiles}/defaults/main.yml (100%) rename roles/{oradb-manage-profiles => oradb_manage_profiles}/meta/main.yml (75%) rename roles/{oradb-manage-profiles => oradb_manage_profiles}/tasks/main.yml (100%) rename roles/{oradb-manage-redo => oradb_manage_redo}/defaults/main.yml (100%) rename roles/{oradb-manage-redo => oradb_manage_redo}/meta/main.yml (75%) rename roles/{oradb-manage-redo => oradb_manage_redo}/tasks/main.yml (100%) rename roles/{oradb-manage-roles => oradb_manage_roles}/defaults/main.yml (100%) rename roles/{oradb-manage-roles => oradb_manage_roles}/meta/main.yml (74%) rename roles/{oradb-manage-roles => oradb_manage_roles}/tasks/main.yml (100%) rename roles/{oradb-manage-services => oradb_manage_services}/defaults/main.yml (100%) rename roles/{oradb-manage-services => oradb_manage_services}/meta/main.yml (75%) rename roles/{oradb-manage-services => oradb_manage_services}/tasks/main.yml (100%) rename roles/{oradb-manage-statspack => oradb_manage_statspack}/README.md (100%) rename roles/{oradb-manage-statspack => oradb_manage_statspack}/defaults/main.yml (100%) rename roles/{oradb-manage-statspack => oradb_manage_statspack}/files/spcreate.sh (100%) rename roles/{oradb-manage-statspack => oradb_manage_statspack}/files/spdrop.sh (100%) rename roles/{oradb-manage-statspack => oradb_manage_statspack}/meta/main.yml (75%) rename roles/{oradb-manage-statspack => oradb_manage_statspack}/tasks/main.yml (89%) rename roles/{oradb-manage-tablespace => oradb_manage_tablespace}/defaults/main.yml (100%) rename roles/{oradb-manage-tablespace => oradb_manage_tablespace}/meta/main.yml (75%) rename roles/{oradb-manage-tablespace => oradb_manage_tablespace}/tasks/main.yml (100%) rename roles/{oradb-manage-users => oradb_manage_users}/defaults/main.yml (100%) rename roles/{oradb-manage-users => oradb_manage_users}/meta/main.yml (74%) rename roles/{oradb-manage-users => oradb_manage_users}/tasks/main.yml (100%) rename roles/{oradb-rman => oradb_rman}/README.md (100%) rename roles/{oradb-rman => oradb_rman}/defaults/main.yml (100%) rename roles/{oradb-rman => oradb_rman}/files/rman_backup.sh (100%) rename roles/{oradb-rman => oradb_rman}/meta/main.yml (73%) rename roles/{oradb-rman => oradb_rman}/tasks/main.yml (69%) rename roles/{oradb-rman => oradb_rman}/templates/archivelog.rman.j2 (100%) rename roles/{oradb-rman => oradb_rman}/templates/archivelog_fra_disk.rman.j2 (100%) rename roles/{oradb-rman => oradb_rman}/templates/offline_level0.rman.j2 (100%) rename roles/{oradb-rman => oradb_rman}/templates/online_level0.rman.j2 (100%) rename roles/{oradb-rman => oradb_rman}/templates/online_level0_fra_disk.rman.j2 (100%) rename roles/{oradb-rman => oradb_rman}/templates/online_level1.rman.j2 (100%) rename roles/{oradb-rman => oradb_rman}/templates/online_level1_fra_disk.rman.j2 (100%) rename roles/{oradb-rman => oradb_rman}/templates/parameter.rman.j2 (100%) rename roles/{oradb-rman => oradb_rman}/templates/parameter_fra_disk.rman.j2 (100%) rename roles/{oradb-rman => oradb_rman}/templates/parameter_rac.rman.j2 (100%) rename roles/{oraemagent-install => oraemagent_install}/defaults/main.yml (100%) rename roles/{oraemagent-install => oraemagent_install}/tasks/main.yml (56%) rename roles/{oraemagent-install => oraemagent_install}/templates/agent.rsp.12.1.0.4.0.j2 (100%) rename roles/{oraemagent-install => oraemagent_install}/templates/dotprofile-agent.j2 (100%) delete mode 100644 roles/orahost-cron/tasks/main.yml rename roles/{orahost-cron => orahost_cron}/README.md (100%) rename roles/{orahost-cron => orahost_cron}/defaults/main.yml (100%) create mode 100644 roles/orahost_cron/tasks/main.yml rename roles/{orahost-logrotate => orahost_logrotate}/README.md (100%) rename roles/{orahost-logrotate => orahost_logrotate}/defaults/main.yml (100%) rename roles/{orahost-logrotate => orahost_logrotate}/tasks/main.yml (56%) rename roles/{orahost-logrotate => orahost_logrotate}/templates/logrotate.j2 (100%) rename roles/{orahost-logrotate => orahost_logrotate}/templates/oracle_cleanup.j2 (100%) rename roles/{orahost-ssh => orahost_ssh}/README.md (100%) rename roles/{orahost-ssh => orahost_ssh}/defaults/main.yml (100%) rename roles/{orahost-ssh => orahost_ssh}/tasks/known-hosts.yml (67%) rename roles/{orahost-ssh => orahost_ssh}/tasks/main.yml (78%) rename roles/{orahost-storage => orahost_storage}/defaults/main.yml (100%) rename roles/{orahost-storage => orahost_storage}/files/disks.sh (100%) rename roles/{orahost-storage => orahost_storage}/tasks/asmlib.yml (75%) rename roles/{orahost-storage => orahost_storage}/tasks/dm-multipath-kpartx.yml (82%) rename roles/{orahost-storage => orahost_storage}/tasks/main.yml (78%) rename roles/{orahost-storage => orahost_storage}/tasks/udev.yml (56%) rename roles/{orahost-storage => orahost_storage}/templates/asm-label-device-mapping.txt.j2 (100%) rename roles/{orahost-storage => orahost_storage}/templates/asm-udev-rules.rules.j2 (100%) rename roles/{orahost-storage => orahost_storage}/templates/label-asm-disks.sh.j2 (100%) rename roles/{orahost-storage => orahost_storage}/templates/oranfstab.j2 (100%) rename roles/{orahost-storage => orahost_storage}/templates/part-device.sh.j2 (100%) rename roles/{orahost-storage => orahost_storage}/templates/setup-udev.sh.j2 (100%) rename roles/{orahost-storage => orahost_storage}/templates/udev-label-device-mapping.txt.j2 (100%) rename roles/{orasw-meta => orasw_meta}/defaults/main.yml (100%) delete mode 100644 roles/oraswdb-install/tasks/remove-home.yml delete mode 100644 roles/oraswdb-manage-patches/tasks/main.yml rename roles/{oraswdb-golden-image => oraswdb_golden_image}/meta/main.yml (76%) rename roles/{oraswdb-golden-image => oraswdb_golden_image}/tasks/main.yml (79%) rename roles/{oraswdb-install => oraswdb_install}/defaults/main.yml (94%) rename roles/{oraswdb-install => oraswdb_install}/files/manage_oracle_rdbms_procs.sh (100%) rename roles/{oraswdb-install => oraswdb_install}/handlers/main.yml (78%) rename roles/{oraswdb-install => oraswdb_install}/meta/main.yml (76%) rename roles/{oraswdb-install => oraswdb_install}/tasks/11.2.0.3.yml (74%) rename roles/{oraswdb-install => oraswdb_install}/tasks/11.2.0.4.yml (73%) rename roles/{oraswdb-install => oraswdb_install}/tasks/12.1.0.1.yml (73%) rename roles/{oraswdb-install => oraswdb_install}/tasks/12.1.0.2.yml (73%) rename roles/{oraswdb-install => oraswdb_install}/tasks/12.2.0.1.yml (55%) rename roles/{oraswdb-install => oraswdb_install}/tasks/18.3.0.0.yml (63%) rename roles/{oraswdb-install => oraswdb_install}/tasks/19.3.0.0.yml (63%) rename roles/{oraswdb-install => oraswdb_install}/tasks/21.3.0.0.yml (63%) rename roles/{oraswdb-install => oraswdb_install}/tasks/curl.yml (75%) rename roles/{oraswdb-install => oraswdb_install}/tasks/get_url.yml (83%) rename roles/{oraswdb-install => oraswdb_install}/tasks/init.yml (52%) rename roles/{oraswdb-install => oraswdb_install}/tasks/install-home-db.yml (76%) rename roles/{oraswdb-install => oraswdb_install}/tasks/main.yml (53%) create mode 100644 roles/oraswdb_install/tasks/remove-home.yml rename roles/{oraswdb-install => oraswdb_install}/tasks/systemd.yml (83%) rename roles/{oraswdb-install => oraswdb_install}/templates/db-install.rsp.11.2.0.3.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/db-install.rsp.11.2.0.4.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/db-install.rsp.12.1.0.1.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/db-install.rsp.12.1.0.2.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/db-install.rsp.12.2.0.1.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/db-install.rsp.18.3.0.0.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/db-install.rsp.19.3.0.0.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/db-install.rsp.21.3.0.0.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/dbora.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/dotprofile-home.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/glogin.sql.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/oraInst.loc.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/oracle-rdbms-service.j2 (100%) rename roles/{oraswdb-install => oraswdb_install}/templates/run-db-install.sh.j2 (100%) rename roles/{oraswdb-manage-patches => oraswdb_manage_patches}/defaults/main.yml (100%) rename roles/{oraswdb-manage-patches => oraswdb_manage_patches}/meta/main.yml (75%) rename roles/{oraswdb-manage-patches => oraswdb_manage_patches}/tasks/db-home-patch.yml (82%) create mode 100644 roles/oraswdb_manage_patches/tasks/main.yml rename roles/{oraswdb-manage-patches => oraswdb_manage_patches}/tasks/opatch-upgrade.yml (81%) rename roles/{oraswdb-manage-patches => oraswdb_manage_patches}/tasks/transfer-files.yml (83%) rename roles/{oraswdb-manage-patches => oraswdb_manage_patches}/tasks/unpack-files.yml (87%) rename roles/{oraswdb-manage-patches => oraswdb_manage_patches}/templates/ocmrsp.expect.j2 (100%) delete mode 100644 roles/oraswgi-install/tasks/main.yml rename roles/{oraswgi-golden-image => oraswgi_golden_image}/meta/main.yml (76%) rename roles/{oraswgi-golden-image => oraswgi_golden_image}/tasks/main.yml (59%) rename roles/{oraswgi-install => oraswgi_install}/clone.sh (100%) rename roles/{oraswgi-install => oraswgi_install}/defaults/main.yml (100%) rename roles/{oraswgi-install => oraswgi_install}/tasks/11.2.0.3.yml (68%) rename roles/{oraswgi-install => oraswgi_install}/tasks/11.2.0.4.yml (68%) rename roles/{oraswgi-install => oraswgi_install}/tasks/12.1.0.1.yml (63%) rename roles/{oraswgi-install => oraswgi_install}/tasks/12.1.0.2.yml (67%) rename roles/{oraswgi-install => oraswgi_install}/tasks/12.2.0.1.yml (69%) rename roles/{oraswgi-install => oraswgi_install}/tasks/18.3.0.0.yml (68%) rename roles/{oraswgi-install => oraswgi_install}/tasks/19.3.0.0.yml (66%) rename roles/{oraswgi-install => oraswgi_install}/tasks/21.3.0.0.yml (66%) rename roles/{oraswgi-install => oraswgi_install}/tasks/curl.yml (68%) rename roles/{oraswgi-install => oraswgi_install}/tasks/get_url.yml (81%) create mode 100644 roles/oraswgi_install/tasks/main.yml rename roles/{oraswgi-install => oraswgi_install}/tasks/runcluvfy.yml (78%) rename roles/{oraswgi-install => oraswgi_install}/templates/configtoolallcommands.rsp.11.2.0.3.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/configtoolallcommands.rsp.11.2.0.4.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/configtoolallcommands.rsp.12.1.0.1.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/configtoolallcommands.rsp.12.1.0.2.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/dotprofile-gi.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/grid-install.rsp.11.2.0.3.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/grid-install.rsp.11.2.0.4.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/grid-install.rsp.12.1.0.1.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/grid-install.rsp.12.1.0.2.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/grid-install.rsp.12.2.0.1.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/grid-install.rsp.18.3.0.0.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/grid-install.rsp.19.3.0.0.j2 (100%) rename roles/{oraswgi-install => oraswgi_install}/templates/grid-install.rsp.21.3.0.0.j2 (100%) rename roles/{oraswgi-manage-patches => oraswgi_manage_patches}/defaults/main.yml (100%) rename roles/{oraswgi-manage-patches => oraswgi_manage_patches}/meta/main.yml (76%) rename roles/{oraswgi-manage-patches => oraswgi_manage_patches}/tasks/main.yml (90%) rename roles/{oraswgi-manage-patches => oraswgi_manage_patches}/tasks/opatch-upgrade.yml (78%) rename roles/{oraswgi-manage-patches => oraswgi_manage_patches}/tasks/transfer-files.yml (82%) rename roles/{oraswgi-manage-patches => oraswgi_manage_patches}/tasks/unpack-files.yml (88%) rename roles/{oraswgi-manage-patches => oraswgi_manage_patches}/templates/ocmrsp.expect.j2 (100%) rename roles/{oraswgi-opatch => oraswgi_opatch}/defaults/main.yml (100%) rename roles/{oraswgi-opatch => oraswgi_opatch}/tasks/main.yml (68%) rename roles/{oraswgi-opatch => oraswgi_opatch}/templates/ocmrsp.expect.j2 (100%) diff --git a/.ansible-lint b/.ansible-lint index 17f6fde5f..dad1fe4f4 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -1,15 +1,11 @@ --- + use_default_rules: true -skip_list: - - role-name - # must be fixed at later time - - var-naming - # temporary deactived - will be removed in next PRs - - fqcn-builtins - - schema +# skip_list: exclude_paths: - .github - dbhome-conversion - - library + - plugins/modules + - playbooks diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9b69792de..945d6c56f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: - id: forbid-new-submodules - repo: https://github.com/ansible-community/ansible-lint.git - rev: v5.2.0 + rev: v6.3.0 hooks: - id: ansible-lint entry: ansible-lint --force-color -p diff --git a/README.md b/README.md index 8defe330a..229dae2ef 100644 --- a/README.md +++ b/README.md @@ -7,10 +7,11 @@ Pre-requisites: -- Ansible >= 2.4 +- Ansible >= 2.9 - Oracle Linux (or any RHEL-based Linux System) >= 6.4 -- Oracle Database/Grid Infrastructure 18.3.0.0, 12.2.0.1, 12.1.0.1, 12.1.0.2, 11.2.0.4, 11.2.0.3 +- Oracle Database/Grid Infrastructure 21.3.0.0, 19.3.0.0, 18.3.0.0, 12.2.0.1, 12.1.0.1, 12.1.0.2 - For example configurations, look in: + ``` SI/FS: group_vars/vbox-si-fs. - vagrant config: http://github.com/oravirt/vagrant-vbox-si-fs SI/ASM: group_vars/vbox-si-asm - vagrant config: http://github.com/oravirt/vagrant-vbox-si-asm @@ -26,10 +27,11 @@ By default, installs a single instance 18.3.0.0 database on a filesystem. - `LINUX.X64_180000_db_home.zip` 3. Create an Ansible inventory file - ``` + +``` [myhostgroup] dbhost - ``` +``` 4. Run the playbook: diff --git a/customize-db.yml b/customize-db.yml deleted file mode 100644 index 5b3d8dc81..000000000 --- a/customize-db.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: Customize database - hosts: "{{ hostgroup | default('all') }}" - become: true - roles: - - oradb-manage-pdb - - oradb-manage-tablespace - - oradb-manage-parameters - - oradb-manage-redo - - oradb-manage-roles - - oradb-manage-users - - oradb-manage-grants - - oradb-manage-services diff --git a/galaxy.yml b/galaxy.yml new file mode 100644 index 000000000..1a8d4012a --- /dev/null +++ b/galaxy.yml @@ -0,0 +1,12 @@ +--- +namespace: opitzconsulting +name: ansible_oracle +description: This is the collection of ansible-oracle from Branch oc on https://github.com/opitzconsulting/ansible-oracle +version: 3.0.0 +readme: README.md +authors: + - Mikael Sandström + - OPITZ CONSULTING + - Thorsten Bruhns +tags: + - oracle diff --git a/group_vars/all b/inventory/group_vars/all similarity index 100% rename from group_vars/all rename to inventory/group_vars/all diff --git a/group_vars/aws-si-asm/aws-si-asm.yml b/inventory/group_vars/aws-si-asm/aws-si-asm.yml similarity index 100% rename from group_vars/aws-si-asm/aws-si-asm.yml rename to inventory/group_vars/aws-si-asm/aws-si-asm.yml diff --git a/group_vars/aws-si-asm/passwords.yml b/inventory/group_vars/aws-si-asm/passwords.yml similarity index 100% rename from group_vars/aws-si-asm/passwords.yml rename to inventory/group_vars/aws-si-asm/passwords.yml diff --git a/group_vars/aws-si-fs/aws-si-fs.yml b/inventory/group_vars/aws-si-fs/aws-si-fs.yml similarity index 100% rename from group_vars/aws-si-fs/aws-si-fs.yml rename to inventory/group_vars/aws-si-fs/aws-si-fs.yml diff --git a/group_vars/aws-si-fs/passwords.yml b/inventory/group_vars/aws-si-fs/passwords.yml similarity index 100% rename from group_vars/aws-si-fs/passwords.yml rename to inventory/group_vars/aws-si-fs/passwords.yml diff --git a/group_vars/drracttack/drracattack.yml b/inventory/group_vars/drracttack/drracattack.yml similarity index 100% rename from group_vars/drracttack/drracattack.yml rename to inventory/group_vars/drracttack/drracattack.yml diff --git a/group_vars/orarac-dc1/orarac-dc1.yml b/inventory/group_vars/orarac-dc1/orarac-dc1.yml similarity index 100% rename from group_vars/orarac-dc1/orarac-dc1.yml rename to inventory/group_vars/orarac-dc1/orarac-dc1.yml diff --git a/group_vars/orarac-dc1/passwords.yml b/inventory/group_vars/orarac-dc1/passwords.yml similarity index 100% rename from group_vars/orarac-dc1/passwords.yml rename to inventory/group_vars/orarac-dc1/passwords.yml diff --git a/group_vars/orarac-flex b/inventory/group_vars/orarac-flex similarity index 100% rename from group_vars/orarac-flex rename to inventory/group_vars/orarac-flex diff --git a/group_vars/racattack/passwords.yml b/inventory/group_vars/racattack/passwords.yml similarity index 100% rename from group_vars/racattack/passwords.yml rename to inventory/group_vars/racattack/passwords.yml diff --git a/group_vars/racattack/racattack.yml b/inventory/group_vars/racattack/racattack.yml similarity index 100% rename from group_vars/racattack/racattack.yml rename to inventory/group_vars/racattack/racattack.yml diff --git a/group_vars/vbox-rac-dc1/databases.yml b/inventory/group_vars/vbox-rac-dc1/databases.yml similarity index 100% rename from group_vars/vbox-rac-dc1/databases.yml rename to inventory/group_vars/vbox-rac-dc1/databases.yml diff --git a/group_vars/vbox-rac-dc1/db-homes.yml b/inventory/group_vars/vbox-rac-dc1/db-homes.yml similarity index 100% rename from group_vars/vbox-rac-dc1/db-homes.yml rename to inventory/group_vars/vbox-rac-dc1/db-homes.yml diff --git a/group_vars/vbox-rac-dc1/diskgroups.yml b/inventory/group_vars/vbox-rac-dc1/diskgroups.yml similarity index 100% rename from group_vars/vbox-rac-dc1/diskgroups.yml rename to inventory/group_vars/vbox-rac-dc1/diskgroups.yml diff --git a/group_vars/vbox-rac-dc1/gi.yml b/inventory/group_vars/vbox-rac-dc1/gi.yml similarity index 100% rename from group_vars/vbox-rac-dc1/gi.yml rename to inventory/group_vars/vbox-rac-dc1/gi.yml diff --git a/group_vars/vbox-rac-dc1/passwords.yml b/inventory/group_vars/vbox-rac-dc1/passwords.yml similarity index 100% rename from group_vars/vbox-rac-dc1/passwords.yml rename to inventory/group_vars/vbox-rac-dc1/passwords.yml diff --git a/group_vars/vbox-rac-dc1/pdbs.yml b/inventory/group_vars/vbox-rac-dc1/pdbs.yml similarity index 100% rename from group_vars/vbox-rac-dc1/pdbs.yml rename to inventory/group_vars/vbox-rac-dc1/pdbs.yml diff --git a/group_vars/vbox-rac-dc1/vbox-rac-dc1.yml b/inventory/group_vars/vbox-rac-dc1/vbox-rac-dc1.yml similarity index 100% rename from group_vars/vbox-rac-dc1/vbox-rac-dc1.yml rename to inventory/group_vars/vbox-rac-dc1/vbox-rac-dc1.yml diff --git a/group_vars/vbox-rac-dc2/databases.yml b/inventory/group_vars/vbox-rac-dc2/databases.yml similarity index 100% rename from group_vars/vbox-rac-dc2/databases.yml rename to inventory/group_vars/vbox-rac-dc2/databases.yml diff --git a/group_vars/vbox-rac-dc2/db-homes.yml b/inventory/group_vars/vbox-rac-dc2/db-homes.yml similarity index 100% rename from group_vars/vbox-rac-dc2/db-homes.yml rename to inventory/group_vars/vbox-rac-dc2/db-homes.yml diff --git a/group_vars/vbox-rac-dc2/diskgroups.yml b/inventory/group_vars/vbox-rac-dc2/diskgroups.yml similarity index 100% rename from group_vars/vbox-rac-dc2/diskgroups.yml rename to inventory/group_vars/vbox-rac-dc2/diskgroups.yml diff --git a/group_vars/vbox-rac-dc2/gi.yml b/inventory/group_vars/vbox-rac-dc2/gi.yml similarity index 100% rename from group_vars/vbox-rac-dc2/gi.yml rename to inventory/group_vars/vbox-rac-dc2/gi.yml diff --git a/group_vars/vbox-rac-dc2/passwords.yml b/inventory/group_vars/vbox-rac-dc2/passwords.yml similarity index 100% rename from group_vars/vbox-rac-dc2/passwords.yml rename to inventory/group_vars/vbox-rac-dc2/passwords.yml diff --git a/group_vars/vbox-rac-dc2/pdbs.yml b/inventory/group_vars/vbox-rac-dc2/pdbs.yml similarity index 100% rename from group_vars/vbox-rac-dc2/pdbs.yml rename to inventory/group_vars/vbox-rac-dc2/pdbs.yml diff --git a/group_vars/vbox-rac-dc2/vbox-rac-dc2.yml b/inventory/group_vars/vbox-rac-dc2/vbox-rac-dc2.yml similarity index 100% rename from group_vars/vbox-rac-dc2/vbox-rac-dc2.yml rename to inventory/group_vars/vbox-rac-dc2/vbox-rac-dc2.yml diff --git a/group_vars/vbox-si-asm/databases.yml b/inventory/group_vars/vbox-si-asm/databases.yml similarity index 100% rename from group_vars/vbox-si-asm/databases.yml rename to inventory/group_vars/vbox-si-asm/databases.yml diff --git a/group_vars/vbox-si-asm/db-homes.yml b/inventory/group_vars/vbox-si-asm/db-homes.yml similarity index 100% rename from group_vars/vbox-si-asm/db-homes.yml rename to inventory/group_vars/vbox-si-asm/db-homes.yml diff --git a/group_vars/vbox-si-asm/diskgroups.yml b/inventory/group_vars/vbox-si-asm/diskgroups.yml similarity index 100% rename from group_vars/vbox-si-asm/diskgroups.yml rename to inventory/group_vars/vbox-si-asm/diskgroups.yml diff --git a/group_vars/vbox-si-asm/gi.yml b/inventory/group_vars/vbox-si-asm/gi.yml similarity index 100% rename from group_vars/vbox-si-asm/gi.yml rename to inventory/group_vars/vbox-si-asm/gi.yml diff --git a/group_vars/vbox-si-asm/passwords.yml b/inventory/group_vars/vbox-si-asm/passwords.yml similarity index 100% rename from group_vars/vbox-si-asm/passwords.yml rename to inventory/group_vars/vbox-si-asm/passwords.yml diff --git a/group_vars/vbox-si-asm/pdbs.yml b/inventory/group_vars/vbox-si-asm/pdbs.yml similarity index 100% rename from group_vars/vbox-si-asm/pdbs.yml rename to inventory/group_vars/vbox-si-asm/pdbs.yml diff --git a/group_vars/vbox-si-asm/vbox-si-asm.yml b/inventory/group_vars/vbox-si-asm/vbox-si-asm.yml similarity index 100% rename from group_vars/vbox-si-asm/vbox-si-asm.yml rename to inventory/group_vars/vbox-si-asm/vbox-si-asm.yml diff --git a/group_vars/vbox-si-fs/databases.yml b/inventory/group_vars/vbox-si-fs/databases.yml similarity index 100% rename from group_vars/vbox-si-fs/databases.yml rename to inventory/group_vars/vbox-si-fs/databases.yml diff --git a/group_vars/vbox-si-fs/db-homes.yml b/inventory/group_vars/vbox-si-fs/db-homes.yml similarity index 100% rename from group_vars/vbox-si-fs/db-homes.yml rename to inventory/group_vars/vbox-si-fs/db-homes.yml diff --git a/group_vars/vbox-si-fs/passwords.yml b/inventory/group_vars/vbox-si-fs/passwords.yml similarity index 100% rename from group_vars/vbox-si-fs/passwords.yml rename to inventory/group_vars/vbox-si-fs/passwords.yml diff --git a/group_vars/vbox-si-fs/pdbs.yml b/inventory/group_vars/vbox-si-fs/pdbs.yml similarity index 100% rename from group_vars/vbox-si-fs/pdbs.yml rename to inventory/group_vars/vbox-si-fs/pdbs.yml diff --git a/group_vars/vbox-si-fs/vbox-si-fs.yml b/inventory/group_vars/vbox-si-fs/vbox-si-fs.yml similarity index 95% rename from group_vars/vbox-si-fs/vbox-si-fs.yml rename to inventory/group_vars/vbox-si-fs/vbox-si-fs.yml index e44209303..1c5ec1206 100644 --- a/group_vars/vbox-si-fs/vbox-si-fs.yml +++ b/inventory/group_vars/vbox-si-fs/vbox-si-fs.yml @@ -19,7 +19,7 @@ configure_epel_repo: false configure_public_yum_repo: false disable_selinux: false -disable_EE_options: false +disable_ee_options: false # noqa var-naming host_fs_layout: diff --git a/host_vars/.keep b/inventory/host_vars/.keep similarity index 100% rename from host_vars/.keep rename to inventory/host_vars/.keep diff --git a/aws-si-asm-install.yml b/playbooks/aws-si-asm-install.yml similarity index 83% rename from aws-si-asm-install.yml rename to playbooks/aws-si-asm-install.yml index cfbc72565..8b6815060 100644 --- a/aws-si-asm-install.yml +++ b/playbooks/aws-si-asm-install.yml @@ -9,7 +9,7 @@ roles: - common - orahost - - orahost-storage + - orahost_storage - name: Oracle Grid Infrastructure installation & ASM Configuration hosts: aws-si-asm @@ -17,8 +17,8 @@ user: ec2-user become: true roles: - - oraswgi-install - - oraasm-createdg + - oraswgi_install + - oraasm_createdg - name: Database Server Installation & Database Creation hosts: aws-si-asm @@ -26,8 +26,8 @@ user: ec2-user become: true roles: - - oraswdb-install - - oradb-manage-db + - oraswdb_install + - oradb_manage_db - name: Install cx_oracle hosts: aws-si-asm @@ -43,4 +43,4 @@ user: ec2-user become: true roles: - - orahost-logrotate + - orahost_logrotate diff --git a/playbooks/customize-db.yml b/playbooks/customize-db.yml new file mode 100644 index 000000000..661990b95 --- /dev/null +++ b/playbooks/customize-db.yml @@ -0,0 +1,13 @@ +--- +- name: Customize database + hosts: "{{ hostgroup | default('all') }}" + become: true + roles: + - oradb_manage_pdb + - oradb_manage_tablespace + - oradb_manage_parameters + - oradb_manage_redo + - oradb_manage_roles + - oradb_manage_users + - oradb_manage_grants + - oradb_manage_services diff --git a/db-opatch.yml b/playbooks/db-opatch.yml old mode 100755 new mode 100644 similarity index 75% rename from db-opatch.yml rename to playbooks/db-opatch.yml index aac653829..7d3e08fcb --- a/db-opatch.yml +++ b/playbooks/db-opatch.yml @@ -4,10 +4,10 @@ become: true serial: 1 roles: - - {role: oraswdb-manage-patches} + - {role: oraswdb_manage_patches} - name: Run datapatch hosts: "{{ hostgroup | default('all') }}" become: true roles: - - {role: oradb-datapatch} + - {role: oradb_datapatch} diff --git a/delete-db.yml b/playbooks/delete-db.yml old mode 100755 new mode 100644 similarity index 89% rename from delete-db.yml rename to playbooks/delete-db.yml index 551a6b120..6cf9fbd92 --- a/delete-db.yml +++ b/playbooks/delete-db.yml @@ -7,4 +7,4 @@ become: true become_user: oracle roles: - - oradb-delete + - oradb_delete diff --git a/drracattack-full-install.yml b/playbooks/drracattack-full-install.yml similarity index 82% rename from drracattack-full-install.yml rename to playbooks/drracattack-full-install.yml index 42d0f2a8b..c11ab1729 100644 --- a/drracattack-full-install.yml +++ b/playbooks/drracattack-full-install.yml @@ -10,18 +10,18 @@ hosts: drracattack-hub user: root roles: - - orahost-storage + - orahost_storage - name: Oracle Grid Infrastructure installation hosts: drracattack user: root roles: - - oraswgi-install + - oraswgi_install - name: ASM Configuration, Database Server Installation & Database Creation hosts: drracattack-hub user: root roles: - - oraasm-createdg - - oraswdb-install + - oraasm_createdg + - oraswdb_install # - oradb-create diff --git a/full-rac-flex-install.yml b/playbooks/full-rac-flex-install.yml similarity index 81% rename from full-rac-flex-install.yml rename to playbooks/full-rac-flex-install.yml index 05466a542..f8e625f22 100644 --- a/full-rac-flex-install.yml +++ b/playbooks/full-rac-flex-install.yml @@ -12,20 +12,20 @@ user: ansible become: true roles: - - orahost-storage + - orahost_storage - name: Oracle Grid Infrastructure installation hosts: orarac-flex user: ansible become: true roles: - - oraswgi-install + - oraswgi_install - name: ASM Configuration, Database Server Installation & Database Creation hosts: orarac-flex-hub user: ansible become: true roles: - - oraasm-createdg - - oraswdb-install - - oradb-create + - oraasm_createdg + - oraswdb_install + - oradb_create diff --git a/full-rac-install-dc1.yml b/playbooks/full-rac-install-dc1.yml similarity index 74% rename from full-rac-install-dc1.yml rename to playbooks/full-rac-install-dc1.yml index 2c8a33d8a..ded0b4d4f 100644 --- a/full-rac-install-dc1.yml +++ b/playbooks/full-rac-install-dc1.yml @@ -7,7 +7,7 @@ roles: - common - orahost - - orahost-storage + - orahost_storage - name: ssh configuration hosts: vbox-rac-dc1 @@ -15,23 +15,23 @@ become: true serial: 1 roles: - - {role: orahost-ssh, when: configure_cluster and not old_ssh_config} + - {role: orahost_ssh, when: configure_cluster and not old_ssh_config} - name: Oracle Grid Infrastructure installation & ASM Configuration hosts: orarac-dc1 user: ansible become: true roles: - - oraswgi-install - - oraasm-createdg + - oraswgi_install + - oraasm_createdg - name: Database Server Installation & Database Creation hosts: orarac-dc1 user: ansible become: true roles: - - oraswdb-install - - oradb-create + - oraswdb_install + - oradb_create - name: Tweaks hosts: orarac-dc1 @@ -39,4 +39,4 @@ become: true roles: - cxoracle - - orahost-logrotate + - orahost_logrotate diff --git a/gi-opatch.yml b/playbooks/gi-opatch.yml old mode 100755 new mode 100644 similarity index 75% rename from gi-opatch.yml rename to playbooks/gi-opatch.yml index b77e41f36..b252c3229 --- a/gi-opatch.yml +++ b/playbooks/gi-opatch.yml @@ -4,4 +4,4 @@ become: true serial: 1 roles: - - {role: oraswgi-manage-patches} + - {role: oraswgi_manage_patches} diff --git a/manage-db.yml b/playbooks/manage-db.yml old mode 100755 new mode 100644 similarity index 85% rename from manage-db.yml rename to playbooks/manage-db.yml index 18c65ad52..e51351026 --- a/manage-db.yml +++ b/playbooks/manage-db.yml @@ -4,4 +4,4 @@ hosts: "{{ hostgroup | default('all') }}" become: true roles: - - oradb-manage-db + - oradb_manage_db diff --git a/racattack-full-install.yml b/playbooks/racattack-full-install.yml similarity index 78% rename from racattack-full-install.yml rename to playbooks/racattack-full-install.yml index 19098fcc1..ffb5123f4 100644 --- a/racattack-full-install.yml +++ b/playbooks/racattack-full-install.yml @@ -10,18 +10,18 @@ hosts: racattack-hub user: root roles: - - orahost-storage + - orahost_storage - name: Oracle Grid Infrastructure installation hosts: racattack user: root roles: - - oraswgi-install + - oraswgi_install - name: ASM Configuration, Database Server Installation & Database Creation hosts: racattack-hub user: root roles: - - oraasm-createdg - - oraswdb-install - - oradb-create + - oraasm_createdg + - oraswdb_install + - oradb_create diff --git a/single-instance-db-on-asm.yml b/playbooks/single-instance-db-on-asm.yml similarity index 73% rename from single-instance-db-on-asm.yml rename to playbooks/single-instance-db-on-asm.yml index abbb2f51c..6bf17cb22 100644 --- a/single-instance-db-on-asm.yml +++ b/playbooks/single-instance-db-on-asm.yml @@ -7,33 +7,33 @@ roles: - common - orahost - - orahost-storage + - orahost_storage - name: Oracle Grid Infrastructure installation & ASM Configuration hosts: "{{ hostgroup }}" become: true roles: - - oraswgi-install - - oraasm-createdg + - oraswgi_install + - oraasm_createdg - name: Database Server Installation & Database Creation hosts: "{{ hostgroup | default('all') }}" become: true roles: - - oraswdb-install - - oradb-manage-db + - oraswdb_install + - oradb_manage_db - name: Tweaks become: true hosts: "{{ hostgroup | default('all') }}" roles: - cxoracle - - orahost-logrotate + - orahost_logrotate # - name: Database configuration (tablespaces, parameters etc) # hosts: "{{ hostgroup }}" # become: yes # roles: -# - oradb-parameters -# - oradb-tablespace -# - oradb-users +# - oradb_parameters +# - oradb_tablespace +# - oradb_users diff --git a/single-instance-db-on-fs.yml b/playbooks/single-instance-db-on-fs.yml similarity index 84% rename from single-instance-db-on-fs.yml rename to playbooks/single-instance-db-on-fs.yml index 1ec7a78b3..c2a89d30e 100644 --- a/single-instance-db-on-fs.yml +++ b/playbooks/single-instance-db-on-fs.yml @@ -13,5 +13,5 @@ hosts: "{{ hostgroup }}" become: true roles: - - oraswdb-install - - oradb-manage-db + - oraswdb_install + - oradb_manage_db diff --git a/vbox-rac-dc1.yml b/playbooks/vbox-rac-dc1.yml similarity index 63% rename from vbox-rac-dc1.yml rename to playbooks/vbox-rac-dc1.yml index 2d8dc0be2..3f0eef02c 100644 --- a/vbox-rac-dc1.yml +++ b/playbooks/vbox-rac-dc1.yml @@ -13,21 +13,21 @@ become: true serial: 1 roles: - - {role: orahost-ssh, when: configure_cluster and not old_ssh_config} + - {role: orahost_ssh, when: configure_cluster and not old_ssh_config} - name: Storage Configuration hosts: vbox-rac-dc1 user: vagrant become: true roles: - - orahost-storage + - orahost_storage - name: Oracle Grid Infrastructure installation hosts: vbox-rac-dc1 user: vagrant become: true roles: - - oraswgi-install + - oraswgi_install - name: Install cx_oracle hosts: vbox-rac-dc1 @@ -41,8 +41,8 @@ user: vagrant become: true roles: - - {role: oraasm-createdg, when: old_diskgroup_config} - - {role: oraasm-manage-diskgroups, when: not old_diskgroup_config} + - {role: oraasm_createdg, when: old_diskgroup_config} + - {role: oraasm_manage_diskgroups, when: not old_diskgroup_config} - name: Database Server Installation & Database Creation @@ -51,33 +51,33 @@ become: true roles: - oraswdb-install - - {role: oraswdb-manage-patches, when: apply_patches_db} - - oradb-manage-db + - {role: oraswdb_manage_patches, when: apply_patches_db} + - oradb_manage_db - name: Configure Logrotate hosts: vbox-rac-dc1 user: vagrant become: true roles: - - orahost-logrotate + - orahost_logrotate - name: Customize database hosts: vbox-rac-dc1 user: vagrant become: true roles: - - oradb-manage-pdb - - oradb-manage-tablespace - - oradb-manage-parameters - - oradb-manage-redo - - oradb-manage-roles - - oradb-manage-users - - oradb-manage-grants - - oradb-manage-services + - oradb_manage_pdb + - oradb_manage_tablespace + - oradb_manage_parameters + - oradb_manage_redo + - oradb_manage_roles + - oradb_manage_users + - oradb_manage_grants + - oradb_manage_services - name: Run Datapatch hosts: vbox-si-rac-dc1 user: vagrant become: true roles: - - {role: oradb-datapatch, when: apply_patches_db} + - {role: oradb_datapatch, when: apply_patches_db} diff --git a/vbox-rac-dc2.yml b/playbooks/vbox-rac-dc2.yml similarity index 62% rename from vbox-rac-dc2.yml rename to playbooks/vbox-rac-dc2.yml index 3d26255e0..4704e6f5f 100644 --- a/vbox-rac-dc2.yml +++ b/playbooks/vbox-rac-dc2.yml @@ -13,21 +13,21 @@ become: true serial: 1 roles: - - {role: orahost-ssh, when: configure_cluster and not old_ssh_config} + - {role: orahost_ssh, when: configure_cluster and not old_ssh_config} - name: Storage Configuration hosts: vbox-rac-dc2 user: vagrant become: true roles: - - orahost-storage + - orahost_storage - name: Oracle Grid Infrastructure installation hosts: vbox-rac-dc2 user: vagrant become: true roles: - - oraswgi-install + - oraswgi_install - name: Install cx_oracle hosts: vbox-rac-dc2 @@ -41,8 +41,7 @@ user: vagrant become: true roles: - - {role: oraasm-createdg, when: old_diskgroup_config} - - {role: oraasm-manage-diskgroups, when: not old_diskgroup_config} + - {role: oraasm_manage-diskgroups, when: not old_diskgroup_config} - name: Database Server Installation & Database Creation @@ -50,34 +49,34 @@ user: vagrant become: true roles: - - oraswdb-install - - {role: oraswdb-manage-patches, when: apply_patches_db} - - oradb-manage-db + - oraswdb_install + - {role: oraswdb_manage_patches, when: apply_patches_db} + - oradb_manage_db - name: Configure Logrotate hosts: vbox-rac-dc2 user: vagrant become: true roles: - - orahost-logrotate + - orahost_logrotate - name: Customize database hosts: vbox-rac-dc2 user: vagrant sudo: true roles: - - oradb-manage-pdb - - oradb-manage-tablespace - - oradb-manage-parameters - - oradb-manage-redo - - oradb-manage-roles - - oradb-manage-users - - oradb-manage-grants - - oradb-manage-services + - oradb_manage_pdb + - oradb_manage_tablespace + - oradb_manage_parameters + - oradb_manage_redo + - oradb_manage_roles + - oradb_manage_users + - oradb_manage_grants + - oradb_manage_services - name: Run Datapatch hosts: vbox-si-rac-dc2 user: vagrant become: true roles: - - {role: oradb-datapatch, when: apply_patches_db} + - {role: oradb_datapatch, when: apply_patches_db} diff --git a/vbox-rac-full-install.yml b/playbooks/vbox-rac-full-install.yml similarity index 81% rename from vbox-rac-full-install.yml rename to playbooks/vbox-rac-full-install.yml index 047aa676a..12bba6467 100644 --- a/vbox-rac-full-install.yml +++ b/playbooks/vbox-rac-full-install.yml @@ -12,7 +12,7 @@ become: true serial: 1 roles: - - {role: orahost-ssh, when: configure_cluster and not old_ssh_config} + - {role: orahost_ssh, when: configure_cluster and not old_ssh_config} - name: Storage Configuration hosts: vbox-rac-hub @@ -26,16 +26,16 @@ user: vagrant become: true roles: - - oraswgi-install + - oraswgi_install - name: ASM Configuration, Database Server Installation & Database Creation hosts: vbox-rac-hub user: vagrant become: true roles: - - oraasm-createdg - - oraswdb-install - - oradb-manage-db + - oraasm_createdg + - oraswdb_install + - oradb_manage_db - name: Install cx_oracle hosts: vbox-rac-hub @@ -49,4 +49,4 @@ user: vagrant become: true roles: - - orahost-logrotate + - orahost_logrotate diff --git a/vbox-si-asm-install.yml b/playbooks/vbox-si-asm-install.yml similarity index 59% rename from vbox-si-asm-install.yml rename to playbooks/vbox-si-asm-install.yml index 51064f59c..fc78bfbe5 100644 --- a/vbox-si-asm-install.yml +++ b/playbooks/vbox-si-asm-install.yml @@ -7,14 +7,14 @@ roles: - common - orahost - - orahost-storage + - orahost_storage - name: Oracle Grid Infrastructure installation hosts: vbox-si-asm user: vagrant become: true roles: - - oraswgi-install + - oraswgi_install - name: Install cx_oracle hosts: vbox-si-asm @@ -28,24 +28,23 @@ user: vagrant become: true roles: - - {role: oraasm-createdg, when: old_diskgroup_config} - - {role: oraasm-manage-diskgroups, when: not old_diskgroup_config} + - {role: oraasm_manage_diskgroups, when: not old_diskgroup_config} - name: Database Server Installation & Database Creation hosts: vbox-si-asm user: vagrant become: true roles: - - oraswdb-install - - {role: oraswdb-manage-patches, when: apply_patches_db} - - oradb-manage-db + - oraswdb_install + - {role: oraswdb_manage_patches, when: apply_patches_db} + - oradb_manage_db - name: Configure Logrotate hosts: vbox-si-asm user: vagrant become: true roles: - - orahost-logrotate + - orahost_logrotate - name: Customize database(s) @@ -53,18 +52,18 @@ user: vagrant become: true roles: - - oradb-manage-pdb - - oradb-manage-tablespace - - oradb-manage-parameters - - oradb-manage-redo - - oradb-manage-roles - - oradb-manage-users - - oradb-manage-grants - - oradb-manage-services + - oradb_manage_pdb + - oradb_manage_tablespace + - oradb_manage_parameters + - oradb_manage_redo + - oradb_manage_roles + - oradb_manage_users + - oradb_manage_grants + - oradb_manage_services - name: Run Datapatch hosts: vbox-si-asm user: vagrant become: true roles: - - {role: oradb-datapatch, when: apply_patches_db} + - {role: oradb_datapatch, when: apply_patches_db} diff --git a/vbox-si-fs-install.yml b/playbooks/vbox-si-fs-install.yml similarity index 56% rename from vbox-si-fs-install.yml rename to playbooks/vbox-si-fs-install.yml index 797377f8b..48c64e8ec 100644 --- a/vbox-si-fs-install.yml +++ b/playbooks/vbox-si-fs-install.yml @@ -13,35 +13,35 @@ user: vagrant become: true roles: - - oraswdb-install + - oraswdb_install - cxoracle - - {role: oraswdb-manage-patches, when: apply_patches_db} - - oradb-manage-db + - {role: oraswdb_manage_patches, when: apply_patches_db} + - oradb_manage_db - name: Configure Logrotate hosts: vbox-si-fs user: vagrant become: true roles: - - orahost-logrotate + - orahost_logrotate - name: Customize database(s) hosts: vbox-si-fs user: vagrant become: true roles: - - oradb-manage-pdb - - oradb-manage-tablespace - - oradb-manage-parameters - - oradb-manage-redo - - oradb-manage-roles - - oradb-manage-users - - oradb-manage-grants - - oradb-manage-services + - oradb_manage_pdb + - oradb_manage_tablespace + - oradb_manage_parameters + - oradb_manage_redo + - oradb_manage_roles + - oradb_manage_users + - oradb_manage_grants + - oradb_manage_services - name: Run Datapatch hosts: vbox-si-fs user: vagrant become: true roles: - - {role: oradb-datapatch, when: apply_patches_db} + - {role: oradb_datapatch, when: apply_patches_db} diff --git a/library/LICENSE b/plugins/modules/LICENSE similarity index 100% rename from library/LICENSE rename to plugins/modules/LICENSE diff --git a/library/README.md b/plugins/modules/README.md similarity index 100% rename from library/README.md rename to plugins/modules/README.md diff --git a/library/oracle_acfs b/plugins/modules/oracle_acfs similarity index 100% rename from library/oracle_acfs rename to plugins/modules/oracle_acfs diff --git a/library/oracle_asmdg b/plugins/modules/oracle_asmdg similarity index 100% rename from library/oracle_asmdg rename to plugins/modules/oracle_asmdg diff --git a/library/oracle_asmvol b/plugins/modules/oracle_asmvol similarity index 100% rename from library/oracle_asmvol rename to plugins/modules/oracle_asmvol diff --git a/library/oracle_awr b/plugins/modules/oracle_awr similarity index 100% rename from library/oracle_awr rename to plugins/modules/oracle_awr diff --git a/library/oracle_datapatch b/plugins/modules/oracle_datapatch similarity index 100% rename from library/oracle_datapatch rename to plugins/modules/oracle_datapatch diff --git a/library/oracle_db b/plugins/modules/oracle_db similarity index 100% rename from library/oracle_db rename to plugins/modules/oracle_db diff --git a/library/oracle_directory b/plugins/modules/oracle_directory similarity index 100% rename from library/oracle_directory rename to plugins/modules/oracle_directory diff --git a/library/oracle_facts b/plugins/modules/oracle_facts similarity index 100% rename from library/oracle_facts rename to plugins/modules/oracle_facts diff --git a/library/oracle_gi_facts b/plugins/modules/oracle_gi_facts similarity index 100% rename from library/oracle_gi_facts rename to plugins/modules/oracle_gi_facts diff --git a/library/oracle_grants b/plugins/modules/oracle_grants similarity index 100% rename from library/oracle_grants rename to plugins/modules/oracle_grants diff --git a/library/oracle_job b/plugins/modules/oracle_job similarity index 100% rename from library/oracle_job rename to plugins/modules/oracle_job diff --git a/library/oracle_jobclass b/plugins/modules/oracle_jobclass similarity index 100% rename from library/oracle_jobclass rename to plugins/modules/oracle_jobclass diff --git a/library/oracle_jobschedule b/plugins/modules/oracle_jobschedule similarity index 100% rename from library/oracle_jobschedule rename to plugins/modules/oracle_jobschedule diff --git a/library/oracle_jobwindow b/plugins/modules/oracle_jobwindow similarity index 100% rename from library/oracle_jobwindow rename to plugins/modules/oracle_jobwindow diff --git a/library/oracle_ldapuser b/plugins/modules/oracle_ldapuser similarity index 100% rename from library/oracle_ldapuser rename to plugins/modules/oracle_ldapuser diff --git a/library/oracle_opatch b/plugins/modules/oracle_opatch similarity index 100% rename from library/oracle_opatch rename to plugins/modules/oracle_opatch diff --git a/library/oracle_parameter b/plugins/modules/oracle_parameter similarity index 100% rename from library/oracle_parameter rename to plugins/modules/oracle_parameter diff --git a/library/oracle_pdb b/plugins/modules/oracle_pdb similarity index 100% rename from library/oracle_pdb rename to plugins/modules/oracle_pdb diff --git a/library/oracle_privs b/plugins/modules/oracle_privs similarity index 100% rename from library/oracle_privs rename to plugins/modules/oracle_privs diff --git a/library/oracle_profile b/plugins/modules/oracle_profile similarity index 100% rename from library/oracle_profile rename to plugins/modules/oracle_profile diff --git a/library/oracle_redo b/plugins/modules/oracle_redo similarity index 100% rename from library/oracle_redo rename to plugins/modules/oracle_redo diff --git a/library/oracle_role b/plugins/modules/oracle_role similarity index 100% rename from library/oracle_role rename to plugins/modules/oracle_role diff --git a/library/oracle_rsrc_consgroup b/plugins/modules/oracle_rsrc_consgroup similarity index 100% rename from library/oracle_rsrc_consgroup rename to plugins/modules/oracle_rsrc_consgroup diff --git a/library/oracle_services b/plugins/modules/oracle_services similarity index 100% rename from library/oracle_services rename to plugins/modules/oracle_services diff --git a/library/oracle_sql b/plugins/modules/oracle_sql similarity index 100% rename from library/oracle_sql rename to plugins/modules/oracle_sql diff --git a/library/oracle_sqldba b/plugins/modules/oracle_sqldba similarity index 100% rename from library/oracle_sqldba rename to plugins/modules/oracle_sqldba diff --git a/library/oracle_stats_prefs b/plugins/modules/oracle_stats_prefs similarity index 100% rename from library/oracle_stats_prefs rename to plugins/modules/oracle_stats_prefs diff --git a/library/oracle_tablespace b/plugins/modules/oracle_tablespace similarity index 100% rename from library/oracle_tablespace rename to plugins/modules/oracle_tablespace diff --git a/library/oracle_user b/plugins/modules/oracle_user similarity index 100% rename from library/oracle_user rename to plugins/modules/oracle_user diff --git a/library/test-modules.yml b/plugins/modules/test-modules.yml similarity index 100% rename from library/test-modules.yml rename to plugins/modules/test-modules.yml diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml index f9428d07b..927c6640d 100644 --- a/roles/common/tasks/main.yml +++ b/roles/common/tasks/main.yml @@ -1,36 +1,20 @@ # Common playbook - sets up the host generic stuff --- -# - name: Add {{ default_user }} user -# user: name={{ default_user }} state=present password={{ default_user_password }} -# tags: -# - user - -# - name: Add {{ default_user }} to sudoers -# template: src=sudoers.j2 dest=/etc/sudoers.d/{{ default_user }} owner=root mode=0644 -# tags: -# - sudoadd - -# - name: Set up authorized_keys for {{ default_user }} -# authorized_key: user={{ default_user }} key="{{ item }}" -# with_file: -# - "~/.ssh/authorized_keys" -# tags: -# - keys - name: Check for correct Ansible Version (>= 2.8) - assert: + ansible.builtin.assert: that: - "ansible_version.full is version('2.8', '>=')" - name: Install EPEL Repo block: - name: Install GPG Key for EPEL - rpm_key: + ansible.builtin.rpm_key: state: present key: https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }} - name: Add EPEL Repo - yum: + ansible.builtin.yum: name: "{{ epel_rpm }}" state: installed @@ -43,7 +27,7 @@ # Do not use the old public-yum.repo on OL7 after January 2019 anymore # Check for /usr/bin/ol_yum_configure.sh in newer systems - name: Check for ol_yum_configure.sh - stat: + ansible.builtin.stat: path: /usr/bin/ol_yum_configure.sh register: olyumconfigfile when: configure_public_yum_repo and ansible_distribution == 'OracleLinux' @@ -52,7 +36,7 @@ # Update public-yum.repo only on old versions of OL7 - name: Get newest repo-file for OL (public-yum) - get_url: + ansible.builtin.get_url: dest: "{{ repo_dir }}/{{ ol_repo_file }}" url: "http://public-yum.oracle.com/{{ ol_repo_file }}" backup: true @@ -65,22 +49,22 @@ - olrepo - name: Install common packages OL/RHEL - yum: name={{ common_packages }} state=installed + ansible.builtin.yum: name={{ common_packages }} state=installed when: install_os_packages and ansible_os_family == 'RedHat' tags: - commonpackages - name: Install common packages SLES12 - zypper: name={{ common_packages_sles }} state=installed + ansible.builtin.zypper: name={{ common_packages_sles }} state=installed when: install_os_packages and ansible_os_family == 'Suse' tags: - commonpackages - name: Start and enable ntp or chrony - service: name={{ ntp_type }}d state=started enabled=yes + ansible.builtin.service: name={{ ntp_type }}d state=started enabled=yes when: configure_ntp - name: Add motd - template: src=motd.j2 dest=/etc/motd mode=0644 + ansible.builtin.template: src=motd.j2 dest=/etc/motd mode=0644 tags: motd when: configure_motd diff --git a/roles/cxoracle/tasks/main.yml b/roles/cxoracle/tasks/main.yml index f8896d037..ddcb94ec9 100644 --- a/roles/cxoracle/tasks/main.yml +++ b/roles/cxoracle/tasks/main.yml @@ -1,7 +1,7 @@ # cxoracle-install playbook --- - name: Install cx_oracle - pip: + ansible.builtin.pip: name="{{ cx_oracle_source | default('cx_oracle<8.0') }}" extra_args="{{ extra_args }}" umask={{ cx_oracle_umask | default (omit) }} diff --git a/roles/oraasm-manage-diskgroups/README.md b/roles/oraasm_manage_diskgroups/README.md similarity index 100% rename from roles/oraasm-manage-diskgroups/README.md rename to roles/oraasm_manage_diskgroups/README.md diff --git a/roles/oraasm-manage-diskgroups/defaults/main.yml b/roles/oraasm_manage_diskgroups/defaults/main.yml similarity index 100% rename from roles/oraasm-manage-diskgroups/defaults/main.yml rename to roles/oraasm_manage_diskgroups/defaults/main.yml diff --git a/roles/oraasm-manage-diskgroups/tasks/main.yml b/roles/oraasm_manage_diskgroups/tasks/main.yml similarity index 91% rename from roles/oraasm-manage-diskgroups/tasks/main.yml rename to roles/oraasm_manage_diskgroups/tasks/main.yml index 4a2545401..c893432fa 100644 --- a/roles/oraasm-manage-diskgroups/tasks/main.yml +++ b/roles/oraasm_manage_diskgroups/tasks/main.yml @@ -1,7 +1,7 @@ --- # tasks file for asm-diskgroups -- name: oraasm-manage-dgs | Manage diskgroups +- name: oraasm_manage_diskgroups | Manage diskgroups oracle_asmdg: un=sys pw={{ sysasmpassword }} diff --git a/roles/oradb-manage-parameters/tasks/main.yml b/roles/oradb-manage-parameters/tasks/main.yml deleted file mode 100644 index 4f271cf44..000000000 --- a/roles/oradb-manage-parameters/tasks/main.yml +++ /dev/null @@ -1,110 +0,0 @@ ---- -- name: Manage parameters (db/cdb) - oracle_parameter: - hostname={{ ansible_hostname }} - service_name={{ db_service_name }} - port={{ listener_port_template }} - user={{ db_user }} - password={{ db_password_cdb }} - mode={{ db_mode }} - name={{ item.1.name }} - value={{ item.1.value }} - state={{ item.1.state }} - scope={{ item.1.scope | default ('both') }} - environment: "{{ oracle_env }}" - run_once: "{{ configure_cluster }}" - with_subelements: - - "{{ oracle_databases }}" - - init_parameters - - flags: - skip_missing: true - when: oracle_databases is defined and item.0.state|lower == 'present' and item.1 is defined - become_user: "{{ oracle_user }}" - loop_control: - label: "port: {{ listener_port_template }} service: {{ db_service_name }} name: {{ item.1.name }} value: {{ item.1.value }} scope: {{ item.1.scope | default ('both') }} state:{{ item.1.state }}" - # noqa yaml - register: param_change - tags: initparams - -- name: Manage parameters (pdb) - oracle_parameter: - hostname={{ ansible_hostname }} - service_name={{ item.0.pdb_name }} - port={{ listener_port_template }} - user={{ db_user }} - password={{ db_password_pdb }} - mode={{ db_mode }} - name={{ item.1.name }} - value={{ item.1.value }} - state={{ item.1.state }} - scope={{ item.1.scope | default ('both') }} - environment: "{{ oracle_env }}" - run_once: "{{ configure_cluster }}" - with_subelements: - - "{{ oracle_pdbs }}" - - init_parameters - - flags: - skip_missing: true - when: oracle_pdbs is defined and item.0.state|lower == 'present' and item.1 is defined - become_user: "{{ oracle_user }}" - loop_control: - label: "port: {{ listener_port_template }} service: {{ item.0.pdb_name }} name: {{ item.1.name }} value: {{ item.1.value }} scope: {{ item.1.scope | default ('both') }} state:{{ item.1.state }}" - # noqa yaml - register: param_change - tags: initparams - - - # - name: Manage parameters (pdb) - # oracle_parameter: - # hostname={{ hostname }} - # service_name={{ service }} - # user={{ set_init_user }} - # password={{ item.0.oracle_db_passwd }} - # mode={{ set_init_mode }} - # name={{ item.1.name }} - # value={{ item.1.value }} - # state={{ item.1.state }} - # scope={{ item.1.scope }} - # environment: oracle_env - # with_subelements: - # - "{{oracle_pdbs}}" - # - init_parameters - # when: set_init and master_node and oracle_pdbs is defined and item.1 is defined - # sudo_user: oracle - # register: param_change - # tags: initparams - # - - # - name: Restart database (stop) - # shell: "{{ oracle_home_srv }}/bin/srvctl stop database -d {{ item.oracle_db_name }}" - # environment: oracle_env_srv - # with_items: "{{oracle_databases}}" - # sudo: yes - # sudo_user: oracle - # when: param_change.changed and set_init and restart_db and master_node - # tags: initparam - # - # - name: Restart database (start) - # shell: "{{ oracle_home_srv }}/bin/srvctl start database -d {{ item.oracle_db_name }}" - # environment: oracle_env_srv - # sudo: yes - # sudo_user: oracle - # with_items: "{{oracle_databases}}" - # when: param_change.changed and set_init and restart_db and master_node - # tags: initparam - # - # - name: Check if database is running - # shell: "{{ oracle_home_srv }}/bin/srvctl status database -d {{ item.oracle_db_name }}" - # environment: oracle_env_srv - # register: check_db_up - # with_items: "{{oracle_databases}}" - # sudo: yes - # sudo_user: oracle - # when: restart_db and param_change.changed and master_node - # tags: initparam - # - # - name: Check if database is running - # debug: msg={{ item }} - # with_items: "{{check_db_up.results}}" - # when: restart_db and param_change.changed and master_node - # tags: initparam diff --git a/roles/oradb-datapatch/README.md b/roles/oradb_datapatch/README.md similarity index 100% rename from roles/oradb-datapatch/README.md rename to roles/oradb_datapatch/README.md diff --git a/roles/oradb-datapatch/defaults/main.yml b/roles/oradb_datapatch/defaults/main.yml similarity index 100% rename from roles/oradb-datapatch/defaults/main.yml rename to roles/oradb_datapatch/defaults/main.yml diff --git a/roles/oradb-datapatch/meta/main.yml b/roles/oradb_datapatch/meta/main.yml similarity index 75% rename from roles/oradb-datapatch/meta/main.yml rename to roles/oradb_datapatch/meta/main.yml index b88d9d682..ad7f40332 100644 --- a/roles/oradb-datapatch/meta/main.yml +++ b/roles/oradb_datapatch/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-datapatch/tasks/main.yml b/roles/oradb_datapatch/tasks/main.yml similarity index 85% rename from roles/oradb-datapatch/tasks/main.yml rename to roles/oradb_datapatch/tasks/main.yml index bbea7a9c8..57b8eff7f 100644 --- a/roles/oradb-datapatch/tasks/main.yml +++ b/roles/oradb_datapatch/tasks/main.yml @@ -1,6 +1,6 @@ --- -- name: oradb-datapatch | Start listener - shell: "export PATH=${ORACLE_HOME}/bin:${PATH}; lsnrctl start {{ lsnrinst.listener_name }} /dev/null; exit 0" +- name: oradb_datapatch | Start listener + ansible.builtin.shell: "export PATH=${ORACLE_HOME}/bin:${PATH}; lsnrctl start {{ lsnrinst.listener_name }} /dev/null; exit 0" environment: "{{ oracle_env_lsnrctl }}" become_user: "{{ oracle_user }}" with_items: "{{ listener_installed }}" @@ -9,7 +9,7 @@ label: "LISTENER: {{ lsnrinst.listener_name }} ORACLE_HOME: {{ listener_home }}" when: listener_installed is defined and lsnrinst.state|lower == 'present' -- name: oradb-datapatch | Start database +- name: oradb_datapatch | Start database oracle_db: oracle_home: "{{ oracle_db_home }}" db_name: "{{ item.oracle_db_name }}" @@ -22,7 +22,7 @@ label: "home: {{ item.home }} db_name: {{ item.oracle_db_name }}" tags: startdb -- name: oradb-datapatch | Run datapatch +- name: oradb_datapatch | Run datapatch oracle_datapatch: oracle_home: "{{ oracle_db_home }}" db_name: "{{ item.oracle_db_name }}" diff --git a/roles/oradb-manage-db/LISTENER.md b/roles/oradb_manage_db/LISTENER.md similarity index 100% rename from roles/oradb-manage-db/LISTENER.md rename to roles/oradb_manage_db/LISTENER.md diff --git a/roles/oradb-manage-db/README.md b/roles/oradb_manage_db/README.md similarity index 100% rename from roles/oradb-manage-db/README.md rename to roles/oradb_manage_db/README.md diff --git a/roles/oradb-manage-db/defaults/main.yml b/roles/oradb_manage_db/defaults/main.yml similarity index 100% rename from roles/oradb-manage-db/defaults/main.yml rename to roles/oradb_manage_db/defaults/main.yml diff --git a/roles/oradb-manage-db/files/ocenv b/roles/oradb_manage_db/files/ocenv similarity index 100% rename from roles/oradb-manage-db/files/ocenv rename to roles/oradb_manage_db/files/ocenv diff --git a/roles/oradb-manage-db/meta/main.yml b/roles/oradb_manage_db/meta/main.yml similarity index 76% rename from roles/oradb-manage-db/meta/main.yml rename to roles/oradb_manage_db/meta/main.yml index a4560ccf8..238f79cb3 100644 --- a/roles/oradb-manage-db/meta/main.yml +++ b/roles/oradb_manage_db/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-manage-db/tasks/assert.yml b/roles/oradb_manage_db/tasks/assert.yml similarity index 94% rename from roles/oradb-manage-db/tasks/assert.yml rename to roles/oradb_manage_db/tasks/assert.yml index b1ad061e4..2e35ebd4f 100644 --- a/roles/oradb-manage-db/tasks/assert.yml +++ b/roles/oradb_manage_db/tasks/assert.yml @@ -1,7 +1,7 @@ --- # check for minimum configured atrributes in oracle_databases - name: assert oracle_databases - assert: + ansible.builtin.assert: quiet: true that: - dbh.oracle_db_name is defined diff --git a/roles/oradb-manage-db/tasks/listener.yml b/roles/oradb_manage_db/tasks/listener.yml similarity index 63% rename from roles/oradb-manage-db/tasks/listener.yml rename to roles/oradb_manage_db/tasks/listener.yml index 468cee429..faef99254 100644 --- a/roles/oradb-manage-db/tasks/listener.yml +++ b/roles/oradb_manage_db/tasks/listener.yml @@ -1,13 +1,13 @@ --- - name: listener | Create responsefile for listener configuration - template: src=netca.rsp.{{ db_version }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_netca_rsp }} mode=0600 + ansible.builtin.template: src=netca.rsp.{{ db_version }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_netca_rsp }} mode=0600 become: true become_user: "{{ oracle_user }}" when: create_listener tags: responsefile_netca, listener_install - name: listener | Create listener with netca - shell: "{{ oracle_home_db }}/bin/netca -responseFile {{ oracle_rsp_stage }}/{{ oracle_netca_rsp }} -silent" + ansible.builtin.shell: "{{ oracle_home_db }}/bin/netca -responseFile {{ oracle_rsp_stage }}/{{ oracle_netca_rsp }} -silent" # noqa command-instead-of-shell args: creates: "{{ oracle_home_db }}/network/admin/listener.ora" diff --git a/roles/oradb-manage-db/tasks/listener_details.yml b/roles/oradb_manage_db/tasks/listener_details.yml similarity index 72% rename from roles/oradb-manage-db/tasks/listener_details.yml rename to roles/oradb_manage_db/tasks/listener_details.yml index 780bae932..6d62cdcbb 100644 --- a/roles/oradb-manage-db/tasks/listener_details.yml +++ b/roles/oradb_manage_db/tasks/listener_details.yml @@ -1,9 +1,9 @@ --- -- debug: msg="ORACLE_HOME {{ listener_home }}" # noqa unnamed-task +- ansible.builtin.debug: msg="ORACLE_HOME {{ listener_home }}" # noqa unnamed-task tags: listener2 - name: listener | create custom configuration in listener.ora - blockinfile: + ansible.builtin.blockinfile: path: "{{ listener_home }}/network/admin/listener.ora" backup: true create: true @@ -19,14 +19,14 @@ # Don't try to stop the listener at this point # => Restart of role will fail at create/manage database due to TNS-12514 - name: listener | Start Listener - ignore errors for running Listener - shell: "export PATH=${ORACLE_HOME}/bin:${PATH}; lsnrctl start {{ lsnrinst.listener_name }} /dev/null; exit 0" + ansible.builtin.shell: "export PATH=${ORACLE_HOME}/bin:${PATH}; lsnrctl start {{ lsnrinst.listener_name }} /dev/null; exit 0" # noqa no-changed-when environment: "{{ oracle_env_lsnrctl }}" become_user: "{{ oracle_user }}" tags: listener2 - name: listener | Reload Listener - shell: "export PATH=${ORACLE_HOME}/bin:${PATH}; lsnrctl reload {{ lsnrinst.listener_name }}" + ansible.builtin.shell: "export PATH=${ORACLE_HOME}/bin:${PATH}; lsnrctl reload {{ lsnrinst.listener_name }}" # noqa no-changed-when environment: "{{ oracle_env_lsnrctl }}" become_user: "{{ oracle_user }}" diff --git a/roles/oradb-manage-db/tasks/main.yml b/roles/oradb_manage_db/tasks/main.yml similarity index 82% rename from roles/oradb-manage-db/tasks/main.yml rename to roles/oradb_manage_db/tasks/main.yml index 72cf36167..d0c7bcfbd 100644 --- a/roles/oradb-manage-db/tasks/main.yml +++ b/roles/oradb_manage_db/tasks/main.yml @@ -1,5 +1,5 @@ --- -# tasks file for manage-db +# tasks file for manage_db - include_tasks: assert.yml tags: always @@ -12,8 +12,8 @@ when: tnsnames_installed is defined tags: tnsnames2 -- name: manage-db | set fact for Listener - set_fact: +- name: manage_db | set fact for Listener + ansible.builtin.set_fact: create_listener: "{{ create_listener }}" with_items: "{{ oracle_databases }}" loop_control: @@ -44,8 +44,8 @@ when: create_listener and oracle_databases is defined and listener_installed is not defined tags: listener -- name: manage-db | Add change-pdb script - template: +- name: manage_db | Add change-pdb script + ansible.builtin.template: src: pdb.sql.j2 dest: "{{ oracle_user_home }}/.Scripts/chpdb.sql" owner: "{{ oracle_user }}" @@ -62,8 +62,8 @@ when: oracle_databases is defined tags: create_db,dbca,customdbcatemplate,dotprofile_db -- name: manage-db | Check if database is running - shell: ps -ef |grep pmon |grep -v grep +- name: manage_db | Check if database is running + ansible.builtin.shell: ps -ef |grep pmon |grep -v grep tags: - psout register: psout @@ -71,7 +71,7 @@ failed_when: false ignore_errors: true -- debug: var=psout.stdout_lines # noqa unnamed-task +- ansible.builtin.debug: var=psout.stdout_lines # noqa unnamed-task changed_when: false failed_when: false when: psout is defined diff --git a/roles/oradb-manage-db/tasks/manage-db.yml b/roles/oradb_manage_db/tasks/manage-db.yml similarity index 57% rename from roles/oradb-manage-db/tasks/manage-db.yml rename to roles/oradb_manage_db/tasks/manage-db.yml index cb5bfc465..f333917c6 100644 --- a/roles/oradb-manage-db/tasks/manage-db.yml +++ b/roles/oradb_manage_db/tasks/manage-db.yml @@ -1,58 +1,25 @@ --- -- name: manage-db | check if GI is present - stat: path=/etc/oracle/olr.loc +- name: manage_db | check if GI is present + ansible.builtin.stat: path=/etc/oracle/olr.loc register: olrloc tags: update_oratab -- name: manage-db | set fact with ORACLE_HOME - set_fact: +- name: manage_db | set fact with ORACLE_HOME + ansible.builtin.set_fact: oracle_home_db: "{%- if db_homes_config[dbh.home]['oracle_home'] is defined -%} {{ db_homes_config[dbh.home]['oracle_home'] }} {%- else -%} {{ oracle_base }}/{{ db_homes_config[dbh.home]['version'] }}/{{ db_homes_config[dbh.home]['home'] }} {%- endif -%}" -# -# - name: manage-db | check if database exists (GI) -# shell: "{{ oracle_home_db }}/bin/srvctl config database | grep -w {{ dbh.oracle_db_name}}" -# environment: "{{ oracle_env_dbca }}" -# run_once: "{{ configure_cluster }}" -# register: existing_dbs_gi -# changed_when: False -# failed_when: False -# when: olrloc.stat.exists -# tags: create_db,dbcatemplate,debug -# -# - name: manage-db | set fact for create-db (GI) -# set_fact: -# create_db: True -# when: olrloc.stat.exists and dbh.oracle_db_name not in existing_dbs_gi.stdout -# tags: set_fact -# -# -# - name: manage-db | check if database exists (NO GI) -# shell: "cat /etc/oratab | grep -w {{ dbh.oracle_db_name }}:{{ oracle_home_db }} |grep -v \"^#\"|cut -f1 -d: -s" -# environment: "{{ oracle_env_dbca }}" -# run_once: "{{ configure_cluster }}" -# register: existing_dbs_nogi -# changed_when: False -# failed_when: False -# when: not olrloc.stat.exists -# tags: create_db,dbcatemplate,debug -# -# - name: manage-db | set fact for create-db (NO GI) -# set_fact: -# create_db: True -# when: not olrloc.stat.exists and dbh.oracle_db_name not in existing_dbs_nogi.stdout -# tags: set_fact -- debug: msg="Maintaining DB - {{ dbh.oracle_db_name }}, ORACLE_HOME - {{ oracle_home_db }}" # noqa unnamed-task +- ansible.builtin.debug: msg="Maintaining DB - {{ dbh.oracle_db_name }}, ORACLE_HOME - {{ oracle_home_db }}" # noqa unnamed-task run_once: "{{ configure_cluster }}" when: dbh.state|lower == 'present' # dbca_copy_template is for special situations, when using DBCA-templates # without executing a template task before. -- name: manage-db | Copy custom dbca Templates for Database to ORACLE_HOME/assistants/dbca/templates - template: +- name: manage_db | Copy custom dbca Templates for Database to ORACLE_HOME/assistants/dbca/templates + ansible.builtin.template: src={{ dbh.dbca_templatename }} dest={{ oracle_home_db }}/assistants/dbca/templates/{{ dbh.oracle_db_name }}_{{ dbh.dbca_templatename }} owner={{ oracle_user }} @@ -67,8 +34,8 @@ - customdbcatemplate - dbcatemplate -- name: manage-db | Prepare installation template - template: +- name: manage_db | Prepare installation template + ansible.builtin.template: src: "dbca-create-db.rsp.{{ db_version }}.j2" dest: "{{ oracle_rsp_stage }}/{{ oracle_dbca_rsp }}" owner: "{{ oracle_user }}" @@ -78,15 +45,7 @@ when: dbh.state|lower == 'present' tags: create_db,dbcatemplate -# - name: manage-db | create database -# shell: "time {{ oracle_home_db }}/bin/dbca -createDatabase -responseFile {{ oracle_rsp_stage }}/{{ oracle_dbca_rsp }} -silent {{ dbca_initparams }}{{dbca_initparams_extras}}" -# run_once: "{{ configure_cluster }}" -# become_user: "{{ oracle_user }}" -# when: dbh.state|lower == 'present' -# register: dbca_create -# tags: create_db,dbca - -- name: manage-db | create/manage database +- name: manage_db | create/manage database oracle_db: oracle_home: "{{ oracle_home_db }}" port: "{{ listener_port_template }}" @@ -107,21 +66,16 @@ register: dbca_create tags: create_db,manage_db,dbca - -# - debug: var=dbca_create.stdout_lines -# when: dbca_create.changed -# run_once: "{{ configure_cluster }}" - -- name: manage-db | Customize oratab for autostart - lineinfile: +- name: manage_db | Customize oratab for autostart + ansible.builtin.lineinfile: dest=/etc/oratab line="{{ dbh.oracle_db_instance_name | default(dbh.oracle_db_name) }}:{{ oracle_home_db }}:Y" state=present when: autostartup_service and not olrloc.stat.exists and dbh.state == 'present' tags: update_oratab -- name: manage-db | Customize oratab for autostart - lineinfile: +- name: manage_db | Customize oratab for autostart + ansible.builtin.lineinfile: dest=/etc/oratab line="{{ dbh.oracle_db_instance_name | default(dbh.oracle_db_name) }}:{{ oracle_home_db }}:N" state=absent @@ -129,11 +83,11 @@ become: true tags: update_oratab -- debug: msg="Removing DB - {{ dbh.oracle_db_name }}, ORACLE_HOME - {{ oracle_home_db }}" # noqa unnamed-task +- ansible.builtin.debug: msg="Removing DB - {{ dbh.oracle_db_name }}, ORACLE_HOME - {{ oracle_home_db }}" # noqa unnamed-task run_once: "{{ configure_cluster }}" when: dbh.state|lower == 'absent' -- name: manage-db | remove database +- name: manage_db | remove database oracle_db: oracle_home={{ oracle_home_db }} port={{ listener_port_template }} @@ -147,11 +101,11 @@ register: dbca_remove tags: remove_db,dbca -- debug: var=dbca_remove.stdout_lines # noqa unnamed-task no-handler +- ansible.builtin.debug: var=dbca_remove.stdout_lines # noqa unnamed-task no-handler when: dbca_remove.changed -- name: manage-db | remove dotprofile - file: +- name: manage_db | remove dotprofile + ansible.builtin.file: path: "{{ oracle_user_home }}/.profile_{{ dbh.oracle_db_name }}" state: absent when: dbh.state|lower == 'absent' diff --git a/roles/oradb-manage-db/tasks/ocenv.yml b/roles/oradb_manage_db/tasks/ocenv.yml similarity index 76% rename from roles/oradb-manage-db/tasks/ocenv.yml rename to roles/oradb_manage_db/tasks/ocenv.yml index 000010ff2..5a9f9c3f4 100644 --- a/roles/oradb-manage-db/tasks/ocenv.yml +++ b/roles/oradb_manage_db/tasks/ocenv.yml @@ -1,22 +1,22 @@ --- - block: # noqa unnamed-task - - name: manage-db | create directory dbenv - file: + - name: manage_db | create directory dbenv + ansible.builtin.file: dest: "{{ dbenvdir }}" state: directory owner: "{{ oracle_user }}" group: "{{ oracle_group }}" mode: '0755' - - name: manage-db | copy ocenv - copy: + - name: manage_db | copy ocenv + ansible.builtin.copy: src: ocenv dest: "{{ dbenvdir }}" owner: "{{ oracle_user }}" group: "{{ oracle_group }}" mode: '0644' - - name: manage-db | add ocenv to .bashrc + - name: manage_db | add ocenv to .bashrc ansible.builtin.lineinfile: path: "{{ oracle_user_home }}/.bashrc" line: ". {{ dbenvdir }}/ocenv" diff --git a/roles/oradb-manage-db/tasks/sqlnet.yml b/roles/oradb_manage_db/tasks/sqlnet.yml similarity index 84% rename from roles/oradb-manage-db/tasks/sqlnet.yml rename to roles/oradb_manage_db/tasks/sqlnet.yml index f57756665..00357b246 100644 --- a/roles/oradb-manage-db/tasks/sqlnet.yml +++ b/roles/oradb_manage_db/tasks/sqlnet.yml @@ -1,9 +1,9 @@ --- -- debug: msg="sqlnet in ORACLE_HOME {{ listener_home }}" # noqa unnamed-task +- ansible.builtin.debug: msg="sqlnet in ORACLE_HOME {{ listener_home }}" # noqa unnamed-task tags: sqlnet2 - name: sqlnet.ora | create IFILE entry in sqlnet.ora - lineinfile: + ansible.builtin.lineinfile: line: "IFILE={{ listener_home }}/network/admin/sqlnet_ansible.ora" regexp: "^IFILE=/" insertbefore: BOF @@ -17,7 +17,7 @@ tags: sqlnet2 - name: sqlnet.ora | create custom configuration in sqlnet_ansible.ora - lineinfile: + ansible.builtin.lineinfile: path: "{{ listener_home }}/network/admin/sqlnet_ansible.ora" line: "{{ item.name }}={{ item.value }}" regexp: "^{{ item.name }}=" diff --git a/roles/oradb-manage-db/tasks/tnsnames.yml b/roles/oradb_manage_db/tasks/tnsnames.yml similarity index 86% rename from roles/oradb-manage-db/tasks/tnsnames.yml rename to roles/oradb_manage_db/tasks/tnsnames.yml index 3353fe5ed..dd201165f 100644 --- a/roles/oradb-manage-db/tasks/tnsnames.yml +++ b/roles/oradb_manage_db/tasks/tnsnames.yml @@ -1,9 +1,9 @@ --- -- debug: msg="ORACLE_HOME {{ listener_home }}" # noqa unnamed-task +- ansible.builtin.debug: msg="ORACLE_HOME {{ listener_home }}" # noqa unnamed-task tags: tnsnames - name: tnsnames.ora | create IFILE entry in tnsnames.ora - lineinfile: + ansible.builtin.lineinfile: line: "IFILE={{ listener_home }}/network/admin/tnsnames_ansible.ora" regexp: "^IFILE=/" insertbefore: BOF @@ -17,7 +17,7 @@ tags: tnsnames - name: tnsnames.ora | create custom configuration in tnsnames_ansible.ora - blockinfile: + ansible.builtin.blockinfile: path: "{{ listener_home }}/network/admin/tnsnames_ansible.ora" backup: true create: true diff --git a/roles/oradb-manage-db/templates/dbca-create-db.rsp.11.2.0.3.j2 b/roles/oradb_manage_db/templates/dbca-create-db.rsp.11.2.0.3.j2 similarity index 100% rename from roles/oradb-manage-db/templates/dbca-create-db.rsp.11.2.0.3.j2 rename to roles/oradb_manage_db/templates/dbca-create-db.rsp.11.2.0.3.j2 diff --git a/roles/oradb-manage-db/templates/dbca-create-db.rsp.11.2.0.4.j2 b/roles/oradb_manage_db/templates/dbca-create-db.rsp.11.2.0.4.j2 similarity index 100% rename from roles/oradb-manage-db/templates/dbca-create-db.rsp.11.2.0.4.j2 rename to roles/oradb_manage_db/templates/dbca-create-db.rsp.11.2.0.4.j2 diff --git a/roles/oradb-manage-db/templates/dbca-create-db.rsp.12.1.0.1.j2 b/roles/oradb_manage_db/templates/dbca-create-db.rsp.12.1.0.1.j2 similarity index 100% rename from roles/oradb-manage-db/templates/dbca-create-db.rsp.12.1.0.1.j2 rename to roles/oradb_manage_db/templates/dbca-create-db.rsp.12.1.0.1.j2 diff --git a/roles/oradb-manage-db/templates/dbca-create-db.rsp.12.1.0.2.j2 b/roles/oradb_manage_db/templates/dbca-create-db.rsp.12.1.0.2.j2 similarity index 100% rename from roles/oradb-manage-db/templates/dbca-create-db.rsp.12.1.0.2.j2 rename to roles/oradb_manage_db/templates/dbca-create-db.rsp.12.1.0.2.j2 diff --git a/roles/oradb-manage-db/templates/dbca-create-db.rsp.12.2.0.1.j2 b/roles/oradb_manage_db/templates/dbca-create-db.rsp.12.2.0.1.j2 similarity index 100% rename from roles/oradb-manage-db/templates/dbca-create-db.rsp.12.2.0.1.j2 rename to roles/oradb_manage_db/templates/dbca-create-db.rsp.12.2.0.1.j2 diff --git a/roles/oradb-manage-db/templates/dbca-create-db.rsp.18.3.0.0.j2 b/roles/oradb_manage_db/templates/dbca-create-db.rsp.18.3.0.0.j2 similarity index 100% rename from roles/oradb-manage-db/templates/dbca-create-db.rsp.18.3.0.0.j2 rename to roles/oradb_manage_db/templates/dbca-create-db.rsp.18.3.0.0.j2 diff --git a/roles/oradb-manage-db/templates/dbca-create-db.rsp.19.3.0.0.j2 b/roles/oradb_manage_db/templates/dbca-create-db.rsp.19.3.0.0.j2 similarity index 100% rename from roles/oradb-manage-db/templates/dbca-create-db.rsp.19.3.0.0.j2 rename to roles/oradb_manage_db/templates/dbca-create-db.rsp.19.3.0.0.j2 diff --git a/roles/oradb-manage-db/templates/dbca-create-db.rsp.21.3.0.0.j2 b/roles/oradb_manage_db/templates/dbca-create-db.rsp.21.3.0.0.j2 similarity index 100% rename from roles/oradb-manage-db/templates/dbca-create-db.rsp.21.3.0.0.j2 rename to roles/oradb_manage_db/templates/dbca-create-db.rsp.21.3.0.0.j2 diff --git a/roles/oradb-manage-db/templates/listener_details.j2 b/roles/oradb_manage_db/templates/listener_details.j2 similarity index 100% rename from roles/oradb-manage-db/templates/listener_details.j2 rename to roles/oradb_manage_db/templates/listener_details.j2 diff --git a/roles/oradb-manage-db/templates/netca.rsp.11.2.0.3.j2 b/roles/oradb_manage_db/templates/netca.rsp.11.2.0.3.j2 similarity index 100% rename from roles/oradb-manage-db/templates/netca.rsp.11.2.0.3.j2 rename to roles/oradb_manage_db/templates/netca.rsp.11.2.0.3.j2 diff --git a/roles/oradb-manage-db/templates/netca.rsp.11.2.0.4.j2 b/roles/oradb_manage_db/templates/netca.rsp.11.2.0.4.j2 similarity index 100% rename from roles/oradb-manage-db/templates/netca.rsp.11.2.0.4.j2 rename to roles/oradb_manage_db/templates/netca.rsp.11.2.0.4.j2 diff --git a/roles/oradb-manage-db/templates/netca.rsp.12.1.0.1.j2 b/roles/oradb_manage_db/templates/netca.rsp.12.1.0.1.j2 similarity index 100% rename from roles/oradb-manage-db/templates/netca.rsp.12.1.0.1.j2 rename to roles/oradb_manage_db/templates/netca.rsp.12.1.0.1.j2 diff --git a/roles/oradb-manage-db/templates/netca.rsp.12.1.0.2.j2 b/roles/oradb_manage_db/templates/netca.rsp.12.1.0.2.j2 similarity index 100% rename from roles/oradb-manage-db/templates/netca.rsp.12.1.0.2.j2 rename to roles/oradb_manage_db/templates/netca.rsp.12.1.0.2.j2 diff --git a/roles/oradb-manage-db/templates/netca.rsp.12.2.0.1.j2 b/roles/oradb_manage_db/templates/netca.rsp.12.2.0.1.j2 similarity index 100% rename from roles/oradb-manage-db/templates/netca.rsp.12.2.0.1.j2 rename to roles/oradb_manage_db/templates/netca.rsp.12.2.0.1.j2 diff --git a/roles/oradb-manage-db/templates/netca.rsp.18.3.0.0.j2 b/roles/oradb_manage_db/templates/netca.rsp.18.3.0.0.j2 similarity index 100% rename from roles/oradb-manage-db/templates/netca.rsp.18.3.0.0.j2 rename to roles/oradb_manage_db/templates/netca.rsp.18.3.0.0.j2 diff --git a/roles/oradb-manage-db/templates/pdb.sql.j2 b/roles/oradb_manage_db/templates/pdb.sql.j2 similarity index 100% rename from roles/oradb-manage-db/templates/pdb.sql.j2 rename to roles/oradb_manage_db/templates/pdb.sql.j2 diff --git a/roles/oradb-manage-db/templates/tnsnames.ora.j2 b/roles/oradb_manage_db/templates/tnsnames.ora.j2 similarity index 100% rename from roles/oradb-manage-db/templates/tnsnames.ora.j2 rename to roles/oradb_manage_db/templates/tnsnames.ora.j2 diff --git a/roles/oradb-manage-db/templates/tnsnamesdgfailover2.ora.j2 b/roles/oradb_manage_db/templates/tnsnamesdgfailover2.ora.j2 similarity index 100% rename from roles/oradb-manage-db/templates/tnsnamesdgfailover2.ora.j2 rename to roles/oradb_manage_db/templates/tnsnamesdgfailover2.ora.j2 diff --git a/roles/oradb-manage-grants/defaults/main.yml b/roles/oradb_manage_grants/defaults/main.yml similarity index 100% rename from roles/oradb-manage-grants/defaults/main.yml rename to roles/oradb_manage_grants/defaults/main.yml diff --git a/roles/oradb-manage-grants/meta/main.yml b/roles/oradb_manage_grants/meta/main.yml similarity index 76% rename from roles/oradb-manage-grants/meta/main.yml rename to roles/oradb_manage_grants/meta/main.yml index 4737d92be..d0205afd8 100644 --- a/roles/oradb-manage-grants/meta/main.yml +++ b/roles/oradb_manage_grants/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-manage-grants/tasks/main.yml b/roles/oradb_manage_grants/tasks/main.yml similarity index 100% rename from roles/oradb-manage-grants/tasks/main.yml rename to roles/oradb_manage_grants/tasks/main.yml diff --git a/roles/oradb-manage-parameters/defaults/main.yml b/roles/oradb_manage_parameters/defaults/main.yml similarity index 100% rename from roles/oradb-manage-parameters/defaults/main.yml rename to roles/oradb_manage_parameters/defaults/main.yml diff --git a/roles/oradb-manage-parameters/meta/main.yml b/roles/oradb_manage_parameters/meta/main.yml similarity index 75% rename from roles/oradb-manage-parameters/meta/main.yml rename to roles/oradb_manage_parameters/meta/main.yml index b7b291e71..a2a3af800 100644 --- a/roles/oradb-manage-parameters/meta/main.yml +++ b/roles/oradb_manage_parameters/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb_manage_parameters/tasks/main.yml b/roles/oradb_manage_parameters/tasks/main.yml new file mode 100644 index 000000000..bc8c6935a --- /dev/null +++ b/roles/oradb_manage_parameters/tasks/main.yml @@ -0,0 +1,54 @@ +--- +- name: Manage parameters (db/cdb) + oracle_parameter: + hostname={{ ansible_hostname }} + service_name={{ db_service_name }} + port={{ listener_port_template }} + user={{ db_user }} + password={{ db_password_cdb }} + mode={{ db_mode }} + name={{ item.1.name }} + value={{ item.1.value }} + state={{ item.1.state }} + scope={{ item.1.scope | default ('both') }} + environment: "{{ oracle_env }}" + run_once: "{{ configure_cluster }}" + with_subelements: + - "{{ oracle_databases }}" + - init_parameters + - flags: + skip_missing: true + when: oracle_databases is defined and item.0.state|lower == 'present' and item.1 is defined + become_user: "{{ oracle_user }}" + loop_control: + label: "port: {{ listener_port_template }} service: {{ db_service_name }} name: {{ item.1.name }} value: {{ item.1.value }} scope: {{ item.1.scope | default ('both') }} state:{{ item.1.state }}" + # noqa yaml + register: param_change + tags: initparams + +- name: Manage parameters (pdb) + oracle_parameter: + hostname={{ ansible_hostname }} + service_name={{ item.0.pdb_name }} + port={{ listener_port_template }} + user={{ db_user }} + password={{ db_password_pdb }} + mode={{ db_mode }} + name={{ item.1.name }} + value={{ item.1.value }} + state={{ item.1.state }} + scope={{ item.1.scope | default ('both') }} + environment: "{{ oracle_env }}" + run_once: "{{ configure_cluster }}" + with_subelements: + - "{{ oracle_pdbs }}" + - init_parameters + - flags: + skip_missing: true + when: oracle_pdbs is defined and item.0.state|lower == 'present' and item.1 is defined + become_user: "{{ oracle_user }}" + loop_control: + label: "port: {{ listener_port_template }} service: {{ item.0.pdb_name }} name: {{ item.1.name }} value: {{ item.1.value }} scope: {{ item.1.scope | default ('both') }} state:{{ item.1.state }}" + # noqa yaml + register: param_change + tags: initparams diff --git a/roles/oradb-manage-pdb/defaults/main.yml b/roles/oradb_manage_pdb/defaults/main.yml similarity index 100% rename from roles/oradb-manage-pdb/defaults/main.yml rename to roles/oradb_manage_pdb/defaults/main.yml diff --git a/roles/oradb-manage-pdb/meta/main.yml b/roles/oradb_manage_pdb/meta/main.yml similarity index 75% rename from roles/oradb-manage-pdb/meta/main.yml rename to roles/oradb_manage_pdb/meta/main.yml index 67599f5da..852428fa3 100644 --- a/roles/oradb-manage-pdb/meta/main.yml +++ b/roles/oradb_manage_pdb/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-manage-pdb/tasks/main.yml b/roles/oradb_manage_pdb/tasks/main.yml similarity index 59% rename from roles/oradb-manage-pdb/tasks/main.yml rename to roles/oradb_manage_pdb/tasks/main.yml index e3cede2f9..3c5764ceb 100755 --- a/roles/oradb-manage-pdb/tasks/main.yml +++ b/roles/oradb_manage_pdb/tasks/main.yml @@ -1,26 +1,4 @@ --- -# - name: Manage pdb(s) -# oracle_pdb: -# name={{ item.pdb_name }} -# sourcedb={{ item.cdb }} -# datafile_dest={{ item.datafile_dest |default(omit) }} -# save_state={{ item.save_state | default(omit)}} -# pdb_admin_username={{ pdbadmin_user | default(omit)}} -# pdb_admin_password={{ pdbadmin_password | default(omit)}} -# host={{ ansible_hostname }} -# username={{ db_user | default('sys') }} -# password={{ db_password_cdb }} -# mode={{ db_mode }} -# service_name={{ item.cdb }} -# state={{ item.state |default(omit) }} -# environment: "{{oracle_env}}" -# run_once: "{{ configure_cluster}}" -# with_items: -# - "{{ oracle_pdbs | default ([]) }}" -# become_user: "{{ oracle_user }}" -# when: oracle_pdbs is defined and -# tags: pdb - - name: Manage pdb(s) oracle_pdb: name={{ item[1].pdb_name }} diff --git a/roles/oradb-manage-profiles/defaults/main.yml b/roles/oradb_manage_profiles/defaults/main.yml similarity index 100% rename from roles/oradb-manage-profiles/defaults/main.yml rename to roles/oradb_manage_profiles/defaults/main.yml diff --git a/roles/oradb-manage-profiles/meta/main.yml b/roles/oradb_manage_profiles/meta/main.yml similarity index 75% rename from roles/oradb-manage-profiles/meta/main.yml rename to roles/oradb_manage_profiles/meta/main.yml index 792aece32..ce41a1aa2 100644 --- a/roles/oradb-manage-profiles/meta/main.yml +++ b/roles/oradb_manage_profiles/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-manage-profiles/tasks/main.yml b/roles/oradb_manage_profiles/tasks/main.yml similarity index 100% rename from roles/oradb-manage-profiles/tasks/main.yml rename to roles/oradb_manage_profiles/tasks/main.yml diff --git a/roles/oradb-manage-redo/defaults/main.yml b/roles/oradb_manage_redo/defaults/main.yml similarity index 100% rename from roles/oradb-manage-redo/defaults/main.yml rename to roles/oradb_manage_redo/defaults/main.yml diff --git a/roles/oradb-manage-redo/meta/main.yml b/roles/oradb_manage_redo/meta/main.yml similarity index 75% rename from roles/oradb-manage-redo/meta/main.yml rename to roles/oradb_manage_redo/meta/main.yml index 8fc1d40dd..211ca166b 100644 --- a/roles/oradb-manage-redo/meta/main.yml +++ b/roles/oradb_manage_redo/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-manage-redo/tasks/main.yml b/roles/oradb_manage_redo/tasks/main.yml similarity index 100% rename from roles/oradb-manage-redo/tasks/main.yml rename to roles/oradb_manage_redo/tasks/main.yml diff --git a/roles/oradb-manage-roles/defaults/main.yml b/roles/oradb_manage_roles/defaults/main.yml similarity index 100% rename from roles/oradb-manage-roles/defaults/main.yml rename to roles/oradb_manage_roles/defaults/main.yml diff --git a/roles/oradb-manage-roles/meta/main.yml b/roles/oradb_manage_roles/meta/main.yml similarity index 74% rename from roles/oradb-manage-roles/meta/main.yml rename to roles/oradb_manage_roles/meta/main.yml index 90e8bb2bb..6ce763155 100644 --- a/roles/oradb-manage-roles/meta/main.yml +++ b/roles/oradb_manage_roles/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-manage-roles/tasks/main.yml b/roles/oradb_manage_roles/tasks/main.yml similarity index 100% rename from roles/oradb-manage-roles/tasks/main.yml rename to roles/oradb_manage_roles/tasks/main.yml diff --git a/roles/oradb-manage-services/defaults/main.yml b/roles/oradb_manage_services/defaults/main.yml similarity index 100% rename from roles/oradb-manage-services/defaults/main.yml rename to roles/oradb_manage_services/defaults/main.yml diff --git a/roles/oradb-manage-services/meta/main.yml b/roles/oradb_manage_services/meta/main.yml similarity index 75% rename from roles/oradb-manage-services/meta/main.yml rename to roles/oradb_manage_services/meta/main.yml index 7fba3632a..1ea21f39f 100644 --- a/roles/oradb-manage-services/meta/main.yml +++ b/roles/oradb_manage_services/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-manage-services/tasks/main.yml b/roles/oradb_manage_services/tasks/main.yml similarity index 100% rename from roles/oradb-manage-services/tasks/main.yml rename to roles/oradb_manage_services/tasks/main.yml diff --git a/roles/oradb-manage-statspack/README.md b/roles/oradb_manage_statspack/README.md similarity index 100% rename from roles/oradb-manage-statspack/README.md rename to roles/oradb_manage_statspack/README.md diff --git a/roles/oradb-manage-statspack/defaults/main.yml b/roles/oradb_manage_statspack/defaults/main.yml similarity index 100% rename from roles/oradb-manage-statspack/defaults/main.yml rename to roles/oradb_manage_statspack/defaults/main.yml diff --git a/roles/oradb-manage-statspack/files/spcreate.sh b/roles/oradb_manage_statspack/files/spcreate.sh similarity index 100% rename from roles/oradb-manage-statspack/files/spcreate.sh rename to roles/oradb_manage_statspack/files/spcreate.sh diff --git a/roles/oradb-manage-statspack/files/spdrop.sh b/roles/oradb_manage_statspack/files/spdrop.sh similarity index 100% rename from roles/oradb-manage-statspack/files/spdrop.sh rename to roles/oradb_manage_statspack/files/spdrop.sh diff --git a/roles/oradb-manage-statspack/meta/main.yml b/roles/oradb_manage_statspack/meta/main.yml similarity index 75% rename from roles/oradb-manage-statspack/meta/main.yml rename to roles/oradb_manage_statspack/meta/main.yml index 2316f62a7..9610051c4 100644 --- a/roles/oradb-manage-statspack/meta/main.yml +++ b/roles/oradb_manage_statspack/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-manage-statspack/tasks/main.yml b/roles/oradb_manage_statspack/tasks/main.yml similarity index 89% rename from roles/oradb-manage-statspack/tasks/main.yml rename to roles/oradb_manage_statspack/tasks/main.yml index 3cecbf229..e4a785e4c 100644 --- a/roles/oradb-manage-statspack/tasks/main.yml +++ b/roles/oradb_manage_statspack/tasks/main.yml @@ -1,7 +1,7 @@ --- - block: - - name: oradb-manage-statspack | Drop Statspack Schema - script: spdrop.sh + - name: oradb_manage_statspack | Drop Statspack Schema + ansible.builtin.script: spdrop.sh environment: ORACLE_HOME: "{{ oracle_home_db }}" ORACLE_SID: "{{ dbh.oracle_db_instance_name | default(dbh.oracle_db_unique_name | default(dbh.oracle_db_name)) }}" @@ -16,7 +16,7 @@ - dbh.statspack is defined - dbh.statspack.state | default('present') == 'absent' - - debug: msg="{{ item.stdout_lines }}" # noqa unnamed-task + - ansible.builtin.debug: msg="{{ item.stdout_lines }}" # noqa unnamed-task with_items: - "{{ statspackdropcmd.results }}" loop_control: @@ -30,8 +30,8 @@ - spcdb - block: - - name: oradb-manage-statspack | Create Statspack Schema (existing user is ignored) - script: spcreate.sh + - name: oradb_manage_statspack | Create Statspack Schema (existing user is ignored) + ansible.builtin.script: spcreate.sh environment: ORACLE_HOME: "{{ oracle_home_db }}" ORACLE_SID: "{{ dbh.oracle_db_instance_name | default(dbh.oracle_db_unique_name | default(dbh.oracle_db_name)) }}" @@ -54,7 +54,7 @@ - dbh.statspack is defined - dbh.statspack.state | default('present') == 'present' - - debug: msg="{{ item.stdout_lines }}" # noqa unnamed-task + - ansible.builtin.debug: msg="{{ item.stdout_lines }}" # noqa unnamed-task with_items: - "{{ statspackcmd.results }}" loop_control: @@ -66,7 +66,7 @@ - spcreate - spcdb -- name: oradb-manage-statspack | Create/Modify Purge Job +- name: oradb_manage_statspack | Create/Modify Purge Job oracle_job: hostname: "{{ ansible_hostname }}" service_name: "{{ db_service_name }}" @@ -98,7 +98,7 @@ - spjob - spcdb -- name: oradb-manage-statspack | Create/Modify Snapshot Job +- name: oradb_manage_statspack | Create/Modify Snapshot Job oracle_job: hostname: "{{ ansible_hostname }}" service_name: "{{ db_service_name }}" @@ -130,8 +130,8 @@ - spcdb - block: - - name: oradb-manage-statspack | Drop Statspack Schema (PDB) - script: spdrop.sh + - name: oradb_manage_statspack | Drop Statspack Schema (PDB) + ansible.builtin.script: spdrop.sh environment: ORACLE_HOME: "{{ oracle_home_db }}" ORACLE_SID: "{{ oracle_db_instance_name }}" @@ -152,7 +152,7 @@ - pdb.0.statspack is defined - pdb.0.statspack.state | default('present') == 'absent' - - debug: msg="{{ item.stdout_lines }}" # noqa unnamed-task + - ansible.builtin.debug: msg="{{ item.stdout_lines }}" # noqa unnamed-task with_items: - "{{ statspackdropcmd.results }}" loop_control: @@ -167,8 +167,8 @@ - sppdb - block: - - name: oradb-manage-statspack | Create Statspack Schema in PDBs (existing user is ignored) - script: spcreate.sh + - name: oradb_manage_statspack | Create Statspack Schema in PDBs (existing user is ignored) + ansible.builtin.script: spcreate.sh environment: ORACLE_HOME: "{{ oracle_home_db }}" ORACLE_SID: "{{ oracle_db_instance_name }}" @@ -194,7 +194,7 @@ - pdb.0.statspack is defined - pdb.0.statspack.state | default('present') == 'present' - - debug: msg="{{ item.stdout_lines }}" # noqa unnamed-task + - ansible.builtin.debug: msg="{{ item.stdout_lines }}" # noqa unnamed-task with_items: - "{{ statspackcmd.results }}" loop_control: @@ -208,7 +208,7 @@ - spcreate - sppdb -- name: oradb-manage-statspack | Create/Modify Purge Job (PDB) +- name: oradb_manage_statspack | Create/Modify Purge Job (PDB) oracle_job: hostname: "{{ ansible_hostname }}" service_name: "{{ pdb.0.pdb_name }}" @@ -240,7 +240,7 @@ - spjob - sppdb -- name: oradb-manage-statspack | Create/Modify Snapshot Job (PDB) +- name: oradb_manage_statspack | Create/Modify Snapshot Job (PDB) oracle_job: hostname: "{{ ansible_hostname }}" service_name: "{{ pdb.0.pdb_name }}" diff --git a/roles/oradb-manage-tablespace/defaults/main.yml b/roles/oradb_manage_tablespace/defaults/main.yml similarity index 100% rename from roles/oradb-manage-tablespace/defaults/main.yml rename to roles/oradb_manage_tablespace/defaults/main.yml diff --git a/roles/oradb-manage-tablespace/meta/main.yml b/roles/oradb_manage_tablespace/meta/main.yml similarity index 75% rename from roles/oradb-manage-tablespace/meta/main.yml rename to roles/oradb_manage_tablespace/meta/main.yml index 0e2bc9f64..a957dfb9b 100644 --- a/roles/oradb-manage-tablespace/meta/main.yml +++ b/roles/oradb_manage_tablespace/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-manage-tablespace/tasks/main.yml b/roles/oradb_manage_tablespace/tasks/main.yml similarity index 100% rename from roles/oradb-manage-tablespace/tasks/main.yml rename to roles/oradb_manage_tablespace/tasks/main.yml diff --git a/roles/oradb-manage-users/defaults/main.yml b/roles/oradb_manage_users/defaults/main.yml similarity index 100% rename from roles/oradb-manage-users/defaults/main.yml rename to roles/oradb_manage_users/defaults/main.yml diff --git a/roles/oradb-manage-users/meta/main.yml b/roles/oradb_manage_users/meta/main.yml similarity index 74% rename from roles/oradb-manage-users/meta/main.yml rename to roles/oradb_manage_users/meta/main.yml index 5bb736578..6f3034d93 100644 --- a/roles/oradb-manage-users/meta/main.yml +++ b/roles/oradb_manage_users/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-manage-users/tasks/main.yml b/roles/oradb_manage_users/tasks/main.yml similarity index 100% rename from roles/oradb-manage-users/tasks/main.yml rename to roles/oradb_manage_users/tasks/main.yml diff --git a/roles/oradb-rman/README.md b/roles/oradb_rman/README.md similarity index 100% rename from roles/oradb-rman/README.md rename to roles/oradb_rman/README.md diff --git a/roles/oradb-rman/defaults/main.yml b/roles/oradb_rman/defaults/main.yml similarity index 100% rename from roles/oradb-rman/defaults/main.yml rename to roles/oradb_rman/defaults/main.yml diff --git a/roles/oradb-rman/files/rman_backup.sh b/roles/oradb_rman/files/rman_backup.sh similarity index 100% rename from roles/oradb-rman/files/rman_backup.sh rename to roles/oradb_rman/files/rman_backup.sh diff --git a/roles/oradb-rman/meta/main.yml b/roles/oradb_rman/meta/main.yml similarity index 73% rename from roles/oradb-rman/meta/main.yml rename to roles/oradb_rman/meta/main.yml index bade6864b..57b6af158 100644 --- a/roles/oradb-rman/meta/main.yml +++ b/roles/oradb_rman/meta/main.yml @@ -6,18 +6,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oradb-rman/tasks/main.yml b/roles/oradb_rman/tasks/main.yml similarity index 69% rename from roles/oradb-rman/tasks/main.yml rename to roles/oradb_rman/tasks/main.yml index e9eedde07..126b688af 100644 --- a/roles/oradb-rman/tasks/main.yml +++ b/roles/oradb_rman/tasks/main.yml @@ -2,7 +2,7 @@ - name: Default Destinations for RMAN no_log: true - assert: + ansible.builtin.assert: that: - rman_controlfile_autobackup_disk_default - rman_channel_disk_default @@ -11,7 +11,7 @@ # autofs is configured in a special way to mount the shares with needed parameters - name: configure autofs for RMAN - lineinfile: + ansible.builtin.lineinfile: dest=/etc/auto.master regexp="^{{ rmanautofsmount }} " line="{{ rmanautofsmount }} /etc/auto.net --timeout=60 rw,hard,rsize=32768,wsize=32768,proto=tcp,nfsvers=3" @@ -19,29 +19,29 @@ tags: autofs - name: Create Mountpoint - file: dest={{ rmanautofsmount }} state=directory mode=0755 + ansible.builtin.file: dest={{ rmanautofsmount }} state=directory mode=0755 when: rmanautofs tags: autofs - name: Restart autofs - service: name=autofs enabled=yes state=restarted + ansible.builtin.service: name=autofs enabled=yes state=restarted when: rmanautofs tags: autofs - name: Create bin-Directory for rman_backup - file: path={{ oracle_base }}/bin state=directory mode=0755 + ansible.builtin.file: path={{ oracle_base }}/bin state=directory mode=0755 tags: - rmancopy - name: Create log-Directory for cron output - file: path={{ rman_cron_logdir }} state=directory mode=0755 owner={{ oracle_user }} + ansible.builtin.file: path={{ rman_cron_logdir }} state=directory mode=0755 owner={{ oracle_user }} tags: - rmancron - rmancopy # dummy with_together for item.0.db_name in default/main.yml - name: Create Directory for rman-scripts - file: path={{ rman_script_dir }} state=directory mode=0755 owner={{ oracle_user }} + ansible.builtin.file: path={{ rman_script_dir }} state=directory mode=0755 owner={{ oracle_user }} with_together: - "{{ oracle_databases }}" - "" @@ -50,7 +50,7 @@ # dummy with_together for item.0.db_name in default/main.yml - name: Create Directory for rman-logfiles - file: path={{ rman_log_dir }} state=directory mode=0755 owner={{ oracle_user }} + ansible.builtin.file: path={{ rman_log_dir }} state=directory mode=0755 owner={{ oracle_user }} with_together: - "{{ oracle_databases }}" - "" @@ -58,13 +58,13 @@ - rmancopy - name: copy rman_backup.sh - copy: dest={{ oracle_base }}/bin src=rman_backup.sh backup=yes mode=755 + ansible.builtin.copy: dest={{ oracle_base }}/bin src=rman_backup.sh backup=yes mode=755 tags: - rmancopy # rman_script_dir: {{oracle_admin_db}}/rman/ - name: copy RMAN scipts - template: dest={{ rman_script_dir }}/{{ item.1.name }}.rman src={{ item.1.name }}.rman.j2 backup=yes mode=644 owner={{ oracle_user }} + ansible.builtin.template: dest={{ rman_script_dir }}/{{ item.1.name }}.rman src={{ item.1.name }}.rman.j2 backup=yes mode=644 owner={{ oracle_user }} with_subelements: - "{{ oracle_databases }}" - rman_jobs @@ -73,7 +73,7 @@ - rmancopy - name: Create directory for TNS_ADMIN - file: dest={{ rman_tns_admin }} state=directory owner={{ oracle_user }} mode=0755 + ansible.builtin.file: dest={{ rman_tns_admin }} state=directory owner={{ oracle_user }} mode=0755 with_items: - "{{ oracle_databases }}" when: item.rman_tnsalias is defined @@ -81,7 +81,7 @@ - tns - name: copy sqlnet.ora for wallet - template: src=sqlnet.ora.j2 dest={{ rman_tns_admin }}/sqlnet.ora owner={{ oracle_user }} mode=0644 + ansible.builtin.template: src=sqlnet.ora.j2 dest={{ rman_tns_admin }}/sqlnet.ora owner={{ oracle_user }} mode=0644 with_items: - "{{ oracle_databases }}" when: item.rman_tnsalias is defined @@ -89,7 +89,7 @@ - tns - name: copy tnsnames.ora for catalog - template: src=tnsnames.ora.j2 dest={{ rman_tns_admin }}/tnsnames.ora owner={{ oracle_user }} mode=644 backup=true + ansible.builtin.template: src=tnsnames.ora.j2 dest={{ rman_tns_admin }}/tnsnames.ora owner={{ oracle_user }} mode=644 backup=true with_items: - "{{ oracle_databases }}" when: item.rman_tnsalias is defined @@ -97,7 +97,7 @@ - tns - name: Wallet create - shell: "test -d {{ rman_wallet_loc }} || echo -e '{{ rman_wallet_password }}\n{{ rman_wallet_password }}' | {{ oracle_home_db }}/bin/mkstore -create -nologo -wrl {{ rman_wallet_loc }}" + ansible.builtin.shell: "test -d {{ rman_wallet_loc }} || echo -e '{{ rman_wallet_password }}\n{{ rman_wallet_password }}' | {{ oracle_home_db }}/bin/mkstore -create -nologo -wrl {{ rman_wallet_loc }}" # noqa risky-shell-pipe yaml become: true become_user: "{{ oracle_user }}" @@ -110,7 +110,7 @@ # no_log => secure password against logfiles # ignore errors during createCredential when entry is existing - name: Wallet createCredential - shell: "echo -e '{{ rman_wallet_password }}' | {{ oracle_home_db }}/bin/mkstore -wrl {{ rman_wallet_loc }} -nologo -createCredential {{ item.rman_tnsalias }} {{ item.rman_user }} {{ item.rman_password }}; exit 0" + ansible.builtin.shell: "echo -e '{{ rman_wallet_password }}' | {{ oracle_home_db }}/bin/mkstore -wrl {{ rman_wallet_loc }} -nologo -createCredential {{ item.rman_tnsalias }} {{ item.rman_user }} {{ item.rman_password }}; exit 0" # noqa yaml risky-shell-pipe become: true become_user: "{{ oracle_user }}" @@ -127,10 +127,10 @@ # The task is only execute once on master_node when GI is installed! # no catalog connection, because setting initial parameters with catalog takes much more time - name: Execute RMAN-Script at playbook - shell: "{{ oracle_base }}/bin/rman_backup.sh -a {{ item.1.name }} -s {{ item.0.oracle_db_instance_name | default(item.0.oracle_db_name) }} -r {{ rman_script_dir }} -l {{ rman_log_dir }} | tee -a {{ rman_cron_logdir }}/rman_{{ item.1.name }}.log" + ansible.builtin.shell: "{{ oracle_base }}/bin/rman_backup.sh -a {{ item.1.name }} -s {{ item.0.oracle_db_instance_name | default(item.0.oracle_db_name) }} -r {{ rman_script_dir }} -l {{ rman_log_dir }} | tee -a {{ rman_cron_logdir }}/rman_{{ item.1.name }}.log" # noqa risky-shell-pipe yaml environment: - - PATH: /bin:/usr/bin + PATH: /bin:/usr/bin become: true become_user: "{{ oracle_user }}" register: rmanexecimmediate @@ -145,7 +145,7 @@ tags: - rmanexecute -- debug: msg={{ item.results.stdout_lines | default("") }} # noqa unnamed-task +- ansible.builtin.debug: msg={{ item.results.stdout_lines | default("") }} # noqa unnamed-task with_items: - "{{ rmanexecimmediate }}" when: rmanexecimmediate is defined @@ -153,7 +153,7 @@ - rmanexecute - name: Add Environment variables to /ec/cron.d - cron: + ansible.builtin.cron: cron_file: "{{ rman_cronfile }}" user: "{{ oracle_user }}" env: true @@ -167,7 +167,7 @@ - rmancron - name: Create crontab entries for RMAN Backup - cron: + ansible.builtin.cron: name: rman_backup_{{ item.0.oracle_db_name }}_{{ item.1.name }} cron_file: "{{ rman_cronfile }}" user: "{{ oracle_user }}" @@ -194,6 +194,6 @@ - rmancron - name: Create directory for mk-job - file: dest=/var/lib/check_mk_agent/job/{{ oracle_user }} state=directory owner={{ oracle_user }} mode=0755 + ansible.builtin.file: dest=/var/lib/check_mk_agent/job/{{ oracle_user }} state=directory owner={{ oracle_user }} mode=0755 when: rman_cron_mkjob tags: rmancron diff --git a/roles/oradb-rman/templates/archivelog.rman.j2 b/roles/oradb_rman/templates/archivelog.rman.j2 similarity index 100% rename from roles/oradb-rman/templates/archivelog.rman.j2 rename to roles/oradb_rman/templates/archivelog.rman.j2 diff --git a/roles/oradb-rman/templates/archivelog_fra_disk.rman.j2 b/roles/oradb_rman/templates/archivelog_fra_disk.rman.j2 similarity index 100% rename from roles/oradb-rman/templates/archivelog_fra_disk.rman.j2 rename to roles/oradb_rman/templates/archivelog_fra_disk.rman.j2 diff --git a/roles/oradb-rman/templates/offline_level0.rman.j2 b/roles/oradb_rman/templates/offline_level0.rman.j2 similarity index 100% rename from roles/oradb-rman/templates/offline_level0.rman.j2 rename to roles/oradb_rman/templates/offline_level0.rman.j2 diff --git a/roles/oradb-rman/templates/online_level0.rman.j2 b/roles/oradb_rman/templates/online_level0.rman.j2 similarity index 100% rename from roles/oradb-rman/templates/online_level0.rman.j2 rename to roles/oradb_rman/templates/online_level0.rman.j2 diff --git a/roles/oradb-rman/templates/online_level0_fra_disk.rman.j2 b/roles/oradb_rman/templates/online_level0_fra_disk.rman.j2 similarity index 100% rename from roles/oradb-rman/templates/online_level0_fra_disk.rman.j2 rename to roles/oradb_rman/templates/online_level0_fra_disk.rman.j2 diff --git a/roles/oradb-rman/templates/online_level1.rman.j2 b/roles/oradb_rman/templates/online_level1.rman.j2 similarity index 100% rename from roles/oradb-rman/templates/online_level1.rman.j2 rename to roles/oradb_rman/templates/online_level1.rman.j2 diff --git a/roles/oradb-rman/templates/online_level1_fra_disk.rman.j2 b/roles/oradb_rman/templates/online_level1_fra_disk.rman.j2 similarity index 100% rename from roles/oradb-rman/templates/online_level1_fra_disk.rman.j2 rename to roles/oradb_rman/templates/online_level1_fra_disk.rman.j2 diff --git a/roles/oradb-rman/templates/parameter.rman.j2 b/roles/oradb_rman/templates/parameter.rman.j2 similarity index 100% rename from roles/oradb-rman/templates/parameter.rman.j2 rename to roles/oradb_rman/templates/parameter.rman.j2 diff --git a/roles/oradb-rman/templates/parameter_fra_disk.rman.j2 b/roles/oradb_rman/templates/parameter_fra_disk.rman.j2 similarity index 100% rename from roles/oradb-rman/templates/parameter_fra_disk.rman.j2 rename to roles/oradb_rman/templates/parameter_fra_disk.rman.j2 diff --git a/roles/oradb-rman/templates/parameter_rac.rman.j2 b/roles/oradb_rman/templates/parameter_rac.rman.j2 similarity index 100% rename from roles/oradb-rman/templates/parameter_rac.rman.j2 rename to roles/oradb_rman/templates/parameter_rac.rman.j2 diff --git a/roles/oraemagent-install/defaults/main.yml b/roles/oraemagent_install/defaults/main.yml similarity index 100% rename from roles/oraemagent-install/defaults/main.yml rename to roles/oraemagent_install/defaults/main.yml diff --git a/roles/oraemagent-install/tasks/main.yml b/roles/oraemagent_install/tasks/main.yml similarity index 56% rename from roles/oraemagent-install/tasks/main.yml rename to roles/oraemagent_install/tasks/main.yml index 453ad38e7..8f730fa7f 100644 --- a/roles/oraemagent-install/tasks/main.yml +++ b/roles/oraemagent_install/tasks/main.yml @@ -14,40 +14,40 @@ # - checkifdbinstall - name: Add new dotprofile (EM Agent) - template: src=dotprofile-agent.j2 dest={{ oracle_user_home }}/{{ oracle_profile_name }} owner={{ oracle_user }} group={{ oracle_group }} mode=775 backup=yes + ansible.builtin.template: src=dotprofile-agent.j2 dest={{ oracle_user_home }}/{{ oracle_profile_name }} owner={{ oracle_user }} group={{ oracle_group }} mode=775 backup=yes tags: - dotprofileem - name: Create EM stage directory (base) - file: dest={{ oracle_stage }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory + ansible.builtin.file: dest={{ oracle_stage }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory tags: - directoriesdb - name: Create stage directory (version specific) - file: dest={{ oracle_stage }}/{{ item.version }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory + ansible.builtin.file: dest={{ oracle_stage }}/{{ item.version }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory with_items: "{{ oracle_sw_image_em_agent }}" when: em_agent_version == item.version tags: - directoriesem - name: Create rsp stage directory - file: dest={{ oracle_rsp_stage }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory + ansible.builtin.file: dest={{ oracle_rsp_stage }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory tags: - directoriesem - name: Create ORACLE_INVENTORY directory - file: dest={{ oracle_inventory_loc }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory + ansible.builtin.file: dest={{ oracle_inventory_loc }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory tags: - directoriesem - name: Create ORACLE_BASE directory - file: dest={{ oracle_base }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory + ansible.builtin.file: dest={{ oracle_base }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory tags: - directoriesem - name: Transfer oracle EM Agent installfiles to server (www) - get_url: url={{ oracle_sw_source_www }}/{{ item.filename }} dest={{ oracle_stage }} mode=775 + ansible.builtin.get_url: url={{ oracle_sw_source_www }}/{{ item.filename }} dest={{ oracle_stage }} mode=775 with_items: "{{ oracle_sw_image_em_agent }}" when: not is_sw_source_local and em_agent_version == item.version become_user: "{{ oracle_user }}" @@ -55,7 +55,7 @@ - oraemsw - name: Transfer oracle EM Agent installfiles to server (local) - copy: src={{ oracle_sw_source_local }}/{{ item.filename }} dest={{ oracle_stage }} mode=775 + ansible.builtin.copy: src={{ oracle_sw_source_local }}/{{ item.filename }} dest={{ oracle_stage }} mode=775 with_items: "{{ oracle_sw_image_em_agent }}" when: is_sw_source_local and em_agent_version == item.version become_user: "{{ oracle_user }}" @@ -63,7 +63,7 @@ - oraemsw - name: Extract files to stage-area - unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no with_items: "{{ oracle_sw_image_em_agent }}" when: em_agent_version == item.version become_user: "{{ oracle_user }}" @@ -71,14 +71,14 @@ - oradbswunpack - name: Setup response file for install (EM Agent) - template: src=agent.rsp.{{ em_agent_version }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_em_responsefile }} + ansible.builtin.template: src=agent.rsp.{{ em_agent_version }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_em_responsefile }} # noqa risky-file-permissions become_user: "{{ oracle_user }}" tags: - responsefileswem - name: Install EM Agent (1) - shell: "{{ oracle_stage }}/{{ item.version }}/agentDeploy.sh AGENT_BASE_DIR={{ em_agent_base_dir }} RESPONSE_FILE={{ oracle_rsp_stage }}/{{ oracle_em_responsefile }}" + ansible.builtin.shell: "{{ oracle_stage }}/{{ item.version }}/agentDeploy.sh AGENT_BASE_DIR={{ em_agent_base_dir }} RESPONSE_FILE={{ oracle_rsp_stage }}/{{ oracle_em_responsefile }}" # noqa command-instead-of-shell no-changed-when yaml with_items: "{{ oracle_sw_image_em_agent }}" become_user: "{{ oracle_user }}" @@ -86,23 +86,23 @@ register: emagent_install - name: Install EM Agent (2) - debug: var=emagent_install.stdout_lines + ansible.builtin.debug: var=emagent_install.stdout_lines with_items: "{{ emagent_install.results }}" - name: Run root.sh - shell: "{{ oracle_home_emag }}/root.sh" + ansible.builtin.shell: "{{ oracle_home_emag }}/root.sh" # noqa command-instead-of-shell no-changed-when - name: Wait for the agent to start - wait_for: host={{ ansible_fqdn }} port={{ em_agent_port }} timeout=120 + ansible.builtin.wait_for: host={{ ansible_fqdn }} port={{ em_agent_port }} timeout=120 - name: Check status for EM Agent - shell: "{{ oracle_home_emag }}/bin/emctl status agent" + ansible.builtin.shell: "{{ oracle_home_emag }}/bin/emctl status agent" # noqa command-instead-of-shell no-changed-when become_user: "{{ oracle_user }}" register: emctl_out tags: emagent-status - name: Print status - debug: var=emctl_out.stdout_lines + ansible.builtin.debug: var=emctl_out.stdout_lines tags: emagent-status diff --git a/roles/oraemagent-install/templates/agent.rsp.12.1.0.4.0.j2 b/roles/oraemagent_install/templates/agent.rsp.12.1.0.4.0.j2 similarity index 100% rename from roles/oraemagent-install/templates/agent.rsp.12.1.0.4.0.j2 rename to roles/oraemagent_install/templates/agent.rsp.12.1.0.4.0.j2 diff --git a/roles/oraemagent-install/templates/dotprofile-agent.j2 b/roles/oraemagent_install/templates/dotprofile-agent.j2 similarity index 100% rename from roles/oraemagent-install/templates/dotprofile-agent.j2 rename to roles/oraemagent_install/templates/dotprofile-agent.j2 diff --git a/roles/orahost-cron/tasks/main.yml b/roles/orahost-cron/tasks/main.yml deleted file mode 100644 index 1c5a6882f..000000000 --- a/roles/orahost-cron/tasks/main.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -# tasks file for orahost-admin -- name: Manage cron - cron: user={{ item.user }} name="{{ item.name }}" job="{{ item.job }}" hour={{ item.hour }} cron_file={{ item.cron_file }} state={{ item.state }} - with_items: - - "{{ cron_config }}" - when: cron_config is defined - tags: cron diff --git a/roles/orahost/handlers/main.yml b/roles/orahost/handlers/main.yml index 3d6d3268b..1463c7c07 100644 --- a/roles/orahost/handlers/main.yml +++ b/roles/orahost/handlers/main.yml @@ -1,9 +1,9 @@ --- - name: restart network - service: name=network state=restarted + ansible.builtin.service: name=network state=restarted - name: restart server - command: reboot + ansible.builtin.command: reboot - name: swapon - command: swapon -a + ansible.builtin.command: swapon -a diff --git a/roles/orahost/meta/main.yml b/roles/orahost/meta/main.yml index 1fa3cf451..cbf07bbfb 100644 --- a/roles/orahost/meta/main.yml +++ b/roles/orahost/meta/main.yml @@ -7,14 +7,14 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: [] diff --git a/roles/orahost/tasks/RedHat-6.yml b/roles/orahost/tasks/RedHat-6.yml index 3b82a1396..2a9de8cc7 100644 --- a/roles/orahost/tasks/RedHat-6.yml +++ b/roles/orahost/tasks/RedHat-6.yml @@ -1,13 +1,13 @@ --- - name: Count number of kernel lines that needs to be changed (numa=off transparent_hugepage=never) - shell: cat /etc/grub.conf | grep title |wc -l + ansible.builtin.shell: cat /etc/grub.conf | grep title |wc -l # noqa risky-shell-pipe no-changed-when register: count tags: thpnuma - name: Disable Transparent Hugepages (in grub.conf) - lineinfile: dest=/boot/grub/grub.conf + ansible.builtin.lineinfile: dest=/boot/grub/grub.conf backup=True backrefs=True state=present @@ -17,7 +17,7 @@ tags: thpnuma - name: Disable Numa (in grub.conf) - lineinfile: dest=/boot/grub/grub.conf + ansible.builtin.lineinfile: dest=/boot/grub/grub.conf backup=True backrefs=True state=present @@ -28,20 +28,20 @@ when: disable_numa_boot - name: Disable Transparent Hugepages (runtime) - shell: if test -f {{ item.path }}; then {{ item.disable }} {{ item.path }}; fi; + ansible.builtin.shell: if test -f {{ item.path }}; then {{ item.disable }} {{ item.path }}; fi; # noqa no-changed-when with_items: - "{{ transparent_hugepage_disable }}" tags: tphnuma - name: Disable Transparent Hugepages (permanently) - lineinfile: dest={{ item.rclocal }} line="{{ item.disable }} {{ item.path }}" state=present + ansible.builtin.lineinfile: dest={{ item.rclocal }} line="{{ item.disable }} {{ item.path }}" state=present with_items: - "{{ transparent_hugepage_disable }}" tags: tphnuma - name: Fix permissions on /etc/rc.d/rc.local - file: path={{ item.rclocal }} mode=755 + ansible.builtin.file: path={{ item.rclocal }} mode=755 with_items: - "{{ transparent_hugepage_disable }}" tags: tphnuma diff --git a/roles/orahost/tasks/RedHat-7.yml b/roles/orahost/tasks/RedHat-7.yml index 1fe45e784..9eabec8be 100644 --- a/roles/orahost/tasks/RedHat-7.yml +++ b/roles/orahost/tasks/RedHat-7.yml @@ -1,19 +1,19 @@ --- - name: Disable Transparent Hugepages (runtime) - shell: if test -f {{ item.path }}; then {{ item.disable }} {{ item.path }}; fi; + ansible.builtin.shell: if test -f {{ item.path }}; then {{ item.disable }} {{ item.path }}; fi; # noqa no-changed-when with_items: - "{{ transparent_hugepage_disable }}" tags: tphnuma - name: Disable Transparent Hugepages (permanently) - lineinfile: dest={{ item.rclocal }} line="{{ item.disable }} {{ item.path }}" state=present + ansible.builtin.lineinfile: dest={{ item.rclocal }} line="{{ item.disable }} {{ item.path }}" state=present with_items: - "{{ transparent_hugepage_disable }}" tags: tphnuma - name: Fix permissions on /etc/rc.d/rc.local - file: path={{ item.rclocal }} mode=755 + ansible.builtin.file: path={{ item.rclocal }} mode=755 with_items: - "{{ transparent_hugepage_disable }}" tags: tphnuma diff --git a/roles/orahost/tasks/RedHat-8.yml b/roles/orahost/tasks/RedHat-8.yml index 1fe45e784..9eabec8be 100644 --- a/roles/orahost/tasks/RedHat-8.yml +++ b/roles/orahost/tasks/RedHat-8.yml @@ -1,19 +1,19 @@ --- - name: Disable Transparent Hugepages (runtime) - shell: if test -f {{ item.path }}; then {{ item.disable }} {{ item.path }}; fi; + ansible.builtin.shell: if test -f {{ item.path }}; then {{ item.disable }} {{ item.path }}; fi; # noqa no-changed-when with_items: - "{{ transparent_hugepage_disable }}" tags: tphnuma - name: Disable Transparent Hugepages (permanently) - lineinfile: dest={{ item.rclocal }} line="{{ item.disable }} {{ item.path }}" state=present + ansible.builtin.lineinfile: dest={{ item.rclocal }} line="{{ item.disable }} {{ item.path }}" state=present with_items: - "{{ transparent_hugepage_disable }}" tags: tphnuma - name: Fix permissions on /etc/rc.d/rc.local - file: path={{ item.rclocal }} mode=755 + ansible.builtin.file: path={{ item.rclocal }} mode=755 with_items: - "{{ transparent_hugepage_disable }}" tags: tphnuma diff --git a/roles/orahost/tasks/Suse-12.yml b/roles/orahost/tasks/Suse-12.yml index 355e7fdbc..d7ae3780b 100644 --- a/roles/orahost/tasks/Suse-12.yml +++ b/roles/orahost/tasks/Suse-12.yml @@ -1,5 +1,5 @@ --- - name: Disable Transparent Hugepages (runtime) - shell: if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled; fi; + ansible.builtin.shell: if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled; fi; # noqa no-changed-when tags: tphnuma diff --git a/roles/orahost/tasks/main.yml b/roles/orahost/tasks/main.yml index 83fe03601..f365886be 100644 --- a/roles/orahost/tasks/main.yml +++ b/roles/orahost/tasks/main.yml @@ -2,7 +2,7 @@ --- - name: Check for correct OS family & min version - assert: + ansible.builtin.assert: that: - "ansible_os_family == '{{ os_family_supported }}'" - "ansible_facts['distribution_version'] is version('{{ os_min_supported_version }}', '>=')" @@ -11,7 +11,7 @@ # OL8/RHEL8 has all needed RPMs in orahost role! - name: Install packages required by Oracle on OL/RHEL version 6 and 7 - yum: + ansible.builtin.yum: name: "{{ oracle_packages }}" state: installed enablerepo: "{{ extrarepos_enabled | default (omit, True) }}" @@ -23,12 +23,12 @@ tags: os_packages, oscheck - name: Install packages required by Oracle on SLES - zypper: name={{ oracle_packages_sles }} state=installed + ansible.builtin.zypper: name={{ oracle_packages_sles }} state=installed when: install_os_packages and ansible_os_family == 'Suse' tags: os_packages, oscheck - name: Install packages required by Oracle for ASMlib on OL/RHEL - yum: + ansible.builtin.yum: name: "{{ oracle_asm_packages }}" state: installed enablerepo: "{{ extrarepos_enabled | default (omit, True ) }}" @@ -41,30 +41,30 @@ tags: os_packages, oscheck - name: Install packages required by Oracle for ASMlib on SLES - zypper: name={{ oracle_asm_packages_sles }} state=installed + ansible.builtin.zypper: name={{ oracle_asm_packages_sles }} state=installed when: install_os_packages and device_persistence == 'asmlib' and ansible_os_family == 'Suse' and asm_diskgroups is defined tags: os_packages, oscheck, asm1 - name: Check if firewall is installed - yum: list={{ firewall_service }} disablerepo=* + ansible.builtin.yum: list={{ firewall_service }} disablerepo=* when: disable_firewall and ansible_os_family == 'RedHat' tags: iptables,firewalld register: firewall - name: Disable firewall - service: name={{ firewall_service }} state=stopped enabled=no + ansible.builtin.service: name={{ firewall_service }} state=stopped enabled=no when: disable_firewall and ansible_os_family == 'RedHat' and firewall.results tags: iptables,firewalld register: iptables - name: Disable selinux (permanently) - selinux: state=disabled + ansible.builtin.selinux: state=disabled when: disable_selinux and ansible_os_family == 'RedHat' tags: selinux register: selinux - name: Disable selinux (runtime) # noqa command-instead-of-shell - shell: setenforce 0 + ansible.builtin.shell: setenforce 0 when: disable_selinux and ansible_os_family == 'RedHat' changed_when: disable_selinux_runtime.rc == 0 failed_when: disable_selinux_runtime.rc > 0 and "SELinux is disabled" not in disable_selinux_runtime.stderr @@ -73,14 +73,14 @@ - block: # noqa unnamed-task - name: Set Timezone - timezone: + ansible.builtin.timezone: name: "{{ os_timezone }}" hwclock: "{{ os_hwclock | default(omit) }}" register: timezoneresult tags: timezone - name: Restart crond after timezone change - service: + ansible.builtin.service: name: crond state: restarted when: @@ -91,14 +91,14 @@ when: os_timezone is defined - name: Check dns for host - command: host {{ ansible_hostname }} + ansible.builtin.command: host {{ ansible_hostname }} register: ns ignore_errors: true changed_when: false tags: etchosts - name: Add host to /etc/hosts if needed - lineinfile: dest=/etc/hosts regexp='.*{{ ansible_fqdn }}$' line="{{ etc_hosts_ip }} {{ ansible_hostname }} {{ ansible_fqdn }}" state=present + ansible.builtin.lineinfile: dest=/etc/hosts regexp='.*{{ ansible_fqdn }}$' line="{{ etc_hosts_ip }} {{ ansible_hostname }} {{ ansible_fqdn }}" state=present when: "ns.rc != 0 or configure_etc_hosts" tags: etchosts @@ -107,13 +107,13 @@ # when: configure_etc_hosts and ansible_default_ipv4.address is defined - name: User | Add group(s) - group: name={{ item.group }} gid={{ item.gid }} state=present + ansible.builtin.group: name={{ item.group }} gid={{ item.gid }} state=present with_items: "{{ oracle_groups }}" tags: - group - name: User | Add Oracle user - user: + ansible.builtin.user: name: "{{ item.username }}" group: "{{ item.primgroup }}" groups: "{{ item.othergroups }}" @@ -128,7 +128,7 @@ - user - name: User | Add Grid user - user: + ansible.builtin.user: name: "{{ item.username }}" group: "{{ item.primgroup }}" groups: "{{ item.othergroups }}" @@ -144,14 +144,14 @@ - user - name: User | Add Oracle user to sudoers - template: src=sudoers.j2 dest=/etc/sudoers.d/{{ item.username }} owner=root mode=0600 + ansible.builtin.template: src=sudoers.j2 dest=/etc/sudoers.d/{{ item.username }} owner=root mode=0600 with_items: "{{ oracle_users }}" when: configure_oracle_sudo tags: - sudoadd - name: User | Add Grid user to sudoers - template: src=sudoers.j2 dest=/etc/sudoers.d/{{ item.username }} owner=root mode=0600 + ansible.builtin.template: src=sudoers.j2 dest=/etc/sudoers.d/{{ item.username }} owner=root mode=0600 with_items: "{{ grid_users }}" when: role_separation and configure_oracle_sudo tags: @@ -159,6 +159,7 @@ - name: ssh-keys | Generate SSH keys local_action: shell rm -f /tmp/id_rsa*; ssh-keygen -q -N "" -f /tmp/id_rsa ; chmod +r /tmp/id_rsa; cat /tmp/id_rsa.pub > /tmp/authorized_keys # noqa yaml deprecated-command-syntax deprecated-local-action ignore-errors + # noqa fqcn-builtins ignore_errors: true run_once: "{{ configure_cluster }}" when: configure_ssh and configure_cluster and old_ssh_config @@ -167,7 +168,7 @@ - sshkeys - name: ssh-keys | Add ssh-keys & authorized_keys to oracle user - copy: src={{ item[1] }} dest={{ item[0].home | default(oracle_user_home | regex_replace('[^/]+$','') + item[0].username) }}/.ssh owner={{ item[0].username }} group={{ item[0].primgroup }} force=yes mode=0600 + ansible.builtin.copy: src={{ item[1] }} dest={{ item[0].home | default(oracle_user_home | regex_replace('[^/]+$','') + item[0].username) }}/.ssh owner={{ item[0].username }} group={{ item[0].primgroup }} force=yes mode=0600 when: configure_ssh and configure_cluster and old_ssh_config with_nested: - "{{ oracle_users }}" @@ -176,7 +177,7 @@ - sshkeys - name: ssh-keys | Add ssh-keys & authorized_keys to grid user - copy: + ansible.builtin.copy: src: "{{ item[1] }}" dest: "{{ item[0].home | default(oracle_user_home | regex_replace('[^/]+$','') + item[0].username) }}/.ssh" owner: "{{ item[0].username }}" @@ -192,6 +193,7 @@ - name: ssh-keys | Add short name to known_hosts local_action: shell ssh-keyscan -p {{ ansible_ssh_port|default(22) }} -H {{ ansible_hostname }} 2> /dev/null >> {{ keyfile }} # noqa deprecated-local-action ignore-errors yaml + # noqa fqcn-builtins ignore_errors: true become: false when: configure_ssh and configure_cluster and old_ssh_config @@ -200,6 +202,7 @@ - name: ssh-keys | Add FQDN to known_hosts local_action: shell ssh-keyscan -p {{ ansible_ssh_port|default(22) }} -H {{ ansible_fqdn }} 2> /dev/null >> {{ keyfile }} # noqa yaml ignore-errors deprecated-local-action + # noqa fqcn-builtins ignore_errors: true become: false when: configure_ssh and configure_cluster and old_ssh_config @@ -208,6 +211,7 @@ - name: ssh-keys | Add IPv4 to known_hosts local_action: shell ssh-keyscan -p {{ ansible_ssh_port|default(22) }} -H {{ ansible_default_ipv4.address }} 2> /dev/null >> {{ keyfile }} # noqa yaml ignore-errors deprecated-local-action + # noqa fqcn-builtins ignore_errors: true become: false when: configure_ssh and configure_cluster and old_ssh_config @@ -215,14 +219,14 @@ - sshkeys - name: ssh-keys | Copy known_hosts to oracle user - copy: src={{ keyfile }} dest={{ item.home | default(oracle_user_home | regex_replace('[^/]+$','') + item.username) }}/.ssh/known_hosts owner={{ item.username }} group={{ item.primgroup }} mode=0644 + ansible.builtin.copy: src={{ keyfile }} dest={{ item.home | default(oracle_user_home | regex_replace('[^/]+$','') + item.username) }}/.ssh/known_hosts owner={{ item.username }} group={{ item.primgroup }} mode=0644 with_items: "{{ oracle_users }}" when: configure_ssh and configure_cluster and old_ssh_config tags: - sshkeys - name: ssh-keys | Copy known_hosts to grid user - copy: src={{ keyfile }} dest={{ item.home | default(oracle_user_home | regex_replace('[^/]+$','') + item.username) }}/.ssh/known_hosts owner={{ item.username }} group={{ item.primgroup }} mode=0644 + ansible.builtin.copy: src={{ keyfile }} dest={{ item.home | default(oracle_user_home | regex_replace('[^/]+$','') + item.username) }}/.ssh/known_hosts owner={{ item.username }} group={{ item.primgroup }} mode=0644 with_items: "{{ grid_users }}" when: configure_ssh and configure_cluster and role_separation and old_ssh_config tags: @@ -230,6 +234,7 @@ - name: ssh-keys | Remove generated keys from control machine local_action: file path="{{ item }}" state=absent # noqa deprecated-local-action ignore-errors + # noqa fqcn-builtins with_items: - "{{ ssh_keys }}" - "{{ keyfile }}" @@ -241,7 +246,7 @@ - sshkeys - name: filesystem | Create directories - file: path={{ item.1.mntp }} state=directory owner={{ oracle_user }} group={{ oracle_group }} mode=0775 + ansible.builtin.file: path={{ item.1.mntp }} state=directory owner={{ oracle_user }} group={{ oracle_group }} mode=0775 with_subelements: - "{{ host_fs_layout }}" - filesystem @@ -249,7 +254,7 @@ # create partition only when device != pvname - name: filesystem | Create partition and pv - shell: parted -a optimal -s {{ item.1.device }} "mklabel gpt mkpart primary 1 -1" + ansible.builtin.shell: parted -a optimal -s {{ item.1.device }} "mklabel gpt mkpart primary 1 -1" # noqa command-instead-of-shell args: creates: "{{ item.1.pvname }}" @@ -260,13 +265,13 @@ tags: hostfs - name: filesystem | Create vg - lvg: vg={{ item.vgname }} pvs={{ host_fs_layout_vgdisks }} state={{ item.state }} + ansible.builtin.lvg: vg={{ item.vgname }} pvs={{ host_fs_layout_vgdisks }} state={{ item.state }} with_items: "{{ host_fs_layout }}" when: configure_host_disks tags: hostfs - name: filesystem | create lv - lvol: vg={{ item.0.vgname }} lv={{ item.1.lvname }} size={{ item.1.lvsize }} state=present shrink=no resizefs=yes + ansible.builtin.lvol: vg={{ item.0.vgname }} lv={{ item.1.lvname }} size={{ item.1.lvsize }} state=present shrink=no resizefs=yes with_subelements: - "{{ host_fs_layout }}" - filesystem @@ -274,7 +279,7 @@ tags: hostfs - name: filesystem | create fs - filesystem: fstype={{ item.1.fstype }} dev=/dev/{{ item.0.vgname }}/{{ item.1.lvname }} opts={{ item.1.fsopts | default(omit) }} + ansible.builtin.filesystem: fstype={{ item.1.fstype }} dev=/dev/{{ item.0.vgname }}/{{ item.1.lvname }} opts={{ item.1.fsopts | default(omit) }} with_subelements: - "{{ host_fs_layout }}" - filesystem @@ -282,7 +287,7 @@ tags: hostfs - name: filesytem | mount dir - mount: + ansible.builtin.mount: name: "{{ item.1.mntp }}" src: "/dev/{{ item.0.vgname }}/{{ item.1.lvname }}" dump: 1 @@ -316,7 +321,7 @@ tags: hostfs - name: filesystem | Change permission on directories - file: + ansible.builtin.file: path: "{{ item.1.mntp }}" owner: "{{ item.1.owner | default(oracle_user) }}" group: "{{ item.1.group | default(oracle_group) }}" @@ -328,16 +333,16 @@ tags: hostfs - name: filesystem | Create directory for oraInventory - file: path={{ oracle_inventory_loc }} state=directory owner={{ oracle_user }} group={{ oracle_group }} mode=775 + ansible.builtin.file: path={{ oracle_inventory_loc }} state=directory owner={{ oracle_user }} group={{ oracle_group }} mode=775 tags: hostfs - name: Oracle-recommended kernel settings - sysctl: name={{ item.name }} value="{{ item.value }}" state=present reload=yes ignoreerrors=yes + ansible.builtin.sysctl: name={{ item.name }} value="{{ item.value }}" state=present reload=yes ignoreerrors=yes with_items: "{{ oracle_sysctl }}" tags: sysctl - name: Oracle hugepages - sysctl: name={{ item.name }} value="{{ item.value }}" state=present reload=yes ignoreerrors=yes + ansible.builtin.sysctl: name={{ item.name }} value="{{ item.value }}" state=present reload=yes ignoreerrors=yes with_items: "{{ oracle_hugepages }}" register: systclcmd tags: sysctl,hugepages @@ -350,12 +355,12 @@ # => retry a sysctl -p - block: # noqa unnamed-task - name: Flush Buffer Cache when hugepages have been changed - command: echo 2 > /proc/sys/vm/drop_caches + ansible.builtin.command: echo 2 > /proc/sys/vm/drop_caches # noqa no-changed-when tags: sysctl,hugepages - name: Try sysctl again - sysctl: name={{ item.name }} value="{{ item.value }}" state=present reload=yes + ansible.builtin.sysctl: name={{ item.name }} value="{{ item.value }}" state=present reload=yes with_items: "{{ oracle_hugepages }}" tags: sysctl,hugepages when: @@ -364,26 +369,26 @@ tags: sysctl,hugepages - name: Oracle-recommended PAM config - lineinfile: dest=/etc/pam.d/login state=present line="session required pam_limits.so" + ansible.builtin.lineinfile: dest=/etc/pam.d/login state=present line="session required pam_limits.so" tags: pamconfig - name: Oracle-recommended security limits - template: src=oracle-seclimits.conf.j2 dest=/etc/security/limits.d/99-oracle-limits.conf backup=yes mode=0644 + ansible.builtin.template: src=oracle-seclimits.conf.j2 dest=/etc/security/limits.d/99-oracle-limits.conf backup=yes mode=0644 when: ansible_os_family == 'RedHat' tags: seclimit - name: Oracle-recommended security limits on SLES - pam_limits: domain=oracle limit_type={{ item.name.split(' ')[0] }} limit_item={{ item.name.split(' ')[1] }} value={{ item.value }} + ansible.builtin.pam_limits: domain=oracle limit_type={{ item.name.split(' ')[0] }} limit_item={{ item.name.split(' ')[1] }} value={{ item.value }} with_items: "{{ oracle_seclimits }}" when: ansible_os_family == 'Suse' tags: seclimit -- include: "{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml" +- ansible.builtin.include: "{{ ansible_os_family }}-{{ ansible_distribution_major_version }}.yml" tags: tphnuma # when: ansible_os_family == 'RedHat' - name: Network | Configure NOZEROCONF - lineinfile: + ansible.builtin.lineinfile: path: /etc/sysconfig/network regexp: "^NOZEROCONF=" line: "NOZEROCONF=yes" @@ -391,67 +396,52 @@ tags: nozeroconf - name: Network | Setup ip-address for RAC Interconnect - template: src=ifcfg-eth1.j2 dest=/etc/sysconfig/network-scripts/ifcfg-{{ oracle_gi_nic_priv }} owner=root mode=0644 + ansible.builtin.template: src=ifcfg-eth1.j2 dest=/etc/sysconfig/network-scripts/ifcfg-{{ oracle_gi_nic_priv }} owner=root mode=0644 when: configure_interconnect and configure_cluster and ansible_os_family == 'RedHat' tags: - eth1 register: ic - name: Network | Bring up eth1 - service: name=network state=restarted + ansible.builtin.service: name=network state=restarted when: configure_interconnect and configure_cluster and ic.changed and ansible_os_family == 'RedHat' tags: - eth1 - name: Create stage directory - file: dest={{ oracle_stage }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory + ansible.builtin.file: dest={{ oracle_stage }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory tags: stagedir - name: Create rsp stage directory - file: dest={{ oracle_rsp_stage }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory + ansible.builtin.file: dest={{ oracle_rsp_stage }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory tags: stagedir - name: udev | Create udev stage directory - file: dest={{ oracle_stage }}/udev mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory + ansible.builtin.file: dest={{ oracle_stage }}/udev mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory when: device_persistence == 'udev' - name: Asmlib | Add configuration - template: src=oracleasm.j2 dest=/etc/sysconfig/oracleasm-_dev_oracleasm mode=0644 + ansible.builtin.template: src=oracleasm.j2 dest=/etc/sysconfig/oracleasm-_dev_oracleasm mode=0644 register: asmlibconfig when: device_persistence|lower == 'asmlib' and asm_diskgroups is defined tags: - asmlibconfig - name: Asmlib | Add configuration (link) - file: src=/etc/sysconfig/oracleasm-_dev_oracleasm dest=/etc/sysconfig/oracleasm state=link force=yes + ansible.builtin.file: src=/etc/sysconfig/oracleasm-_dev_oracleasm dest=/etc/sysconfig/oracleasm state=link force=yes register: asmlibconfig when: device_persistence|lower == 'asmlib' and asm_diskgroups is defined tags: - asmlibconfig - name: Asmlib | Enable and start Oracle Asmlib - service: name=oracleasm state=started enabled=yes + ansible.builtin.service: name=oracleasm state=started enabled=yes when: device_persistence == 'asmlib' and asm_diskgroups is defined tags: - asmlibconfig - name: Asmlib | Restart Asmlib - service: name=oracleasm state=restarted + ansible.builtin.service: name=oracleasm state=restarted when: asm_diskgroups is defined and device_persistence == 'asmlib' and asmlibconfig.changed tags: - asmlibconfig - -# - name: VNC | Create directory -# file: name=/home/{{ oracle_user }}/.vnc state=directory owner={{ oracle_user }} group={{ oracle_group }} -# tags: -# - vnc - -# - name: VNC | Copy passwd file -# copy: src=passwd dest=/home/{{ oracle_user }}/.vnc/passwd owner={{ oracle_user }} group={{ oracle_group }} backup=yes -# tags: -# - vnc - -# - name: VNC | Start VNC server -# shell: su - oracle -c vncserver start -# tags: -# - vnc diff --git a/roles/orahost-cron/README.md b/roles/orahost_cron/README.md similarity index 100% rename from roles/orahost-cron/README.md rename to roles/orahost_cron/README.md diff --git a/roles/orahost-cron/defaults/main.yml b/roles/orahost_cron/defaults/main.yml similarity index 100% rename from roles/orahost-cron/defaults/main.yml rename to roles/orahost_cron/defaults/main.yml diff --git a/roles/orahost_cron/tasks/main.yml b/roles/orahost_cron/tasks/main.yml new file mode 100644 index 000000000..7ecf31397 --- /dev/null +++ b/roles/orahost_cron/tasks/main.yml @@ -0,0 +1,8 @@ +--- +# tasks file for orahost-admin +- name: Manage cron + ansible.builtin.cron: user={{ item.user }} name="{{ item.name }}" job="{{ item.job }}" hour={{ item.hour }} cron_file={{ item.cron_file }} state={{ item.state }} + with_items: + - "{{ cron_config }}" + when: cron_config is defined + tags: cron diff --git a/roles/orahost-logrotate/README.md b/roles/orahost_logrotate/README.md similarity index 100% rename from roles/orahost-logrotate/README.md rename to roles/orahost_logrotate/README.md diff --git a/roles/orahost-logrotate/defaults/main.yml b/roles/orahost_logrotate/defaults/main.yml similarity index 100% rename from roles/orahost-logrotate/defaults/main.yml rename to roles/orahost_logrotate/defaults/main.yml diff --git a/roles/orahost-logrotate/tasks/main.yml b/roles/orahost_logrotate/tasks/main.yml similarity index 56% rename from roles/orahost-logrotate/tasks/main.yml rename to roles/orahost_logrotate/tasks/main.yml index c3f5c6d6b..7332671c7 100644 --- a/roles/orahost-logrotate/tasks/main.yml +++ b/roles/orahost_logrotate/tasks/main.yml @@ -2,13 +2,13 @@ # tasks file for orahost-logrotate - name: Manage logrotate - template: src=logrotate.j2 dest=/etc/logrotate.d/{{ item.name }} mode=0644 + ansible.builtin.template: src=logrotate.j2 dest=/etc/logrotate.d/{{ item.name }} mode=0644 with_items: - "{{ logrotate_config }}" when: logrotate_config is defined tags: logrotate - name: Manage Cleanup-Scripts - template: src=oracle_cleanup.j2 dest=/etc/cron.daily/oracle_cleanup.sh mode=744 + ansible.builtin.template: src=oracle_cleanup.j2 dest=/etc/cron.daily/oracle_cleanup.sh mode=744 when: logrotate_config is defined tags: cleanup diff --git a/roles/orahost-logrotate/templates/logrotate.j2 b/roles/orahost_logrotate/templates/logrotate.j2 similarity index 100% rename from roles/orahost-logrotate/templates/logrotate.j2 rename to roles/orahost_logrotate/templates/logrotate.j2 diff --git a/roles/orahost-logrotate/templates/oracle_cleanup.j2 b/roles/orahost_logrotate/templates/oracle_cleanup.j2 similarity index 100% rename from roles/orahost-logrotate/templates/oracle_cleanup.j2 rename to roles/orahost_logrotate/templates/oracle_cleanup.j2 diff --git a/roles/orahost_meta/meta/main.yml b/roles/orahost_meta/meta/main.yml index 4a77f11ec..c11b78bb9 100644 --- a/roles/orahost_meta/meta/main.yml +++ b/roles/orahost_meta/meta/main.yml @@ -7,14 +7,14 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: [] diff --git a/roles/orahost-ssh/README.md b/roles/orahost_ssh/README.md similarity index 100% rename from roles/orahost-ssh/README.md rename to roles/orahost_ssh/README.md diff --git a/roles/orahost-ssh/defaults/main.yml b/roles/orahost_ssh/defaults/main.yml similarity index 100% rename from roles/orahost-ssh/defaults/main.yml rename to roles/orahost_ssh/defaults/main.yml diff --git a/roles/orahost-ssh/tasks/known-hosts.yml b/roles/orahost_ssh/tasks/known-hosts.yml similarity index 67% rename from roles/orahost-ssh/tasks/known-hosts.yml rename to roles/orahost_ssh/tasks/known-hosts.yml index a57b92847..678774906 100644 --- a/roles/orahost-ssh/tasks/known-hosts.yml +++ b/roles/orahost_ssh/tasks/known-hosts.yml @@ -1,20 +1,20 @@ --- - name: ssh-keys | Add fqdn to known_hosts ({{ user }}) - shell: ssh-keyscan -H {{ ansible_fqdn }} >> /home/{{ user }}/.ssh/known_hosts + ansible.builtin.shell: ssh-keyscan -H {{ ansible_fqdn }} >> /home/{{ user }}/.ssh/known_hosts delegate_to: "{{ item }}" with_items: "{{ groups[hostgroup] }}" tags: sshkeys,known_hosts changed_when: false - name: ssh-keys | Add short name to known_hosts ({{ user }}) - shell: ssh-keyscan -H {{ ansible_hostname }} >> /home/{{ user }}/.ssh/known_hosts + ansible.builtin.shell: ssh-keyscan -H {{ ansible_hostname }} >> /home/{{ user }}/.ssh/known_hosts delegate_to: "{{ item }}" with_items: "{{ groups[hostgroup] }}" tags: sshkeys,known_hosts changed_when: false - name: ssh-keys | Add IPv4 to known_hosts ({{ user }}) - shell: ssh-keyscan -H {{ ansible_default_ipv4.address }} >> /home/{{ user }}/.ssh/known_hosts + ansible.builtin.shell: ssh-keyscan -H {{ ansible_default_ipv4.address }} >> /home/{{ user }}/.ssh/known_hosts delegate_to: "{{ item }}" with_items: "{{ groups[hostgroup] }}" tags: sshkeys,known_hosts diff --git a/roles/orahost-ssh/tasks/main.yml b/roles/orahost_ssh/tasks/main.yml similarity index 78% rename from roles/orahost-ssh/tasks/main.yml rename to roles/orahost_ssh/tasks/main.yml index 126cf2113..2edb563e2 100644 --- a/roles/orahost-ssh/tasks/main.yml +++ b/roles/orahost_ssh/tasks/main.yml @@ -1,13 +1,13 @@ --- - name: ssh-keys | get public key for oracle user - shell: cat /home/{{ oracle_user }}/.ssh/id_rsa.pub + ansible.builtin.shell: cat /home/{{ oracle_user }}/.ssh/id_rsa.pub # noqa command-instead-of-shell no-changed-when register: oracle_key tags: - sshkeys - name: ssh-keys | get public key for grid user - shell: cat /home/{{ grid_user }}/.ssh/id_rsa.pub + ansible.builtin.shell: cat /home/{{ grid_user }}/.ssh/id_rsa.pub # noqa command-instead-of-shell register: grid_key when: role_separation @@ -15,7 +15,7 @@ - sshkeys - name: ssh-keys | Add keys for {{ oracle_user }} user - authorized_key: user={{ oracle_user }} key="{{ item[1] }}" + ansible.builtin.authorized_key: user={{ oracle_user }} key="{{ item[1] }}" delegate_to: "{{ item[0] }}" with_nested: - "{{ groups[hostgroup] }}" @@ -25,7 +25,7 @@ when: oracle_key is defined - name: ssh-keys | Add keys for {{ grid_user }} user - authorized_key: user={{ grid_user }} key="{{ item[1] }}" + ansible.builtin.authorized_key: user={{ grid_user }} key="{{ item[1] }}" delegate_to: "{{ item[0] }}" with_nested: - "{{ groups[hostgroup] }}" @@ -35,7 +35,7 @@ when: role_separation and grid_key is defined - name: ssh-keys | create .known_hosts - file: + ansible.builtin.file: path: "/home/{{ item }}/.ssh/known_hosts" state: touch owner: "{{ item }}" @@ -47,7 +47,7 @@ changed_when: false tags: sshkeys,known_hosts -- include: known-hosts.yml +- ansible.builtin.include: known-hosts.yml with_items: - "{{ oracle_user }}" - "{% if role_separation %}{{ grid_user }}{% else %}[]{% endif %}" diff --git a/roles/orahost-storage/defaults/main.yml b/roles/orahost_storage/defaults/main.yml similarity index 100% rename from roles/orahost-storage/defaults/main.yml rename to roles/orahost_storage/defaults/main.yml diff --git a/roles/orahost-storage/files/disks.sh b/roles/orahost_storage/files/disks.sh similarity index 100% rename from roles/orahost-storage/files/disks.sh rename to roles/orahost_storage/files/disks.sh diff --git a/roles/orahost-storage/tasks/asmlib.yml b/roles/orahost_storage/tasks/asmlib.yml similarity index 75% rename from roles/orahost-storage/tasks/asmlib.yml rename to roles/orahost_storage/tasks/asmlib.yml index 095dcb53d..00cb6b3ed 100644 --- a/roles/orahost-storage/tasks/asmlib.yml +++ b/roles/orahost_storage/tasks/asmlib.yml @@ -1,7 +1,7 @@ --- - block: # noqa unnamed-task - name: ASM-storage | create asmlib labels - shell: "{{ asmlib_binary }} createdisk {{ item.1.asmlabel }} {{ item.1.device }}{{ partition_suffix }}" + ansible.builtin.shell: "{{ asmlib_binary }} createdisk {{ item.1.asmlabel }} {{ item.1.device }}{{ partition_suffix }}" # noqa command-instead-of-shell args: creates: "/dev/oracleasm/disks/{{ item.1.asmlabel | upper }}" @@ -14,20 +14,20 @@ tags: asmlibconfig,asmstorage - name: ASMlib | Rescan ASM disks - shell: "{{ asmlib_binary }} scandisks" + ansible.builtin.shell: "{{ asmlib_binary }} scandisks" # noqa command-instead-of-shell changed_when: false tags: asmlibconfig,asmstorage - name: ASMlib | List ASM disks - shell: "{{ asmlib_binary }} listdisks" + ansible.builtin.shell: "{{ asmlib_binary }} listdisks" # noqa command-instead-of-shell register: listdisks changed_when: false tags: asmlibconfig,asmstorage - name: ASMlib | List ASM disks - debug: var=listdisks.stdout_lines + ansible.builtin.debug: var=listdisks.stdout_lines tags: asmlibconfig,asmstorage when: diff --git a/roles/orahost-storage/tasks/dm-multipath-kpartx.yml b/roles/orahost_storage/tasks/dm-multipath-kpartx.yml similarity index 82% rename from roles/orahost-storage/tasks/dm-multipath-kpartx.yml rename to roles/orahost_storage/tasks/dm-multipath-kpartx.yml index db965eac5..1f2543a64 100644 --- a/roles/orahost-storage/tasks/dm-multipath-kpartx.yml +++ b/roles/orahost_storage/tasks/dm-multipath-kpartx.yml @@ -1,7 +1,7 @@ --- - name: ASM-storage | run kpartx to add partition - shell: kpartx -a {{ item.1.device }} + ansible.builtin.shell: kpartx -a {{ item.1.device }} # noqa command-instead-of-shell args: creates: "{{ item.1.device }}{{ partition_suffix }}" diff --git a/roles/orahost-storage/tasks/main.yml b/roles/orahost_storage/tasks/main.yml similarity index 78% rename from roles/orahost-storage/tasks/main.yml rename to roles/orahost_storage/tasks/main.yml index 51ea057b3..cc619e267 100644 --- a/roles/orahost-storage/tasks/main.yml +++ b/roles/orahost_storage/tasks/main.yml @@ -2,7 +2,7 @@ # Partition & ASM-Label Shared disks - name: ASM-storage | partition devices - shell: parted {{ item.1.device }} "mklabel gpt mkpart primary 1 -1" + ansible.builtin.shell: parted {{ item.1.device }} "mklabel gpt mkpart primary 1 -1" # noqa command-instead-of-shell args: creates: "{{ item.1.device }}{{ partition_suffix }}" @@ -13,13 +13,13 @@ when: partition_devices and asm_diskgroups is defined tags: asmstorage,partition -- include: dm-multipath-kpartx.yml +- ansible.builtin.include: dm-multipath-kpartx.yml when: multipath == 'dm-multipath' and partition_devices and asm_diskgroups is defined -- include: "{{ device_persistence }}.yml" +- ansible.builtin.include: "{{ device_persistence }}.yml" - name: dNFS-storage | Prepare mountpoints - file: + ansible.builtin.file: path: "{{ item.1.mount }}" state: "directory" owner: "root" @@ -31,7 +31,7 @@ when: oradnfs is defined - name: dNFS-storage | Configure /etc/fstab and mount - mount: + ansible.builtin.mount: src: "{{ item.0.server }}:{{ item.1.export }}" path: "{{ item.1.mount }}" fstype: "nfs" @@ -43,14 +43,14 @@ when: oradnfs is defined - name: dNFS-storage | Change permission on directories - file: path={{ item.1.mount }} state=directory owner={{ oracle_user }} group={{ oracle_group }} mode=0775 + ansible.builtin.file: path={{ item.1.mount }} state=directory owner={{ oracle_user }} group={{ oracle_group }} mode=0775 with_subelements: - "{{ oradnfs }}" - exports when: oradnfs is defined - name: dNFS-storage | Create /etc/oranfstab for dNFS - blockinfile: + ansible.builtin.blockinfile: path: /etc/oranfstab state: present create: true diff --git a/roles/orahost-storage/tasks/udev.yml b/roles/orahost_storage/tasks/udev.yml similarity index 56% rename from roles/orahost-storage/tasks/udev.yml rename to roles/orahost_storage/tasks/udev.yml index 76c05edba..9de0d534c 100644 --- a/roles/orahost-storage/tasks/udev.yml +++ b/roles/orahost_storage/tasks/udev.yml @@ -1,39 +1,39 @@ --- - name: udev | Create device to label mappings for udev - template: src=udev-label-device-mapping.txt.j2 dest={{ oracle_stage }}/udev/udev-{{ item.diskgroup }} mode=0644 + ansible.builtin.template: src=udev-label-device-mapping.txt.j2 dest={{ oracle_stage }}/udev/udev-{{ item.diskgroup }} mode=0644 with_items: "{{ asm_diskgroups }}" when: device_persistence == 'udev' and asm_diskgroups is defined tags: udev - name: udev | Assemble into one mapfile - assemble: src={{ oracle_stage }}/udev dest={{ oracle_rsp_stage }}/udev-device-input.txt mode=0644 + ansible.builtin.assemble: src={{ oracle_stage }}/udev dest={{ oracle_rsp_stage }}/udev-device-input.txt mode=0644 when: device_persistence == 'udev' tags: udev - name: udev | Create script to create rules - template: src=setup-udev.sh.j2 dest={{ oracle_rsp_stage }}/setup-udev-rules.sh mode=755 + ansible.builtin.template: src=setup-udev.sh.j2 dest={{ oracle_rsp_stage }}/setup-udev-rules.sh mode=755 when: device_persistence == 'udev' tags: udev - name: udev | Run script to create udev rules - shell: "{{ oracle_rsp_stage }}/setup-udev-rules.sh" + ansible.builtin.shell: "{{ oracle_rsp_stage }}/setup-udev-rules.sh" # noqa command-instead-of-shell when: device_persistence == 'udev' tags: udev - name: udev | Reload rules - shell: partprobe;sleep 5; udevadm control --reload-rules; udevadm trigger + ansible.builtin.shell: partprobe;sleep 5; udevadm control --reload-rules; udevadm trigger when: device_persistence == 'udev' tags: udev - name: udev | List device aliases (register) - shell: ls -l {{ oracle_asm_disk_string }} + ansible.builtin.shell: ls -l {{ oracle_asm_disk_string }} # noqa command-instead-of-shell when: device_persistence == 'udev' tags: udev register: lsdevice - name: udev | List device aliases - debug: var=lsdevice.stdout_lines + ansible.builtin.debug: var=lsdevice.stdout_lines when: device_persistence == 'udev' tags: udev diff --git a/roles/orahost-storage/templates/asm-label-device-mapping.txt.j2 b/roles/orahost_storage/templates/asm-label-device-mapping.txt.j2 similarity index 100% rename from roles/orahost-storage/templates/asm-label-device-mapping.txt.j2 rename to roles/orahost_storage/templates/asm-label-device-mapping.txt.j2 diff --git a/roles/orahost-storage/templates/asm-udev-rules.rules.j2 b/roles/orahost_storage/templates/asm-udev-rules.rules.j2 similarity index 100% rename from roles/orahost-storage/templates/asm-udev-rules.rules.j2 rename to roles/orahost_storage/templates/asm-udev-rules.rules.j2 diff --git a/roles/orahost-storage/templates/label-asm-disks.sh.j2 b/roles/orahost_storage/templates/label-asm-disks.sh.j2 similarity index 100% rename from roles/orahost-storage/templates/label-asm-disks.sh.j2 rename to roles/orahost_storage/templates/label-asm-disks.sh.j2 diff --git a/roles/orahost-storage/templates/oranfstab.j2 b/roles/orahost_storage/templates/oranfstab.j2 similarity index 100% rename from roles/orahost-storage/templates/oranfstab.j2 rename to roles/orahost_storage/templates/oranfstab.j2 diff --git a/roles/orahost-storage/templates/part-device.sh.j2 b/roles/orahost_storage/templates/part-device.sh.j2 similarity index 100% rename from roles/orahost-storage/templates/part-device.sh.j2 rename to roles/orahost_storage/templates/part-device.sh.j2 diff --git a/roles/orahost-storage/templates/setup-udev.sh.j2 b/roles/orahost_storage/templates/setup-udev.sh.j2 similarity index 100% rename from roles/orahost-storage/templates/setup-udev.sh.j2 rename to roles/orahost_storage/templates/setup-udev.sh.j2 diff --git a/roles/orahost-storage/templates/udev-label-device-mapping.txt.j2 b/roles/orahost_storage/templates/udev-label-device-mapping.txt.j2 similarity index 100% rename from roles/orahost-storage/templates/udev-label-device-mapping.txt.j2 rename to roles/orahost_storage/templates/udev-label-device-mapping.txt.j2 diff --git a/roles/orasw-meta/defaults/main.yml b/roles/orasw_meta/defaults/main.yml similarity index 100% rename from roles/orasw-meta/defaults/main.yml rename to roles/orasw_meta/defaults/main.yml diff --git a/roles/oraswdb-install/tasks/remove-home.yml b/roles/oraswdb-install/tasks/remove-home.yml deleted file mode 100644 index 7e8f6b3b1..000000000 --- a/roles/oraswdb-install/tasks/remove-home.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -- debug: msg="This will remove a home" # noqa unnamed-task diff --git a/roles/oraswdb-manage-patches/tasks/main.yml b/roles/oraswdb-manage-patches/tasks/main.yml deleted file mode 100644 index 170800764..000000000 --- a/roles/oraswdb-manage-patches/tasks/main.yml +++ /dev/null @@ -1,231 +0,0 @@ ---- -- name: db-opatch | check if GI is installed - stat: path=/etc/oracle/olr.loc - register: olrloc - -- name: install-home-db | Mount nfs share with installation media - mount: src="{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" name={{ oracle_stage_remote }} fstype=nfs state=mounted - when: install_from_nfs - tags: - - nfsmountdb - -# - name: db-opatch | set fact for patch_before_rootsh -# set_fact: -# patch_before_rootsh: False -# when: olrloc.stat.exists and patch_before_rootsh - -- name: db-opatch | Create patch-base directory (version specific) - file: - dest={{ oracle_patch_stage }}/{{ db_version }} - mode=775 - owner={{ oracle_user }} - group={{ oracle_group }} - state=directory - with_items: - - "{{ db_homes_installed }}" - tags: - - directories - when: apply_patches_db and item.apply_patches |default (false) - -# - include: transfer-files.yml -# when: oracle_sw_copy -# -# - include: unpack-files.yml -# when: oracle_sw_unpack and apply_patches_db -# -# - include: opatch-upgrade.yml -# when: apply_patches_db - -- include_tasks: db-home-patch.yml - with_items: - - "{{ db_homes_installed }}" - loop_control: - loop_var: dbh - when: db_homes_installed is defined and dbh.state == 'present' and dbh.apply_patches |default (False) and apply_patches_db - tags: autopatch - -# - name: db-opatch | Configure ocm.rsp (1) -# template: -# src=ocmrsp.expect.j2 -# dest={{ oracle_patch_stage }}/{{ db_version }}/ocmrsp.expect -# mode=0777 -# force=yes -# with_items: -# - "{{ db_homes_installed}}" -# when: apply_patches_db and current_opatch_version.msg is version_compare('12.2.0.1.5', '<') -# become: yes -# become_user: "{{ oracle_user }}" -# tags: -# - ocmconfig -# -# - name: db-opatch | Configure ocm.rsp (2) -# shell: "{{ oracle_patch_stage }}/{{ db_version }}/ocmrsp.expect" -# with_items: -# - "{{ db_homes_installed}}" -# when: apply_patches_db and current_opatch_version.msg is version_compare('12.2.0.1.5', '<') -# become: yes -# become_user: "{{ oracle_user }}" -# changed_when: False -# tags: -# - ocmconfig -# -# - name: db-opatch | Manage opatchauto patches for DB (SI) -# oracle_opatch: -# oracle_home={{ oracle_home_db }} -# patch_base={{ oracle_patch_install }}/{{ db_version}}/{{ item.0.path | default (item.0.patchid)}}/{{ item.1}} -# patch_id={{item.1}} -# patch_version={{ item.1.patchversion |default(omit)}} -# opatchauto=False -# conflict_check=True -# ocm_response_file={{ ocm_response_file | default(omit)}} -# output=verbose -# state=present -# with_subelements: -# - "{{db_homes_config[item.0.home]['opatchauto']}}" -# - subpatches -# #run_once: "{{ configure_cluster}}" -# become: yes -# become_user: "{{ oracle_user }}" -# tags: -# - apply_psu_grid -# when: -# - apply_patches_db -# - gi_patches is defined -# - gi_patches[oracle_install_version_gi] is defined -# - gi_patches[oracle_install_version_gi]['opatchauto'] is defined -# - item.0.apply and patch_before_rootsh and not olrloc.stat.exists -# register: psuapplym -# -# - name: db-opatch | Manage opatchauto patches for GI -# oracle_opatch: -# oracle_home={{ oracle_home_gi }} -# patch_base={{ oracle_patch_install }}/{{ oracle_install_version_gi}}/{{ item.path | default (item.patchid)}}/ -# patch_id={{item.patchid}} -# patch_version={{ item.patchversion |default(omit)}} -# opatchauto=True -# conflict_check=True -# ocm_response_file={{ ocm_response_file | default(omit)}} -# output=verbose -# state=present -# with_items: -# - "{{gi_patches[oracle_install_version_gi]['opatchauto']}}" -# #run_once: "{{ configure_cluster}}" -# tags: -# - apply_psu_grid -# when: -# - apply_patches_db -# - gi_patches is defined -# - gi_patches[oracle_install_version_gi] is defined -# - gi_patches[oracle_install_version_gi]['opatchauto'] is defined -# - item.apply -# - not patch_before_rootsh -# - olrloc.stat.exists -# register: psuapplym -# -# - name: db-opatch | Manage non opatchauto patches for GI -# oracle_opatch: -# oracle_home={{ oracle_home_gi }} -# patch_base={{ oracle_patch_install }}/{{ oracle_install_version_gi}}/{{ item.path | default (item.patchid)}}/ -# patch_id={{item.patchid}} -# patch_version={{ item.patchversion |default(omit)}} -# opatchauto=False -# conflict_check=True -# ocm_response_file={{ ocm_response_file | default(omit)}} -# output=verbose -# state=present -# with_items: -# - "{{gi_patches[oracle_install_version_gi]['opatch']}}" -# #run_once: "{{ configure_cluster}}" -# become: yes -# become_user: "{{ oracle_user }}" -# tags: -# - apply_psu_grid -# when: -# - apply_patches_db -# - gi_patches is defined -# - gi_patches[oracle_install_version_gi] is defined -# - gi_patches[oracle_install_version_gi]['opatch'] is defined -# - item.0.apply and patch_before_rootsh and not olrloc.stat.exists -# register: psuapplym -# -# -# - name: Apply PSU to GI (v11.2) (Master node) -# shell: "{{ oracle_home_gi }}/OPatch/opatch auto {{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }} -ocmrf {{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " # noqa yaml -# with_together: -# - "{{oracle_sw_patches}}" -# - "{{gi_applied_patches.results}}" -# run_once: "{{ configure_cluster}}" -# tags: apply_psu_grid -# when: apply_patches_db and '11.2' in oracle_install_version_gi and item.0.version == oracle_install_version_gi and not item.1.stdout != 0 -# register: psuapplym -# -# - debug: var=psuapplym.stdout_lines -# run_once: "{{ configure_cluster}}" -# when: apply_patches_db -# tags: -# - psuapplym -# -# - name: Check if stuff is running -# shell: "{{ oracle_home_gi }}/bin/crsctl stat res -t" -# run_once: "{{ configure_cluster}}" -# tags: -# - crsctl -# register: crsctl -# when: apply_patches_db #and not {{ item.1.stdout }} != 0 -# -# - debug: var=crsctl.stdout_lines -# tags: -# - crsctl -# run_once: "{{ configure_cluster}}" -# #when: master_node -# -# - name: Apply PSU to GI (v12.1) (other nodes) -# shell: "{{ oracle_home_gi }}/OPatch/opatchauto apply {{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }} -ocmrf {{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " # noqa yaml -# with_together: -# - "{{oracle_sw_patches}}" -# - "{{gi_applied_patches.results}}" -# tags: -# - apply_psu_grid -# when: configure_cluster and inventory_hostname != cluster_master and apply_patches_db and '12.1' in oracle_install_version_gi and item.0.version == oracle_install_version_gi and not item.1.stdout != 0 # noqa yaml -# register: psuapplyo -# -# - name: Apply PSU to GI (v11.2) (other nodes) -# shell: "{{ oracle_home_gi }}/OPatch/opatch auto {{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }} -ocmrf {{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " # noqa yaml -# with_together: -# - "{{oracle_sw_patches}}" -# - "{{gi_applied_patches.results}}" -# tags: apply_psu_grid -# when: configure_cluster and inventory_hostname != cluster_master and apply_patches_db and '11.2' in oracle_install_version_gi and item.0.version == oracle_install_version_gi and not item.1.stdout != 0 # noqa yaml -# register: psuapplyo -# -# - debug: var=psuapplyo.stdout_lines -# when: configure_cluster and inventory_hostname != cluster_master and apply_patches_db and psuapplyo is defined -# tags: -# - psuapplyo -# -# - name: db-opatch | Check if stuff is running -# shell: "{{ oracle_home_gi }}/bin/crsctl stat res -t" -# tags: -# - crsctl-opatch -# register: crsctl -# when: apply_patches_db -# -# - debug: var=crsctl.stdout_lines -# tags: -# - crsctl-opatch -# when: apply_patches_db -# -# - name: db-opatch | Check opatch lspatches -# shell: "{{ oracle_home_gi }}/OPatch/opatch lsinventory" -# become: yes -# become_user: "{{ oracle_user }}" -# register: opatchls -# when: apply_patches_db -# -# tags: -# - opatchls -# -# - debug: var=opatchls.stdout_lines -# when: apply_patches_db -# tags: -# - opatchls diff --git a/roles/oraswdb-golden-image/meta/main.yml b/roles/oraswdb_golden_image/meta/main.yml similarity index 76% rename from roles/oraswdb-golden-image/meta/main.yml rename to roles/oraswdb_golden_image/meta/main.yml index ced95c8e5..e918d3965 100644 --- a/roles/oraswdb-golden-image/meta/main.yml +++ b/roles/oraswdb_golden_image/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oraswdb-golden-image/tasks/main.yml b/roles/oraswdb_golden_image/tasks/main.yml similarity index 79% rename from roles/oraswdb-golden-image/tasks/main.yml rename to roles/oraswdb_golden_image/tasks/main.yml index c15603e4d..a217a89a4 100644 --- a/roles/oraswdb-golden-image/tasks/main.yml +++ b/roles/oraswdb_golden_image/tasks/main.yml @@ -1,13 +1,13 @@ --- - name: assert - assert: + ansible.builtin.assert: that: - golden_image_dest is defined - block: # noqa unnamed-task - name: Create destination directory for Golden-Image - file: + ansible.builtin.file: path: "{{ golden_image_dest }}/{{ dbh.home }}" state: directory mode: '0755' @@ -20,7 +20,7 @@ - "db_version is version('18', '>=')" - name: Create Golden-Image - command: "{{ oracle_home_db }}/runInstaller -silent -createGoldImage -destinationLocation {{ golden_image_dest }}/{{ dbh.home }}" + ansible.builtin.command: "{{ oracle_home_db }}/runInstaller -silent -createGoldImage -destinationLocation {{ golden_image_dest }}/{{ dbh.home }}" with_items: - "{{ db_homes_installed | list | unique }}" loop_control: @@ -31,7 +31,7 @@ register: createimage - name: test - debug: msg="{{ item.stdout_lines }}" + ansible.builtin.debug: msg="{{ item.stdout_lines }}" with_items: - "{{ createimage.results }}" loop_control: diff --git a/roles/oraswdb-install/defaults/main.yml b/roles/oraswdb_install/defaults/main.yml similarity index 94% rename from roles/oraswdb-install/defaults/main.yml rename to roles/oraswdb_install/defaults/main.yml index 96d14d541..8349ee90a 100644 --- a/roles/oraswdb-install/defaults/main.yml +++ b/roles/oraswdb_install/defaults/main.yml @@ -81,18 +81,18 @@ ulimit_systemd_mapping: 'hard stack': {name: LimitSTACK, sysctlfactor: 1024} 'hard memlock': {name: LimitMEMLOCK, sysctlfactor: 1024} -disable_EE_options: true - -oracle_EE_options: "{%- if db_homes_config[dbh.home]['version'] in ('18.3.0.0') %}{{ oracle_EE_options_183 }} - {%- elif db_homes_config[dbh.home]['version'] in ('19.3.0.0') %}{{ oracle_EE_options_193 }} - {%- elif db_homes_config[dbh.home]['version'] in ('21.3.0.0') %}{{ oracle_EE_options_213 }} - {%- elif db_homes_config[dbh.home]['version'] in ('12.2.0.1') %}{{ oracle_EE_options_122 }} - {%- elif db_homes_config[dbh.home]['version'] in ('12.1.0.1', '12.1.0.2') %}{{ oracle_EE_options_121 }} - {%- elif db_homes_config[dbh.home]['version'] == '11.2.0.4' %}{{ oracle_EE_options_112 }} +disable_ee_options: true + +oracle_ee_options: "{%- if db_homes_config[dbh.home]['version'] in ('18.3.0.0') %}{{ oracle_ee_options_183 }} + {%- elif db_homes_config[dbh.home]['version'] in ('19.3.0.0') %}{{ oracle_ee_options_193 }} + {%- elif db_homes_config[dbh.home]['version'] in ('21.3.0.0') %}{{ oracle_ee_options_213 }} + {%- elif db_homes_config[dbh.home]['version'] in ('12.2.0.1') %}{{ oracle_ee_options_122 }} + {%- elif db_homes_config[dbh.home]['version'] in ('12.1.0.1', '12.1.0.2') %}{{ oracle_ee_options_121 }} + {%- elif db_homes_config[dbh.home]['version'] == '11.2.0.4' %}{{ oracle_ee_options_112 }} {%- endif %}" # disable all options who requires extra licences -oracle_EE_options_112: +oracle_ee_options_112: - {option: dm, state: false} - {option: dv, state: false} - {option: lbac, state: false} @@ -100,31 +100,31 @@ oracle_EE_options_112: - {option: partitioning, state: false} - {option: rat, state: false} -oracle_EE_options_121: +oracle_ee_options_121: - {option: dm, state: false} - {option: olap, state: false} - {option: partitioning, state: false} - {option: rat, state: false} -oracle_EE_options_122: +oracle_ee_options_122: - {option: oaa, state: false} - {option: olap, state: false} - {option: partitioning, state: false} - {option: rat, state: false} -oracle_EE_options_183: +oracle_ee_options_183: - {option: oaa, state: false} - {option: olap, state: false} - {option: partitioning, state: false} - {option: rat, state: false} -oracle_EE_options_193: +oracle_ee_options_193: - {option: oaa, state: false} - {option: olap, state: false} - {option: partitioning, state: false} - {option: rat, state: false} -oracle_EE_options_213: +oracle_ee_options_213: - {option: oaa, state: false} - {option: olap, state: false} - {option: partitioning, state: false} diff --git a/roles/oraswdb-install/files/manage_oracle_rdbms_procs.sh b/roles/oraswdb_install/files/manage_oracle_rdbms_procs.sh similarity index 100% rename from roles/oraswdb-install/files/manage_oracle_rdbms_procs.sh rename to roles/oraswdb_install/files/manage_oracle_rdbms_procs.sh diff --git a/roles/oraswdb-install/handlers/main.yml b/roles/oraswdb_install/handlers/main.yml similarity index 78% rename from roles/oraswdb-install/handlers/main.yml rename to roles/oraswdb_install/handlers/main.yml index a89959198..c8d8468a6 100644 --- a/roles/oraswdb-install/handlers/main.yml +++ b/roles/oraswdb_install/handlers/main.yml @@ -1,6 +1,6 @@ --- - name: systemd register and reload - systemd: + ansible.builtin.systemd: name=oracle-rdbms daemon_reload=yes enabled=yes diff --git a/roles/oraswdb-install/meta/main.yml b/roles/oraswdb_install/meta/main.yml similarity index 76% rename from roles/oraswdb-install/meta/main.yml rename to roles/oraswdb_install/meta/main.yml index 10c6987ee..d30308d37 100644 --- a/roles/oraswdb-install/meta/main.yml +++ b/roles/oraswdb_install/meta/main.yml @@ -7,14 +7,14 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database @@ -22,4 +22,4 @@ galaxy_info: dependencies: - role: orahost_meta - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oraswdb-install/tasks/11.2.0.3.yml b/roles/oraswdb_install/tasks/11.2.0.3.yml similarity index 74% rename from roles/oraswdb-install/tasks/11.2.0.3.yml rename to roles/oraswdb_install/tasks/11.2.0.3.yml index e019f983a..e0d1d5b1f 100644 --- a/roles/oraswdb-install/tasks/11.2.0.3.yml +++ b/roles/oraswdb_install/tasks/11.2.0.3.yml @@ -1,6 +1,6 @@ --- -- name: install-home-db | Extract files to stage-area - unarchive: +- name: install_home_db | Extract files to stage-area + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item[0].filename }} dest={{ oracle_stage }}/{{ item[0].version }} copy=no @@ -19,8 +19,8 @@ tags: - oradbswunpack -- name: install-home-db | Extract files to stage-area (from remote location) - unarchive: +- name: install_home_db | Extract files to stage-area (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item[0].filename }} dest={{ oracle_stage }}/{{ item[0].version }} copy=no @@ -35,8 +35,8 @@ tags: - oradbswunpack -- name: install-home-db | Install Oracle Database Server - shell: "{{ oracle_stage_install }}/{{ db_homes_config[dbh.home]['version'] }}/database/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -ignoreSysPrereqs -silent -waitforcompletion" +- name: install_home_db | Install Oracle Database Server + ansible.builtin.shell: "{{ oracle_stage_install }}/{{ db_homes_config[dbh.home]['version'] }}/database/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -ignoreSysPrereqs -silent -waitforcompletion" # noqa yaml command-instead-of-shell become: true become_user: "{{ oracle_user }}" @@ -46,7 +46,7 @@ - oradbinstall register: oradbinstall -- debug: var=oradbinstall.stdout_lines +- ansible.builtin.debug: var=oradbinstall.stdout_lines # noqa unnamed-task ignore-errors run_once: "{{ configure_cluster }}" when: oracle_home_db not in existing_dbhome.stdout_lines and oradbinstall.changed diff --git a/roles/oraswdb-install/tasks/11.2.0.4.yml b/roles/oraswdb_install/tasks/11.2.0.4.yml similarity index 73% rename from roles/oraswdb-install/tasks/11.2.0.4.yml rename to roles/oraswdb_install/tasks/11.2.0.4.yml index 97ce45de8..770f4f53c 100644 --- a/roles/oraswdb-install/tasks/11.2.0.4.yml +++ b/roles/oraswdb_install/tasks/11.2.0.4.yml @@ -1,6 +1,6 @@ --- -- name: install-home-db | Extract files to stage-area - unarchive: +- name: install_home_db | Extract files to stage-area + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item[0].filename }} dest={{ oracle_stage }}/{{ item[0].version }} copy=no @@ -18,8 +18,8 @@ tags: - oradbswunpack -- name: install-home-db | Extract files to stage-area (from remote location) - unarchive: +- name: install_home_db | Extract files to stage-area (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item[0].filename }} dest={{ oracle_stage }}/{{ item[0].version }} copy=no @@ -37,8 +37,8 @@ tags: - oradbswunpack -- name: install-home-db | Install Oracle Database Server - shell: "{{ oracle_stage_install }}/{{ db_homes_config[dbh.home]['version'] }}/database/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -ignoreSysPrereqs -silent -waitforcompletion" +- name: install_home_db | Install Oracle Database Server + ansible.builtin.shell: "{{ oracle_stage_install }}/{{ db_homes_config[dbh.home]['version'] }}/database/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -ignoreSysPrereqs -silent -waitforcompletion" # noqa yaml command-instead-of-shell become: true become_user: "{{ oracle_user }}" @@ -48,7 +48,7 @@ - oradbinstall register: oradbinstall -- debug: var=oradbinstall.stdout_lines +- ansible.builtin.debug: var=oradbinstall.stdout_lines # noqa unnamed-task ignore-errors run_once: "{{ configure_cluster }}" when: oracle_home_db not in existing_dbhome.stdout_lines and oradbinstall.changed diff --git a/roles/oraswdb-install/tasks/12.1.0.1.yml b/roles/oraswdb_install/tasks/12.1.0.1.yml similarity index 73% rename from roles/oraswdb-install/tasks/12.1.0.1.yml rename to roles/oraswdb_install/tasks/12.1.0.1.yml index 97ce45de8..770f4f53c 100644 --- a/roles/oraswdb-install/tasks/12.1.0.1.yml +++ b/roles/oraswdb_install/tasks/12.1.0.1.yml @@ -1,6 +1,6 @@ --- -- name: install-home-db | Extract files to stage-area - unarchive: +- name: install_home_db | Extract files to stage-area + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item[0].filename }} dest={{ oracle_stage }}/{{ item[0].version }} copy=no @@ -18,8 +18,8 @@ tags: - oradbswunpack -- name: install-home-db | Extract files to stage-area (from remote location) - unarchive: +- name: install_home_db | Extract files to stage-area (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item[0].filename }} dest={{ oracle_stage }}/{{ item[0].version }} copy=no @@ -37,8 +37,8 @@ tags: - oradbswunpack -- name: install-home-db | Install Oracle Database Server - shell: "{{ oracle_stage_install }}/{{ db_homes_config[dbh.home]['version'] }}/database/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -ignoreSysPrereqs -silent -waitforcompletion" +- name: install_home_db | Install Oracle Database Server + ansible.builtin.shell: "{{ oracle_stage_install }}/{{ db_homes_config[dbh.home]['version'] }}/database/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -ignoreSysPrereqs -silent -waitforcompletion" # noqa yaml command-instead-of-shell become: true become_user: "{{ oracle_user }}" @@ -48,7 +48,7 @@ - oradbinstall register: oradbinstall -- debug: var=oradbinstall.stdout_lines +- ansible.builtin.debug: var=oradbinstall.stdout_lines # noqa unnamed-task ignore-errors run_once: "{{ configure_cluster }}" when: oracle_home_db not in existing_dbhome.stdout_lines and oradbinstall.changed diff --git a/roles/oraswdb-install/tasks/12.1.0.2.yml b/roles/oraswdb_install/tasks/12.1.0.2.yml similarity index 73% rename from roles/oraswdb-install/tasks/12.1.0.2.yml rename to roles/oraswdb_install/tasks/12.1.0.2.yml index 97ce45de8..770f4f53c 100644 --- a/roles/oraswdb-install/tasks/12.1.0.2.yml +++ b/roles/oraswdb_install/tasks/12.1.0.2.yml @@ -1,6 +1,6 @@ --- -- name: install-home-db | Extract files to stage-area - unarchive: +- name: install_home_db | Extract files to stage-area + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item[0].filename }} dest={{ oracle_stage }}/{{ item[0].version }} copy=no @@ -18,8 +18,8 @@ tags: - oradbswunpack -- name: install-home-db | Extract files to stage-area (from remote location) - unarchive: +- name: install_home_db | Extract files to stage-area (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item[0].filename }} dest={{ oracle_stage }}/{{ item[0].version }} copy=no @@ -37,8 +37,8 @@ tags: - oradbswunpack -- name: install-home-db | Install Oracle Database Server - shell: "{{ oracle_stage_install }}/{{ db_homes_config[dbh.home]['version'] }}/database/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -ignoreSysPrereqs -silent -waitforcompletion" +- name: install_home_db | Install Oracle Database Server + ansible.builtin.shell: "{{ oracle_stage_install }}/{{ db_homes_config[dbh.home]['version'] }}/database/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -ignoreSysPrereqs -silent -waitforcompletion" # noqa yaml command-instead-of-shell become: true become_user: "{{ oracle_user }}" @@ -48,7 +48,7 @@ - oradbinstall register: oradbinstall -- debug: var=oradbinstall.stdout_lines +- ansible.builtin.debug: var=oradbinstall.stdout_lines # noqa unnamed-task ignore-errors run_once: "{{ configure_cluster }}" when: oracle_home_db not in existing_dbhome.stdout_lines and oradbinstall.changed diff --git a/roles/oraswdb-install/tasks/12.2.0.1.yml b/roles/oraswdb_install/tasks/12.2.0.1.yml similarity index 55% rename from roles/oraswdb-install/tasks/12.2.0.1.yml rename to roles/oraswdb_install/tasks/12.2.0.1.yml index e86c15a2d..5340fe6c7 100644 --- a/roles/oraswdb-install/tasks/12.2.0.1.yml +++ b/roles/oraswdb_install/tasks/12.2.0.1.yml @@ -1,6 +1,6 @@ --- -- name: install-home-db | Install Oracle Database Server - shell: "{{ oracle_stage_install }}/{{ db_homes_config[dbh.home]['version'] }}/database/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -ignoreSysPrereqs -silent -waitforcompletion" +- name: install_home_db | Install Oracle Database Server + ansible.builtin.shell: "{{ oracle_stage_install }}/{{ db_homes_config[dbh.home]['version'] }}/database/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -ignoreSysPrereqs -silent -waitforcompletion" # noqa yaml command-instead-of-shell become: true become_user: "{{ oracle_user }}" @@ -10,7 +10,7 @@ - oradbinstall register: oradbinstall -- debug: var=oradbinstall.stdout_lines +- ansible.builtin.debug: var=oradbinstall.stdout_lines # noqa unnamed-task ignore-errors run_once: "{{ configure_cluster }}" when: oracle_home_db not in existing_dbhome.stdout_lines and oradbinstall.changed diff --git a/roles/oraswdb-install/tasks/18.3.0.0.yml b/roles/oraswdb_install/tasks/18.3.0.0.yml similarity index 63% rename from roles/oraswdb-install/tasks/18.3.0.0.yml rename to roles/oraswdb_install/tasks/18.3.0.0.yml index 25a95c5a1..2e2ff3122 100644 --- a/roles/oraswdb-install/tasks/18.3.0.0.yml +++ b/roles/oraswdb_install/tasks/18.3.0.0.yml @@ -1,6 +1,6 @@ --- -- name: install-home-db | Install Oracle Database Server - shell: "{{ oracle_home_db }}/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -silent -waitforcompletion" +- name: install_home_db | Install Oracle Database Server + ansible.builtin.shell: "{{ oracle_home_db }}/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -silent -waitforcompletion" # noqa command-instead-of-shell become: true become_user: "{{ oracle_user }}" @@ -11,7 +11,7 @@ register: oradbinstall failed_when: oradbinstall.rc not in [0,6] -- debug: var=oradbinstall.stdout_lines +- ansible.builtin.debug: var=oradbinstall.stdout_lines # noqa unnamed-task ignore-errors run_once: "{{ configure_cluster }}" when: diff --git a/roles/oraswdb-install/tasks/19.3.0.0.yml b/roles/oraswdb_install/tasks/19.3.0.0.yml similarity index 63% rename from roles/oraswdb-install/tasks/19.3.0.0.yml rename to roles/oraswdb_install/tasks/19.3.0.0.yml index 5e52c9ef5..0f56382cf 100644 --- a/roles/oraswdb-install/tasks/19.3.0.0.yml +++ b/roles/oraswdb_install/tasks/19.3.0.0.yml @@ -1,6 +1,6 @@ --- -- name: install-home-db | Install Oracle Database Server - shell: "{{ oracle_home_db }}/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -silent -waitforcompletion" +- name: install_home_db | Install Oracle Database Server + ansible.builtin.shell: "{{ oracle_home_db }}/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -silent -waitforcompletion" # noqa command-instead-of-shell become: true become_user: "{{ oracle_user }}" @@ -11,7 +11,7 @@ register: oradbinstall failed_when: oradbinstall.rc not in [0,6] -- debug: var=oradbinstall.stdout_lines +- ansible.builtin.debug: var=oradbinstall.stdout_lines # noqa unnamed-task ignore-errors run_once: "{{ configure_cluster }}" when: oracle_home_db not in existing_dbhome.stdout_lines and oradbinstall.changed diff --git a/roles/oraswdb-install/tasks/21.3.0.0.yml b/roles/oraswdb_install/tasks/21.3.0.0.yml similarity index 63% rename from roles/oraswdb-install/tasks/21.3.0.0.yml rename to roles/oraswdb_install/tasks/21.3.0.0.yml index 5e52c9ef5..0f56382cf 100644 --- a/roles/oraswdb-install/tasks/21.3.0.0.yml +++ b/roles/oraswdb_install/tasks/21.3.0.0.yml @@ -1,6 +1,6 @@ --- -- name: install-home-db | Install Oracle Database Server - shell: "{{ oracle_home_db }}/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -silent -waitforcompletion" +- name: install_home_db | Install Oracle Database Server + ansible.builtin.shell: "{{ oracle_home_db }}/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_db_responsefile }} -ignorePrereq -silent -waitforcompletion" # noqa command-instead-of-shell become: true become_user: "{{ oracle_user }}" @@ -11,7 +11,7 @@ register: oradbinstall failed_when: oradbinstall.rc not in [0,6] -- debug: var=oradbinstall.stdout_lines +- ansible.builtin.debug: var=oradbinstall.stdout_lines # noqa unnamed-task ignore-errors run_once: "{{ configure_cluster }}" when: oracle_home_db not in existing_dbhome.stdout_lines and oradbinstall.changed diff --git a/roles/oraswdb-install/tasks/curl.yml b/roles/oraswdb_install/tasks/curl.yml similarity index 75% rename from roles/oraswdb-install/tasks/curl.yml rename to roles/oraswdb_install/tasks/curl.yml index 23692bc83..25d6bfb19 100644 --- a/roles/oraswdb-install/tasks/curl.yml +++ b/roles/oraswdb_install/tasks/curl.yml @@ -1,7 +1,7 @@ --- -- name: install-home-db | Transfer oracle installfiles to server (www - curl) +- name: install_home_db | Transfer oracle installfiles to server (www - curl) # get_url: url={{ oracle_sw_source_www }}/{{ item[0].filename }} dest={{ oracle_stage }} mode=0775 force=no - shell: "curl -o {{ oracle_stage }}/{{ item[0].filename }} {{ oracle_sw_source_www }}/{{ item[0].filename }}" + ansible.builtin.shell: "curl -o {{ oracle_stage }}/{{ item[0].filename }} {{ oracle_sw_source_www }}/{{ item[0].filename }}" # noqa command-instead-of-shell command-instead-of-module with_nested: - "{{ oracle_sw_image_db }}" diff --git a/roles/oraswdb-install/tasks/get_url.yml b/roles/oraswdb_install/tasks/get_url.yml similarity index 83% rename from roles/oraswdb-install/tasks/get_url.yml rename to roles/oraswdb_install/tasks/get_url.yml index 415df90ba..f105e7507 100644 --- a/roles/oraswdb-install/tasks/get_url.yml +++ b/roles/oraswdb_install/tasks/get_url.yml @@ -1,6 +1,6 @@ --- -- name: install-home-db | Transfer oracle installfiles to server (www - get_url) - get_url: +- name: install_home_db | Transfer oracle installfiles to server (www - get_url) + ansible.builtin.get_url: url={{ oracle_sw_source_www }}/{{ item[0].filename }} dest={{ oracle_stage }} mode=775 diff --git a/roles/oraswdb-install/tasks/init.yml b/roles/oraswdb_install/tasks/init.yml similarity index 52% rename from roles/oraswdb-install/tasks/init.yml rename to roles/oraswdb_install/tasks/init.yml index 5b8e32653..27fed3807 100644 --- a/roles/oraswdb-install/tasks/init.yml +++ b/roles/oraswdb_install/tasks/init.yml @@ -1,14 +1,14 @@ --- -- name: install-home-db | Configure DB instances auto-startup service (init.d) - template: src=dbora.j2 dest=/etc/init.d/dbora owner=root mode=750 +- name: install_home_db | Configure DB instances auto-startup service (init.d) + ansible.builtin.template: src=dbora.j2 dest=/etc/init.d/dbora owner=root mode=750 become: true when: autostartup_service and hostinitdaemon == "init" tags: - autostartup_service - seclimit # Update -- name: install-home-db | Register dbora service (init.d) - command: "chkconfig --add dbora" +- name: install_home_db | Register dbora service (init.d) + ansible.builtin.command: "chkconfig --add dbora" # noqa command-instead-of-module become: true when: autostartup_service and hostinitdaemon == "init" diff --git a/roles/oraswdb-install/tasks/install-home-db.yml b/roles/oraswdb_install/tasks/install-home-db.yml similarity index 76% rename from roles/oraswdb-install/tasks/install-home-db.yml rename to roles/oraswdb_install/tasks/install-home-db.yml index 0b4ac2e8d..f3fe5f662 100644 --- a/roles/oraswdb-install/tasks/install-home-db.yml +++ b/roles/oraswdb_install/tasks/install-home-db.yml @@ -1,14 +1,14 @@ --- -- name: install-home-db | set fact with ORACLE_HOME - set_fact: +- name: install_home_db | set fact with ORACLE_HOME + ansible.builtin.set_fact: oracle_home_db: "{%- if db_homes_config[dbh.home]['oracle_home'] is defined -%} {{ db_homes_config[dbh.home]['oracle_home'] }} {%- else -%} {{ oracle_base }}/{{ db_homes_config[dbh.home]['version'] }}/{{ db_homes_config[dbh.home]['home'] }} {%- endif -%}" -- name: install-home-db | Check if DB-server is already installed - shell: cat "{{ oracle_inventory_loc }}/ContentsXML/inventory.xml" |grep -w {{ oracle_home_db }} |awk '{print $3}' | cut -f2 -d'"' +- name: install_home_db | Check if DB-server is already installed + ansible.builtin.shell: cat "{{ oracle_inventory_loc }}/ContentsXML/inventory.xml" |grep -w {{ oracle_home_db }} |awk '{print $3}' | cut -f2 -d'"' # noqa risky-shell-pipe run_once: "{{ configure_cluster }}" register: existing_dbhome @@ -16,12 +16,12 @@ failed_when: false tags: install_home,existing_dbhome,checkdbswinstall -- debug: msg="Installing ORACLE_HOME - {{ oracle_home_db }}" +- ansible.builtin.debug: msg="Installing ORACLE_HOME - {{ oracle_home_db }}" # noqa unnamed-task when: oracle_home_db not in existing_dbhome.stdout_lines -- name: install-home-db | add dotprofile - template: +- name: install_home_db | add dotprofile + ansible.builtin.template: src: dotprofile-home.j2 dest: "{{ oracle_user_home }}/{{ oracle_profile_name }}" owner: "{{ oracle_user }}" @@ -30,8 +30,8 @@ # when: oracle_home_db not in existing_dbhome.stdout_lines tags: create_db,dotprofile_db -- name: install-home-db | Setup response file for install (DB) - template: +- name: install_home_db | Setup response file for install (DB) + ansible.builtin.template: src: "db-install.rsp.{{ db_version }}.j2" dest: "{{ oracle_rsp_stage }}/{{ oracle_db_responsefile }}" owner: "{{ oracle_user }}" @@ -39,13 +39,12 @@ mode: 0600 run_once: "{{ configure_cluster }}" when: oracle_home_db not in existing_dbhome.stdout_lines - register: tags: responsefileswdb # unarchive Oracle RDBMS 12c+ - block: # noqa unnamed-task - - name: install-home-db | Extract files - unarchive: + - name: install_home_db | Extract files + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ db_homes_config[dbh.home].imagename | default(item[0].filename) }} dest={{ oracle_home_db }} copy=no @@ -64,8 +63,8 @@ tags: - oradbswunpack - - name: install-home-db | Extract files (from remote location) - unarchive: + - name: install_home_db | Extract files (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ db_homes_config[dbh.home].imagename | default(item[0].filename) }} dest={{ oracle_home_db }} copy=no @@ -86,17 +85,17 @@ when: - db_homes_config[dbh.home]['version'] is version('12.2', '>=') -- include_tasks: "{{ db_version }}.yml" +- ansible.builtin.include_tasks: "{{ db_version }}.yml" -# oracle_EE_options = '' => Nothing to do +# oracle_ee_options = '' => Nothing to do # licence options in 11.2+ must be changed by chopt # => use this method for all >= 11.2 (Doc ID 948061.1) # touch a statefile instead checking the logfile from chopt # we cannot use default/main.yml here. => complicated structure for 'enabled' 'disabled'... # check for running processes on $ORACLE_HOME/bin/oracle # 1st check for installed lsof, because systems could miss it... -- name: install-home-db | Change Database options with chopt - shell: | +- name: install_home_db | Change Database options with chopt + ansible.builtin.shell: | set -eu if lsof > /dev/null 2>&1 ; then if lsof {{ oracle_home_db }}/bin/oracle > /dev/null 2>&1 ; then @@ -112,34 +111,34 @@ args: creates: "{{ oracle_home_db }}/install/chopt_{{ item.option }}_{{ item.state }}.state{{ choptcheck }}" with_items: - - "{{ oracle_EE_options }}" + - "{{ oracle_ee_options }}" become: true become_user: "{{ oracle_user }}" register: choptout changed_when: '"Writing" in choptout.stdout' - when: db_homes_config[dbh.home]['edition'] == 'EE' and oracle_EE_options is defined and disable_EE_options + when: db_homes_config[dbh.home]['edition'] == 'EE' and oracle_ee_options is defined and disable_ee_options loop_control: label: "{{ oracle_home_db }} {{ item.state | replace(true, 'enable') | replace(false, 'disable') }} {{ item.option }}" tags: - dbchopt -- name: install-home-db | Run root script after installation - shell: "{{ oracle_home_db }}/root.sh" +- name: install_home_db | Run root script after installation + ansible.builtin.shell: "{{ oracle_home_db }}/root.sh" # noqa command-instead-of-shell no-handler run_once: "{{ configure_cluster }}" when: oradbinstall.changed tags: - runroot -- name: install-home-db | Generate glogin.sql - template: src=glogin.sql.j2 dest="{{ oracle_home_db }}/sqlplus/admin/glogin.sql" backup=yes mode=0644 +- name: install_home_db | Generate glogin.sql + ansible.builtin.template: src=glogin.sql.j2 dest="{{ oracle_home_db }}/sqlplus/admin/glogin.sql" backup=yes mode=0644 become: true become_user: "{{ oracle_user }}" tags: - glogindb -- name: install-home-db | Check opatch lspatches (DB) - shell: "{{ oracle_home_db }}/OPatch/opatch lspatches" +- name: install_home_db | Check opatch lspatches (DB) + ansible.builtin.shell: "{{ oracle_home_db }}/OPatch/opatch lspatches" # noqa command-instead-of-shell become: true become_user: "{{ oracle_user }}" @@ -150,7 +149,7 @@ tags: - opatchls -- debug: var=opatchls.stdout_lines +- ansible.builtin.debug: var=opatchls.stdout_lines # noqa ignore-errors unnamed-task run_once: "{{ configure_cluster }}" when: opatchls is defined diff --git a/roles/oraswdb-install/tasks/main.yml b/roles/oraswdb_install/tasks/main.yml similarity index 53% rename from roles/oraswdb-install/tasks/main.yml rename to roles/oraswdb_install/tasks/main.yml index 018154433..4464895db 100644 --- a/roles/oraswdb-install/tasks/main.yml +++ b/roles/oraswdb_install/tasks/main.yml @@ -1,23 +1,42 @@ --- -- name: install-home-db | Mount nfs share with installation media - mount: src="{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" name={{ oracle_stage_remote }} fstype=nfs state=mounted +# Some variable have been renamed from upper to lowercase +# The assert is checking for old - not supported - variables +# in inventory to prevent unexpected behavior during installations. +- name: Check for desupported inventory variables + ansible.builtin.assert: + fail_msg: Please rename the variable to lowercase in Inventory + that: + - disable_EE_options is not defined + - oracle_EE_options is not defined + - oracle_EE_options_112 is not defined + - oracle_EE_options_121 is not defined + - oracle_EE_options_122 is not defined + - oracle_EE_options_183 is not defined + - oracle_EE_options_193 is not defined + - oracle_EE_options_213 is not defined + tags: + - always + - assert + +- name: install_home_db | Mount nfs share with installation media + ansible.builtin.mount: src="{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" name={{ oracle_stage_remote }} fstype=nfs state=mounted when: install_from_nfs tags: - nfsmountdb -- name: install-home-db | Add oraInst.loc - template: src=oraInst.loc.j2 dest=/etc/oraInst.loc owner={{ oracle_user }} group={{ oracle_group }} mode=644 backup=yes +- name: install_home_db | Add oraInst.loc + ansible.builtin.template: src=oraInst.loc.j2 dest=/etc/oraInst.loc owner={{ oracle_user }} group={{ oracle_group }} mode=644 backup=yes tags: - orainst -- name: install-home-db | Create common directories - file: dest={{ item.name }} mode={{ item.mode }} owner={{ item.owner }} group={{ item.group }} state=directory +- name: install_home_db | Create common directories + ansible.builtin.file: dest={{ item.name }} mode={{ item.mode }} owner={{ item.owner }} group={{ item.group }} state=directory with_items: "{{ oracle_directories }}" tags: - directoriesdb -- name: install-home-db | Create stage directory (version specific) - file: dest={{ oracle_stage }}/{{ db_version }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory +- name: install_home_db | Create stage directory (version specific) + ansible.builtin.file: dest={{ oracle_stage }}/{{ db_version }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory with_items: - "{{ db_homes_installed }}" run_once: "{{ configure_cluster }}" @@ -25,18 +44,18 @@ tags: - directoriesdb -- name: install-home-db | Create ORACLE_HOME directory - file: dest={{ oracle_home_db }} mode=0775 owner={{ oracle_user }} group={{ oracle_group }} state=directory +- name: install_home_db | Create ORACLE_HOME directory + ansible.builtin.file: dest={{ oracle_home_db }} mode=0775 owner={{ oracle_user }} group={{ oracle_group }} state=directory with_items: "{{ db_homes_installed }}" when: db_homes_config[item.home] is defined and item.state|lower == 'present' tags: - directoriesdb -- include_tasks: "{{ www_download_bin }}.yml" +- ansible.builtin.include_tasks: "{{ www_download_bin }}.yml" when: not is_sw_source_local and oracle_sw_copy -- name: install-home-db | Transfer oracle installfiles to server (local) - copy: +- name: install_home_db | Transfer oracle installfiles to server (local) + ansible.builtin.copy: src: "{{ oracle_sw_source_local }}/{{ db_homes_config[item[1].home].imagename | default(item[0].filename) }}" dest: "{{ oracle_stage }}" mode: 0775 @@ -52,7 +71,7 @@ - oradbsw # -# - name: install-home-db | Extract files to stage-area +# - name: install_home_db | Extract files to stage-area # unarchive: # src={{ oracle_stage }}/{{ item[0].filename }} # dest={{ oracle_stage }}/{{ item[0].version }} @@ -68,7 +87,7 @@ # tags: # - oradbswunpack # -# - name: install-home-db | Extract files to stage-area (from remote location) +# - name: install_home_db | Extract files to stage-area (from remote location) # unarchive: # src={{ oracle_stage_remote }}/{{ item[0].filename }} # dest={{ oracle_stage }}/{{ item[0].version }} @@ -84,7 +103,7 @@ # tags: # - oradbswunpack -- include_tasks: install-home-db.yml +- ansible.builtin.include_tasks: install-home-db.yml with_items: - "{{ db_homes_installed }}" loop_control: @@ -92,20 +111,20 @@ when: db_homes_installed is defined and dbh.state|lower == 'present' tags: oradbinstall,dbchopt -- name: install-home-db | Unmount nfs share with installation media - mount: src="{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" name={{ oracle_stage_remote }} fstype=nfs state=absent +- name: install_home_db | Unmount nfs share with installation media + ansible.builtin.mount: src="{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" name={{ oracle_stage_remote }} fstype=nfs state=absent when: install_from_nfs tags: - nfsunmountdb -- name: install-home-db | copy start/stop script for autostart - copy: +- name: install_home_db | copy start/stop script for autostart + ansible.builtin.copy: dest: /usr/local/bin src: manage_oracle_rdbms_procs.sh mode: 0755 tags: autostartup_service -- include_tasks: "{{ hostinitdaemon }}.yml" +- ansible.builtin.include_tasks: "{{ hostinitdaemon }}.yml" when: autostartup_service tags: - autostartup_service diff --git a/roles/oraswdb_install/tasks/remove-home.yml b/roles/oraswdb_install/tasks/remove-home.yml new file mode 100644 index 000000000..50468f50e --- /dev/null +++ b/roles/oraswdb_install/tasks/remove-home.yml @@ -0,0 +1,2 @@ +--- +- ansible.builtin.debug: msg="This will remove a home" # noqa unnamed-task diff --git a/roles/oraswdb-install/tasks/systemd.yml b/roles/oraswdb_install/tasks/systemd.yml similarity index 83% rename from roles/oraswdb-install/tasks/systemd.yml rename to roles/oraswdb_install/tasks/systemd.yml index 8ad8a1c71..947ce07f7 100644 --- a/roles/oraswdb-install/tasks/systemd.yml +++ b/roles/oraswdb_install/tasks/systemd.yml @@ -1,6 +1,6 @@ --- -- name: install-home-db | Configure oracle-rdbms auto-startup service (systemd.d) - template: +- name: install_home_db | Configure oracle-rdbms auto-startup service (systemd.d) + ansible.builtin.template: src=oracle-rdbms-service.j2 dest=/etc/systemd/system/oracle-rdbms.service owner=root diff --git a/roles/oraswdb-install/templates/db-install.rsp.11.2.0.3.j2 b/roles/oraswdb_install/templates/db-install.rsp.11.2.0.3.j2 similarity index 100% rename from roles/oraswdb-install/templates/db-install.rsp.11.2.0.3.j2 rename to roles/oraswdb_install/templates/db-install.rsp.11.2.0.3.j2 diff --git a/roles/oraswdb-install/templates/db-install.rsp.11.2.0.4.j2 b/roles/oraswdb_install/templates/db-install.rsp.11.2.0.4.j2 similarity index 100% rename from roles/oraswdb-install/templates/db-install.rsp.11.2.0.4.j2 rename to roles/oraswdb_install/templates/db-install.rsp.11.2.0.4.j2 diff --git a/roles/oraswdb-install/templates/db-install.rsp.12.1.0.1.j2 b/roles/oraswdb_install/templates/db-install.rsp.12.1.0.1.j2 similarity index 100% rename from roles/oraswdb-install/templates/db-install.rsp.12.1.0.1.j2 rename to roles/oraswdb_install/templates/db-install.rsp.12.1.0.1.j2 diff --git a/roles/oraswdb-install/templates/db-install.rsp.12.1.0.2.j2 b/roles/oraswdb_install/templates/db-install.rsp.12.1.0.2.j2 similarity index 100% rename from roles/oraswdb-install/templates/db-install.rsp.12.1.0.2.j2 rename to roles/oraswdb_install/templates/db-install.rsp.12.1.0.2.j2 diff --git a/roles/oraswdb-install/templates/db-install.rsp.12.2.0.1.j2 b/roles/oraswdb_install/templates/db-install.rsp.12.2.0.1.j2 similarity index 100% rename from roles/oraswdb-install/templates/db-install.rsp.12.2.0.1.j2 rename to roles/oraswdb_install/templates/db-install.rsp.12.2.0.1.j2 diff --git a/roles/oraswdb-install/templates/db-install.rsp.18.3.0.0.j2 b/roles/oraswdb_install/templates/db-install.rsp.18.3.0.0.j2 similarity index 100% rename from roles/oraswdb-install/templates/db-install.rsp.18.3.0.0.j2 rename to roles/oraswdb_install/templates/db-install.rsp.18.3.0.0.j2 diff --git a/roles/oraswdb-install/templates/db-install.rsp.19.3.0.0.j2 b/roles/oraswdb_install/templates/db-install.rsp.19.3.0.0.j2 similarity index 100% rename from roles/oraswdb-install/templates/db-install.rsp.19.3.0.0.j2 rename to roles/oraswdb_install/templates/db-install.rsp.19.3.0.0.j2 diff --git a/roles/oraswdb-install/templates/db-install.rsp.21.3.0.0.j2 b/roles/oraswdb_install/templates/db-install.rsp.21.3.0.0.j2 similarity index 100% rename from roles/oraswdb-install/templates/db-install.rsp.21.3.0.0.j2 rename to roles/oraswdb_install/templates/db-install.rsp.21.3.0.0.j2 diff --git a/roles/oraswdb-install/templates/dbora.j2 b/roles/oraswdb_install/templates/dbora.j2 similarity index 100% rename from roles/oraswdb-install/templates/dbora.j2 rename to roles/oraswdb_install/templates/dbora.j2 diff --git a/roles/oraswdb-install/templates/dotprofile-home.j2 b/roles/oraswdb_install/templates/dotprofile-home.j2 similarity index 100% rename from roles/oraswdb-install/templates/dotprofile-home.j2 rename to roles/oraswdb_install/templates/dotprofile-home.j2 diff --git a/roles/oraswdb-install/templates/glogin.sql.j2 b/roles/oraswdb_install/templates/glogin.sql.j2 similarity index 100% rename from roles/oraswdb-install/templates/glogin.sql.j2 rename to roles/oraswdb_install/templates/glogin.sql.j2 diff --git a/roles/oraswdb-install/templates/oraInst.loc.j2 b/roles/oraswdb_install/templates/oraInst.loc.j2 similarity index 100% rename from roles/oraswdb-install/templates/oraInst.loc.j2 rename to roles/oraswdb_install/templates/oraInst.loc.j2 diff --git a/roles/oraswdb-install/templates/oracle-rdbms-service.j2 b/roles/oraswdb_install/templates/oracle-rdbms-service.j2 similarity index 100% rename from roles/oraswdb-install/templates/oracle-rdbms-service.j2 rename to roles/oraswdb_install/templates/oracle-rdbms-service.j2 diff --git a/roles/oraswdb-install/templates/run-db-install.sh.j2 b/roles/oraswdb_install/templates/run-db-install.sh.j2 similarity index 100% rename from roles/oraswdb-install/templates/run-db-install.sh.j2 rename to roles/oraswdb_install/templates/run-db-install.sh.j2 diff --git a/roles/oraswdb-manage-patches/defaults/main.yml b/roles/oraswdb_manage_patches/defaults/main.yml similarity index 100% rename from roles/oraswdb-manage-patches/defaults/main.yml rename to roles/oraswdb_manage_patches/defaults/main.yml diff --git a/roles/oraswdb-manage-patches/meta/main.yml b/roles/oraswdb_manage_patches/meta/main.yml similarity index 75% rename from roles/oraswdb-manage-patches/meta/main.yml rename to roles/oraswdb_manage_patches/meta/main.yml index fdc966d58..0d5d4cf46 100644 --- a/roles/oraswdb-manage-patches/meta/main.yml +++ b/roles/oraswdb_manage_patches/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oraswdb-manage-patches/tasks/db-home-patch.yml b/roles/oraswdb_manage_patches/tasks/db-home-patch.yml similarity index 82% rename from roles/oraswdb-manage-patches/tasks/db-home-patch.yml rename to roles/oraswdb_manage_patches/tasks/db-home-patch.yml index e20a65932..7c2eac2fc 100644 --- a/roles/oraswdb-manage-patches/tasks/db-home-patch.yml +++ b/roles/oraswdb_manage_patches/tasks/db-home-patch.yml @@ -1,26 +1,26 @@ --- -- set_fact: # noqa unnamed-task +- ansible.builtin.set_fact: # noqa unnamed-task oracle_home_db: "{%- if db_homes_config[dbh.home]['oracle_home'] is defined -%} {{ db_homes_config[dbh.home]['oracle_home'] }} {%- else -%} {{ oracle_base }}/{{ db_homes_config[dbh.home]['version'] }}/{{ db_homes_config[dbh.home]['home'] }} {%- endif -%}" -- debug: msg="Managing patches for {{ oracle_home_db }}" +- ansible.builtin.debug: msg="Managing patches for {{ oracle_home_db }}" # noqa unnamed-task when: apply_patches_db -- include: transfer-files.yml +- ansible.builtin.include: transfer-files.yml when: oracle_sw_copy -- include: unpack-files.yml +- ansible.builtin.include: unpack-files.yml when: oracle_sw_unpack and apply_patches_db -- include: opatch-upgrade.yml +- ansible.builtin.include: opatch-upgrade.yml when: apply_patches_db -- name: db-opatch | Configure ocm.rsp (1) - template: +- name: db_opatch | Configure ocm.rsp (1) + ansible.builtin.template: src=ocmrsp.expect.j2 dest={{ oracle_patch_stage }}/{{ db_version }}/ocmrsp.expect mode=0777 @@ -31,8 +31,8 @@ tags: - ocmconfig -- name: db-opatch | Configure ocm.rsp (2) - shell: "{{ oracle_patch_stage }}/{{ db_version }}/ocmrsp.expect" +- name: db_opatch | Configure ocm.rsp (2) + ansible.builtin.shell: "{{ oracle_patch_stage }}/{{ db_version }}/ocmrsp.expect" # noqa command-instead-of-shell when: apply_patches_db and current_opatch_version.msg is version_compare('12.2.0.1.5', '<') become: true @@ -41,7 +41,7 @@ tags: - ocmconfig -- name: db-opatch | Remove unwanted patches from DB +- name: db_opatch | Remove unwanted patches from DB oracle_opatch: oracle_home={{ oracle_home_db }} patch_base={{ oracle_patch_install }}/{{ db_version }}/{{ item.path | default (item.patchid) }}/ @@ -66,7 +66,7 @@ - item.state == "absent" register: psuapplym -- name: db-opatch | Manage opatchauto patches for DB (non-gi) +- name: db_opatch | Manage opatchauto patches for DB (non-gi) oracle_opatch: oracle_home={{ oracle_home_db }} patch_base={{ oracle_patch_install }}/{{ db_version }}/{{ item.0.path | default (item.0.patchid) }}/{{ item.1 }} @@ -90,7 +90,7 @@ when: apply_patches_db and db_homes_config[dbh.home]['opatchauto'] is defined and item.1 is defined and not olrloc.stat.exists register: psuapplym -- name: db-opatch | Manage opatchauto patches for DB (gi) +- name: db_opatch | Manage opatchauto patches for DB (gi) oracle_opatch: oracle_home={{ oracle_home_db }} patch_base={{ oracle_patch_install }}/{{ db_version }}/{{ item.path | default (item.patchid) }}/ @@ -110,7 +110,7 @@ when: apply_patches_db and db_homes_config[dbh.home]['opatchauto'] is defined and olrloc.stat.exists register: psuapplym -- name: db-opatch | Manage patches for DB +- name: db_opatch | Manage patches for DB oracle_opatch: oracle_home={{ oracle_home_db }} patch_base={{ oracle_patch_install }}/{{ db_version }}/{{ item.path | default (item.patchid) }}/ @@ -133,13 +133,13 @@ when: apply_patches_db and db_homes_config[dbh.home]['opatch'] is defined register: psuapplym -- name: db-opatch | Check patches - shell: "{{ oracle_home_db }}/OPatch/opatch lspatches -oh {{ oracle_home_db }}" +- name: db_opatch | Check patches + ansible.builtin.shell: "{{ oracle_home_db }}/OPatch/opatch lspatches -oh {{ oracle_home_db }}" # noqa command-instead-of-shell become: true become_user: "{{ oracle_user }}" changed_when: false register: dbhome_patches -- name: db-opatch | Check patches - debug: var=dbhome_patches.stdout_lines +- name: db_opatch | Check patches + ansible.builtin.debug: var=dbhome_patches.stdout_lines diff --git a/roles/oraswdb_manage_patches/tasks/main.yml b/roles/oraswdb_manage_patches/tasks/main.yml new file mode 100644 index 000000000..71a88f4b8 --- /dev/null +++ b/roles/oraswdb_manage_patches/tasks/main.yml @@ -0,0 +1,31 @@ +--- +- name: db_opatch | check if GI is installed + ansible.builtin.stat: path=/etc/oracle/olr.loc + register: olrloc + +- name: install_home_db | Mount nfs share with installation media + ansible.builtin.mount: src="{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" name={{ oracle_stage_remote }} fstype=nfs state=mounted + when: install_from_nfs + tags: + - nfsmountdb + +- name: db_opatch | Create patch-base directory (version specific) + ansible.builtin.file: + dest={{ oracle_patch_stage }}/{{ db_version }} + mode=775 + owner={{ oracle_user }} + group={{ oracle_group }} + state=directory + with_items: + - "{{ db_homes_installed }}" + tags: + - directories + when: apply_patches_db and item.apply_patches |default (false) + +- ansible.builtin.include_tasks: db-home-patch.yml + with_items: + - "{{ db_homes_installed }}" + loop_control: + loop_var: dbh + when: db_homes_installed is defined and dbh.state == 'present' and dbh.apply_patches |default (False) and apply_patches_db + tags: autopatch diff --git a/roles/oraswdb-manage-patches/tasks/opatch-upgrade.yml b/roles/oraswdb_manage_patches/tasks/opatch-upgrade.yml similarity index 81% rename from roles/oraswdb-manage-patches/tasks/opatch-upgrade.yml rename to roles/oraswdb_manage_patches/tasks/opatch-upgrade.yml index de7e73572..230f1c8b4 100644 --- a/roles/oraswdb-manage-patches/tasks/opatch-upgrade.yml +++ b/roles/oraswdb_manage_patches/tasks/opatch-upgrade.yml @@ -1,5 +1,5 @@ --- -- name: db-opatch | Check current opatch version +- name: db_opatch | Check current opatch version oracle_opatch: oracle_home={{ oracle_home_db }} state=opatchversion @@ -7,13 +7,13 @@ tags: current_opatch_version when: db_homes_config[dbh.home]['opatch_minversion'] is defined -- debug: var=current_opatch_version.msg +- ansible.builtin.debug: var=current_opatch_version.msg # noqa unnamed-task no-handler tags: current_opatch_version when: current_opatch_version.changed -- name: db-opatch | Extract OPatch to DB Home - unarchive: +- name: db_opatch | Extract OPatch to DB Home + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_home_db }} copy=no @@ -30,8 +30,8 @@ tags: - oragridpatchunpack -- name: db-opatch | Extract OPatch to DB Home (from remote location) - unarchive: +- name: db_opatch | Extract OPatch to DB Home (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_home_db }} copy=no @@ -48,7 +48,7 @@ tags: - oragridpatchunpack -- name: db-opatch | Check current opatch version +- name: db_opatch | Check current opatch version oracle_opatch: oracle_home={{ oracle_home_db }} state=opatchversion @@ -56,7 +56,7 @@ tags: current_opatch_version when: db_homes_config[dbh.home]['opatch_minversion'] is defined -- debug: var=current_opatch_version.msg +- ansible.builtin.debug: var=current_opatch_version.msg # noqa unnamed-task no-handler tags: current_opatch_version when: current_opatch_version.changed diff --git a/roles/oraswdb-manage-patches/tasks/transfer-files.yml b/roles/oraswdb_manage_patches/tasks/transfer-files.yml similarity index 83% rename from roles/oraswdb-manage-patches/tasks/transfer-files.yml rename to roles/oraswdb_manage_patches/tasks/transfer-files.yml index 6009b34e9..2f730ae31 100644 --- a/roles/oraswdb-manage-patches/tasks/transfer-files.yml +++ b/roles/oraswdb_manage_patches/tasks/transfer-files.yml @@ -1,6 +1,6 @@ --- -- name: db-opatch | Copy oracle DB patch (opatchauto) to server (www) - get_url: +- name: db_opatch | Copy oracle DB patch (opatchauto) to server (www) + ansible.builtin.get_url: url={{ oracle_sw_source_www }}/{{ item[0].filename }} dest={{ oracle_stage }} mode=775 @@ -13,8 +13,8 @@ tags: - oragridpatchget -- name: db-opatch | Copy oracle DB patch (opatchauto) to server (local) - copy: +- name: db_opatch | Copy oracle DB patch (opatchauto) to server (local) + ansible.builtin.copy: src={{ oracle_sw_source_local }}/{{ item[0].filename }} dest={{ oracle_stage }} mode=0775 @@ -28,8 +28,8 @@ tags: - oragridpatchpush -- name: db-opatch | Copy oracle DB patch (opatch) to server (www) - get_url: +- name: db_opatch | Copy oracle DB patch (opatch) to server (www) + ansible.builtin.get_url: url={{ oracle_sw_source_www }}/{{ item[0].filename }} dest={{ oracle_stage }}/{{ item[0].filename }} mode=0775 @@ -47,8 +47,8 @@ tags: - oragridpatchget -- name: db-opatch | Copy oracle DB patch (opatch) to server (local) - copy: +- name: db_opatch | Copy oracle DB patch (opatch) to server (local) + ansible.builtin.copy: src={{ oracle_sw_source_local }}/{{ item[0].filename }} dest={{ oracle_stage }}/{{ item[0].filename }} mode=775 @@ -67,8 +67,8 @@ tags: - oragridpatchpush -- name: db-opatch | Copy oracle opatch to server (www) - get_url: +- name: db_opatch | Copy oracle opatch to server (www) + ansible.builtin.get_url: url={{ oracle_sw_source_www }}/{{ item.filename }} dest={{ oracle_stage }} mode=775 @@ -80,8 +80,8 @@ tags: - oragridopatchget -- name: db-opatch | Copy oracle opatch to server (local) - copy: +- name: db_opatch | Copy oracle opatch to server (local) + ansible.builtin.copy: src={{ oracle_sw_source_local }}/{{ item.filename }} dest={{ oracle_stage }} mode=775 diff --git a/roles/oraswdb-manage-patches/tasks/unpack-files.yml b/roles/oraswdb_manage_patches/tasks/unpack-files.yml similarity index 87% rename from roles/oraswdb-manage-patches/tasks/unpack-files.yml rename to roles/oraswdb_manage_patches/tasks/unpack-files.yml index 2ef2c96da..bfdfc4ef8 100644 --- a/roles/oraswdb-manage-patches/tasks/unpack-files.yml +++ b/roles/oraswdb_manage_patches/tasks/unpack-files.yml @@ -1,6 +1,6 @@ --- -- name: db-opatch | Extract opatchauto patch files to patch base - unarchive: +- name: db_opatch | Extract opatchauto patch files to patch base + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item[0].filename }} dest={{ oracle_patch_stage }}/{{ db_version }} creates={{ oracle_patch_stage }}/{{ db_version }}/{{ item[0].creates | default (omit) }} @@ -19,8 +19,8 @@ tags: - oraswdbpsuunpack1 -- name: db-opatch | Extract opatchauto patch files to patch base (from remote location) - unarchive: +- name: db_opatch | Extract opatchauto patch files to patch base (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item[0].filename }} dest={{ oracle_patch_stage }}/{{ db_version }} creates={{ oracle_patch_stage }}/{{ db_version }}/{{ item[0].creates | default (omit) }} @@ -41,8 +41,8 @@ tags: - oraswdbpsuunpack2 -- name: db-opatch | Extract one-off patch files to patch base - unarchive: +- name: db_opatch | Extract one-off patch files to patch base + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item[0].filename }} dest={{ oracle_patch_stage }}/{{ db_version }} creates={{ oracle_patch_stage }}/{{ db_version }}/{{ item[0].creates | default (omit) }} @@ -62,8 +62,8 @@ tags: - oraswdbpsuunpack1 -- name: db-opatch | Extract one-off patch files to patch base (from remote location) - unarchive: +- name: db_opatch | Extract one-off patch files to patch base (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item[0].filename }} dest={{ oracle_patch_stage }}/{{ db_version }} creates={{ oracle_patch_stage }}/{{ db_version }}/{{ item[0].creates | default (omit) }} diff --git a/roles/oraswdb-manage-patches/templates/ocmrsp.expect.j2 b/roles/oraswdb_manage_patches/templates/ocmrsp.expect.j2 similarity index 100% rename from roles/oraswdb-manage-patches/templates/ocmrsp.expect.j2 rename to roles/oraswdb_manage_patches/templates/ocmrsp.expect.j2 diff --git a/roles/oraswgi-install/tasks/main.yml b/roles/oraswgi-install/tasks/main.yml deleted file mode 100644 index 837ffd339..000000000 --- a/roles/oraswgi-install/tasks/main.yml +++ /dev/null @@ -1,162 +0,0 @@ ---- - -- name: install-home-gi | Check if GI is already installed - # shell: grep "{{ oracle_home_gi }}" "{{ oracle_inventory_loc }}/ContentsXML/inventory.xml" |wc -l - shell: cat "{{ oracle_inventory_loc }}/ContentsXML/inventory.xml" |grep -w {{ oracle_home_gi }} |awk '{print $3}' | cut -f2 -d'"' - # noqa command-instead-of-shell risky-shell-pipe - tags: - - always - changed_when: false - register: checkgiinstall - -- name: install-home-gi | check if GI has been configured - stat: path=/etc/oracle/olr.loc - register: olrloc - -- name: install-home-gi | set fact for patch_before_rootsh - set_fact: - patch_before_rootsh: false - when: - - olrloc.stat.exists - - patch_before_rootsh - -- name: install-home-gi | Mount nfs share with installation media - mount: src="{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" name={{ oracle_stage_remote }} fstype=nfs state=mounted - tags: - - nfsmountgi - when: install_from_nfs - -- name: install-home-gi | Add new dotprofile (GI) - template: - src=dotprofile-gi.j2 - dest={{ grid_user_home }}/{{ oracle_profile_name_gi }} - owner={{ grid_install_user }} - group={{ oracle_group }} - mode=0755 - backup=yes - tags: - - dotprofilegi - -- name: install-home-gi | Create common directories - file: dest={{ item.name }} mode={{ item.mode }} owner={{ item.owner }} group={{ item.group }} state=directory - with_items: "{{ oracle_directories }}" - tags: - - directories - -- name: install-home-gi | Create stage directory (version specific) - file: dest={{ oracle_stage }}/{{ item.version }} mode=775 owner="{{ oracle_user }}" group={{ oracle_group }} state=directory - become: true - with_items: "{{ oracle_sw_image_gi }}" - when: oracle_install_version_gi == item.version - tags: - - directories - -- name: install-home-gi | Create ORACLE_HOME directory (GI) - file: dest={{ oracle_home_gi }} owner="{{ grid_install_user }}" group={{ oracle_group }} state=directory mode=775 - become: true - tags: - - directories - when: oracle_home_gi not in checkgiinstall.stdout - -- include_tasks: "{{ www_download_bin }}.yml" - when: not is_sw_source_local and oracle_sw_copy - -- name: install-home-gi | Copy oracle installfiles to server (GI) (local) - copy: src={{ oracle_sw_source_local }}/{{ item.filename }} dest={{ oracle_stage }} mode=775 force=no - with_items: "{{ oracle_sw_image_gi }}" - become: true - become_user: "{{ grid_install_user }}" - tags: - - oragridsw - when: - - oracle_home_gi not in checkgiinstall.stdout - - is_sw_source_local and oracle_install_version_gi == item.version - - oracle_sw_copy - -- name: include_tasks "{{ oracle_install_version_gi }}.yml" - include_tasks: "{{ oracle_install_version_gi }}.yml" - tags: always - -- name: install-home-gi | Check if stuff is running - shell: "{{ oracle_home_gi }}/bin/crsctl stat res -t" - # noqa command-instead-of-shell - tags: - - crsctl - register: crsctl - run_once: "{{ configure_cluster }}" - when: oracle_home_gi not in checkgiinstall.stdout - -- debug: var=crsctl.stdout_lines - # noqa unnamed-task - tags: - - crsctl - run_once: "{{ configure_cluster }}" - when: oracle_home_gi not in checkgiinstall.stdout - -- name: install-home-gi | Update Nodelist, set CRS=TRUE - shell: "{{ oracle_home_gi }}/oui/bin/runInstaller -updateNodeList ORACLE_HOME={{ oracle_home_gi }} CRS=TRUE" - # noqa command-instead-of-shell ignore-errors - become: true - become_user: "{{ grid_install_user }}" - run_once: "{{ configure_cluster }}" - when: oracle_home_gi not in checkgiinstall.stdout - ignore_errors: true - tags: - - updatenodelist - -- name: install-home-gi | Add additional info to glogin.sql (1) - lineinfile: dest="{{ oracle_home_gi }}/sqlplus/admin/glogin.sql" line='set sqlprompt "_user @ _connect_identifier:>"' backup=yes - tags: - - glogingi - when: oracle_home_gi not in checkgiinstall.stdout - -- name: install-home-gi | Add additional info to glogin.sql (2) - lineinfile: dest="{{ oracle_home_gi }}/sqlplus/admin/glogin.sql" line='set time on' backup=yes - tags: - - glogingi - when: oracle_home_gi not in checkgiinstall.stdout - -- name: include_role oraswgi-manage-patches - include_role: - name: oraswgi-manage-patches - when: - - not patch_before_rootsh - - apply_patches_gi - -- name: install-home-gi | Check opatch lsinventory (GI) - shell: "{{ oracle_home_gi }}/OPatch/opatch lspatches" - # noqa command-instead-of-shell - become: true - become_user: "{{ grid_install_user }}" - environment: "{{ oracle_env }}" - register: opatchls - tags: - - opatchls - when: oracle_home_gi not in checkgiinstall.stdout - -- name: install-home-gi | Check opatch lsinventory (GI) - debug: var=opatchls.stdout_lines - tags: - - opatchls - when: oracle_home_gi not in checkgiinstall.stdout - -- name: install-home-gi | Check olsnodes (GI) - shell: "{{ oracle_home_gi }}/bin/olsnodes -a -n -s -t" - # noqa command-instead-of-shell - become: true - become_user: "{{ grid_install_user }}" - when: oracle_gi_cluster_type |upper == 'FLEX' and '12' in oracle_install_version_gi - register: olsnodes - tags: - - olsnodes - -- name: install-home-gi | Check olsnodes (GI) - debug: var=olsnodes.stdout_lines - when: oracle_gi_cluster_type|upper == 'FLEX' and '12' in oracle_install_version_gi - tags: - - olsnodes - -- name: install-home-gi | Unmount nfs share with installation media - mount: src="{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" name={{ oracle_stage_remote }} fstype=nfs state=absent - when: install_from_nfs - tags: nfsunmountgi diff --git a/roles/oraswgi-golden-image/meta/main.yml b/roles/oraswgi_golden_image/meta/main.yml similarity index 76% rename from roles/oraswgi-golden-image/meta/main.yml rename to roles/oraswgi_golden_image/meta/main.yml index f8128b029..f368cf6a5 100644 --- a/roles/oraswgi-golden-image/meta/main.yml +++ b/roles/oraswgi_golden_image/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oraswgi-golden-image/tasks/main.yml b/roles/oraswgi_golden_image/tasks/main.yml similarity index 59% rename from roles/oraswgi-golden-image/tasks/main.yml rename to roles/oraswgi_golden_image/tasks/main.yml index 13bdc9985..486ce1571 100644 --- a/roles/oraswgi-golden-image/tasks/main.yml +++ b/roles/oraswgi_golden_image/tasks/main.yml @@ -1,29 +1,29 @@ --- -- assert: # noqa unnamed-task +- ansible.builtin.assert: # noqa unnamed-task that: golden_image_dest is defined # Creating Oracle Restart Golden-Image requires a running stack under 19c - block: - name: Check for running Oracle Restart when installed - command: "{{ oracle_home_gi }}/bin/crsctl status server" + ansible.builtin.command: "{{ oracle_home_gi }}/bin/crsctl status server" # noqa no-changed-when register: crscheck - - debug: msg="{{ crscheck.stdout_lines }}" # noqa unnamed-task + - ansible.builtin.debug: msg="{{ crscheck.stdout_lines }}" # noqa unnamed-task when: crscheck.stdout_lines is defined - name: Create destination directory {{ golden_image_dest }} for Golden-Image - file: + ansible.builtin.file: path: "{{ golden_image_dest }}" state: directory mode: '0755' - name: Create Golden-Image - command: "{{ oracle_home_gi }}/gridSetup.sh -silent -createGoldImage -destinationLocation {{ golden_image_dest }}" + ansible.builtin.command: "{{ oracle_home_gi }}/gridSetup.sh -silent -createGoldImage -destinationLocation {{ golden_image_dest }}" # noqa no-changed-when register: createimage - - debug: msg="{{ createimage.stdout_lines }}" # noqa unnamed-task + - ansible.builtin.debug: msg="{{ createimage.stdout_lines }}" # noqa unnamed-task when: createimage.stdout_lines is defined become: true diff --git a/roles/oraswgi-install/clone.sh b/roles/oraswgi_install/clone.sh similarity index 100% rename from roles/oraswgi-install/clone.sh rename to roles/oraswgi_install/clone.sh diff --git a/roles/oraswgi-install/defaults/main.yml b/roles/oraswgi_install/defaults/main.yml similarity index 100% rename from roles/oraswgi-install/defaults/main.yml rename to roles/oraswgi_install/defaults/main.yml diff --git a/roles/oraswgi-install/tasks/11.2.0.3.yml b/roles/oraswgi_install/tasks/11.2.0.3.yml similarity index 68% rename from roles/oraswgi-install/tasks/11.2.0.3.yml rename to roles/oraswgi_install/tasks/11.2.0.3.yml index a56de02cb..43fd84303 100644 --- a/roles/oraswgi-install/tasks/11.2.0.3.yml +++ b/roles/oraswgi_install/tasks/11.2.0.3.yml @@ -1,7 +1,7 @@ --- -- name: install-home-gi | Extract files to stage-area (GI) - unarchive: +- name: install_home_gi | Extract files to stage-area (GI) + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no @@ -13,8 +13,8 @@ - oragridswunpack when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and oracle_sw_copy and oracle_sw_unpack -- name: install-home-gi | Extract files to stage-area (GI) (from remote location) - unarchive: +- name: install_home_gi | Extract files to stage-area (GI) (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no @@ -26,15 +26,17 @@ - oragridswunpack when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and not oracle_sw_copy and oracle_sw_unpack -- name: install-home-gi | Install cvuqdisk rpm - yum: name="{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/rpm/{{ cvuqdisk_rpm }}" state=present +- name: install_home_gi | Install cvuqdisk rpm + ansible.builtin.yum: + name: "{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/rpm/{{ cvuqdisk_rpm }}" + state: present # noqa ignore-errors when: configure_cluster tags: cvuqdisk ignore_errors: true -- name: install-home-gi | Setup response file for install (GI) - template: +- name: install_home_gi | Setup response file for install (GI) + ansible.builtin.template: src=grid-install.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} owner="{{ grid_install_user }}" @@ -47,8 +49,8 @@ - responsefilegi when: oracle_home_gi not in checkgiinstall.stdout and item.diskgroup == oracle_asm_init_dg -- name: install-home-gi | Install Grid Infrastructure - shell: "{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -ignoreSysPrereqs -showProgress -silent" +- name: install_home_gi | Install Grid Infrastructure + ansible.builtin.shell: "{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -ignoreSysPrereqs -showProgress -silent" # noqa yaml command-instead-of-shell become: true become_user: "{{ grid_install_user }}" @@ -58,26 +60,26 @@ when: oracle_home_gi not in checkgiinstall.stdout # and oracle_sw_unpack register: giinstall -- debug: var=giinstall.stdout_lines +- ansible.builtin.debug: var=giinstall.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- include_role: +- ansible.builtin.include_role: # noqa unnamed-task - name: oraswgi-manage-patches + name: oraswgi_manage_patches when: patch_before_rootsh and apply_patches_gi -- name: install-home-gi | Run oraInstroot script after installation - shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" +- name: install_home_gi | Run oraInstroot script after installation + ansible.builtin.shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" # noqa command-instead-of-shell become: true tags: - runroot when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Master Node) - shell: "{{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Master Node) + ansible.builtin.shell: "{{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true run_once: "{{ configure_cluster }}" @@ -86,13 +88,13 @@ when: oracle_home_gi not in checkgiinstall.stdout register: rootmaster -- debug: var=rootmaster.stdout_lines +- ansible.builtin.debug: var=rootmaster.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Other Nodes) - shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Other Nodes) + ansible.builtin.shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true with_indexed_items: "{{ groups[hostgroup] }}" @@ -102,14 +104,14 @@ when: configure_cluster and inventory_hostname != cluster_master and inventory_hostname == item.1 and oracle_home_gi not in checkgiinstall.stdout register: rootother -- debug: var=rootother.stdout_lines +- ansible.builtin.debug: var=rootother.stdout_lines # noqa unnamed-task ignore-errors # when: not master_node and oracle_home_gi not in checkgiinstall.stdout when: configure_cluster and inventory_hostname != cluster_master and oracle_home_gi not in checkgiinstall.stdout ignore_errors: true -- name: install-home-gi | Setup response file for configToolAllCommands - template: +- name: install_home_gi | Setup response file for configToolAllCommands + ansible.builtin.template: src=configtoolallcommands.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/configtoolallcommands.rsp owner="{{ grid_install_user }}" @@ -121,8 +123,8 @@ - responsefileconfigtool when: run_configtoolallcommand and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run configToolAllCommands - shell: "{{ oracle_home_gi }}/cfgtoollogs/configToolAllCommands RESPONSE_FILE={{ oracle_rsp_stage }}/configtoolallcommands.rsp" +- name: install_home_gi | Run configToolAllCommands + ansible.builtin.shell: "{{ oracle_home_gi }}/cfgtoollogs/configToolAllCommands RESPONSE_FILE={{ oracle_rsp_stage }}/configtoolallcommands.rsp" # noqa command-instead-of-shell become: true become_user: "{{ grid_install_user }}" diff --git a/roles/oraswgi-install/tasks/11.2.0.4.yml b/roles/oraswgi_install/tasks/11.2.0.4.yml similarity index 68% rename from roles/oraswgi-install/tasks/11.2.0.4.yml rename to roles/oraswgi_install/tasks/11.2.0.4.yml index 244599a5a..150541b02 100644 --- a/roles/oraswgi-install/tasks/11.2.0.4.yml +++ b/roles/oraswgi_install/tasks/11.2.0.4.yml @@ -1,7 +1,7 @@ --- -- name: install-home-gi | Extract files to stage-area (GI) - unarchive: +- name: install_home_gi | Extract files to stage-area (GI) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no @@ -13,8 +13,8 @@ - oragridswunpack when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and oracle_sw_copy and oracle_sw_unpack -- name: install-home-gi | Extract files to stage-area (GI) (from remote location) - unarchive: +- name: install_home_gi | Extract files to stage-area (GI) (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no @@ -26,15 +26,15 @@ - oragridswunpack when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and not oracle_sw_copy and oracle_sw_unpack -- name: install-home-gi | Install cvuqdisk rpm +- name: install_home_gi | Install cvuqdisk rpm # noqa ignore-errors - yum: name="{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/rpm/{{ cvuqdisk_rpm }}" state=present + ansible.builtin.yum: name="{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/rpm/{{ cvuqdisk_rpm }}" state=present when: configure_cluster tags: cvuqdisk ignore_errors: true -- name: install-home-gi | Setup response file for install (GI) - template: +- name: install_home_gi | Setup response file for install (GI) + ansible.builtin.template: src=grid-install.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} owner="{{ grid_install_user }}" @@ -47,8 +47,8 @@ - responsefilegi when: oracle_home_gi not in checkgiinstall.stdout and item.diskgroup == oracle_asm_init_dg -- name: install-home-gi | Install Grid Infrastructure - shell: "{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -ignoreSysPrereqs -showProgress -silent" +- name: install_home_gi | Install Grid Infrastructure + ansible.builtin.shell: "{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -ignoreSysPrereqs -showProgress -silent" # noqa yaml command-instead-of-shell become: true become_user: "{{ grid_install_user }}" @@ -58,26 +58,26 @@ when: oracle_home_gi not in checkgiinstall.stdout # and oracle_sw_unpack register: giinstall -- debug: var=giinstall.stdout_lines +- ansible.builtin.debug: var=giinstall.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- include_role: +- ansible.builtin.include_role: # noqa unnamed-task - name: oraswgi-manage-patches + name: oraswgi_manage_patches when: patch_before_rootsh and apply_patches_gi -- name: install-home-gi | Run oraInstroot script after installation - shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" +- name: install_home_gi | Run oraInstroot script after installation + ansible.builtin.shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" # noqa command-instead-of-shell become: true tags: - runroot when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Master Node) - shell: "{{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Master Node) + ansible.builtin.shell: "{{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true run_once: "{{ configure_cluster }}" @@ -86,13 +86,13 @@ when: oracle_home_gi not in checkgiinstall.stdout register: rootmaster -- debug: var=rootmaster.stdout_lines +- ansible.builtin.debug: var=rootmaster.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Other Nodes) - shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Other Nodes) + ansible.builtin.shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true with_indexed_items: "{{ groups[hostgroup] }}" @@ -102,14 +102,14 @@ when: configure_cluster and inventory_hostname != cluster_master and inventory_hostname == item.1 and oracle_home_gi not in checkgiinstall.stdout register: rootother -- debug: var=rootother.stdout_lines +- ansible.builtin.debug: var=rootother.stdout_lines # noqa unnamed-task ignore-errors # when: not master_node and oracle_home_gi not in checkgiinstall.stdout when: configure_cluster and inventory_hostname != cluster_master and oracle_home_gi not in checkgiinstall.stdout ignore_errors: true -- name: install-home-gi | Setup response file for configToolAllCommands - template: +- name: install_home_gi | Setup response file for configToolAllCommands + ansible.builtin.template: src=configtoolallcommands.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/configtoolallcommands.rsp owner="{{ grid_install_user }}" @@ -121,8 +121,8 @@ - responsefileconfigtool when: run_configtoolallcommand and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run configToolAllCommands - shell: "{{ oracle_home_gi }}/cfgtoollogs/configToolAllCommands RESPONSE_FILE={{ oracle_rsp_stage }}/configtoolallcommands.rsp" +- name: install_home_gi | Run configToolAllCommands + ansible.builtin.shell: "{{ oracle_home_gi }}/cfgtoollogs/configToolAllCommands RESPONSE_FILE={{ oracle_rsp_stage }}/configtoolallcommands.rsp" # noqa command-instead-of-shell become: true become_user: "{{ grid_install_user }}" diff --git a/roles/oraswgi-install/tasks/12.1.0.1.yml b/roles/oraswgi_install/tasks/12.1.0.1.yml similarity index 63% rename from roles/oraswgi-install/tasks/12.1.0.1.yml rename to roles/oraswgi_install/tasks/12.1.0.1.yml index 679cd726e..1ca8fb9e7 100644 --- a/roles/oraswgi-install/tasks/12.1.0.1.yml +++ b/roles/oraswgi_install/tasks/12.1.0.1.yml @@ -1,7 +1,7 @@ --- -- name: install-home-gi | Extract files to stage-area (GI) - unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no +- name: install_home_gi | Extract files to stage-area (GI) + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no with_items: "{{ oracle_sw_image_gi }}" become: true become_user: "{{ grid_install_user }}" @@ -9,8 +9,8 @@ - oragridswunpack when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and oracle_sw_copy and oracle_sw_unpack -- name: install-home-gi | Extract files to stage-area (GI) (from remote location) - unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no +- name: install_home_gi | Extract files to stage-area (GI) (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no with_items: "{{ oracle_sw_image_gi }}" become: true become_user: "{{ grid_install_user }}" @@ -18,15 +18,15 @@ - oragridswunpack when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and not oracle_sw_copy and oracle_sw_unpack -- name: install-home-gi | Install cvuqdisk rpm +- name: install_home_gi | Install cvuqdisk rpm # noqa ignore-errors - yum: name="{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/rpm/{{ cvuqdisk_rpm }}" state=present + ansible.builtin.yum: name="{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/rpm/{{ cvuqdisk_rpm }}" state=present when: configure_cluster tags: cvuqdisk ignore_errors: true -- name: install-home-gi | Setup response file for install (GI) - template: +- name: install_home_gi | Setup response file for install (GI) + ansible.builtin.template: src=grid-install.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} owner="{{ grid_install_user }}" @@ -39,8 +39,8 @@ - responsefilegi when: oracle_home_gi not in checkgiinstall.stdout and item.diskgroup == oracle_asm_init_dg -- name: install-home-gi | Install Grid Infrastructure - shell: "{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -ignoreSysPrereqs -showProgress -silent" +- name: install_home_gi | Install Grid Infrastructure + ansible.builtin.shell: "{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -ignoreSysPrereqs -showProgress -silent" # noqa yaml command-instead-of-shell become: true become_user: "{{ grid_install_user }}" @@ -50,26 +50,26 @@ when: oracle_home_gi not in checkgiinstall.stdout # and oracle_sw_unpack register: giinstall -- debug: var=giinstall.stdout_lines +- ansible.builtin.debug: var=giinstall.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- include_role: +- ansible.builtin.include_role: # noqa unnamed-task - name: oraswgi-manage-patches + name: oraswgi_manage_patches when: patch_before_rootsh and apply_patches_gi -- name: install-home-gi | Run oraInstroot script after installation - shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" +- name: install_home_gi | Run oraInstroot script after installation + ansible.builtin.shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" # noqa command-instead-of-shell become: true tags: - runroot when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Master Node) - shell: "{{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Master Node) + ansible.builtin.shell: "{{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true run_once: "{{ configure_cluster }}" @@ -78,13 +78,13 @@ when: oracle_home_gi not in checkgiinstall.stdout register: rootmaster -- debug: var=rootmaster.stdout_lines +- ansible.builtin.debug: var=rootmaster.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Other Nodes) - shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Other Nodes) + ansible.builtin.shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true with_indexed_items: "{{ groups[hostgroup] }}" @@ -94,14 +94,14 @@ when: configure_cluster and inventory_hostname != cluster_master and inventory_hostname == item.1 and oracle_home_gi not in checkgiinstall.stdout register: rootother -- debug: var=rootother.stdout_lines +- ansible.builtin.debug: var=rootother.stdout_lines # noqa unnamed-task ignore-errors # when: not master_node and oracle_home_gi not in checkgiinstall.stdout when: configure_cluster and inventory_hostname != cluster_master and oracle_home_gi not in checkgiinstall.stdout ignore_errors: true -- name: install-home-gi | Setup response file for configToolAllCommands - template: +- name: install_home_gi | Setup response file for configToolAllCommands + ansible.builtin.template: src=configtoolallcommands.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/configtoolallcommands.rsp owner="{{ grid_install_user }}" @@ -113,8 +113,8 @@ run_once: "{{ configure_cluster }}" when: run_configtoolallcommand and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run configToolAllCommands - shell: "{{ oracle_home_gi }}/cfgtoollogs/configToolAllCommands RESPONSE_FILE={{ oracle_rsp_stage }}/configtoolallcommands.rsp" +- name: install_home_gi | Run configToolAllCommands + ansible.builtin.shell: "{{ oracle_home_gi }}/cfgtoollogs/configToolAllCommands RESPONSE_FILE={{ oracle_rsp_stage }}/configtoolallcommands.rsp" # noqa command-instead-of-shell become: true become_user: "{{ grid_install_user }}" diff --git a/roles/oraswgi-install/tasks/12.1.0.2.yml b/roles/oraswgi_install/tasks/12.1.0.2.yml similarity index 67% rename from roles/oraswgi-install/tasks/12.1.0.2.yml rename to roles/oraswgi_install/tasks/12.1.0.2.yml index 208d74e94..10e2a652b 100644 --- a/roles/oraswgi-install/tasks/12.1.0.2.yml +++ b/roles/oraswgi_install/tasks/12.1.0.2.yml @@ -1,7 +1,7 @@ --- -- name: install-home-gi | Extract files to stage-area (GI) - unarchive: +- name: install_home_gi | Extract files to stage-area (GI) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no @@ -13,8 +13,8 @@ - oragridswunpack when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and oracle_sw_copy and oracle_sw_unpack -- name: install-home-gi | Extract files to stage-area (GI) (from remote location) - unarchive: +- name: install_home_gi | Extract files to stage-area (GI) (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_stage }}/{{ item.version }} copy=no @@ -26,15 +26,15 @@ - oragridswunpack when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and not oracle_sw_copy and oracle_sw_unpack -- name: install-home-gi | Install cvuqdisk rpm - yum: name="{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/rpm/{{ cvuqdisk_rpm }}" state=present +- name: install_home_gi | Install cvuqdisk rpm + ansible.builtin.yum: name="{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/rpm/{{ cvuqdisk_rpm }}" state=present # noqa ignore-errors when: configure_cluster tags: cvuqdisk ignore_errors: true -- name: install-home-gi | Setup response file for install (GI) - template: +- name: install_home_gi | Setup response file for install (GI) + ansible.builtin.template: src=grid-install.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} owner="{{ grid_install_user }}" @@ -47,8 +47,8 @@ - responsefilegi when: oracle_home_gi not in checkgiinstall.stdout and item.diskgroup == oracle_asm_init_dg -- name: install-home-gi | Install Grid Infrastructure - shell: "{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -ignoreSysPrereqs -showProgress -silent" +- name: install_home_gi | Install Grid Infrastructure + ansible.builtin.shell: "{{ oracle_stage_install }}/{{ oracle_install_version_gi }}/grid/runInstaller -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -ignoreSysPrereqs -showProgress -silent" # noqa command-instead-of-shell become: true become_user: "{{ grid_install_user }}" @@ -58,30 +58,30 @@ when: oracle_home_gi not in checkgiinstall.stdout # and oracle_sw_unpack register: giinstall -- debug: var=giinstall.stdout_lines +- ansible.builtin.debug: var=giinstall.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- include_role: +- ansible.builtin.include_role: # noqa unnamed-task - name: oraswgi-manage-patches + name: oraswgi_manage_patches when: patch_before_rootsh and apply_patches_gi -- stat: path="{{ oracle_inventory_loc }}/orainstRoot.sh" +- ansible.builtin.stat: path="{{ oracle_inventory_loc }}/orainstRoot.sh" # noqa unnamed-task register: orainstroot -- name: install-home-gi | Run oraInstroot script after installation - shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" +- name: install_home_gi | Run oraInstroot script after installation + ansible.builtin.shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" # noqa command-instead-of-shell become: true tags: - runroot when: oracle_home_gi not in checkgiinstall.stdout and orainstroot.stat.exists -- name: install-home-gi | Run root script after installation (Master Node) - shell: "{{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Master Node) + ansible.builtin.shell: "{{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true run_once: "{{ configure_cluster }}" @@ -90,13 +90,13 @@ when: oracle_home_gi not in checkgiinstall.stdout register: rootmaster -- debug: var=rootmaster.stdout_lines +- ansible.builtin.debug: var=rootmaster.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Other Nodes) - shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Other Nodes) + ansible.builtin.shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true with_indexed_items: "{{ groups[hostgroup] }}" @@ -105,13 +105,13 @@ when: configure_cluster and inventory_hostname != cluster_master and inventory_hostname == item.1 and oracle_home_gi not in checkgiinstall.stdout register: rootother -- debug: var=rootother.stdout_lines +- ansible.builtin.debug: var=rootother.stdout_lines # noqa unnamed-task ignore-errors when: configure_cluster and inventory_hostname != cluster_master and oracle_home_gi not in checkgiinstall.stdout ignore_errors: true -- name: install-home-gi | Setup response file for configToolAllCommands - template: +- name: install_home_gi | Setup response file for configToolAllCommands + ansible.builtin.template: src=configtoolallcommands.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/configtoolallcommands.rsp owner="{{ grid_install_user }}" @@ -123,8 +123,8 @@ - responsefileconfigtool when: run_configtoolallcommand and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run configToolAllCommands - shell: "{{ oracle_home_gi }}/cfgtoollogs/configToolAllCommands RESPONSE_FILE={{ oracle_rsp_stage }}/configtoolallcommands.rsp" +- name: install_home_gi | Run configToolAllCommands + ansible.builtin.shell: "{{ oracle_home_gi }}/cfgtoollogs/configToolAllCommands RESPONSE_FILE={{ oracle_rsp_stage }}/configtoolallcommands.rsp" # noqa command-instead-of-shell become: true become_user: "{{ grid_install_user }}" diff --git a/roles/oraswgi-install/tasks/12.2.0.1.yml b/roles/oraswgi_install/tasks/12.2.0.1.yml similarity index 69% rename from roles/oraswgi-install/tasks/12.2.0.1.yml rename to roles/oraswgi_install/tasks/12.2.0.1.yml index c63ae425d..39b8cf647 100644 --- a/roles/oraswgi-install/tasks/12.2.0.1.yml +++ b/roles/oraswgi_install/tasks/12.2.0.1.yml @@ -1,7 +1,7 @@ --- -- name: install-home-gi | Extract files to ORACLE_HOME (gi) - unarchive: +- name: install_home_gi | Extract files to ORACLE_HOME (gi) + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_home_gi }} copy=no @@ -15,8 +15,8 @@ - oragridswunpack when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and oracle_sw_copy and oracle_sw_unpack -- name: install-home-gi | Extract files to ORACLE_HOME (gi) (from remote location) - unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_home_gi }} copy=no +- name: install_home_gi | Extract files to ORACLE_HOME (gi) (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_home_gi }} copy=no with_items: "{{ oracle_sw_image_gi }}" args: creates: "{{ oracle_home_gi }}/root.sh" @@ -27,43 +27,43 @@ when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and not oracle_sw_copy # Check for an existing GRID_HOME before reinstallation of OPatch -- name: install-home-gi | Check for file GridSetup.sh +- name: install_home_gi | Check for file GridSetup.sh no_log: true - stat: path={{ oracle_home_gi }}/gridSetup.sh + ansible.builtin.stat: path={{ oracle_home_gi }}/gridSetup.sh register: stat_gridsetup_result run_once: "{{ configure_cluster }}" -- name: install-home-gi | State of GridSetup.sh - assert: +- name: install_home_gi | State of GridSetup.sh + ansible.builtin.assert: that: "stat_gridsetup_result.stat.exists == True" msg: "Cannot find {{ oracle_home_gi }}/gridSetup.sh }}" run_once: "{{ configure_cluster }}" # when: master_node # unarchive didn't worked in some environments. => using unzip directly # Overwrite existing files from OPatch due to Note 2321749.1 -# - name: install-home-gi | Distribute latest opatch +# - name: install_home_gi | Distribute latest opatch # shell: unzip -o -d {{oracle_home_gi}} {{opatcharchive}} # become: true # become_user: "{{ grid_install_user }}" # when: oracle_sw_patches is defined and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Install cvuqdisk rpm - yum: name="{{ oracle_home_gi }}/cv/rpm/{{ cvuqdisk_rpm }}" state=present +- name: install_home_gi | Install cvuqdisk rpm + ansible.builtin.yum: name="{{ oracle_home_gi }}/cv/rpm/{{ cvuqdisk_rpm }}" state=present # noqa ignore-errors when: configure_cluster tags: cvuqdisk ignore_errors: true -- name: install-home-gi | Recreate ORACLE_HOME (gi) on other nodes - file: name={{ oracle_home_gi }} state=absent +- name: install_home_gi | Recreate ORACLE_HOME (gi) on other nodes + ansible.builtin.file: name={{ oracle_home_gi }} state=absent when: configure_cluster and inventory_hostname != cluster_master and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Recreate ORACLE_HOME (gi) on other nodes - file: name={{ oracle_home_gi }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory +- name: install_home_gi | Recreate ORACLE_HOME (gi) on other nodes + ansible.builtin.file: name={{ oracle_home_gi }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory when: configure_cluster and inventory_hostname != cluster_master and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Setup response file for install (GI) - template: +- name: install_home_gi | Setup response file for install (GI) + ansible.builtin.template: src=grid-install.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} owner="{{ grid_install_user }}" @@ -77,7 +77,7 @@ when: oracle_home_gi not in checkgiinstall.stdout and item.diskgroup == oracle_asm_init_dg # returncode of gridSetup.sh is always <> 0 => forced exit 0 -# - name: install-home-gi | Apply Release Update on ORACLE_HOME +# - name: install_home_gi | Apply Release Update on ORACLE_HOME # shell: "{{oracle_home_gi}}/gridSetup.sh -silent -applyPSU {{ oracle_stage_remote }}/{{ oracle_install_version_gi }}/{{item.patchid}} -waitforcompletion ; exit 0" # become: true # become_user: "{{ grid_install_user }}" @@ -95,8 +95,8 @@ # - "{{command_result.results}}" # when: oracle_sw_patches is defined and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Install Grid Infrastructure - shell: "{{ oracle_home_gi }}/gridSetup.sh -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -silent" +- name: install_home_gi | Install Grid Infrastructure + ansible.builtin.shell: "{{ oracle_home_gi }}/gridSetup.sh -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -silent" # noqa command-instead-of-shell become: true become_user: "{{ grid_install_user }}" @@ -106,26 +106,26 @@ when: oracle_home_gi not in checkgiinstall.stdout # and oracle_sw_unpack register: giinstall -- debug: var=giinstall.stdout_lines +- ansible.builtin.debug: var=giinstall.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- include_role: +- ansible.builtin.include_role: # noqa unnamed-task - name: oraswgi-manage-patches + name: oraswgi_manage_patches when: patch_before_rootsh and apply_patches_gi -- name: install-home-gi | Run oraInstroot script after installation - shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" +- name: install_home_gi | Run oraInstroot script after installation + ansible.builtin.shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" # noqa command-instead-of-shell become: true tags: - runroot when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Master Node) - shell: "{{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Master Node) + ansible.builtin.shell: "{{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true run_once: "{{ configure_cluster }}" @@ -134,13 +134,13 @@ when: oracle_home_gi not in checkgiinstall.stdout register: rootmaster -- debug: var=rootmaster.stdout_lines +- ansible.builtin.debug: var=rootmaster.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Other Nodes) - shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Other Nodes) + ansible.builtin.shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true with_indexed_items: "{{ groups[hostgroup] }}" @@ -150,14 +150,14 @@ when: configure_cluster and inventory_hostname != cluster_master and inventory_hostname == item.1 and oracle_home_gi not in checkgiinstall.stdout register: rootother -- debug: var=rootother.stdout_lines +- ansible.builtin.debug: var=rootother.stdout_lines # noqa unnamed-task ignore-errors # when: not master_node and oracle_home_gi not in checkgiinstall.stdout when: configure_cluster and inventory_hostname != cluster_master and oracle_home_gi not in checkgiinstall.stdout ignore_errors: true -- name: install-home-gi | Execute ConfigTools - shell: "{{ oracle_home_gi }}/gridSetup.sh -executeConfigTools -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -silent" +- name: install_home_gi | Execute ConfigTools + ansible.builtin.shell: "{{ oracle_home_gi }}/gridSetup.sh -executeConfigTools -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -silent" # noqa command-instead-of-shell become: true become_user: "{{ grid_install_user }}" diff --git a/roles/oraswgi-install/tasks/18.3.0.0.yml b/roles/oraswgi_install/tasks/18.3.0.0.yml similarity index 68% rename from roles/oraswgi-install/tasks/18.3.0.0.yml rename to roles/oraswgi_install/tasks/18.3.0.0.yml index 1d25408e7..076e3cd10 100644 --- a/roles/oraswgi-install/tasks/18.3.0.0.yml +++ b/roles/oraswgi_install/tasks/18.3.0.0.yml @@ -1,7 +1,7 @@ --- -- name: install-home-gi | Extract files to ORACLE_HOME (gi) - unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_home_gi }} copy=no +- name: install_home_gi | Extract files to ORACLE_HOME (gi) + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_home_gi }} copy=no with_items: "{{ oracle_sw_image_gi }}" args: creates: "{{ oracle_home_gi }}/root.sh" @@ -12,8 +12,8 @@ - oragridswunpack when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and oracle_sw_copy and oracle_sw_unpack -- name: install-home-gi | Extract files to ORACLE_HOME (gi) (from remote location) - unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_home_gi }} copy=no +- name: install_home_gi | Extract files to ORACLE_HOME (gi) (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_home_gi }} copy=no with_items: "{{ oracle_sw_image_gi }}" args: creates: "{{ oracle_home_gi }}/root.sh" @@ -25,43 +25,43 @@ when: oracle_home_gi not in checkgiinstall.stdout and oracle_install_version_gi == item.version and not oracle_sw_copy # Check for an existing GRID_HOME before reinstallation of OPatch -- name: install-home-gi | Check for file GridSetup.sh +- name: install_home_gi | Check for file GridSetup.sh no_log: true - stat: path={{ oracle_home_gi }}/gridSetup.sh + ansible.builtin.stat: path={{ oracle_home_gi }}/gridSetup.sh register: stat_gridsetup_result run_once: "{{ configure_cluster }}" -- name: install-home-gi | State of GridSetup.sh - assert: +- name: install_home_gi | State of GridSetup.sh + ansible.builtin.assert: that: "stat_gridsetup_result.stat.exists == True" msg: "Cannot find {{ oracle_home_gi }}/gridSetup.sh }}" run_once: "{{ configure_cluster }}" # when: master_node # unarchive didn't worked in some environments. => using unzip directly # Overwrite existing files from OPatch due to Note 2321749.1 -# - name: install-home-gi | Distribute latest opatch +# - name: install_home_gi | Distribute latest opatch # shell: unzip -o -d {{oracle_home_gi}} {{opatcharchive}} # become: true # become_user: "{{ grid_install_user }}" # when: oracle_sw_patches is defined and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Install cvuqdisk rpm - yum: name="{{ oracle_home_gi }}/cv/rpm/{{ cvuqdisk_rpm }}" state=present +- name: install_home_gi | Install cvuqdisk rpm + ansible.builtin.yum: name="{{ oracle_home_gi }}/cv/rpm/{{ cvuqdisk_rpm }}" state=present # noqa ignore-errors when: configure_cluster tags: cvuqdisk ignore_errors: true -- name: install-home-gi | Recreate ORACLE_HOME (gi) on other nodes - file: name={{ oracle_home_gi }} state=absent +- name: install_home_gi | Recreate ORACLE_HOME (gi) on other nodes + ansible.builtin.file: name={{ oracle_home_gi }} state=absent when: configure_cluster and inventory_hostname != cluster_master and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Recreate ORACLE_HOME (gi) on other nodes - file: name={{ oracle_home_gi }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory +- name: install_home_gi | Recreate ORACLE_HOME (gi) on other nodes + ansible.builtin.file: name={{ oracle_home_gi }} mode=775 owner={{ oracle_user }} group={{ oracle_group }} state=directory when: configure_cluster and inventory_hostname != cluster_master and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Setup response file for install (GI) - template: +- name: install_home_gi | Setup response file for install (GI) + ansible.builtin.template: src=grid-install.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} owner="{{ grid_install_user }}" @@ -75,7 +75,7 @@ when: oracle_home_gi not in checkgiinstall.stdout and item.diskgroup == oracle_asm_init_dg # returncode of gridSetup.sh is always <> 0 => forced exit 0 -# - name: install-home-gi | Apply Release Update on ORACLE_HOME +# - name: install_home_gi | Apply Release Update on ORACLE_HOME # shell: "{{oracle_home_gi}}/gridSetup.sh -silent -applyPSU {{ oracle_stage_remote }}/{{ oracle_install_version_gi }}/{{item.patchid}} -waitforcompletion ; exit 0" # become: true # become_user: "{{ grid_install_user }}" @@ -93,8 +93,8 @@ # - "{{command_result.results}}" # when: oracle_sw_patches is defined and oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Install Grid Infrastructure - shell: "{{ oracle_home_gi }}/gridSetup.sh -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -silent" +- name: install_home_gi | Install Grid Infrastructure + ansible.builtin.shell: "{{ oracle_home_gi }}/gridSetup.sh -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -waitforcompletion -ignorePrereq -silent" # noqa command-instead-of-shell become: true become_user: "{{ grid_install_user }}" @@ -105,26 +105,26 @@ register: giinstall failed_when: giinstall.rc not in [0,6] -- debug: var=giinstall.stdout_lines +- ansible.builtin.debug: var=giinstall.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout and giinstall.changed -- include_role: +- ansible.builtin.include_role: # noqa unnamed-task - name: oraswgi-manage-patches + name: oraswgi_manage_patches when: patch_before_rootsh and apply_patches_gi -- name: install-home-gi | Run oraInstroot script after installation - shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" +- name: install_home_gi | Run oraInstroot script after installation + ansible.builtin.shell: "{{ oracle_inventory_loc }}/orainstRoot.sh" # noqa command-instead-of-shell become: true tags: - runroot when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Master Node) - shell: "{{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Master Node) + ansible.builtin.shell: "{{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true run_once: "{{ configure_cluster }}" @@ -133,13 +133,13 @@ when: oracle_home_gi not in checkgiinstall.stdout register: rootmaster -- debug: var=rootmaster.stdout_lines +- ansible.builtin.debug: var=rootmaster.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | Run root script after installation (Other Nodes) - shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" +- name: install_home_gi | Run root script after installation (Other Nodes) + ansible.builtin.shell: "sleep {{ item.0 * 60 }}; {{ oracle_home_gi }}/root.sh" # noqa command-instead-of-shell become: true with_indexed_items: "{{ groups[hostgroup] }}" @@ -149,14 +149,14 @@ when: configure_cluster and inventory_hostname != cluster_master and inventory_hostname == item.1 and oracle_home_gi not in checkgiinstall.stdout register: rootother -- debug: var=rootother.stdout_lines +- ansible.builtin.debug: var=rootother.stdout_lines # noqa unnamed-task ignore-errors # when: not master_node and oracle_home_gi not in checkgiinstall.stdout when: configure_cluster and inventory_hostname != cluster_master and oracle_home_gi not in checkgiinstall.stdout ignore_errors: true -- name: install-home-gi | Execute ConfigTools - shell: "{{ oracle_home_gi }}/gridSetup.sh -executeConfigTools -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -silent" +- name: install_home_gi | Execute ConfigTools + ansible.builtin.shell: "{{ oracle_home_gi }}/gridSetup.sh -executeConfigTools -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -silent" # noqa command-instead-of-shell become: true become_user: "{{ grid_install_user }}" diff --git a/roles/oraswgi-install/tasks/19.3.0.0.yml b/roles/oraswgi_install/tasks/19.3.0.0.yml similarity index 66% rename from roles/oraswgi-install/tasks/19.3.0.0.yml rename to roles/oraswgi_install/tasks/19.3.0.0.yml index e27e2c83e..5a4b106b4 100644 --- a/roles/oraswgi-install/tasks/19.3.0.0.yml +++ b/roles/oraswgi_install/tasks/19.3.0.0.yml @@ -1,10 +1,10 @@ --- - block: - - debug: msg="install-home-gi | Start Extract files to ORACLE_HOME (gi)" # noqa unnamed-task + - ansible.builtin.debug: msg="install_home_gi | Start Extract files to ORACLE_HOME (gi)" # noqa unnamed-task run_once: "{{ configure_cluster }}" - - name: install-home-gi | Extract files to ORACLE_HOME (gi) - unarchive: src={{ oracle_gi_image }} dest={{ oracle_home_gi }} copy=no + - name: install_home_gi | Extract files to ORACLE_HOME (gi) + ansible.builtin.unarchive: src={{ oracle_gi_image }} dest={{ oracle_home_gi }} copy=no with_items: "{{ oracle_sw_image_gi }}" loop_control: label: "{{ oracle_gi_image | default ('') }}" @@ -22,20 +22,20 @@ - oracle_home_gi not in checkgiinstall.stdout # Check for an existing GRID_HOME before reinstallation of OPatch -- name: install-home-gi | Check for file GridSetup.sh +- name: install_home_gi | Check for file GridSetup.sh no_log: true - stat: path={{ oracle_home_gi }}/gridSetup.sh + ansible.builtin.stat: path={{ oracle_home_gi }}/gridSetup.sh register: stat_gridsetup_result run_once: "{{ configure_cluster }}" -- name: install-home-gi | State of GridSetup.sh - assert: +- name: install_home_gi | State of GridSetup.sh + ansible.builtin.assert: that: "stat_gridsetup_result.stat.exists == True" msg: "Cannot find {{ oracle_home_gi }}/gridSetup.sh }}" run_once: "{{ configure_cluster }}" - name: check for existing cvuqdisk_rpm - stat: + ansible.builtin.stat: path: "{{ oracle_home_gi }}/cv/rpm/{{ cvuqdisk_rpm }}" register: statcvuqdisk run_once: true @@ -47,8 +47,8 @@ # synchronize didn't work on all environments... # => fetch to ansible controller # => copy to nodes - - name: install-home-gi | copy cvuqdisk to ansible controller - fetch: + - name: install_home_gi | copy cvuqdisk to ansible controller + ansible.builtin.fetch: src: "{{ oracle_home_gi }}/cv/rpm/{{ cvuqdisk_rpm }}" dest: /tmp mode: 0644 @@ -57,15 +57,15 @@ - statcvuqdisk.stat.exists tags: cvuqdisk - - name: install-home-gi | copy cvuqdisk to cluster nodes - copy: + - name: install_home_gi | copy cvuqdisk to cluster nodes + ansible.builtin.copy: src: "/tmp/{{ cluster_master }}/{{ oracle_home_gi }}/cv/rpm/{{ cvuqdisk_rpm }}" dest: "{{ oracle_rsp_stage }}/{{ cvuqdisk_rpm }}" mode: 0644 tags: cvuqdisk - - name: install-home-gi | Install cvuqdisk rpm - yum: + - name: install_home_gi | Install cvuqdisk rpm + ansible.builtin.yum: name: "{{ oracle_rsp_stage }}/{{ cvuqdisk_rpm }}" state: present disable_gpg_check: true @@ -76,8 +76,8 @@ - hostvars[cluster_master]['statcvuqdisk']['stat']['exists'] tags: cvuqdisk -- name: install-home-gi | Setup response file for install (GI) - template: +- name: install_home_gi | Setup response file for install (GI) + ansible.builtin.template: src=grid-install.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} owner="{{ grid_install_user }}" @@ -100,11 +100,11 @@ - force_runcluvfy | default(false) or oracle_home_gi not in checkgiinstall.stdout tags: always - - debug: msg="install-home-gi | Start Install Grid Infrastructure" # noqa unnamed-task + - ansible.builtin.debug: msg="install_home_gi | Start Install Grid Infrastructure" # noqa unnamed-task run_once: true - - name: install-home-gi | Install Grid Infrastructure - command: + - name: install_home_gi | Install Grid Infrastructure + ansible.builtin.command: # noqa no-changed-when argv: - "{{ oracle_home_gi }}/gridSetup.sh" @@ -121,30 +121,30 @@ register: giinstall failed_when: giinstall.rc not in [0,6] - - debug: var=giinstall.stdout_lines # noqa unnamed-task + - ansible.builtin.debug: var=giinstall.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: giinstall.stdout_lines is defined when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | include role oraswgi-manage-patches - include_role: - name: oraswgi-manage-patches +- name: install_home_gi | include role oraswgi_manage_patches + ansible.builtin.include_role: + name: oraswgi_manage_patches when: patch_before_rootsh and apply_patches_gi - block: # when: oracle_home_gi not in checkgiinstall.stdout - - name: install-home-gi | Run oraInstroot script after installation - command: "{{ oracle_inventory_loc }}/orainstRoot.sh" + - name: install_home_gi | Run oraInstroot script after installation + ansible.builtin.command: "{{ oracle_inventory_loc }}/orainstRoot.sh" # noqa no-changed-when become: true tags: - runroot - - debug: msg="install-home-gi | Start Run root script after installation (Master Node)" # noqa unnamed-task + - ansible.builtin.debug: msg="install_home_gi | Start Run root script after installation (Master Node)" # noqa unnamed-task run_once: true - - name: install-home-gi | Run root script after installation (Master Node) - command: "{{ oracle_home_gi }}/root.sh" + - name: install_home_gi | Run root script after installation (Master Node) + ansible.builtin.command: "{{ oracle_home_gi }}/root.sh" # noqa no-changed-when become: true run_once: "{{ configure_cluster }}" @@ -152,17 +152,17 @@ tags: - runroot - - debug: var=rootmaster.stdout_lines # noqa unnamed-task + - ansible.builtin.debug: var=rootmaster.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: rootmaster.stdout_lines is defined - - debug: msg="install-home-gi | Start Run root script after installation (Other Nodes)" # noqa unnamed-task + - ansible.builtin.debug: msg="install_home_gi | Start Run root script after installation (Other Nodes)" # noqa unnamed-task run_once: true # do not start root.sh on all nodes in parallel # => sleep - - name: install-home-gi | Run root script after installation (Other Nodes) - script: | + - name: install_home_gi | Run root script after installation (Other Nodes) + ansible.builtin.script: | /usr/bin/sleep {{ item.0 * 60 }} {{ oracle_home_gi }}/root.sh become: true @@ -175,11 +175,11 @@ - inventory_hostname == item.1 register: rootother - - debug: var=rootother.stdout_lines # noqa unnamed-task + - ansible.builtin.debug: var=rootother.stdout_lines # noqa unnamed-task when: rootother.stdout_lines is defined - - name: install-home-gi | Execute ConfigTools - command: "{{ oracle_home_gi }}/gridSetup.sh -executeConfigTools -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -silent" + - name: install_home_gi | Execute ConfigTools + ansible.builtin.command: "{{ oracle_home_gi }}/gridSetup.sh -executeConfigTools -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -silent" become: true become_user: "{{ grid_install_user }}" run_once: "{{ configure_cluster }}" diff --git a/roles/oraswgi-install/tasks/21.3.0.0.yml b/roles/oraswgi_install/tasks/21.3.0.0.yml similarity index 66% rename from roles/oraswgi-install/tasks/21.3.0.0.yml rename to roles/oraswgi_install/tasks/21.3.0.0.yml index e27e2c83e..5a4b106b4 100644 --- a/roles/oraswgi-install/tasks/21.3.0.0.yml +++ b/roles/oraswgi_install/tasks/21.3.0.0.yml @@ -1,10 +1,10 @@ --- - block: - - debug: msg="install-home-gi | Start Extract files to ORACLE_HOME (gi)" # noqa unnamed-task + - ansible.builtin.debug: msg="install_home_gi | Start Extract files to ORACLE_HOME (gi)" # noqa unnamed-task run_once: "{{ configure_cluster }}" - - name: install-home-gi | Extract files to ORACLE_HOME (gi) - unarchive: src={{ oracle_gi_image }} dest={{ oracle_home_gi }} copy=no + - name: install_home_gi | Extract files to ORACLE_HOME (gi) + ansible.builtin.unarchive: src={{ oracle_gi_image }} dest={{ oracle_home_gi }} copy=no with_items: "{{ oracle_sw_image_gi }}" loop_control: label: "{{ oracle_gi_image | default ('') }}" @@ -22,20 +22,20 @@ - oracle_home_gi not in checkgiinstall.stdout # Check for an existing GRID_HOME before reinstallation of OPatch -- name: install-home-gi | Check for file GridSetup.sh +- name: install_home_gi | Check for file GridSetup.sh no_log: true - stat: path={{ oracle_home_gi }}/gridSetup.sh + ansible.builtin.stat: path={{ oracle_home_gi }}/gridSetup.sh register: stat_gridsetup_result run_once: "{{ configure_cluster }}" -- name: install-home-gi | State of GridSetup.sh - assert: +- name: install_home_gi | State of GridSetup.sh + ansible.builtin.assert: that: "stat_gridsetup_result.stat.exists == True" msg: "Cannot find {{ oracle_home_gi }}/gridSetup.sh }}" run_once: "{{ configure_cluster }}" - name: check for existing cvuqdisk_rpm - stat: + ansible.builtin.stat: path: "{{ oracle_home_gi }}/cv/rpm/{{ cvuqdisk_rpm }}" register: statcvuqdisk run_once: true @@ -47,8 +47,8 @@ # synchronize didn't work on all environments... # => fetch to ansible controller # => copy to nodes - - name: install-home-gi | copy cvuqdisk to ansible controller - fetch: + - name: install_home_gi | copy cvuqdisk to ansible controller + ansible.builtin.fetch: src: "{{ oracle_home_gi }}/cv/rpm/{{ cvuqdisk_rpm }}" dest: /tmp mode: 0644 @@ -57,15 +57,15 @@ - statcvuqdisk.stat.exists tags: cvuqdisk - - name: install-home-gi | copy cvuqdisk to cluster nodes - copy: + - name: install_home_gi | copy cvuqdisk to cluster nodes + ansible.builtin.copy: src: "/tmp/{{ cluster_master }}/{{ oracle_home_gi }}/cv/rpm/{{ cvuqdisk_rpm }}" dest: "{{ oracle_rsp_stage }}/{{ cvuqdisk_rpm }}" mode: 0644 tags: cvuqdisk - - name: install-home-gi | Install cvuqdisk rpm - yum: + - name: install_home_gi | Install cvuqdisk rpm + ansible.builtin.yum: name: "{{ oracle_rsp_stage }}/{{ cvuqdisk_rpm }}" state: present disable_gpg_check: true @@ -76,8 +76,8 @@ - hostvars[cluster_master]['statcvuqdisk']['stat']['exists'] tags: cvuqdisk -- name: install-home-gi | Setup response file for install (GI) - template: +- name: install_home_gi | Setup response file for install (GI) + ansible.builtin.template: src=grid-install.rsp.{{ oracle_install_version_gi }}.j2 dest={{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} owner="{{ grid_install_user }}" @@ -100,11 +100,11 @@ - force_runcluvfy | default(false) or oracle_home_gi not in checkgiinstall.stdout tags: always - - debug: msg="install-home-gi | Start Install Grid Infrastructure" # noqa unnamed-task + - ansible.builtin.debug: msg="install_home_gi | Start Install Grid Infrastructure" # noqa unnamed-task run_once: true - - name: install-home-gi | Install Grid Infrastructure - command: + - name: install_home_gi | Install Grid Infrastructure + ansible.builtin.command: # noqa no-changed-when argv: - "{{ oracle_home_gi }}/gridSetup.sh" @@ -121,30 +121,30 @@ register: giinstall failed_when: giinstall.rc not in [0,6] - - debug: var=giinstall.stdout_lines # noqa unnamed-task + - ansible.builtin.debug: var=giinstall.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: giinstall.stdout_lines is defined when: oracle_home_gi not in checkgiinstall.stdout -- name: install-home-gi | include role oraswgi-manage-patches - include_role: - name: oraswgi-manage-patches +- name: install_home_gi | include role oraswgi_manage_patches + ansible.builtin.include_role: + name: oraswgi_manage_patches when: patch_before_rootsh and apply_patches_gi - block: # when: oracle_home_gi not in checkgiinstall.stdout - - name: install-home-gi | Run oraInstroot script after installation - command: "{{ oracle_inventory_loc }}/orainstRoot.sh" + - name: install_home_gi | Run oraInstroot script after installation + ansible.builtin.command: "{{ oracle_inventory_loc }}/orainstRoot.sh" # noqa no-changed-when become: true tags: - runroot - - debug: msg="install-home-gi | Start Run root script after installation (Master Node)" # noqa unnamed-task + - ansible.builtin.debug: msg="install_home_gi | Start Run root script after installation (Master Node)" # noqa unnamed-task run_once: true - - name: install-home-gi | Run root script after installation (Master Node) - command: "{{ oracle_home_gi }}/root.sh" + - name: install_home_gi | Run root script after installation (Master Node) + ansible.builtin.command: "{{ oracle_home_gi }}/root.sh" # noqa no-changed-when become: true run_once: "{{ configure_cluster }}" @@ -152,17 +152,17 @@ tags: - runroot - - debug: var=rootmaster.stdout_lines # noqa unnamed-task + - ansible.builtin.debug: var=rootmaster.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: rootmaster.stdout_lines is defined - - debug: msg="install-home-gi | Start Run root script after installation (Other Nodes)" # noqa unnamed-task + - ansible.builtin.debug: msg="install_home_gi | Start Run root script after installation (Other Nodes)" # noqa unnamed-task run_once: true # do not start root.sh on all nodes in parallel # => sleep - - name: install-home-gi | Run root script after installation (Other Nodes) - script: | + - name: install_home_gi | Run root script after installation (Other Nodes) + ansible.builtin.script: | /usr/bin/sleep {{ item.0 * 60 }} {{ oracle_home_gi }}/root.sh become: true @@ -175,11 +175,11 @@ - inventory_hostname == item.1 register: rootother - - debug: var=rootother.stdout_lines # noqa unnamed-task + - ansible.builtin.debug: var=rootother.stdout_lines # noqa unnamed-task when: rootother.stdout_lines is defined - - name: install-home-gi | Execute ConfigTools - command: "{{ oracle_home_gi }}/gridSetup.sh -executeConfigTools -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -silent" + - name: install_home_gi | Execute ConfigTools + ansible.builtin.command: "{{ oracle_home_gi }}/gridSetup.sh -executeConfigTools -responseFile {{ oracle_rsp_stage }}/{{ oracle_grid_responsefile }} -silent" become: true become_user: "{{ grid_install_user }}" run_once: "{{ configure_cluster }}" diff --git a/roles/oraswgi-install/tasks/curl.yml b/roles/oraswgi_install/tasks/curl.yml similarity index 68% rename from roles/oraswgi-install/tasks/curl.yml rename to roles/oraswgi_install/tasks/curl.yml index 39bd35804..ec8c83891 100644 --- a/roles/oraswgi-install/tasks/curl.yml +++ b/roles/oraswgi_install/tasks/curl.yml @@ -1,6 +1,6 @@ --- -- name: install-home-gi | Copy oracle installfiles to server (GI) (web - curl) - shell: "curl -o {{ oracle_stage }}/{{ item.filename }} {{ oracle_sw_source_www }}/{{ item.filename }}" +- name: install_home_gi | Copy oracle installfiles to server (GI) (web - curl) + ansible.builtin.shell: "curl -o {{ oracle_stage }}/{{ item.filename }} {{ oracle_sw_source_www }}/{{ item.filename }}" # noqa command-instead-of-shell command-instead-of-module with_items: "{{ oracle_sw_image_gi }}" become: true diff --git a/roles/oraswgi-install/tasks/get_url.yml b/roles/oraswgi_install/tasks/get_url.yml similarity index 81% rename from roles/oraswgi-install/tasks/get_url.yml rename to roles/oraswgi_install/tasks/get_url.yml index 231b4fba7..80272214c 100644 --- a/roles/oraswgi-install/tasks/get_url.yml +++ b/roles/oraswgi_install/tasks/get_url.yml @@ -1,6 +1,6 @@ --- -- name: install-home-gi | Copy oracle installfiles to server (GI) (web - get_url) - get_url: +- name: install_home_gi | Copy oracle installfiles to server (GI) (web - get_url) + ansible.builtin.get_url: url={{ oracle_sw_source_www }}/{{ item.filename }} dest={{ oracle_stage }} mode=775 diff --git a/roles/oraswgi_install/tasks/main.yml b/roles/oraswgi_install/tasks/main.yml new file mode 100644 index 000000000..4a8db709a --- /dev/null +++ b/roles/oraswgi_install/tasks/main.yml @@ -0,0 +1,161 @@ +--- + +- name: install_home_gi | Check if GI is already installed + ansible.builtin.shell: cat "{{ oracle_inventory_loc }}/ContentsXML/inventory.xml" |grep -w {{ oracle_home_gi }} |awk '{print $3}' | cut -f2 -d'"' + # noqa command-instead-of-shell risky-shell-pipe + tags: + - always + changed_when: false + register: checkgiinstall + +- name: install_home_gi | check if GI has been configured + ansible.builtin.stat: path=/etc/oracle/olr.loc + register: olrloc + +- name: install_home_gi | set fact for patch_before_rootsh + ansible.builtin.set_fact: + patch_before_rootsh: false + when: + - olrloc.stat.exists + - patch_before_rootsh + +- name: install_home_gi | Mount nfs share with installation media + ansible.builtin.mount: src="{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" name={{ oracle_stage_remote }} fstype=nfs state=mounted + tags: + - nfsmountgi + when: install_from_nfs + +- name: install_home_gi | Add new dotprofile (GI) + ansible.builtin.template: + src=dotprofile-gi.j2 + dest={{ grid_user_home }}/{{ oracle_profile_name_gi }} + owner={{ grid_install_user }} + group={{ oracle_group }} + mode=0755 + backup=yes + tags: + - dotprofilegi + +- name: install_home_gi | Create common directories + ansible.builtin.file: dest={{ item.name }} mode={{ item.mode }} owner={{ item.owner }} group={{ item.group }} state=directory + with_items: "{{ oracle_directories }}" + tags: + - directories + +- name: install_home_gi | Create stage directory (version specific) + ansible.builtin.file: dest={{ oracle_stage }}/{{ item.version }} mode=775 owner="{{ oracle_user }}" group={{ oracle_group }} state=directory + become: true + with_items: "{{ oracle_sw_image_gi }}" + when: oracle_install_version_gi == item.version + tags: + - directories + +- name: install_home_gi | Create ORACLE_HOME directory (GI) + ansible.builtin.file: dest={{ oracle_home_gi }} owner="{{ grid_install_user }}" group={{ oracle_group }} state=directory mode=775 + become: true + tags: + - directories + when: oracle_home_gi not in checkgiinstall.stdout + +- include_tasks: "{{ www_download_bin }}.yml" + when: not is_sw_source_local and oracle_sw_copy + +- name: install_home_gi | Copy oracle installfiles to server (GI) (local) + ansible.builtin.copy: src={{ oracle_sw_source_local }}/{{ item.filename }} dest={{ oracle_stage }} mode=775 force=no + with_items: "{{ oracle_sw_image_gi }}" + become: true + become_user: "{{ grid_install_user }}" + tags: + - oragridsw + when: + - oracle_home_gi not in checkgiinstall.stdout + - is_sw_source_local and oracle_install_version_gi == item.version + - oracle_sw_copy + +- name: include_tasks "{{ oracle_install_version_gi }}.yml" + include_tasks: "{{ oracle_install_version_gi }}.yml" + tags: always + +- name: install_home_gi | Check if stuff is running + ansible.builtin.shell: "{{ oracle_home_gi }}/bin/crsctl stat res -t" + # noqa command-instead-of-shell + tags: + - crsctl + register: crsctl + run_once: "{{ configure_cluster }}" + when: oracle_home_gi not in checkgiinstall.stdout + +- ansible.builtin.debug: var=crsctl.stdout_lines + # noqa unnamed-task + tags: + - crsctl + run_once: "{{ configure_cluster }}" + when: oracle_home_gi not in checkgiinstall.stdout + +- name: install_home_gi | Update Nodelist, set CRS=TRUE + ansible.builtin.shell: "{{ oracle_home_gi }}/oui/bin/runInstaller -updateNodeList ORACLE_HOME={{ oracle_home_gi }} CRS=TRUE" + # noqa command-instead-of-shell ignore-errors + become: true + become_user: "{{ grid_install_user }}" + run_once: "{{ configure_cluster }}" + when: oracle_home_gi not in checkgiinstall.stdout + ignore_errors: true + tags: + - updatenodelist + +- name: install_home_gi | Add additional info to glogin.sql (1) + ansible.builtin.lineinfile: dest="{{ oracle_home_gi }}/sqlplus/admin/glogin.sql" line='set sqlprompt "_user @ _connect_identifier:>"' backup=yes + tags: + - glogingi + when: oracle_home_gi not in checkgiinstall.stdout + +- name: install_home_gi | Add additional info to glogin.sql (2) + ansible.builtin.lineinfile: dest="{{ oracle_home_gi }}/sqlplus/admin/glogin.sql" line='set time on' backup=yes + tags: + - glogingi + when: oracle_home_gi not in checkgiinstall.stdout + +- name: ansible.builtin.include_role oraswgi_manage_patches + ansible.builtin.include_role: + name: oraswgi_manage_patches + when: + - not patch_before_rootsh + - apply_patches_gi + +- name: install_home_gi | Check opatch lsinventory (GI) + ansible.builtin.shell: "{{ oracle_home_gi }}/OPatch/opatch lspatches" + # noqa command-instead-of-shell + become: true + become_user: "{{ grid_install_user }}" + environment: "{{ oracle_env }}" + register: opatchls + tags: + - opatchls + when: oracle_home_gi not in checkgiinstall.stdout + +- name: install_home_gi | Check opatch lsinventory (GI) + ansible.builtin.debug: var=opatchls.stdout_lines + tags: + - opatchls + when: oracle_home_gi not in checkgiinstall.stdout + +- name: install_home_gi | Check olsnodes (GI) + ansible.builtin.shell: "{{ oracle_home_gi }}/bin/olsnodes -a -n -s -t" + # noqa command-instead-of-shell + become: true + become_user: "{{ grid_install_user }}" + when: oracle_gi_cluster_type |upper == 'FLEX' and '12' in oracle_install_version_gi + register: olsnodes + tags: + - olsnodes + +- name: install_home_gi | Check olsnodes (GI) + ansible.builtin.debug: var=olsnodes.stdout_lines + when: oracle_gi_cluster_type|upper == 'FLEX' and '12' in oracle_install_version_gi + tags: + - olsnodes + +- name: install_home_gi | Unmount nfs share with installation media + ansible.builtin.mount: src="{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" name={{ oracle_stage_remote }} fstype=nfs state=absent + when: install_from_nfs + tags: nfsunmountgi diff --git a/roles/oraswgi-install/tasks/runcluvfy.yml b/roles/oraswgi_install/tasks/runcluvfy.yml similarity index 78% rename from roles/oraswgi-install/tasks/runcluvfy.yml rename to roles/oraswgi_install/tasks/runcluvfy.yml index dfc12e417..eb0a7aa14 100644 --- a/roles/oraswgi-install/tasks/runcluvfy.yml +++ b/roles/oraswgi_install/tasks/runcluvfy.yml @@ -1,7 +1,7 @@ --- - block: - - debug: msg="install-home-gi | Sttart Execute runcluvfy.sh for Grid-Infrastructure" # noqa unnamed-task + - ansible.builtin.debug: msg="install_home_gi | Sttart Execute runcluvfy.sh for Grid-Infrastructure" # noqa unnamed-task run_once: true when: - configure_cluster @@ -12,15 +12,15 @@ # => Golden-Image with 19.11+ is mandatory for installation # => We do NOT look into the archive - name: assert that OL8 is using Golden-Image during unzip - assert: + ansible.builtin.assert: that: oracle_install_image_gi is defined when: - ansible_os_family == 'RedHat' - ansible_distribution_major_version | int == 8 - oracle_install_version_gi == "19.3.0.0" - - name: install-home-gi | Execute runcluvfy.sh for Grid-Infrastructure - command: + - name: install_home_gi | Execute runcluvfy.sh for Grid-Infrastructure + ansible.builtin.command: argv: - "{{ oracle_home_gi }}/runcluvfy.sh" - stage @@ -37,19 +37,19 @@ when: - configure_cluster - - debug: var=cmdruncluvfygi.stdout_lines # noqa unnamed-task + - ansible.builtin.debug: var=cmdruncluvfygi.stdout_lines # noqa unnamed-task when: cmdruncluvfygi.stdout_lines is defined - - name: install-home-gi | runcluvfy.sh failed - fail: + - name: install_home_gi | runcluvfy.sh failed + ansible.builtin.fail: msg: "runcluvfy.sh failed - aborting Playbook rc={{ cmdruncluvfygi.rc }}" when: - cmdruncluvfygi.rc is defined - cmdruncluvfygi.rc != 0 - not gi_ignoreprereq | bool - - name: install-home-gi | Execute runcluvfy.sh for Oracle Restart - command: + - name: install_home_gi | Execute runcluvfy.sh for Oracle Restart + ansible.builtin.command: argv: - "{{ oracle_home_gi }}/runcluvfy.sh" - comp @@ -66,11 +66,11 @@ when: - not configure_cluster - - debug: var=cmdruncluvfy.stdout_lines # noqa unnamed-task + - ansible.builtin.debug: var=cmdruncluvfy.stdout_lines # noqa unnamed-task when: cmdruncluvfy.stdout_lines is defined - - name: install-home-gi | runcluvfy.sh failed - fail: + - name: install_home_gi | runcluvfy.sh failed + ansible.builtin.fail: msg: "runcluvfy.sh failed - aborting Playbook rc={{ cmdruncluvfy.rc }}" when: - cmdruncluvfy.rc is defined @@ -79,7 +79,7 @@ # Oracle GI/Restart: Configuration will fail when hostname points to localhost ip! - name: Check for hostname with localhost ip in hosts - lineinfile: + ansible.builtin.lineinfile: name: /etc/hosts regexp: "127.0.[0-1].1 .*{{ ansible_hostname }}.*" state: absent diff --git a/roles/oraswgi-install/templates/configtoolallcommands.rsp.11.2.0.3.j2 b/roles/oraswgi_install/templates/configtoolallcommands.rsp.11.2.0.3.j2 similarity index 100% rename from roles/oraswgi-install/templates/configtoolallcommands.rsp.11.2.0.3.j2 rename to roles/oraswgi_install/templates/configtoolallcommands.rsp.11.2.0.3.j2 diff --git a/roles/oraswgi-install/templates/configtoolallcommands.rsp.11.2.0.4.j2 b/roles/oraswgi_install/templates/configtoolallcommands.rsp.11.2.0.4.j2 similarity index 100% rename from roles/oraswgi-install/templates/configtoolallcommands.rsp.11.2.0.4.j2 rename to roles/oraswgi_install/templates/configtoolallcommands.rsp.11.2.0.4.j2 diff --git a/roles/oraswgi-install/templates/configtoolallcommands.rsp.12.1.0.1.j2 b/roles/oraswgi_install/templates/configtoolallcommands.rsp.12.1.0.1.j2 similarity index 100% rename from roles/oraswgi-install/templates/configtoolallcommands.rsp.12.1.0.1.j2 rename to roles/oraswgi_install/templates/configtoolallcommands.rsp.12.1.0.1.j2 diff --git a/roles/oraswgi-install/templates/configtoolallcommands.rsp.12.1.0.2.j2 b/roles/oraswgi_install/templates/configtoolallcommands.rsp.12.1.0.2.j2 similarity index 100% rename from roles/oraswgi-install/templates/configtoolallcommands.rsp.12.1.0.2.j2 rename to roles/oraswgi_install/templates/configtoolallcommands.rsp.12.1.0.2.j2 diff --git a/roles/oraswgi-install/templates/dotprofile-gi.j2 b/roles/oraswgi_install/templates/dotprofile-gi.j2 similarity index 100% rename from roles/oraswgi-install/templates/dotprofile-gi.j2 rename to roles/oraswgi_install/templates/dotprofile-gi.j2 diff --git a/roles/oraswgi-install/templates/grid-install.rsp.11.2.0.3.j2 b/roles/oraswgi_install/templates/grid-install.rsp.11.2.0.3.j2 similarity index 100% rename from roles/oraswgi-install/templates/grid-install.rsp.11.2.0.3.j2 rename to roles/oraswgi_install/templates/grid-install.rsp.11.2.0.3.j2 diff --git a/roles/oraswgi-install/templates/grid-install.rsp.11.2.0.4.j2 b/roles/oraswgi_install/templates/grid-install.rsp.11.2.0.4.j2 similarity index 100% rename from roles/oraswgi-install/templates/grid-install.rsp.11.2.0.4.j2 rename to roles/oraswgi_install/templates/grid-install.rsp.11.2.0.4.j2 diff --git a/roles/oraswgi-install/templates/grid-install.rsp.12.1.0.1.j2 b/roles/oraswgi_install/templates/grid-install.rsp.12.1.0.1.j2 similarity index 100% rename from roles/oraswgi-install/templates/grid-install.rsp.12.1.0.1.j2 rename to roles/oraswgi_install/templates/grid-install.rsp.12.1.0.1.j2 diff --git a/roles/oraswgi-install/templates/grid-install.rsp.12.1.0.2.j2 b/roles/oraswgi_install/templates/grid-install.rsp.12.1.0.2.j2 similarity index 100% rename from roles/oraswgi-install/templates/grid-install.rsp.12.1.0.2.j2 rename to roles/oraswgi_install/templates/grid-install.rsp.12.1.0.2.j2 diff --git a/roles/oraswgi-install/templates/grid-install.rsp.12.2.0.1.j2 b/roles/oraswgi_install/templates/grid-install.rsp.12.2.0.1.j2 similarity index 100% rename from roles/oraswgi-install/templates/grid-install.rsp.12.2.0.1.j2 rename to roles/oraswgi_install/templates/grid-install.rsp.12.2.0.1.j2 diff --git a/roles/oraswgi-install/templates/grid-install.rsp.18.3.0.0.j2 b/roles/oraswgi_install/templates/grid-install.rsp.18.3.0.0.j2 similarity index 100% rename from roles/oraswgi-install/templates/grid-install.rsp.18.3.0.0.j2 rename to roles/oraswgi_install/templates/grid-install.rsp.18.3.0.0.j2 diff --git a/roles/oraswgi-install/templates/grid-install.rsp.19.3.0.0.j2 b/roles/oraswgi_install/templates/grid-install.rsp.19.3.0.0.j2 similarity index 100% rename from roles/oraswgi-install/templates/grid-install.rsp.19.3.0.0.j2 rename to roles/oraswgi_install/templates/grid-install.rsp.19.3.0.0.j2 diff --git a/roles/oraswgi-install/templates/grid-install.rsp.21.3.0.0.j2 b/roles/oraswgi_install/templates/grid-install.rsp.21.3.0.0.j2 similarity index 100% rename from roles/oraswgi-install/templates/grid-install.rsp.21.3.0.0.j2 rename to roles/oraswgi_install/templates/grid-install.rsp.21.3.0.0.j2 diff --git a/roles/oraswgi-manage-patches/defaults/main.yml b/roles/oraswgi_manage_patches/defaults/main.yml similarity index 100% rename from roles/oraswgi-manage-patches/defaults/main.yml rename to roles/oraswgi_manage_patches/defaults/main.yml diff --git a/roles/oraswgi-manage-patches/meta/main.yml b/roles/oraswgi_manage_patches/meta/main.yml similarity index 76% rename from roles/oraswgi-manage-patches/meta/main.yml rename to roles/oraswgi_manage_patches/meta/main.yml index 0f53bafbb..ed1707020 100644 --- a/roles/oraswgi-manage-patches/meta/main.yml +++ b/roles/oraswgi_manage_patches/meta/main.yml @@ -7,18 +7,18 @@ galaxy_info: license: license (MIT) - min_ansible_version: 2.8 + min_ansible_version: 2.9.0 platforms: - name: EL versions: - - 6 - - 7 - - 8 + - "6" + - "7" + - "8" galaxy_tags: - database - oracle dependencies: - - role: orasw-meta + - role: orasw_meta diff --git a/roles/oraswgi-manage-patches/tasks/main.yml b/roles/oraswgi_manage_patches/tasks/main.yml similarity index 90% rename from roles/oraswgi-manage-patches/tasks/main.yml rename to roles/oraswgi_manage_patches/tasks/main.yml index bee7386dc..be324197b 100644 --- a/roles/oraswgi-manage-patches/tasks/main.yml +++ b/roles/oraswgi_manage_patches/tasks/main.yml @@ -1,15 +1,15 @@ --- -- name: gi-opatch | check if GI has been configured - stat: path=/etc/oracle/olr.loc +- name: gi_opatch | check if GI has been configured + ansible.builtin.stat: path=/etc/oracle/olr.loc register: olrloc -- name: gi-opatch | set fact for patch_before_rootsh - set_fact: +- name: gi_opatch | set fact for patch_before_rootsh + ansible.builtin.set_fact: patch_before_rootsh: false when: olrloc.stat.exists and patch_before_rootsh -- name: gi-opatch | Create patch-base directory (version specific) - file: +- name: gi_opatch | Create patch-base directory (version specific) + ansible.builtin.file: dest={{ oracle_patch_stage }}/{{ oracle_install_version_gi }} mode=775 owner={{ grid_install_user }} @@ -30,15 +30,15 @@ include: opatch-upgrade.yml when: apply_patches_gi -- name: gi-opatch | Check current opatch version +- name: gi_opatch | Check current opatch version oracle_opatch: oracle_home={{ oracle_home_gi }} state=opatchversion register: current_opatch_version tags: current_opatch_version -- name: gi-opatch | Configure ocm.rsp (1) - template: +- name: gi_opatch | Configure ocm.rsp (1) + ansible.builtin.template: src=ocmrsp.expect.j2 dest={{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/ocmrsp.expect mode=0777 @@ -49,8 +49,8 @@ tags: - ocmconfig -- name: gi-opatch | Configure ocm.rsp (2) - shell: "{{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/ocmrsp.expect" +- name: gi_opatch | Configure ocm.rsp (2) + ansible.builtin.shell: "{{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/ocmrsp.expect" # noqa command-instead-of-shell when: apply_patches_gi and current_opatch_version is defined and current_opatch_version.msg is version_compare('12.2.0.1.5', '<') become: true @@ -59,7 +59,7 @@ tags: - ocmconfig -- name: gi-opatch | Manage opatchauto patches for GI (after software only install) +- name: gi_opatch | Manage opatchauto patches for GI (after software only install) oracle_opatch: oracle_home={{ oracle_home_gi }} patch_base={{ oracle_patch_install }}/{{ oracle_install_version_gi }}/{{ item.0.path | default (item.0.patchid) }}/{{ item.1 }} @@ -87,7 +87,7 @@ - not olrloc.stat.exists register: psuapplym -- name: gi-opatch | Manage opatchauto patches for GI +- name: gi_opatch | Manage opatchauto patches for GI oracle_opatch: oracle_home={{ oracle_home_gi }} patch_base={{ oracle_patch_install }}/{{ oracle_install_version_gi }}/{{ item.path | default (item.patchid) }}/ @@ -113,7 +113,7 @@ - olrloc.stat.exists register: psuapplym -- name: gi-opatch | Manage non opatchauto patches for GI +- name: gi_opatch | Manage non opatchauto patches for GI oracle_opatch: oracle_home={{ oracle_home_gi }} patch_base={{ oracle_patch_install }}/{{ oracle_install_version_gi }}/{{ item.path | default (item.patchid) }}/ @@ -197,7 +197,7 @@ # tags: # - psuapplyo # -# - name: gi-opatch | Check if stuff is running +# - name: gi_opatch | Check if stuff is running # shell: "{{ oracle_home_gi }}/bin/crsctl stat res -t" # tags: # - crsctl-opatch @@ -209,7 +209,7 @@ # - crsctl-opatch # when: apply_patches_gi # -# - name: gi-opatch | Check opatch lspatches +# - name: gi_opatch | Check opatch lspatches # shell: "{{ oracle_home_gi }}/OPatch/opatch lsinventory" # become: yes # become_user: "{{ grid_install_user }}" diff --git a/roles/oraswgi-manage-patches/tasks/opatch-upgrade.yml b/roles/oraswgi_manage_patches/tasks/opatch-upgrade.yml similarity index 78% rename from roles/oraswgi-manage-patches/tasks/opatch-upgrade.yml rename to roles/oraswgi_manage_patches/tasks/opatch-upgrade.yml index 0d93e27e3..cff5549e0 100644 --- a/roles/oraswgi-manage-patches/tasks/opatch-upgrade.yml +++ b/roles/oraswgi_manage_patches/tasks/opatch-upgrade.yml @@ -1,5 +1,5 @@ --- -- name: gi-opatch | Check current opatch version +- name: gi_opatch | Check current opatch version oracle_opatch: oracle_home={{ oracle_home_gi }} state=opatchversion @@ -7,20 +7,13 @@ tags: current_opatch_version when: gi_patches is defined and gi_patches[oracle_install_version_gi] is defined and gi_patches[oracle_install_version_gi]['opatch_minversion'] is defined -- debug: var=current_opatch_version.msg +- ansible.builtin.debug: var=current_opatch_version.msg # noqa unnamed-task tags: current_opatch_version when: gi_patches is defined and gi_patches[oracle_install_version_gi] is defined and gi_patches[oracle_install_version_gi]['opatch_minversion'] is defined -# - name: gi-opatch | Remove old OPatch -# file: -# dest="{{ oracle_home_gi }}/OPatch" -# state=absent -# become: yes -# when: apply_patches_gi and (current_opatch_version.msg is version_compare(gi_patches[oracle_install_version_gi]['opatch_minversion'], '<')) - -- name: gi-opatch | Extract OPatch to GI Home - unarchive: +- name: gi_opatch | Extract OPatch to GI Home + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_home_gi }} copy=no @@ -39,8 +32,8 @@ tags: - oragridpatchunpack -- name: gi-opatch | Extract OPatch to GI Home (from remote location) - unarchive: +- name: gi_opatch | Extract OPatch to GI Home (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_home_gi }} copy=no @@ -59,7 +52,7 @@ tags: - oragridpatchunpack -- name: gi-opatch | Check current opatch version +- name: gi_opatch | Check current opatch version oracle_opatch: oracle_home={{ oracle_home_gi }} state=opatchversion @@ -70,7 +63,7 @@ - gi_patches[oracle_install_version_gi] is defined - gi_patches[oracle_install_version_gi]['opatch_minversion'] is defined -- debug: var=current_opatch_version.msg +- ansible.builtin.debug: var=current_opatch_version.msg # noqa unnamed-task no-handler tags: current_opatch_version when: current_opatch_version.changed diff --git a/roles/oraswgi-manage-patches/tasks/transfer-files.yml b/roles/oraswgi_manage_patches/tasks/transfer-files.yml similarity index 82% rename from roles/oraswgi-manage-patches/tasks/transfer-files.yml rename to roles/oraswgi_manage_patches/tasks/transfer-files.yml index bb15ce451..b67ef3e76 100644 --- a/roles/oraswgi-manage-patches/tasks/transfer-files.yml +++ b/roles/oraswgi_manage_patches/tasks/transfer-files.yml @@ -1,6 +1,6 @@ --- -- name: gi-opatch | Copy oracle GI patch (opatchauto) to server (www) - get_url: +- name: gi_opatch | Copy oracle GI patch (opatchauto) to server (www) + ansible.builtin.get_url: url={{ oracle_sw_source_www }}/{{ item[0].filename }} dest={{ oracle_stage }} mode=0775 @@ -18,8 +18,8 @@ tags: - oragridpatchget -- name: gi-opatch | Copy oracle GI patch (opatchauto) to server (local) - copy: +- name: gi_opatch | Copy oracle GI patch (opatchauto) to server (local) + ansible.builtin.copy: src={{ oracle_sw_source_local }}/{{ item[0].filename }} dest={{ oracle_stage }} mode=0775 @@ -33,8 +33,8 @@ tags: - oragridpatchpush -- name: gi-opatch | Copy oracle opatch to server (www) - get_url: +- name: gi_opatch | Copy oracle opatch to server (www) + ansible.builtin.get_url: url={{ oracle_sw_source_www }}/{{ item.filename }} dest={{ oracle_stage }} mode=775 @@ -46,8 +46,8 @@ tags: - oragridopatchget -- name: gi-opatch | Copy oracle opatch to server (local) - copy: +- name: gi_opatch | Copy oracle opatch to server (local) + ansible.builtin.copy: src={{ oracle_sw_source_local }}/{{ item.filename }} dest={{ oracle_stage }} mode=0775 diff --git a/roles/oraswgi-manage-patches/tasks/unpack-files.yml b/roles/oraswgi_manage_patches/tasks/unpack-files.yml similarity index 88% rename from roles/oraswgi-manage-patches/tasks/unpack-files.yml rename to roles/oraswgi_manage_patches/tasks/unpack-files.yml index 8a8bbb11a..36bbae9af 100644 --- a/roles/oraswgi-manage-patches/tasks/unpack-files.yml +++ b/roles/oraswgi_manage_patches/tasks/unpack-files.yml @@ -1,7 +1,7 @@ --- -- name: gi-opatch | Extract GI psu files to patch base - unarchive: +- name: gi_opatch | Extract GI psu files to patch base + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item[0].filename }} dest={{ oracle_patch_stage }}/{{ oracle_install_version_gi }} creates={{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/{{ item[0].creates | default (omit) }} @@ -21,8 +21,8 @@ tags: - oragridpsuunpack1 -- name: gi-opatch | Extract GI psu files to patch base (from remote location) - unarchive: +- name: gi_opatch | Extract GI psu files to patch base (from remote location) + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.0.filename }} dest={{ oracle_patch_stage }}/{{ oracle_install_version_gi }} creates={{ oracle_patch_stage }}/{{ oracle_install_version_gi }}/{{ item[0].creates | default (omit) }} diff --git a/roles/oraswgi-manage-patches/templates/ocmrsp.expect.j2 b/roles/oraswgi_manage_patches/templates/ocmrsp.expect.j2 similarity index 100% rename from roles/oraswgi-manage-patches/templates/ocmrsp.expect.j2 rename to roles/oraswgi_manage_patches/templates/ocmrsp.expect.j2 diff --git a/roles/oraswgi-opatch/defaults/main.yml b/roles/oraswgi_opatch/defaults/main.yml similarity index 100% rename from roles/oraswgi-opatch/defaults/main.yml rename to roles/oraswgi_opatch/defaults/main.yml diff --git a/roles/oraswgi-opatch/tasks/main.yml b/roles/oraswgi_opatch/tasks/main.yml similarity index 68% rename from roles/oraswgi-opatch/tasks/main.yml rename to roles/oraswgi_opatch/tasks/main.yml index b406db42e..562a042f7 100644 --- a/roles/oraswgi-opatch/tasks/main.yml +++ b/roles/oraswgi_opatch/tasks/main.yml @@ -1,7 +1,7 @@ --- - name: Check which GI patches are applied - shell: "{{ oracle_home_gi }}/OPatch/opatch lspatches -oh {{ oracle_home_gi }} |grep {{ item.patchversion }} |wc -l" + ansible.builtin.shell: "{{ oracle_home_gi }}/OPatch/opatch lspatches -oh {{ oracle_home_gi }} |grep {{ item.patchversion }} |wc -l" # noqa risky-shell-pipe become: true become_user: "{{ grid_install_user }}" @@ -12,7 +12,7 @@ - name: Create stage directory - file: dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} mode=775 owner={{ grid_install_user }} group={{ oracle_group }} state=directory + ansible.builtin.file: dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} mode=775 owner={{ grid_install_user }} group={{ oracle_group }} state=directory # file: dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} mode=775 owner=grid group={{ oracle_group }} state=directory tags: - directoriespsu @@ -40,7 +40,7 @@ - name: Extract OPatch to stage-area - unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} copy=no + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item.filename }} dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} copy=no become: true become_user: "{{ grid_install_user }}" with_items: "{{ oracle_opatch_patch }}" @@ -49,7 +49,7 @@ - oragridpatchunpack - name: Extract Opatch to stage-area (from remote location) - unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} copy=no + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.filename }} dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} copy=no with_items: "{{ oracle_opatch_patch }}" become: true become_user: "{{ grid_install_user }}" @@ -59,7 +59,7 @@ - name: Extract GI psu files to stage-area - unarchive: src={{ oracle_stage }}/{{ item.0.filename }} dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} copy=no + ansible.builtin.unarchive: src={{ oracle_stage }}/{{ item.0.filename }} dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} copy=no become: true become_user: "{{ grid_install_user }}" with_together: @@ -70,7 +70,7 @@ - oragridpsuunpack - name: Extract GI psu files to stage-area (from remote location) - unarchive: src={{ oracle_stage_remote }}/{{ item.0.filename }} dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} copy=no + ansible.builtin.unarchive: src={{ oracle_stage_remote }}/{{ item.0.filename }} dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }} copy=no become: true become_user: "{{ grid_install_user }}" with_together: @@ -93,30 +93,14 @@ # when: checkgiinstall.stdout != "1" and "{{ oracle_install_version_gi }}" == "{{ item.version }}" and not oracle_sw_copy and oracle_sw_unpack - name: Distribute latest opatch - shell: rm -rf {{ oracle_home_gi }}/OPatch; cp -Rvp {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/OPatch {{ oracle_home_gi }}; chown -R {{ grid_install_user }}:{{ oracle_group }} {{ oracle_home_gi }}/OPatch + ansible.builtin.shell: rm -rf {{ oracle_home_gi }}/OPatch; cp -Rvp {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/OPatch {{ oracle_home_gi }}; chown -R {{ grid_install_user }}:{{ oracle_group }} {{ oracle_home_gi }}/OPatch # noqa yaml deprecated-command-syntax when: oracle_psu_apply_gi tags: - oragridnewopatch -# - name: Configure ocm.rsp (1) -# template: src=ocmrsp.expect.j2 dest={{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/ocmrsp.expect mode=0777 force=yes -# when: oracle_psu_apply_gi #and not {{ item.1.stdout }} != 0 -# become: yes -# become_user: "{{ grid_install_user }}" -# tags: -# - ocmconfig -# -# - name: Configure ocm.rsp (2) -# shell: "{{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/ocmrsp.expect" -# when: oracle_psu_apply_gi #and not {{ item.1.stdout }} != 0 -# become: yes -# become_user: "{{ grid_install_user }}" -# tags: -# - ocmconfig - - name: Apply PSU to GI (v12.x) (Master node) - shell: "{{ oracle_home_gi }}/OPatch/opatchauto apply {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }}" # -ocmrf {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " + ansible.builtin.shell: "{{ oracle_home_gi }}/OPatch/opatchauto apply {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }}" # -ocmrf {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " # noqa yaml command-instead-of-shell with_together: - "{{ oracle_sw_patches }}" @@ -132,7 +116,7 @@ - name: Apply PSU to GI (v11.2) (Master node) - shell: "{{ oracle_home_gi }}/OPatch/opatch auto {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }} -ocmrf {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " + ansible.builtin.shell: "{{ oracle_home_gi }}/OPatch/opatch auto {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }} -ocmrf {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " # noqa yaml command-instead-of-shell with_together: - "{{ oracle_sw_patches }}" @@ -142,7 +126,7 @@ when: oracle_psu_apply_gi and '11.2' in oracle_install_version_gi and item.0.version == oracle_install_version_gi and not item.1.stdout != 0 register: psuapplym -- debug: var=psuapplym.stdout_lines +- ansible.builtin.debug: var=psuapplym.stdout_lines # noqa unnamed-task run_once: "{{ configure_cluster }}" when: oracle_psu_apply_gi @@ -150,7 +134,7 @@ - psuapplym - name: Check if stuff is running - shell: "{{ oracle_home_gi }}/bin/crsctl stat res -t" + ansible.builtin.shell: "{{ oracle_home_gi }}/bin/crsctl stat res -t" # noqa command-instead-of-shell run_once: "{{ configure_cluster }}" tags: @@ -158,7 +142,7 @@ register: crsctl when: oracle_psu_apply_gi # and not {{ item.1.stdout }} != 0 -- debug: var=crsctl.stdout_lines +- ansible.builtin.debug: var=crsctl.stdout_lines # noqa unnamed-task tags: - crsctl @@ -166,7 +150,7 @@ # when: master_node - name: Apply PSU to GI (v12.1) (other nodes) - shell: "{{ oracle_home_gi }}/OPatch/opatchauto apply {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }} -ocmrf {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " + ansible.builtin.shell: "{{ oracle_home_gi }}/OPatch/opatchauto apply {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }} -ocmrf {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " # noqa yaml command-instead-of-shell with_together: - "{{ oracle_sw_patches }}" @@ -183,7 +167,7 @@ register: psuapplyo - name: Apply PSU to GI (v11.2) (other nodes) - shell: "{{ oracle_home_gi }}/OPatch/opatch auto {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }} -ocmrf {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " + ansible.builtin.shell: "{{ oracle_home_gi }}/OPatch/opatch auto {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/{{ item.0.patchid }} -oh {{ oracle_home_gi }} -ocmrf {{ oracle_psu_stage }}/{{ oracle_install_version_gi }}/ocm.rsp " # noqa yaml command-instead-of-shell with_together: - "{{ oracle_sw_patches }}" @@ -198,28 +182,28 @@ - not item.1.stdout != 0 register: psuapplyo -- debug: var=psuapplyo.stdout_lines +- ansible.builtin.debug: var=psuapplyo.stdout_lines # noqa unnamed-task when: configure_cluster and inventory_hostname != cluster_master and oracle_psu_apply_gi and psuapplyo is defined tags: - psuapplyo - name: Check if stuff is running - shell: "{{ oracle_home_gi }}/bin/crsctl stat res -t" + ansible.builtin.shell: "{{ oracle_home_gi }}/bin/crsctl stat res -t" # noqa yaml command-instead-of-shell tags: - crsctl-opatch register: crsctl when: oracle_psu_apply_gi -- debug: var=crsctl.stdout_lines +- ansible.builtin.debug: var=crsctl.stdout_lines # noqa unnamed-task tags: - crsctl-opatch when: oracle_psu_apply_gi - name: Check opatch lsinventory - shell: "{{ oracle_home_gi }}/OPatch/opatch lsinventory" + ansible.builtin.shell: "{{ oracle_home_gi }}/OPatch/opatch lsinventory" # noqa yaml command-instead-of-shell become: true become_user: "{{ grid_install_user }}" @@ -228,7 +212,7 @@ tags: - opatchls -- debug: var=opatchls.stdout_lines +- ansible.builtin.debug: var=opatchls.stdout_lines # noqa unnamed-task when: oracle_psu_apply_gi tags: diff --git a/roles/oraswgi-opatch/templates/ocmrsp.expect.j2 b/roles/oraswgi_opatch/templates/ocmrsp.expect.j2 similarity index 100% rename from roles/oraswgi-opatch/templates/ocmrsp.expect.j2 rename to roles/oraswgi_opatch/templates/ocmrsp.expect.j2 From 86c408f37c085fa84b6b79ccc20e3b0e65e39591 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Fri, 8 Jul 2022 09:53:04 +0000 Subject: [PATCH 06/31] oradb_manage_db: do not start ocenv in .bashrc automatically --- roles/oradb_manage_db/tasks/ocenv.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/roles/oradb_manage_db/tasks/ocenv.yml b/roles/oradb_manage_db/tasks/ocenv.yml index 5a9f9c3f4..c251a98db 100644 --- a/roles/oradb_manage_db/tasks/ocenv.yml +++ b/roles/oradb_manage_db/tasks/ocenv.yml @@ -17,9 +17,12 @@ mode: '0644' - name: manage_db | add ocenv to .bashrc - ansible.builtin.lineinfile: + ansible.builtin.blockinfile: path: "{{ oracle_user_home }}/.bashrc" - line: ". {{ dbenvdir }}/ocenv" + marker: "# {mark} ocenv ANSIBLE MANAGED BLOCK" + block: | + echo "execute ocenv to source Oracle Environment" + alias ocenv='. "{{ dbenvdir }}/ocenv"' create: true owner: "{{ oracle_user }}" group: "{{ oracle_group }}" From b5fe6b6123b50922add44496b52f78f687801926 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Fri, 8 Jul 2022 09:56:30 +0000 Subject: [PATCH 07/31] oradb_manage_db: configure ocenv before database creation --- roles/oradb_manage_db/tasks/manage-db.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/roles/oradb_manage_db/tasks/manage-db.yml b/roles/oradb_manage_db/tasks/manage-db.yml index f333917c6..5d463d0b5 100644 --- a/roles/oradb_manage_db/tasks/manage-db.yml +++ b/roles/oradb_manage_db/tasks/manage-db.yml @@ -12,6 +12,10 @@ {{ oracle_base }}/{{ db_homes_config[dbh.home]['version'] }}/{{ db_homes_config[dbh.home]['home'] }} {%- endif -%}" +- include_tasks: ocenv.yml + tags: + - always + - ansible.builtin.debug: msg="Maintaining DB - {{ dbh.oracle_db_name }}, ORACLE_HOME - {{ oracle_home_db }}" # noqa unnamed-task run_once: "{{ configure_cluster }}" when: dbh.state|lower == 'present' @@ -110,7 +114,3 @@ state: absent when: dbh.state|lower == 'absent' tags: create_cdb,dotprofile_db - -- include_tasks: ocenv.yml - tags: - - always From 50bcf15a8fd343b2c54ec345377d548afbeb8fcc Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Thu, 7 Jul 2022 10:28:09 +0000 Subject: [PATCH 08/31] typo --- galaxy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy.yml b/galaxy.yml index 1a8d4012a..dedada481 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -1,7 +1,7 @@ --- namespace: opitzconsulting name: ansible_oracle -description: This is the collection of ansible-oracle from Branch oc on https://github.com/opitzconsulting/ansible-oracle +description: "This is the collection of ansible-oracle from Branch oc on https://github.com/opitzconsulting/ansible-oracle" version: 3.0.0 readme: README.md authors: From d76337272976b9eb128798cfc189c466111466ce Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Thu, 7 Jul 2022 15:01:19 +0000 Subject: [PATCH 09/31] ansible-galaxy: more preparations for upload --- galaxy.yml | 3 +++ meta/runtime.yml | 2 ++ roles/README.md | 0 roles/common/README.md | 0 roles/cxoracle/README.md | 0 roles/oradb_manage_grants/README.md | 0 roles/oradb_manage_parameters/README.md | 0 roles/oradb_manage_pdb/README.md | 0 roles/oradb_manage_profiles/README.md | 0 roles/oradb_manage_redo/README.md | 0 roles/oradb_manage_roles/README.md | 0 roles/oradb_manage_services/README.md | 0 roles/oradb_manage_tablespace/README.md | 0 roles/oradb_manage_users/README.md | 0 roles/oraemagent_install/README.md | 0 roles/orahost/README.md | 0 roles/orahost_storage/README.md | 0 roles/orasw_meta/README.md | 0 roles/oraswahf_install/README.md | 0 roles/oraswdb_golden_image/README.md | 0 roles/oraswdb_install/README.md | 0 roles/oraswdb_manage_patches/README.md | 0 roles/oraswgi_golden_image/README.md | 0 roles/oraswgi_install/README.md | 0 roles/oraswgi_manage_patches/README.md | 0 roles/oraswgi_opatch/README.md | 0 26 files changed, 5 insertions(+) create mode 100644 meta/runtime.yml create mode 100644 roles/README.md create mode 100644 roles/common/README.md create mode 100644 roles/cxoracle/README.md create mode 100644 roles/oradb_manage_grants/README.md create mode 100644 roles/oradb_manage_parameters/README.md create mode 100644 roles/oradb_manage_pdb/README.md create mode 100644 roles/oradb_manage_profiles/README.md create mode 100644 roles/oradb_manage_redo/README.md create mode 100644 roles/oradb_manage_roles/README.md create mode 100644 roles/oradb_manage_services/README.md create mode 100644 roles/oradb_manage_tablespace/README.md create mode 100644 roles/oradb_manage_users/README.md create mode 100644 roles/oraemagent_install/README.md create mode 100644 roles/orahost/README.md create mode 100644 roles/orahost_storage/README.md create mode 100644 roles/orasw_meta/README.md create mode 100644 roles/oraswahf_install/README.md create mode 100644 roles/oraswdb_golden_image/README.md create mode 100644 roles/oraswdb_install/README.md create mode 100644 roles/oraswdb_manage_patches/README.md create mode 100644 roles/oraswgi_golden_image/README.md create mode 100644 roles/oraswgi_install/README.md create mode 100644 roles/oraswgi_manage_patches/README.md create mode 100644 roles/oraswgi_opatch/README.md diff --git a/galaxy.yml b/galaxy.yml index dedada481..58bdfc86e 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -3,10 +3,13 @@ namespace: opitzconsulting name: ansible_oracle description: "This is the collection of ansible-oracle from Branch oc on https://github.com/opitzconsulting/ansible-oracle" version: 3.0.0 +repository: https://github.com/opitzconsulting/ansible-oracle.git readme: README.md authors: - Mikael Sandström - OPITZ CONSULTING - Thorsten Bruhns +license: + - "MIT" tags: - oracle diff --git a/meta/runtime.yml b/meta/runtime.yml new file mode 100644 index 000000000..2ee3c9fa9 --- /dev/null +++ b/meta/runtime.yml @@ -0,0 +1,2 @@ +--- +requires_ansible: '>=2.9.10' diff --git a/roles/README.md b/roles/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/common/README.md b/roles/common/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/cxoracle/README.md b/roles/cxoracle/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oradb_manage_grants/README.md b/roles/oradb_manage_grants/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oradb_manage_parameters/README.md b/roles/oradb_manage_parameters/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oradb_manage_pdb/README.md b/roles/oradb_manage_pdb/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oradb_manage_profiles/README.md b/roles/oradb_manage_profiles/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oradb_manage_redo/README.md b/roles/oradb_manage_redo/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oradb_manage_roles/README.md b/roles/oradb_manage_roles/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oradb_manage_services/README.md b/roles/oradb_manage_services/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oradb_manage_tablespace/README.md b/roles/oradb_manage_tablespace/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oradb_manage_users/README.md b/roles/oradb_manage_users/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oraemagent_install/README.md b/roles/oraemagent_install/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/orahost/README.md b/roles/orahost/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/orahost_storage/README.md b/roles/orahost_storage/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/orasw_meta/README.md b/roles/orasw_meta/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oraswahf_install/README.md b/roles/oraswahf_install/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oraswdb_golden_image/README.md b/roles/oraswdb_golden_image/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oraswdb_install/README.md b/roles/oraswdb_install/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oraswdb_manage_patches/README.md b/roles/oraswdb_manage_patches/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oraswgi_golden_image/README.md b/roles/oraswgi_golden_image/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oraswgi_install/README.md b/roles/oraswgi_install/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oraswgi_manage_patches/README.md b/roles/oraswgi_manage_patches/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/roles/oraswgi_opatch/README.md b/roles/oraswgi_opatch/README.md new file mode 100644 index 000000000..e69de29bb From bfdf674632ac0b5a9e94ecfeb9e69cdc18c60007 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Fri, 8 Jul 2022 11:21:33 +0000 Subject: [PATCH 10/31] oradb_manage_db: be less verbose with loop label --- roles/oradb_manage_db/tasks/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/oradb_manage_db/tasks/main.yml b/roles/oradb_manage_db/tasks/main.yml index d0c7bcfbd..a3b3789a2 100644 --- a/roles/oradb_manage_db/tasks/main.yml +++ b/roles/oradb_manage_db/tasks/main.yml @@ -18,6 +18,7 @@ with_items: "{{ oracle_databases }}" loop_control: loop_var: dbh + label: "create_listener {{ create_listener | default('') }} oracle_home {{ dbh.home | default('') }}" tags: set_fact - include_tasks: sqlnet.yml From 13cf9b976153c61ac8494058b70f58421fd77cc0 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Fri, 8 Jul 2022 11:31:09 +0000 Subject: [PATCH 11/31] oradb_rman: be less verbose with loop label --- roles/oradb_rman/tasks/main.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/roles/oradb_rman/tasks/main.yml b/roles/oradb_rman/tasks/main.yml index 126b688af..ca20974cc 100644 --- a/roles/oradb_rman/tasks/main.yml +++ b/roles/oradb_rman/tasks/main.yml @@ -45,6 +45,8 @@ with_together: - "{{ oracle_databases }}" - "" + loop_control: + label: "oracle_db_name {{ item.0.oracle_db_name | default('') }}" tags: - rmancopy @@ -54,6 +56,8 @@ with_together: - "{{ oracle_databases }}" - "" + loop_control: + label: "oracle_db_name {{ item.0.oracle_db_name | default('') }}" tags: - rmancopy @@ -69,6 +73,8 @@ - "{{ oracle_databases }}" - rman_jobs - skip_missing: true + loop_control: + label: "oracle_db_name {{ item.0.oracle_db_name | default('') }} job {{ item.1.name | default('') }}" tags: - rmancopy @@ -138,6 +144,8 @@ - "{{ oracle_databases }}" - rman_jobs - skip_missing: true + loop_control: + label: "oracle_db_name {{ item.0.oracle_db_name | default('') }} job {{ item.1.name | default('') }}" when: item.1.immediate is defined and item.1.immediate and ( (configure_cluster and inventory_hostname == cluster_master) or not configure_cluster @@ -148,6 +156,8 @@ - ansible.builtin.debug: msg={{ item.results.stdout_lines | default("") }} # noqa unnamed-task with_items: - "{{ rmanexecimmediate }}" + loop_control: + label: "" when: rmanexecimmediate is defined tags: - rmanexecute @@ -182,6 +192,8 @@ - "{{ oracle_databases }}" - rman_jobs - skip_missing: true + loop_control: + label: "oracle_db_name {{ item.0.oracle_db_name | default('') }} job {{ item.1.name | default('') }}" when: - item.1 is defined - item.1.disabled is defined From 24bf6cd1ec36e01a74a96a285430ad22f1ee366d Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Sat, 9 Jul 2022 06:43:56 +0000 Subject: [PATCH 12/31] github action for antsibull-changelog --- .github/workflows/changelog-lint.yml | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/changelog-lint.yml diff --git a/.github/workflows/changelog-lint.yml b/.github/workflows/changelog-lint.yml new file mode 100644 index 000000000..1b0c594d7 --- /dev/null +++ b/.github/workflows/changelog-lint.yml @@ -0,0 +1,31 @@ +name: Test antsibull-changelog lint + +on: + pull_request: + branches: + - oc + - master + - collection + push: + branches: + - 'pr*' + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.9 + uses: actions/setup-python@v2 + with: + python-version: 3.9 + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install antsibull-changelog + + - name: antsibull-changelog lint (own changelog fragments) + run: | + antsibull-changelog lint From 9d99c2a15610e367165ce4e9be2a87655600d182 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Fri, 8 Jul 2022 19:41:24 +0000 Subject: [PATCH 13/31] antsibull-changelog + documentation --- README.adoc | 243 +++++++++++++++++++++++++++++++++++++++++ README.md | 214 ------------------------------------ changelogs/config.yaml | 33 ++++++ 3 files changed, 276 insertions(+), 214 deletions(-) create mode 100644 README.adoc delete mode 100644 README.md create mode 100644 changelogs/config.yaml diff --git a/README.adoc b/README.adoc new file mode 100644 index 000000000..f91924110 --- /dev/null +++ b/README.adoc @@ -0,0 +1,243 @@ +:toc: +:toc-placement!: +toc::[] + +* Installs Oracle RAC, RAC One Node and normal single instances. +* Start with one or more clean machine(s), end up with a fully +configured RAC Cluster. + +== Getting started + +Pre-requisites: + +* Ansible >= 2.4 +* Oracle Linux (or any RHEL-based Linux System) >= 6.4 +* Oracle Database/Grid Infrastructure 18.3.0.0, 12.2.0.1, 12.1.0.1, +12.1.0.2, 11.2.0.4, 11.2.0.3 +* For example configurations, look in: + +---- +SI/FS: group_vars/vbox-si-fs. - vagrant config: http://github.com/oravirt/vagrant-vbox-si-fs +SI/ASM: group_vars/vbox-si-asm - vagrant config: http://github.com/oravirt/vagrant-vbox-si-asm +RAC/ASM: group_vars/vbox-rac-dc1 - vagrant config: http://github.com/oravirt/vagrant-vbox-rac +---- + +By default, installs a single instance 18.3.0.0 database on a +filesystem. + +. Clone this repository: +`git clone --recursive https://github.com/oravirt/ansible-oracle` +. Add the following file to `/tmp` on the controlmachine +* `LINUX.X64_180000_db_home.zip` +. Create an Ansible inventory file ++ +.... +[myhostgroup] + dbhost +.... +. Run the playbook: ++ +`ansible-playbook single-instance-db-on-fs.yml -e hostgroup=myhostgroup -i /path/to/inventory` ++ +where the `-i` part is optional + +== Roles + +A lot of these roles uses Ansible modules that comes from +https://github.com/oravirt/ansible-oracle-modules[ansible-oracle-modules] + +=== common + +This will configure stuff common to all machines + +* Install some generic packages +* Configure ntp + +=== orahost + +This will configure the host specific Oracle stuff: + +* Add a user & group +* Create directory structures +* Handle filesystem storage (partition devices, creates vg/lv and a +filesystem (ext4, xfs, btrfs) etc). If you want to create your database +on a filesystem (instead of ASM) this is where you define the layout. +* Install required packages +* Change kernel paramemeters +* Set up pam.d/limits config +* Configures Hugepages (as a percentage of total RAM) +* Disables transparent hugepages +* Disables NUMA (if needed) +* Configures the interconnect network (if needed) +* Configures Oracle ASMLib + +=== orahost-ssh + +Configures passwordless ssh between clusternodes if setting up RAC +(`configure_cluster=True`) + +* Uses existing ssh-keys + +=== orahost-storage + +This role configures storage that shoud be used by ASM. + +* Partitions devices (using parted) +* Create ASMlib labels or sets up udev-rules for device name persistence + +=== oraswgi-install + +This role will install and configure Oracle Grid Infrastructure (RAC/SI) + +* Adds a .profile_grid to the oracle user +* Sets up directory structures +* Copies the install-files to the servers, or installs from a remote +location (e.g nfs share) +* Install Oracle Grid Infrastructure + +=== oraasm-manage-diskgroups + +This role will statefully manage the lifecycle of an ASM diskgroup + +* Uses the *oracle_asmdg* module +* Create/delete diskgroup. +* Add/remove disks +* Manage attributes for the DG + +=== oraswdb-install + +This role will install the oracle database server(s). It is possible to +run more than 1 database from each home. It performs both Single +Instance/RAC installations. + +* Creates a .profile with the correct environment +* Creates directory structures +* Installs the database-server(s) + +=== oradb-manage-db + +This role statefully manages the lifecycle of a database + +* Uses the *oracle_db* module +* Creates/deletes: `state: present/absent` +* Maintains archivelog/force_logging True/False + +=== oraswgi-manage-patches + +Manage patches in a GI environment + +* Uses the *oracle_opatch* module +* Manages opatchauto type of patches as well as 'normal' one-offs + +=== oraswdb-manage-patches + +Statefully manage patches in a DB environment + +* Uses the *oracle_opatch* module +* Manages opatchauto type of patches as well as 'normal' one-offs + +=== cxoracle + +Installs cx_Oracle in preparation for using +https://github.com/oravirt/ansible-oracle-modules[ansible-oracle-modules] + +=== orahost-cron + +Configures cron schedules if needed + +=== orahost-logrotate + +=== oradb-manage-<*> + +Statefully manages various aspects of the DB. They all use modules from +https://github.com/oravirt/ansible-oracle-modules[ansible-oracle-modules] + +* *oradb-manage-pdb* +* *oradb-manage-tablespace* +* *oradb-manage-parameters* +* *oradb-manage-roles* +* *oradb-manage-users* +* *oradb-manage-grants* +* *oradb-manage-redo* +* *oradb-manage-services* + +== Deprecated roles + +*_oraswgi-opatch (use oraswgi-manage-patches instead)_* + +== Note + +These are the Oracle binaries that are pre-configured to be used. They +have to be manually downloaded and made available (either locally, from +a web endpoint or through a nfs-share) + +For 18.3.0.0: + +---- +LINUX.X64_180000_db_home.zip +LINUX.X64_180000_grid_home.zip +---- + +For 12.2.0.1: + +---- +linuxx64_12201_database.zip +linuxx64_12201_grid_home.zip +---- + +For 12.1.0.2 + +---- +linuxamd64_12102_database_1of2.zip +linuxamd64_12102_database_2of2.zip +linuxamd64_12102_grid_1of2.zip +linuxamd64_12102_grid_2of2.zip +---- + +For 12.1.0.1: + +---- +linuxamd64_12c_database_1of2.zip +linuxamd64_12c_database_2of2.zip +linuxamd64_12c_grid_1of2.zip +linuxamd64_12c_grid_2of2.zip +---- + +For 11.2.0.4: + +---- +p13390677_112040_Linux-x86-64_1of7.zip +p13390677_112040_Linux-x86-64_2of7.zip +p13390677_112040_Linux-x86-64_3of7.zip +---- + +For 11.2.0.3: + +---- +p10404530_112030_Linux-x86-64_1of7.zip +p10404530_112030_Linux-x86-64_2of7.zip +p10404530_112030_Linux-x86-64_3of7.zip +---- + +== Pull-Requests + +=== Important Information + +The ansible-oracle project introduced `antsibull-changelog` for managing the `CHANGELOG.rst` based on fragments in `changelogs/gragments`. + +The ID should point to the PR and the filename describe the PR in short form. +The fragments are part of the PR. If multiple PRs are open, the upper rule makes sure that no duplicate files are created during merge. + +IMPORTANT: Each Pull-Requests needs a fragment from Release 3.0.0 onwards! + +=== Working with antsibull-changelog + +Changelogs for Collections: https://github.com/ansible-community/antsibull-changelog/blob/main/docs/changelogs.rst#releasing-a-new-version-of-a-collection + +=== Creating new releases + +`antsibull-changelog release` reads `galaxy.yml` to get the release version automatically. +The execution is aborted, when a release with the version is existing in `CHANGELOG.rst`. + +NOTE: The whole release process should be donw with a dedicated Pull-Request. + diff --git a/README.md b/README.md deleted file mode 100644 index 229dae2ef..000000000 --- a/README.md +++ /dev/null @@ -1,214 +0,0 @@ -# ansible-oracle - -- Installs Oracle RAC, RAC One Node and normal single instances. -- Start with one or more clean machine(s), end up with a fully configured RAC Cluster. - -### Getting started - -Pre-requisites: - -- Ansible >= 2.9 -- Oracle Linux (or any RHEL-based Linux System) >= 6.4 -- Oracle Database/Grid Infrastructure 21.3.0.0, 19.3.0.0, 18.3.0.0, 12.2.0.1, 12.1.0.1, 12.1.0.2 -- For example configurations, look in: - -``` - SI/FS: group_vars/vbox-si-fs. - vagrant config: http://github.com/oravirt/vagrant-vbox-si-fs - SI/ASM: group_vars/vbox-si-asm - vagrant config: http://github.com/oravirt/vagrant-vbox-si-asm - RAC/ASM: group_vars/vbox-rac-dc1 - vagrant config: http://github.com/oravirt/vagrant-vbox-rac -``` - -By default, installs a single instance 18.3.0.0 database on a filesystem. - -1. Clone this repository: - `git clone --recursive https://github.com/oravirt/ansible-oracle` - -2. Add the following file to `/tmp` on the controlmachine - - `LINUX.X64_180000_db_home.zip` - -3. Create an Ansible inventory file - -``` - [myhostgroup] - dbhost -``` - -4. Run the playbook: - - `ansible-playbook single-instance-db-on-fs.yml -e hostgroup=myhostgroup -i /path/to/inventory` - - where the `-i` part is optional - - -### Roles - -A lot of these roles uses Ansible modules that comes from [ansible-oracle-modules](https://github.com/oravirt/ansible-oracle-modules) - -**common** - -This will configure stuff common to all machines -- Install some generic packages -- Configure ntp - - -**orahost** - -This will configure the host specific Oracle stuff: -- Add a user & group -- Create directory structures -- Handle filesystem storage (partition devices, creates vg/lv and a filesystem (ext4, xfs, btrfs) etc). If you want to create your database on a filesystem (instead of ASM) this is where you define the layout. -- Install required packages -- Change kernel paramemeters -- Set up pam.d/limits config -- Configures Hugepages (as a percentage of total RAM) -- Disables transparent hugepages -- Disables NUMA (if needed) -- Configures the interconnect network (if needed) -- Configures Oracle ASMLib - - -**orahost-ssh** - -Configures passwordless ssh between clusternodes if setting up RAC (`configure_cluster=True`) -- Uses existing ssh-keys - - -**orahost-storage** - -This role configures storage that shoud be used by ASM. -- Partitions devices (using parted) -- Create ASMlib labels or sets up udev-rules for device name persistence - - -**oraswgi-install** - -This role will install and configure Oracle Grid Infrastructure (RAC/SI) -- Adds a .profile_grid to the oracle user -- Sets up directory structures -- Copies the install-files to the servers, or installs from a remote location (e.g nfs share) -- Install Oracle Grid Infrastructure - - - -**oraasm-manage-diskgroups** - -This role will statefully manage the lifecycle of an ASM diskgroup -- Uses the **oracle_asmdg** module -- Create/delete diskgroup. -- Add/remove disks -- Manage attributes for the DG - -**oraswdb-install** - -This role will install the oracle database server(s). It is possible to run more than 1 database from each home. It performs both Single Instance/RAC installations. -- Creates a .profile with the correct environment -- Creates directory structures -- Installs the database-server(s) - - -**oradb-manage-db** - -This role statefully manages the lifecycle of a database -- Uses the **oracle_db** module -- Creates/deletes: `state: present/absent` -- Maintains archivelog/force_logging True/False - -**oraswgi-manage-patches** - -Manage patches in a GI environment -- Uses the **oracle_opatch** module -- Manages opatchauto type of patches as well as 'normal' one-offs - -**oraswdb-manage-patches** - -Statefully manage patches in a DB environment -- Uses the **oracle_opatch** module -- Manages opatchauto type of patches as well as 'normal' one-offs - - -**cxoracle** - -Installs cx_Oracle in preparation for using [ansible-oracle-modules](https://github.com/oravirt/ansible-oracle-modules) - - -**orahost-cron** - -Configures cron schedules if needed - - -**orahost-logrotate** - - -**oradb-manage-<*>** - -Statefully manages various aspects of the DB. They all use modules from [ansible-oracle-modules](https://github.com/oravirt/ansible-oracle-modules) - -- **oradb-manage-pdb** -- **oradb-manage-tablespace** -- **oradb-manage-parameters** -- **oradb-manage-roles** -- **oradb-manage-users** -- **oradb-manage-grants** -- **oradb-manage-redo** -- **oradb-manage-services** - - - -### Deprecated roles - -_**oraasm-createdg (use oraasm-manage-diskgroups instead)**_ - -_**oradb-create (use oradb-manage-db instead)**_ - -_**oradb-delete (use oradb-manage-db instead)**_ - -_**oraswgi-opatch (use oraswgi-manage-patches instead)**_ - - - -### Note - -These are the Oracle binaries that are pre-configured to be used. They have to be manually downloaded and made available (either locally, from a web endpoint or through a nfs-share) - -For 18.3.0.0: -``` - LINUX.X64_180000_db_home.zip - LINUX.X64_180000_grid_home.zip - ``` - - -For 12.2.0.1: -``` - linuxx64_12201_database.zip - linuxx64_12201_grid_home.zip - ``` - -For 12.1.0.2 -``` - linuxamd64_12102_database_1of2.zip - linuxamd64_12102_database_2of2.zip - linuxamd64_12102_grid_1of2.zip - linuxamd64_12102_grid_2of2.zip - ``` - -For 12.1.0.1: -``` - linuxamd64_12c_database_1of2.zip - linuxamd64_12c_database_2of2.zip - linuxamd64_12c_grid_1of2.zip - linuxamd64_12c_grid_2of2.zip - ``` - -For 11.2.0.4: -``` - p13390677_112040_Linux-x86-64_1of7.zip - p13390677_112040_Linux-x86-64_2of7.zip - p13390677_112040_Linux-x86-64_3of7.zip - ``` - - For 11.2.0.3: - ``` - p10404530_112030_Linux-x86-64_1of7.zip - p10404530_112030_Linux-x86-64_2of7.zip - p10404530_112030_Linux-x86-64_3of7.zip - ``` diff --git a/changelogs/config.yaml b/changelogs/config.yaml new file mode 100644 index 000000000..77f4a9aae --- /dev/null +++ b/changelogs/config.yaml @@ -0,0 +1,33 @@ +--- +changelog_filename_template: ../CHANGELOG.rst +changelog_filename_version_depth: 0 +changes_file: changelog.yaml +changes_format: combined +ignore_other_fragment_extensions: true +keep_fragments: false +mention_ancestor: true +new_plugins_after_name: removed_features +notesdir: fragments +prelude_section_name: release_summary +prelude_section_title: Release Summary +sanitize_changelog: true +sections: + - - major_changes + - Major Changes + - - minor_changes + - Minor Changes + - - breaking_changes + - Breaking Changes / Porting Guide + - - deprecated_features + - Deprecated Features + - - removed_features + - Removed Features (previously deprecated) + - - security_fixes + - Security Fixes + - - bugfixes + - Bugfixes + - - known_issues + - Known Issues +title: opitzconsulting.ansible_oracle +trivial_section_name: trivial +use_fqcn: true From eb4d95046c012cf998e75908d140d96a54ad61ce Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Fri, 8 Jul 2022 20:26:53 +0000 Subject: [PATCH 14/31] ansible-lint: extend exclude list for antsibull-changelog --- .ansible-lint | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.ansible-lint b/.ansible-lint index dad1fe4f4..2103a7738 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -9,3 +9,5 @@ exclude_paths: - dbhome-conversion - plugins/modules - playbooks + - changelogs/changelog.yaml + - changelogs/.plugin-cache.yaml From ccb62eff8bacf8f2ca797e3d2dfaa92981bb3ef8 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Fri, 8 Jul 2022 20:15:05 +0000 Subject: [PATCH 15/31] changelog fragments --- changelogs/.plugin-cache.yaml | 17 +++++++++++++++++ changelogs/fragments/100-ocenv.yaml | 3 +++ changelogs/fragments/101-cleanup.yaml | 4 ++++ .../fragments/102-antsibull-changelog.yaml | 3 +++ .../fragments/81-userpassword_management.yaml | 3 +++ ...-recatoring_Refactoring oraswgi-install.yaml | 12 ++++++++++++ changelogs/fragments/84-ol8gi.yaml | 4 ++++ changelogs/fragments/86-ocenv.yaml | 3 +++ changelogs/fragments/87-dbca.yaml | 3 +++ changelogs/fragments/92-goldenimage.yaml | 3 +++ changelogs/fragments/93-oracle_user_home.yaml | 3 +++ changelogs/fragments/94-linter.yaml | 3 +++ changelogs/fragments/95-oracle_profile.yaml | 3 +++ changelogs/fragments/96-orahost.yaml | 3 +++ changelogs/fragments/97-removed_roles.yaml | 7 +++++++ changelogs/fragments/98-opatch.yaml | 3 +++ changelogs/fragments/99-collection.yaml | 17 +++++++++++++++++ 17 files changed, 94 insertions(+) create mode 100644 changelogs/.plugin-cache.yaml create mode 100644 changelogs/fragments/100-ocenv.yaml create mode 100644 changelogs/fragments/101-cleanup.yaml create mode 100644 changelogs/fragments/102-antsibull-changelog.yaml create mode 100644 changelogs/fragments/81-userpassword_management.yaml create mode 100644 changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml create mode 100644 changelogs/fragments/84-ol8gi.yaml create mode 100644 changelogs/fragments/86-ocenv.yaml create mode 100644 changelogs/fragments/87-dbca.yaml create mode 100644 changelogs/fragments/92-goldenimage.yaml create mode 100644 changelogs/fragments/93-oracle_user_home.yaml create mode 100644 changelogs/fragments/94-linter.yaml create mode 100644 changelogs/fragments/95-oracle_profile.yaml create mode 100644 changelogs/fragments/96-orahost.yaml create mode 100644 changelogs/fragments/97-removed_roles.yaml create mode 100644 changelogs/fragments/98-opatch.yaml create mode 100644 changelogs/fragments/99-collection.yaml diff --git a/changelogs/.plugin-cache.yaml b/changelogs/.plugin-cache.yaml new file mode 100644 index 000000000..f62d73c80 --- /dev/null +++ b/changelogs/.plugin-cache.yaml @@ -0,0 +1,17 @@ +objects: + role: {} +plugins: + become: {} + cache: {} + callback: {} + cliconf: {} + connection: {} + httpapi: {} + inventory: {} + lookup: {} + module: {} + netconf: {} + shell: {} + strategy: {} + vars: {} +version: 3.0.0 diff --git a/changelogs/fragments/100-ocenv.yaml b/changelogs/fragments/100-ocenv.yaml new file mode 100644 index 000000000..26a2378fe --- /dev/null +++ b/changelogs/fragments/100-ocenv.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - remove auto execution of ocenv from .bashrc (#100) diff --git a/changelogs/fragments/101-cleanup.yaml b/changelogs/fragments/101-cleanup.yaml new file mode 100644 index 000000000..9c11645b2 --- /dev/null +++ b/changelogs/fragments/101-cleanup.yaml @@ -0,0 +1,4 @@ +--- +bugfixes: + - be less verbose during ansible-playbook (#101) + - make collection compatble for galaxy.ansible.com (#101) diff --git a/changelogs/fragments/102-antsibull-changelog.yaml b/changelogs/fragments/102-antsibull-changelog.yaml new file mode 100644 index 000000000..338b6aad6 --- /dev/null +++ b/changelogs/fragments/102-antsibull-changelog.yaml @@ -0,0 +1,3 @@ +--- +major_changes: + - Added antsibull-changelog for managing the CHANGELOG.rst (#102) diff --git a/changelogs/fragments/81-userpassword_management.yaml b/changelogs/fragments/81-userpassword_management.yaml new file mode 100644 index 000000000..cee5b30ab --- /dev/null +++ b/changelogs/fragments/81-userpassword_management.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - added support to interpret password as hash instead of plaintext in dbpasswords by setting users[*].password_is_hash=true (#81) diff --git a/changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml b/changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml new file mode 100644 index 000000000..289a8b044 --- /dev/null +++ b/changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml @@ -0,0 +1,12 @@ +--- +minor_changes: + - Refactoring oraswgi-install for 19c and 21c (#82) + - Removed parameter -ignorePrereq during GridSetup.sh (#82) + - Parameter oracle_asm_disk_string could be set when asmlib is used (#82) + - added execution of runcluvfy.sh before GridSetup.sh (#82) + - refactoring the includes for 19c and 21c (#82) + - new way installing cvuqdisk.rpm in Grid-Infrastructure (#82) + - 'added extra debug tasks with "msg: install-home-gi | Start .." before long running tasks (#82)' + +bugfixes: + - added asmoper to oracle user in orahost (#82) diff --git a/changelogs/fragments/84-ol8gi.yaml b/changelogs/fragments/84-ol8gi.yaml new file mode 100644 index 000000000..e1b7ed1bb --- /dev/null +++ b/changelogs/fragments/84-ol8gi.yaml @@ -0,0 +1,4 @@ +--- +minor_changes: + - "oraswgi: move from package to yum for cvuqdisk.rpm (#84)" + - "oraswgi: assert OL8 and GI 19.3 without RU (#84)" diff --git a/changelogs/fragments/86-ocenv.yaml b/changelogs/fragments/86-ocenv.yaml new file mode 100644 index 000000000..7fd82a9c1 --- /dev/null +++ b/changelogs/fragments/86-ocenv.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - Replace broken .profile_* Envrionmentscript with ocenv (#85) diff --git a/changelogs/fragments/87-dbca.yaml b/changelogs/fragments/87-dbca.yaml new file mode 100644 index 000000000..7f6aa992f --- /dev/null +++ b/changelogs/fragments/87-dbca.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - "oradb-manage-db: use custom DBCA-Templates from ORACLE_HOME directly (#87)" diff --git a/changelogs/fragments/92-goldenimage.yaml b/changelogs/fragments/92-goldenimage.yaml new file mode 100644 index 000000000..782d6c8f3 --- /dev/null +++ b/changelogs/fragments/92-goldenimage.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - fixed gold image copy path (#92) diff --git a/changelogs/fragments/93-oracle_user_home.yaml b/changelogs/fragments/93-oracle_user_home.yaml new file mode 100644 index 000000000..b31bd0cb6 --- /dev/null +++ b/changelogs/fragments/93-oracle_user_home.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - fixes a problem where oracle user home directory has been hardcoded to be under /home (#93) diff --git a/changelogs/fragments/94-linter.yaml b/changelogs/fragments/94-linter.yaml new file mode 100644 index 000000000..15cdb5b48 --- /dev/null +++ b/changelogs/fragments/94-linter.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - make ansible-lint more happy due to new rules (#94) diff --git a/changelogs/fragments/95-oracle_profile.yaml b/changelogs/fragments/95-oracle_profile.yaml new file mode 100644 index 000000000..f055cc1f3 --- /dev/null +++ b/changelogs/fragments/95-oracle_profile.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - "oracle_profile: make it compatible for Python3 (#95)" diff --git a/changelogs/fragments/96-orahost.yaml b/changelogs/fragments/96-orahost.yaml new file mode 100644 index 000000000..a472fb0d5 --- /dev/null +++ b/changelogs/fragments/96-orahost.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - "orahost: add new attributes to host_fs_layout (#96)" diff --git a/changelogs/fragments/97-removed_roles.yaml b/changelogs/fragments/97-removed_roles.yaml new file mode 100644 index 000000000..7bc180222 --- /dev/null +++ b/changelogs/fragments/97-removed_roles.yaml @@ -0,0 +1,7 @@ +--- +removed_features: + - "role removed: oraasm-createdg - replaced by oraasm_manage_diskgroups (#97)" + - "role removed: oradb-create - replaced by oradb_manage_db (#97)" + - "role removed: oradb-delete - replaced by oradb_manage_db (#97)" + - "role removed: oradb-failover - should be implemented in oraswgi-install -no replacement availible (#97)" + - "role removed: oraswgi-clone - not working with current Oracle versions, no replacement availible (#97)" diff --git a/changelogs/fragments/98-opatch.yaml b/changelogs/fragments/98-opatch.yaml new file mode 100644 index 000000000..8abaeed38 --- /dev/null +++ b/changelogs/fragments/98-opatch.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - added support for updating opatch under 19c and 21c (#98) diff --git a/changelogs/fragments/99-collection.yaml b/changelogs/fragments/99-collection.yaml new file mode 100644 index 000000000..518f520d4 --- /dev/null +++ b/changelogs/fragments/99-collection.yaml @@ -0,0 +1,17 @@ +--- +release_summary: | + ansible-oracle has been converted into a collection. + This release starts using antsibull-changelog for managing the CHANGELOG.rst. + +major_changes: + - moved ansible-oracle into a collection (#99) + +minor_changes: + - update ansible-lint for git pre-commit to v6.3.0 (#99) + - removed all check exceptions from .ansible-lint (#99) + +breaking_changes: + - Ansible 2.9+ needed (#99) + - rename all roles with '-' in name to '_' (#99) + - renamed variable for EE-Options in Binaries (#99) + - moved old playbooks to playbooks folder (#99) From b7b5c9c5ff57a5541543cb3010f77d4daead9561 Mon Sep 17 00:00:00 2001 From: bartowl Date: Fri, 15 Oct 2021 09:35:20 +0200 Subject: [PATCH 16/31] fixed quotes for ALTER USER --- oracle_user | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oracle_user b/oracle_user index 44d3808c6..91e90ff2d 100755 --- a/oracle_user +++ b/oracle_user @@ -252,7 +252,7 @@ def modify_user(module, cursor, schema, schema_password, schema_password_hash, d sql += ' identified by values \'%s\'' % (schema_password_hash) elif schema_password and not password_matches_hash(schema_password,old_pw_hash): pw_change_needed = True - sql += ' identified by %s ' % (schema_password) + sql += ' identified by \"%s\" ' % (schema_password) elif authentication_type == 'external': sql += ' identified externally ' sql_get_curr_def += ' ,lower(authentication_type)' From cf58063b4d1f9a3929bee06c25dd59e7eab7a5b7 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Sat, 9 Jul 2022 20:22:50 +0000 Subject: [PATCH 17/31] ansible-oracle-modules: changelog --- README.adoc | 6 ++++++ changelogs/fragments/103-ansible-oracle-modules.yaml | 3 +++ 2 files changed, 9 insertions(+) create mode 100644 changelogs/fragments/103-ansible-oracle-modules.yaml diff --git a/README.adoc b/README.adoc index f91924110..771a3a7d7 100644 --- a/README.adoc +++ b/README.adoc @@ -221,6 +221,12 @@ p10404530_112030_Linux-x86-64_3of7.zip == Pull-Requests +=== Update subtree plugins/modules from upstream + +---- +git subtree pull --prefix plugins/modules https://github.com/opitzconsulting/ansible-oracle-modules.git oc +---- + === Important Information The ansible-oracle project introduced `antsibull-changelog` for managing the `CHANGELOG.rst` based on fragments in `changelogs/gragments`. diff --git a/changelogs/fragments/103-ansible-oracle-modules.yaml b/changelogs/fragments/103-ansible-oracle-modules.yaml new file mode 100644 index 000000000..718ac680c --- /dev/null +++ b/changelogs/fragments/103-ansible-oracle-modules.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - merge ansible-oracle-modules/oc into plugins/modules (#103) From 5fd2fae52830e88b8891356c282b378b46ff8703 Mon Sep 17 00:00:00 2001 From: duhlig Date: Thu, 6 Aug 2020 08:46:20 +0200 Subject: [PATCH 18/31] Set SYSTEM password when creating a DB See https://github.com/oravirt/ansible-oracle/issues/201. Additional change: Report error messages back from check_db_exists(). --- oracle_db | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) mode change 100644 => 100755 oracle_db diff --git a/oracle_db b/oracle_db old mode 100644 new mode 100755 index 2ca8cdb41..e7af90395 --- a/oracle_db +++ b/oracle_db @@ -282,6 +282,8 @@ oracle_db: ''' import os, re, time +msg = [''] + try: import cx_Oracle except ImportError: @@ -301,7 +303,8 @@ def get_version(module, msg, oracle_home): # Check if the database exists -def check_db_exists(module, msg, oracle_home, db_name, sid, db_unique_name ): +def check_db_exists(module, oracle_home, db_name, sid, db_unique_name ): + global msg if sid is None: sid = '' @@ -391,8 +394,14 @@ def create_db (module, msg, oracle_home, sys_password, system_password, dbsnmp_p if system_password is not None: command += ' -systemPassword \"%s\"' % (system_password) else: - system_password = sys_password - command += ' -systemPassword \"%s\"' % (system_password) + pw_found = False + with open(responsefile) as rspfile: + for line in rspfile: + if re.match('systemPassword=.+', line): + pw_found = True + break + if not pw_found: + command += ' -systemPassword \"%s\"' % (sys_password) if dbsnmp_password is not None: command += ' -dbsnmpPassword \"%s\"' % (dbsnmp_password) else: @@ -897,8 +906,8 @@ def getconn(module,msg): def main(): - msg = [''] cursor = None + global msg global gimanaged global major_version global user @@ -1044,7 +1053,7 @@ def main(): if state == 'started': msg = "oracle_home: %s db_name: %s sid: %s db_unique_name: %s" % (oracle_home, db_name, sid, db_unique_name) - if not check_db_exists(module, msg, oracle_home,db_name, sid, db_unique_name): + if not check_db_exists(module, oracle_home,db_name, sid, db_unique_name): msg = "Database not found. %s" % msg module.fail_json(msg=msg, changed=False) else: @@ -1062,7 +1071,7 @@ def main(): elif state == 'present': - if not check_db_exists(module, msg, oracle_home,db_name, sid, db_unique_name): + if not check_db_exists(module, oracle_home,db_name, sid, db_unique_name): if create_db(module, msg, oracle_home, sys_password, system_password, dbsnmp_password, db_name, sid, db_unique_name, responsefile, template, cdb, local_undo, datafile_dest, recoveryfile_dest, storage_type, dbconfig_type, racone_service, characterset, memory_percentage, memory_totalmb, nodelist, db_type, amm, initparams, customscripts,datapatch, domain): newdb = True @@ -1075,7 +1084,7 @@ def main(): # module.exit_json(msg=msg, changed=False) elif state == 'absent': - if check_db_exists(module, msg, oracle_home, db_name, sid, db_unique_name): + if check_db_exists(module, oracle_home, db_name, sid, db_unique_name): if remove_db(module, msg, oracle_home, db_name, sid, db_unique_name, sys_password): msg = 'Successfully removed database %s' % (db_name) module.exit_json(msg=msg, changed=True) From 738470327aa8a3aa662704951ffcda907de95476 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Sun, 10 Jul 2022 08:19:21 +0000 Subject: [PATCH 19/31] oracle_db: changelog --- changelogs/fragments/104-dbca-system-password.yaml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 changelogs/fragments/104-dbca-system-password.yaml diff --git a/changelogs/fragments/104-dbca-system-password.yaml b/changelogs/fragments/104-dbca-system-password.yaml new file mode 100644 index 000000000..8a8ae1b66 --- /dev/null +++ b/changelogs/fragments/104-dbca-system-password.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - "oracle_db: Set SYSTEM password when creating a DB" From 4e7e52cb08a83d1a6e3dc4226d302935a1464f33 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Sun, 10 Jul 2022 08:46:29 +0000 Subject: [PATCH 20/31] oradb_manage_statspack: Bugfix for db.state <> present --- changelogs/fragments/105-statspack.yaml | 3 +++ roles/oradb_manage_statspack/tasks/main.yml | 6 ++++++ 2 files changed, 9 insertions(+) create mode 100644 changelogs/fragments/105-statspack.yaml diff --git a/changelogs/fragments/105-statspack.yaml b/changelogs/fragments/105-statspack.yaml new file mode 100644 index 000000000..c6ada696c --- /dev/null +++ b/changelogs/fragments/105-statspack.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - "oradb_manage_statspack: Bugfix for db.state <> present" diff --git a/roles/oradb_manage_statspack/tasks/main.yml b/roles/oradb_manage_statspack/tasks/main.yml index e4a785e4c..5a02d5794 100644 --- a/roles/oradb_manage_statspack/tasks/main.yml +++ b/roles/oradb_manage_statspack/tasks/main.yml @@ -51,6 +51,7 @@ - statspackcmd.rc != 0 - '"ORA-01920:" not in statspackcmd.stdout' # ORA-01920: user name 'PERFSTAT' conflicts with another user when: + - dbh.state | upper == 'PRESENT' - dbh.statspack is defined - dbh.statspack.state | default('present') == 'present' @@ -88,6 +89,7 @@ - "{{ oracle_databases }}" when: - oracle_databases is defined + - dbh.state | upper == 'PRESENT' - dbh.statspack is defined - dbh.statspack.state | default('present') == 'present' become_user: "{{ oracle_user }}" @@ -119,6 +121,7 @@ - "{{ oracle_databases }}" when: - oracle_databases is defined + - dbh.state | upper == 'PRESENT' - dbh.statspack is defined - dbh.statspack.state | default('present') == 'present' become_user: "{{ oracle_user }}" @@ -191,6 +194,7 @@ - '"ORA-01920:" not in statspackcmd.stdout' # ORA-01920: user name 'PERFSTAT' conflicts with another user when: - oracle_pdbs is defined + - pdb.0.state | default('present') == 'present' - pdb.0.statspack is defined - pdb.0.statspack.state | default('present') == 'present' @@ -233,6 +237,7 @@ - oracle_pdbs is defined - pdb.0.cdb is defined - pdb.0.pdb_name is defined + - pdb.0.state | default('present') == 'present' - pdb.0.statspack is defined - pdb.0.statspack.state | default('present') == 'present' become_user: "{{ oracle_user }}" @@ -265,6 +270,7 @@ - oracle_pdbs is defined - pdb.0.cdb is defined - pdb.0.pdb_name is defined + - pdb.0.state | default('present') == 'present' - pdb.0.statspack is defined - pdb.0.statspack.state | default('present') == 'present' become: true From 473c046ddb2b6e66b06f21416965d30e4fe2e42d Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Mon, 11 Jul 2022 05:13:58 +0000 Subject: [PATCH 21/31] changelog known issues --- changelogs/fragments/106-known-issues.yaml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 changelogs/fragments/106-known-issues.yaml diff --git a/changelogs/fragments/106-known-issues.yaml b/changelogs/fragments/106-known-issues.yaml new file mode 100644 index 000000000..cc7ce966f --- /dev/null +++ b/changelogs/fragments/106-known-issues.yaml @@ -0,0 +1,4 @@ +--- +known_issues: + - removal of database not working when db_name <> db_instance_name (oc issue 28) + - Problem Instance is not running during DBCA in RAC (oc issue 91) From 953bbb968bf4dc3ffbb6c2207a772cfc6b1be037 Mon Sep 17 00:00:00 2001 From: bartowl Date: Mon, 11 Jul 2022 14:06:29 +0200 Subject: [PATCH 22/31] bugfix: make uid/gid/password in oracle_users/oracle_groups optional make password optional as well --- .../fragments/107-optional_uid_gid_passwd.yaml | 3 +++ roles/orahost/tasks/main.yml | 13 ++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) create mode 100644 changelogs/fragments/107-optional_uid_gid_passwd.yaml diff --git a/changelogs/fragments/107-optional_uid_gid_passwd.yaml b/changelogs/fragments/107-optional_uid_gid_passwd.yaml new file mode 100644 index 000000000..870b71f69 --- /dev/null +++ b/changelogs/fragments/107-optional_uid_gid_passwd.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - uid/gid/passwd attribute in oracle_users/grid_users/oracle_groups is now optional (#107) diff --git a/roles/orahost/tasks/main.yml b/roles/orahost/tasks/main.yml index f365886be..8f8ebf5d8 100644 --- a/roles/orahost/tasks/main.yml +++ b/roles/orahost/tasks/main.yml @@ -107,7 +107,10 @@ # when: configure_etc_hosts and ansible_default_ipv4.address is defined - name: User | Add group(s) - ansible.builtin.group: name={{ item.group }} gid={{ item.gid }} state=present + ansible.builtin.group: + name: "{{ item.group }}" + gid: "{{ item.gid | default(omit) }}" + state: present with_items: "{{ oracle_groups }}" tags: - group @@ -117,12 +120,12 @@ name: "{{ item.username }}" group: "{{ item.primgroup }}" groups: "{{ item.othergroups }}" - uid: "{{ item.uid }}" + uid: "{{ item.uid | default(omit) }}" home: "{{ item.home | default(omit) }}" generate_ssh_key: true append: true state: present - password: "{{ item.passwd }}" + password: "{{ item.passwd | default(omit) }}" with_items: "{{ oracle_users }}" tags: - user @@ -132,12 +135,12 @@ name: "{{ item.username }}" group: "{{ item.primgroup }}" groups: "{{ item.othergroups }}" - uid: "{{ item.uid }}" + uid: "{{ item.uid | default(omit) }}" home: "{{ item.home | default(omit) }}" generate_ssh_key: true append: true state: present - password: "{{ item.passwd }}" + password: "{{ item.passwd | default(omit) }}" when: role_separation with_items: "{{ grid_users }}" tags: From 386d973a40c29938b0304ec247c2d9d01fac2e85 Mon Sep 17 00:00:00 2001 From: bartowl Date: Mon, 11 Jul 2022 13:57:53 +0200 Subject: [PATCH 23/31] bugfix: host_fs_layout needed disk attribute even if configure_host_disks==false --- changelogs/fragments/108-host_fs_layout.yaml | 3 +++ roles/orahost/tasks/main.yml | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/108-host_fs_layout.yaml diff --git a/changelogs/fragments/108-host_fs_layout.yaml b/changelogs/fragments/108-host_fs_layout.yaml new file mode 100644 index 000000000..90b348c88 --- /dev/null +++ b/changelogs/fragments/108-host_fs_layout.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - 'does not require host_fs_layout to have "disks" attribute when "configure_host_disks==false" (#108)' diff --git a/roles/orahost/tasks/main.yml b/roles/orahost/tasks/main.yml index 8f8ebf5d8..c46db4aca 100644 --- a/roles/orahost/tasks/main.yml +++ b/roles/orahost/tasks/main.yml @@ -264,7 +264,9 @@ with_subelements: - "{{ host_fs_layout }}" - disk - when: configure_host_disks and item.1.device != item.1.pvname + - flags: + skip_missing: true + when: configure_host_disks and item.1 is defined and item.1.device != item.1.pvname tags: hostfs - name: filesystem | Create vg From 8285a834d2f476eee459b318d8fa3b06843e8f1c Mon Sep 17 00:00:00 2001 From: bartowl Date: Fri, 22 Jul 2022 11:01:12 +0200 Subject: [PATCH 24/31] pass container and container_data parameters to modules --- roles/oradb_manage_grants/tasks/main.yml | 2 ++ roles/oradb_manage_users/tasks/main.yml | 1 + 2 files changed, 3 insertions(+) diff --git a/roles/oradb_manage_grants/tasks/main.yml b/roles/oradb_manage_grants/tasks/main.yml index c43fbea7f..7c697149e 100644 --- a/roles/oradb_manage_grants/tasks/main.yml +++ b/roles/oradb_manage_grants/tasks/main.yml @@ -13,6 +13,7 @@ service_name={{ db_service_name }} user={{ db_user }} password={{ db_password_cdb }} + container={{ item.1.container | default(omit) }} mode={{ db_mode }} with_subelements: - "{{ oracle_databases }}" @@ -72,6 +73,7 @@ service_name={{ db_service_name }} user={{ db_user }} password={{ db_password_cdb }} + container={{ item.1.container | default(omit) }} mode={{ db_mode }} with_subelements: - "{{ oracle_databases }}" diff --git a/roles/oradb_manage_users/tasks/main.yml b/roles/oradb_manage_users/tasks/main.yml index ab90293c1..898eb55bc 100644 --- a/roles/oradb_manage_users/tasks/main.yml +++ b/roles/oradb_manage_users/tasks/main.yml @@ -17,6 +17,7 @@ default_tablespace={{ item.1.default_tablespace | default (omit) }} default_temp_tablespace={{ item.1.default_temp_tablespace | default (omit) }} container={{ item.1.container | default(omit) }} + container_data={{ item.1.container_data | default(omit) }} update_password={{ item.1.update_password | default(omit) }} authentication_type={{ item.1.authentication_type | default(omit) }} grants={{ item.1.grants | default (omit) }} From e1b8eec9cc1a4bb02750ec79cd2e0f2c631f85a2 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Mon, 25 Jul 2022 05:52:22 +0000 Subject: [PATCH 25/31] changelog: pass container and container_data parameters to modules --- changelogs/fragments/109-pass-container-header.yaml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 changelogs/fragments/109-pass-container-header.yaml diff --git a/changelogs/fragments/109-pass-container-header.yaml b/changelogs/fragments/109-pass-container-header.yaml new file mode 100644 index 000000000..02119bd6a --- /dev/null +++ b/changelogs/fragments/109-pass-container-header.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - "oradb_manage_grants & oradb_manage_users: pass container and container_data parameters to modules" From 1a7096cb7a39188ed3d760fc88f886ab1d5142a8 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Sun, 4 Sep 2022 20:03:11 +0000 Subject: [PATCH 26/31] ansible-lint: move to ansible-lint-action@v6.5.2 --- .github/workflows/ansible-lint.yml | 2 +- changelogs/fragments/261-ansible-lint.yaml | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 changelogs/fragments/261-ansible-lint.yaml diff --git a/.github/workflows/ansible-lint.yml b/.github/workflows/ansible-lint.yml index 87befc800..b97f44d4b 100644 --- a/.github/workflows/ansible-lint.yml +++ b/.github/workflows/ansible-lint.yml @@ -21,7 +21,7 @@ jobs: - name: Lint roles # Use custom action repo due to open PRs 43 and 48 - uses: Rendanic/ansible-lint-action@tbr + uses: ansible-community/ansible-lint-action@v6.5.2 with: targets: | roles/* diff --git a/changelogs/fragments/261-ansible-lint.yaml b/changelogs/fragments/261-ansible-lint.yaml new file mode 100644 index 000000000..a2cdc6011 --- /dev/null +++ b/changelogs/fragments/261-ansible-lint.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - "ansible-lint: move to ansible-lint-action@v6.5.2" From a7d82237bb2a015949e80467e6a9f4b2e54c0b91 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Sun, 4 Sep 2022 21:01:27 +0000 Subject: [PATCH 27/31] antsibull-changelog: fixed references to PRs for oravirt --- changelogs/fragments/100-ocenv.yaml | 2 +- changelogs/fragments/101-cleanup.yaml | 4 ++-- .../fragments/102-antsibull-changelog.yaml | 2 +- .../fragments/103-ansible-oracle-modules.yaml | 2 +- changelogs/fragments/106-known-issues.yaml | 4 ++-- .../fragments/107-optional_uid_gid_passwd.yaml | 2 +- changelogs/fragments/108-host_fs_layout.yaml | 2 +- changelogs/fragments/261-ansible-lint.yaml | 2 +- .../fragments/81-userpassword_management.yaml | 2 +- ...2-recatoring_Refactoring oraswgi-install.yaml | 16 ++++++++-------- changelogs/fragments/84-ol8gi.yaml | 4 ++-- changelogs/fragments/86-ocenv.yaml | 2 +- changelogs/fragments/87-dbca.yaml | 2 +- changelogs/fragments/92-goldenimage.yaml | 2 +- changelogs/fragments/93-oracle_user_home.yaml | 2 +- changelogs/fragments/94-linter.yaml | 2 +- changelogs/fragments/95-oracle_profile.yaml | 2 +- changelogs/fragments/96-orahost.yaml | 2 +- changelogs/fragments/97-removed_roles.yaml | 10 +++++----- changelogs/fragments/98-opatch.yaml | 2 +- changelogs/fragments/99-collection.yaml | 14 +++++++------- 21 files changed, 41 insertions(+), 41 deletions(-) diff --git a/changelogs/fragments/100-ocenv.yaml b/changelogs/fragments/100-ocenv.yaml index 26a2378fe..2536d4a35 100644 --- a/changelogs/fragments/100-ocenv.yaml +++ b/changelogs/fragments/100-ocenv.yaml @@ -1,3 +1,3 @@ --- bugfixes: - - remove auto execution of ocenv from .bashrc (#100) + - remove auto execution of ocenv from .bashrc (opitzconsulting#100) diff --git a/changelogs/fragments/101-cleanup.yaml b/changelogs/fragments/101-cleanup.yaml index 9c11645b2..6a5867289 100644 --- a/changelogs/fragments/101-cleanup.yaml +++ b/changelogs/fragments/101-cleanup.yaml @@ -1,4 +1,4 @@ --- bugfixes: - - be less verbose during ansible-playbook (#101) - - make collection compatble for galaxy.ansible.com (#101) + - be less verbose during ansible-playbook (opitzconsulting#101) + - make collection compatble for galaxy.ansible.com (opitzconsulting#101) diff --git a/changelogs/fragments/102-antsibull-changelog.yaml b/changelogs/fragments/102-antsibull-changelog.yaml index 338b6aad6..efa48053a 100644 --- a/changelogs/fragments/102-antsibull-changelog.yaml +++ b/changelogs/fragments/102-antsibull-changelog.yaml @@ -1,3 +1,3 @@ --- major_changes: - - Added antsibull-changelog for managing the CHANGELOG.rst (#102) + - Added antsibull-changelog for managing the CHANGELOG.rst (opitzconsulting#102) diff --git a/changelogs/fragments/103-ansible-oracle-modules.yaml b/changelogs/fragments/103-ansible-oracle-modules.yaml index 718ac680c..a566de8e9 100644 --- a/changelogs/fragments/103-ansible-oracle-modules.yaml +++ b/changelogs/fragments/103-ansible-oracle-modules.yaml @@ -1,3 +1,3 @@ --- minor_changes: - - merge ansible-oracle-modules/oc into plugins/modules (#103) + - merge ansible-oracle-modules/oc into plugins/modules (opitzconsulting#103) diff --git a/changelogs/fragments/106-known-issues.yaml b/changelogs/fragments/106-known-issues.yaml index cc7ce966f..8bead4781 100644 --- a/changelogs/fragments/106-known-issues.yaml +++ b/changelogs/fragments/106-known-issues.yaml @@ -1,4 +1,4 @@ --- known_issues: - - removal of database not working when db_name <> db_instance_name (oc issue 28) - - Problem Instance is not running during DBCA in RAC (oc issue 91) + - removal of database not working when db_name <> db_instance_name (opitzconsulting#28) + - Problem Instance is not running during DBCA in RAC (opitzconsulting#91) diff --git a/changelogs/fragments/107-optional_uid_gid_passwd.yaml b/changelogs/fragments/107-optional_uid_gid_passwd.yaml index 870b71f69..f0f0c4879 100644 --- a/changelogs/fragments/107-optional_uid_gid_passwd.yaml +++ b/changelogs/fragments/107-optional_uid_gid_passwd.yaml @@ -1,3 +1,3 @@ --- minor_changes: - - uid/gid/passwd attribute in oracle_users/grid_users/oracle_groups is now optional (#107) + - uid/gid/passwd attribute in oracle_users/grid_users/oracle_groups is now optional (opitzconsulting#107) diff --git a/changelogs/fragments/108-host_fs_layout.yaml b/changelogs/fragments/108-host_fs_layout.yaml index 90b348c88..0fdb958c6 100644 --- a/changelogs/fragments/108-host_fs_layout.yaml +++ b/changelogs/fragments/108-host_fs_layout.yaml @@ -1,3 +1,3 @@ --- bugfixes: - - 'does not require host_fs_layout to have "disks" attribute when "configure_host_disks==false" (#108)' + - 'does not require host_fs_layout to have "disks" attribute when "configure_host_disks==false" (opitzconsulting#108)' diff --git a/changelogs/fragments/261-ansible-lint.yaml b/changelogs/fragments/261-ansible-lint.yaml index a2cdc6011..ae0b68361 100644 --- a/changelogs/fragments/261-ansible-lint.yaml +++ b/changelogs/fragments/261-ansible-lint.yaml @@ -1,3 +1,3 @@ --- minor_changes: - - "ansible-lint: move to ansible-lint-action@v6.5.2" + - "ansible-lint: move to ansible-lint-action@v6.5.2 (opitzconsulting#261)" diff --git a/changelogs/fragments/81-userpassword_management.yaml b/changelogs/fragments/81-userpassword_management.yaml index cee5b30ab..8112c6984 100644 --- a/changelogs/fragments/81-userpassword_management.yaml +++ b/changelogs/fragments/81-userpassword_management.yaml @@ -1,3 +1,3 @@ --- minor_changes: - - added support to interpret password as hash instead of plaintext in dbpasswords by setting users[*].password_is_hash=true (#81) + - added support to interpret password as hash instead of plaintext in dbpasswords by setting users[*].password_is_hash=true (opitzconsulting#81) diff --git a/changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml b/changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml index 289a8b044..6a1fd5f7e 100644 --- a/changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml +++ b/changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml @@ -1,12 +1,12 @@ --- minor_changes: - - Refactoring oraswgi-install for 19c and 21c (#82) - - Removed parameter -ignorePrereq during GridSetup.sh (#82) - - Parameter oracle_asm_disk_string could be set when asmlib is used (#82) - - added execution of runcluvfy.sh before GridSetup.sh (#82) - - refactoring the includes for 19c and 21c (#82) - - new way installing cvuqdisk.rpm in Grid-Infrastructure (#82) - - 'added extra debug tasks with "msg: install-home-gi | Start .." before long running tasks (#82)' + - Refactoring oraswgi-install for 19c and 21c (opitzconsulting#82) + - Removed parameter -ignorePrereq during GridSetup.sh (opitzconsulting#82) + - Parameter oracle_asm_disk_string could be set when asmlib is used (opitzconsulting#82) + - added execution of runcluvfy.sh before GridSetup.sh (opitzconsulting#82) + - refactoring the includes for 19c and 21c (opitzconsulting#82) + - new way installing cvuqdisk.rpm in Grid-Infrastructure (opitzconsulting#82) + - 'added extra debug tasks with "msg: install-home-gi | Start .." before long running tasks (opitzconsulting#82)' bugfixes: - - added asmoper to oracle user in orahost (#82) + - added asmoper to oracle user in orahost (opitzconsulting#82) diff --git a/changelogs/fragments/84-ol8gi.yaml b/changelogs/fragments/84-ol8gi.yaml index e1b7ed1bb..df8e43842 100644 --- a/changelogs/fragments/84-ol8gi.yaml +++ b/changelogs/fragments/84-ol8gi.yaml @@ -1,4 +1,4 @@ --- minor_changes: - - "oraswgi: move from package to yum for cvuqdisk.rpm (#84)" - - "oraswgi: assert OL8 and GI 19.3 without RU (#84)" + - "oraswgi: move from package to yum for cvuqdisk.rpm (opitzconsulting#84)" + - "oraswgi: assert OL8 and GI 19.3 without RU (opitzconsulting#84)" diff --git a/changelogs/fragments/86-ocenv.yaml b/changelogs/fragments/86-ocenv.yaml index 7fd82a9c1..acb487837 100644 --- a/changelogs/fragments/86-ocenv.yaml +++ b/changelogs/fragments/86-ocenv.yaml @@ -1,3 +1,3 @@ --- minor_changes: - - Replace broken .profile_* Envrionmentscript with ocenv (#85) + - Replace broken .profile_* Envrionmentscript with ocenv (opitzconsulting#85) diff --git a/changelogs/fragments/87-dbca.yaml b/changelogs/fragments/87-dbca.yaml index 7f6aa992f..b2ded267b 100644 --- a/changelogs/fragments/87-dbca.yaml +++ b/changelogs/fragments/87-dbca.yaml @@ -1,3 +1,3 @@ --- minor_changes: - - "oradb-manage-db: use custom DBCA-Templates from ORACLE_HOME directly (#87)" + - "oradb-manage-db: use custom DBCA-Templates from ORACLE_HOME directly (opitzconsulting#87)" diff --git a/changelogs/fragments/92-goldenimage.yaml b/changelogs/fragments/92-goldenimage.yaml index 782d6c8f3..213298e85 100644 --- a/changelogs/fragments/92-goldenimage.yaml +++ b/changelogs/fragments/92-goldenimage.yaml @@ -1,3 +1,3 @@ --- bugfixes: - - fixed gold image copy path (#92) + - fixed gold image copy path (opitzconsulting#92) diff --git a/changelogs/fragments/93-oracle_user_home.yaml b/changelogs/fragments/93-oracle_user_home.yaml index b31bd0cb6..7fecf78cd 100644 --- a/changelogs/fragments/93-oracle_user_home.yaml +++ b/changelogs/fragments/93-oracle_user_home.yaml @@ -1,3 +1,3 @@ --- bugfixes: - - fixes a problem where oracle user home directory has been hardcoded to be under /home (#93) + - fixes a problem where oracle user home directory has been hardcoded to be under /home (opitzconsulting#93) diff --git a/changelogs/fragments/94-linter.yaml b/changelogs/fragments/94-linter.yaml index 15cdb5b48..b70ef8675 100644 --- a/changelogs/fragments/94-linter.yaml +++ b/changelogs/fragments/94-linter.yaml @@ -1,3 +1,3 @@ --- bugfixes: - - make ansible-lint more happy due to new rules (#94) + - make ansible-lint more happy due to new rules (opitzconsulting#94) diff --git a/changelogs/fragments/95-oracle_profile.yaml b/changelogs/fragments/95-oracle_profile.yaml index f055cc1f3..320077b68 100644 --- a/changelogs/fragments/95-oracle_profile.yaml +++ b/changelogs/fragments/95-oracle_profile.yaml @@ -1,3 +1,3 @@ --- bugfixes: - - "oracle_profile: make it compatible for Python3 (#95)" + - "oracle_profile: make it compatible for Python3 (opitzconsulting#95)" diff --git a/changelogs/fragments/96-orahost.yaml b/changelogs/fragments/96-orahost.yaml index a472fb0d5..14ceb56d3 100644 --- a/changelogs/fragments/96-orahost.yaml +++ b/changelogs/fragments/96-orahost.yaml @@ -1,3 +1,3 @@ --- minor_changes: - - "orahost: add new attributes to host_fs_layout (#96)" + - "orahost: add new attributes to host_fs_layout (opitzconsulting#96)" diff --git a/changelogs/fragments/97-removed_roles.yaml b/changelogs/fragments/97-removed_roles.yaml index 7bc180222..0bcd067e9 100644 --- a/changelogs/fragments/97-removed_roles.yaml +++ b/changelogs/fragments/97-removed_roles.yaml @@ -1,7 +1,7 @@ --- removed_features: - - "role removed: oraasm-createdg - replaced by oraasm_manage_diskgroups (#97)" - - "role removed: oradb-create - replaced by oradb_manage_db (#97)" - - "role removed: oradb-delete - replaced by oradb_manage_db (#97)" - - "role removed: oradb-failover - should be implemented in oraswgi-install -no replacement availible (#97)" - - "role removed: oraswgi-clone - not working with current Oracle versions, no replacement availible (#97)" + - "role removed: oraasm-createdg - replaced by oraasm_manage_diskgroups (opitzconsulting#97)" + - "role removed: oradb-create - replaced by oradb_manage_db (opitzconsulting#97)" + - "role removed: oradb-delete - replaced by oradb_manage_db (opitzconsulting#97)" + - "role removed: oradb-failover - should be implemented in oraswgi-install -no replacement availible (opitzconsulting#97)" + - "role removed: oraswgi-clone - not working with current Oracle versions, no replacement availible (opitzconsulting#97)" diff --git a/changelogs/fragments/98-opatch.yaml b/changelogs/fragments/98-opatch.yaml index 8abaeed38..255ddf46f 100644 --- a/changelogs/fragments/98-opatch.yaml +++ b/changelogs/fragments/98-opatch.yaml @@ -1,3 +1,3 @@ --- minor_changes: - - added support for updating opatch under 19c and 21c (#98) + - added support for updating opatch under 19c and 21c (opitzconsulting#98) diff --git a/changelogs/fragments/99-collection.yaml b/changelogs/fragments/99-collection.yaml index 518f520d4..feb1ee114 100644 --- a/changelogs/fragments/99-collection.yaml +++ b/changelogs/fragments/99-collection.yaml @@ -4,14 +4,14 @@ release_summary: | This release starts using antsibull-changelog for managing the CHANGELOG.rst. major_changes: - - moved ansible-oracle into a collection (#99) + - moved ansible-oracle into a collection (opitzconsulting#99) minor_changes: - - update ansible-lint for git pre-commit to v6.3.0 (#99) - - removed all check exceptions from .ansible-lint (#99) + - update ansible-lint for git pre-commit to v6.3.0 (opitzconsulting#99) + - removed all check exceptions from .ansible-lint (opitzconsulting#99) breaking_changes: - - Ansible 2.9+ needed (#99) - - rename all roles with '-' in name to '_' (#99) - - renamed variable for EE-Options in Binaries (#99) - - moved old playbooks to playbooks folder (#99) + - Ansible 2.9+ needed (opitzconsulting#99) + - rename all roles with '-' in name to '_' (opitzconsulting#99) + - renamed variable for EE-Options in Binaries (opitzconsulting#99) + - moved old playbooks to playbooks folder (opitzconsulting#99) From a8cd6874e12055bc0ca7496fa32672678a4d389c Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Sun, 11 Sep 2022 20:26:28 +0000 Subject: [PATCH 28/31] ocenv: update to 2022-08-10 --- changelogs/fragments/261-ocenv.yaml | 3 ++ roles/oradb_manage_db/files/ocenv | 63 +++++++++++++++++++++++------ 2 files changed, 54 insertions(+), 12 deletions(-) create mode 100644 changelogs/fragments/261-ocenv.yaml diff --git a/changelogs/fragments/261-ocenv.yaml b/changelogs/fragments/261-ocenv.yaml new file mode 100644 index 000000000..d73f39ee0 --- /dev/null +++ b/changelogs/fragments/261-ocenv.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - "ocenv: update to 2022-08-10 (#261)" diff --git a/roles/oradb_manage_db/files/ocenv b/roles/oradb_manage_db/files/ocenv index 1a05e9d52..53c11ef2f 100644 --- a/roles/oradb_manage_db/files/ocenv +++ b/roles/oradb_manage_db/files/ocenv @@ -31,7 +31,7 @@ ################################################################################ ## Version of this script. Simply uses the date in YYYY-MM-DD format -GV_OCENV_VERSION="2022-03-28" +GV_OCENV_VERSION="2022-08-10" ############################################################################### ## Environment support homogenization @@ -1402,8 +1402,26 @@ rotate_file() { } bkup_api_list_jobs () { - local P_LINE_COUNT="${1}" - local P_BACKUP_TYPE="${2}" + local P_LINE_COUNT P_BACKUP_TYPE + local re='^[0-9]+$' + if [[ -n "${1}" ]] + then + if [[ "${1}" =~ $re ]] + then + P_LINE_COUNT="${1}" + else + P_BACKUP_TYPE="${1}" + fi + fi + if [[ -n "${2}" ]] + then + if [[ "${2}" =~ $re ]] + then + P_LINE_COUNT="${2}" + else + P_BACKUP_TYPE="${2}" + fi + fi local LV_LINE_FILTER if [[ -z "${GV_DB_UNIQUE_NAME}" ]] then @@ -1715,10 +1733,21 @@ set_ora_home_env() { export PATH=${ORACLE_HOME}/bin:${ORACLE_HOME}/OPatch:${ORIGINAL_PATH_PRE_ENVLOAD} unset GV_PDB_LIST } +fill_pdb_details_list () { + unset GV_PDB_LIST_DETAILS + + if [[ "${GV_IS_CDB}" == "YES" ]] + then + while read -r LV_PDB_ELEM + do + GV_PDB_LIST_DETAILS[${#GV_PDB_LIST_DETAILS[@]}]="${LV_PDB_ELEM}" + done <<< "$(exec_sql_data "SELECT name ||'|'|| open_mode ||'|'|| restricted ||'|'|| TO_CHAR(open_time, 'YYYY-MM-DD HH24:MI:SS') ||'|'|| DECODE(local_undo, 1, 'YES', 'NO') FROM v\$pdbs WHERE name <> 'PDB\$SEED' ORDER BY name")" + fi +} list_pdbs() { if [[ "${GV_IS_CDB}" == "YES" ]] then - exec_sql_data "SELECT name FROM v\$pdbs WHERE name <> 'PDB\$SEED'" + exec_sql_data "SELECT name FROM v\$pdbs WHERE name <> 'PDB\$SEED' ORDER BY name" fi } list_user_sessions() { @@ -1851,6 +1880,16 @@ SELECT 'x' FROM dual" eval "$(echo "${LV_ENV_VAR_CMDS}" | grep '^export')" fi } +print_pdb_listing() { + unset GV_PDB_LIST + printf " %-15s %-10s %-10s %-19s %-10s\n" "PDB NAME" "STATUS" "RESTRICTED" "OPEN TIME" "LOCAL UNDO" + printf " %-15s %-10s %-10s %-19s %-10s\n" "---------------" "----------" "----------" "-------------------" "----------" + for LV_PDB_DETAIL in "${GV_PDB_LIST_DETAILS[@]}" + do + GV_PDB_LIST[${#GV_PDB_LIST[@]}]=$(echo "${LV_PDB_DETAIL}" | cut -d"|" -f1) + echo "${LV_PDB_DETAIL}" | awk -F"|" '{printf(" %-15s %-10s %-10s %-19s %-10s\n", $1, $2, $3, $4, $5)}' + done +} unalias sta 2>/dev/null sta() { get_sid_info @@ -1878,13 +1917,10 @@ sta() { if [[ "${GV_IS_CDB}" == "YES" ]] then echo "PDBs" - LV_PDB_STRING=$(list_pdbs) - unset GV_PDB_LIST - for LV_PDB in ${LV_PDB_STRING} - do - GV_PDB_LIST[${#GV_PDB_LIST[@]}]="${LV_PDB}" - done - echo "${GV_PDB_LIST[@]}" | awk '{printf(" %s\n", $0)}' + + fill_pdb_details_list + + print_pdb_listing fi fi fi @@ -1957,7 +1993,10 @@ list_homes() { local LV_ORA_INSTLOC_LIST while read -r LV_ORA_INSTLOC_ELEM do - LV_ORA_INSTLOC_LIST[${#LV_ORA_INSTLOC_LIST[@]}]="${LV_ORA_INSTLOC_ELEM}" + if [[ -n "${LV_ORA_INSTLOC_ELEM}" ]] + then + LV_ORA_INSTLOC_LIST[${#LV_ORA_INSTLOC_LIST[@]}]="${LV_ORA_INSTLOC_ELEM}" + fi done <<< "$( ( awk -F: '/^[^#]*:[^#]+:/{printf("%s/oraInst.loc\n", $2)}' /etc/oratab 2>/dev/null; awk -F: '/[^[:space:]]/{printf("%s/oraInst.loc\n", $1)}' /etc/oragchomelist 2>/dev/null; awk -F= '/crs_home/{printf("%s/oraInst.loc\n", $2)}' /etc/oracle/olr.loc 2>/dev/null; ls -1 /etc/oraInst.loc 2>/dev/null) | sort -u)" if [[ "${#LV_ORA_INSTLOC_LIST[@]}" -gt 0 ]] then From 3eef7d3ed93cf79a4d2bf8fb32c907e9ea6c6108 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Mon, 12 Sep 2022 19:39:32 +0000 Subject: [PATCH 29/31] oraswgi_install: fixed wrong script task to shell --- changelogs/fragments/261-oraswgi_install.yml | 3 +++ roles/oraswgi_install/tasks/19.3.0.0.yml | 6 ++++-- roles/oraswgi_install/tasks/21.3.0.0.yml | 6 ++++-- 3 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 changelogs/fragments/261-oraswgi_install.yml diff --git a/changelogs/fragments/261-oraswgi_install.yml b/changelogs/fragments/261-oraswgi_install.yml new file mode 100644 index 000000000..168e5cf80 --- /dev/null +++ b/changelogs/fragments/261-oraswgi_install.yml @@ -0,0 +1,3 @@ +--- +bugfixes: + - 'oraswgi_install: fixed wrong script task to shell (#261)' diff --git a/roles/oraswgi_install/tasks/19.3.0.0.yml b/roles/oraswgi_install/tasks/19.3.0.0.yml index 5a4b106b4..378e1d77f 100644 --- a/roles/oraswgi_install/tasks/19.3.0.0.yml +++ b/roles/oraswgi_install/tasks/19.3.0.0.yml @@ -162,9 +162,11 @@ # do not start root.sh on all nodes in parallel # => sleep - name: install_home_gi | Run root script after installation (Other Nodes) - ansible.builtin.script: | - /usr/bin/sleep {{ item.0 * 60 }} + ansible.builtin.shell: | + sleep {{ item.0 * 60 }} {{ oracle_home_gi }}/root.sh + args: + executable: /usr/bin/bash become: true with_indexed_items: "{{ groups[hostgroup] }}" tags: diff --git a/roles/oraswgi_install/tasks/21.3.0.0.yml b/roles/oraswgi_install/tasks/21.3.0.0.yml index 5a4b106b4..378e1d77f 100644 --- a/roles/oraswgi_install/tasks/21.3.0.0.yml +++ b/roles/oraswgi_install/tasks/21.3.0.0.yml @@ -162,9 +162,11 @@ # do not start root.sh on all nodes in parallel # => sleep - name: install_home_gi | Run root script after installation (Other Nodes) - ansible.builtin.script: | - /usr/bin/sleep {{ item.0 * 60 }} + ansible.builtin.shell: | + sleep {{ item.0 * 60 }} {{ oracle_home_gi }}/root.sh + args: + executable: /usr/bin/bash become: true with_indexed_items: "{{ groups[hostgroup] }}" tags: From b94e5ddb1bc15736a3f26e235db902fdac67091d Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Tue, 13 Sep 2022 06:09:44 +0000 Subject: [PATCH 30/31] added known issue: wrong ORACLE_BASE in RAC with role sepepration (#259) --- changelogs/fragments/106-known-issues.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/changelogs/fragments/106-known-issues.yaml b/changelogs/fragments/106-known-issues.yaml index 8bead4781..7d39014c6 100644 --- a/changelogs/fragments/106-known-issues.yaml +++ b/changelogs/fragments/106-known-issues.yaml @@ -2,3 +2,4 @@ known_issues: - removal of database not working when db_name <> db_instance_name (opitzconsulting#28) - Problem Instance is not running during DBCA in RAC (opitzconsulting#91) + - wrong ORACLE_BASE in RAC with role sepepration (#259) From e7d8785867c30a40eef344780d6817c26fd1032f Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Tue, 13 Sep 2022 06:23:36 +0000 Subject: [PATCH 31/31] Release: ansible-oracle v3.0.0 --- CHANGELOG.rst | 87 ++++++++++++++++ changelogs/changelog.yaml | 98 +++++++++++++++++++ changelogs/fragments/100-ocenv.yaml | 3 - changelogs/fragments/101-cleanup.yaml | 4 - .../fragments/102-antsibull-changelog.yaml | 3 - .../fragments/103-ansible-oracle-modules.yaml | 3 - .../fragments/104-dbca-system-password.yaml | 3 - changelogs/fragments/105-statspack.yaml | 3 - changelogs/fragments/106-known-issues.yaml | 5 - .../107-optional_uid_gid_passwd.yaml | 3 - changelogs/fragments/108-host_fs_layout.yaml | 3 - .../fragments/109-pass-container-header.yaml | 3 - changelogs/fragments/261-ansible-lint.yaml | 3 - changelogs/fragments/261-ocenv.yaml | 3 - changelogs/fragments/261-oraswgi_install.yml | 3 - .../fragments/81-userpassword_management.yaml | 3 - ...ecatoring_Refactoring oraswgi-install.yaml | 12 --- changelogs/fragments/84-ol8gi.yaml | 4 - changelogs/fragments/86-ocenv.yaml | 3 - changelogs/fragments/87-dbca.yaml | 3 - changelogs/fragments/92-goldenimage.yaml | 3 - changelogs/fragments/93-oracle_user_home.yaml | 3 - changelogs/fragments/94-linter.yaml | 3 - changelogs/fragments/95-oracle_profile.yaml | 3 - changelogs/fragments/96-orahost.yaml | 3 - changelogs/fragments/97-removed_roles.yaml | 7 -- changelogs/fragments/98-opatch.yaml | 3 - changelogs/fragments/99-collection.yaml | 17 ---- 28 files changed, 185 insertions(+), 109 deletions(-) create mode 100644 CHANGELOG.rst create mode 100644 changelogs/changelog.yaml delete mode 100644 changelogs/fragments/100-ocenv.yaml delete mode 100644 changelogs/fragments/101-cleanup.yaml delete mode 100644 changelogs/fragments/102-antsibull-changelog.yaml delete mode 100644 changelogs/fragments/103-ansible-oracle-modules.yaml delete mode 100644 changelogs/fragments/104-dbca-system-password.yaml delete mode 100644 changelogs/fragments/105-statspack.yaml delete mode 100644 changelogs/fragments/106-known-issues.yaml delete mode 100644 changelogs/fragments/107-optional_uid_gid_passwd.yaml delete mode 100644 changelogs/fragments/108-host_fs_layout.yaml delete mode 100644 changelogs/fragments/109-pass-container-header.yaml delete mode 100644 changelogs/fragments/261-ansible-lint.yaml delete mode 100644 changelogs/fragments/261-ocenv.yaml delete mode 100644 changelogs/fragments/261-oraswgi_install.yml delete mode 100644 changelogs/fragments/81-userpassword_management.yaml delete mode 100644 changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml delete mode 100644 changelogs/fragments/84-ol8gi.yaml delete mode 100644 changelogs/fragments/86-ocenv.yaml delete mode 100644 changelogs/fragments/87-dbca.yaml delete mode 100644 changelogs/fragments/92-goldenimage.yaml delete mode 100644 changelogs/fragments/93-oracle_user_home.yaml delete mode 100644 changelogs/fragments/94-linter.yaml delete mode 100644 changelogs/fragments/95-oracle_profile.yaml delete mode 100644 changelogs/fragments/96-orahost.yaml delete mode 100644 changelogs/fragments/97-removed_roles.yaml delete mode 100644 changelogs/fragments/98-opatch.yaml delete mode 100644 changelogs/fragments/99-collection.yaml diff --git a/CHANGELOG.rst b/CHANGELOG.rst new file mode 100644 index 000000000..7b86d1b52 --- /dev/null +++ b/CHANGELOG.rst @@ -0,0 +1,87 @@ +============================================ +opitzconsulting.ansible_oracle Release Notes +============================================ + +.. contents:: Topics + + +v3.0.0 +====== + +Release Summary +--------------- + +ansible-oracle has been converted into a collection. +This release starts using antsibull-changelog for managing the CHANGELOG.rst. + + +Major Changes +------------- + +- Added antsibull-changelog for managing the CHANGELOG.rst (opitzconsulting#102) +- moved ansible-oracle into a collection (opitzconsulting#99) + +Minor Changes +------------- + +- Parameter oracle_asm_disk_string could be set when asmlib is used (opitzconsulting#82) +- Refactoring oraswgi-install for 19c and 21c (opitzconsulting#82) +- Removed parameter -ignorePrereq during GridSetup.sh (opitzconsulting#82) +- Replace broken .profile_* Envrionmentscript with ocenv (opitzconsulting#85) +- added execution of runcluvfy.sh before GridSetup.sh (opitzconsulting#82) +- added extra debug tasks with "msg: install-home-gi | Start .." before long running tasks (opitzconsulting#82) +- added support for updating opatch under 19c and 21c (opitzconsulting#98) +- added support to interpret password as hash instead of plaintext in dbpasswords by setting users[*].password_is_hash=true (opitzconsulting#81) +- ansible-lint: move to ansible-lint-action@v6.5.2 (opitzconsulting#261) +- merge ansible-oracle-modules/oc into plugins/modules (opitzconsulting#103) +- new way installing cvuqdisk.rpm in Grid-Infrastructure (opitzconsulting#82) +- ocenv: update to 2022-08-10 (#261) +- oradb-manage-db: use custom DBCA-Templates from ORACLE_HOME directly (opitzconsulting#87) +- orahost: add new attributes to host_fs_layout (opitzconsulting#96) +- oraswgi: assert OL8 and GI 19.3 without RU (opitzconsulting#84) +- oraswgi: move from package to yum for cvuqdisk.rpm (opitzconsulting#84) +- refactoring the includes for 19c and 21c (opitzconsulting#82) +- removed all check exceptions from .ansible-lint (opitzconsulting#99) +- uid/gid/passwd attribute in oracle_users/grid_users/oracle_groups is now optional (opitzconsulting#107) +- update ansible-lint for git pre-commit to v6.3.0 (opitzconsulting#99) + +Breaking Changes / Porting Guide +-------------------------------- + +- Ansible 2.9+ needed (opitzconsulting#99) +- moved old playbooks to playbooks folder (opitzconsulting#99) +- rename all roles with '-' in name to '_' (opitzconsulting#99) +- renamed variable for EE-Options in Binaries (opitzconsulting#99) + +Removed Features (previously deprecated) +---------------------------------------- + +- role removed: oraasm-createdg - replaced by oraasm_manage_diskgroups (opitzconsulting#97) +- role removed: oradb-create - replaced by oradb_manage_db (opitzconsulting#97) +- role removed: oradb-delete - replaced by oradb_manage_db (opitzconsulting#97) +- role removed: oradb-failover - should be implemented in oraswgi-install -no replacement availible (opitzconsulting#97) +- role removed: oraswgi-clone - not working with current Oracle versions, no replacement availible (opitzconsulting#97) + +Bugfixes +-------- + +- added asmoper to oracle user in orahost (opitzconsulting#82) +- be less verbose during ansible-playbook (opitzconsulting#101) +- does not require host_fs_layout to have "disks" attribute when "configure_host_disks==false" (opitzconsulting#108) +- fixed gold image copy path (opitzconsulting#92) +- fixes a problem where oracle user home directory has been hardcoded to be under /home (opitzconsulting#93) +- make ansible-lint more happy due to new rules (opitzconsulting#94) +- make collection compatble for galaxy.ansible.com (opitzconsulting#101) +- oracle_db: Set SYSTEM password when creating a DB +- oracle_profile: make it compatible for Python3 (opitzconsulting#95) +- oradb_manage_grants & oradb_manage_users: pass container and container_data parameters to modules +- oradb_manage_statspack: Bugfix for db.state <> present +- oraswgi_install: fixed wrong script task to shell (#261) +- remove auto execution of ocenv from .bashrc (opitzconsulting#100) + +Known Issues +------------ + +- Problem Instance is not running during DBCA in RAC (opitzconsulting#91) +- removal of database not working when db_name <> db_instance_name (opitzconsulting#28) +- wrong ORACLE_BASE in RAC with role sepepration (#259) diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml new file mode 100644 index 000000000..001fe6a0b --- /dev/null +++ b/changelogs/changelog.yaml @@ -0,0 +1,98 @@ +ancestor: null +releases: + 3.0.0: + changes: + breaking_changes: + - Ansible 2.9+ needed (opitzconsulting#99) + - moved old playbooks to playbooks folder (opitzconsulting#99) + - rename all roles with '-' in name to '_' (opitzconsulting#99) + - renamed variable for EE-Options in Binaries (opitzconsulting#99) + bugfixes: + - added asmoper to oracle user in orahost (opitzconsulting#82) + - be less verbose during ansible-playbook (opitzconsulting#101) + - does not require host_fs_layout to have "disks" attribute when "configure_host_disks==false" + (opitzconsulting#108) + - fixed gold image copy path (opitzconsulting#92) + - fixes a problem where oracle user home directory has been hardcoded to be + under /home (opitzconsulting#93) + - make ansible-lint more happy due to new rules (opitzconsulting#94) + - make collection compatble for galaxy.ansible.com (opitzconsulting#101) + - 'oracle_db: Set SYSTEM password when creating a DB' + - 'oracle_profile: make it compatible for Python3 (opitzconsulting#95)' + - 'oradb_manage_grants & oradb_manage_users: pass container and container_data + parameters to modules' + - 'oradb_manage_statspack: Bugfix for db.state <> present' + - 'oraswgi_install: fixed wrong script task to shell (#261)' + - remove auto execution of ocenv from .bashrc (opitzconsulting#100) + known_issues: + - Problem Instance is not running during DBCA in RAC (opitzconsulting#91) + - removal of database not working when db_name <> db_instance_name (opitzconsulting#28) + - wrong ORACLE_BASE in RAC with role sepepration (#259) + major_changes: + - Added antsibull-changelog for managing the CHANGELOG.rst (opitzconsulting#102) + - moved ansible-oracle into a collection (opitzconsulting#99) + minor_changes: + - Parameter oracle_asm_disk_string could be set when asmlib is used (opitzconsulting#82) + - Refactoring oraswgi-install for 19c and 21c (opitzconsulting#82) + - Removed parameter -ignorePrereq during GridSetup.sh (opitzconsulting#82) + - Replace broken .profile_* Envrionmentscript with ocenv (opitzconsulting#85) + - added execution of runcluvfy.sh before GridSetup.sh (opitzconsulting#82) + - 'added extra debug tasks with "msg: install-home-gi | Start .." before long + running tasks (opitzconsulting#82)' + - added support for updating opatch under 19c and 21c (opitzconsulting#98) + - added support to interpret password as hash instead of plaintext in dbpasswords + by setting users[*].password_is_hash=true (opitzconsulting#81) + - 'ansible-lint: move to ansible-lint-action@v6.5.2 (opitzconsulting#261)' + - merge ansible-oracle-modules/oc into plugins/modules (opitzconsulting#103) + - new way installing cvuqdisk.rpm in Grid-Infrastructure (opitzconsulting#82) + - 'ocenv: update to 2022-08-10 (#261)' + - 'oradb-manage-db: use custom DBCA-Templates from ORACLE_HOME directly (opitzconsulting#87)' + - 'orahost: add new attributes to host_fs_layout (opitzconsulting#96)' + - 'oraswgi: assert OL8 and GI 19.3 without RU (opitzconsulting#84)' + - 'oraswgi: move from package to yum for cvuqdisk.rpm (opitzconsulting#84)' + - refactoring the includes for 19c and 21c (opitzconsulting#82) + - removed all check exceptions from .ansible-lint (opitzconsulting#99) + - uid/gid/passwd attribute in oracle_users/grid_users/oracle_groups is now optional + (opitzconsulting#107) + - update ansible-lint for git pre-commit to v6.3.0 (opitzconsulting#99) + release_summary: 'ansible-oracle has been converted into a collection. + + This release starts using antsibull-changelog for managing the CHANGELOG.rst. + + ' + removed_features: + - 'role removed: oraasm-createdg - replaced by oraasm_manage_diskgroups (opitzconsulting#97)' + - 'role removed: oradb-create - replaced by oradb_manage_db (opitzconsulting#97)' + - 'role removed: oradb-delete - replaced by oradb_manage_db (opitzconsulting#97)' + - 'role removed: oradb-failover - should be implemented in oraswgi-install -no + replacement availible (opitzconsulting#97)' + - 'role removed: oraswgi-clone - not working with current Oracle versions, no + replacement availible (opitzconsulting#97)' + fragments: + - 100-ocenv.yaml + - 101-cleanup.yaml + - 102-antsibull-changelog.yaml + - 103-ansible-oracle-modules.yaml + - 104-dbca-system-password.yaml + - 105-statspack.yaml + - 106-known-issues.yaml + - 107-optional_uid_gid_passwd.yaml + - 108-host_fs_layout.yaml + - 109-pass-container-header.yaml + - 261-ansible-lint.yaml + - 261-ocenv.yaml + - 261-oraswgi_install.yml + - 81-userpassword_management.yaml + - 82-recatoring_Refactoring oraswgi-install.yaml + - 84-ol8gi.yaml + - 86-ocenv.yaml + - 87-dbca.yaml + - 92-goldenimage.yaml + - 93-oracle_user_home.yaml + - 94-linter.yaml + - 95-oracle_profile.yaml + - 96-orahost.yaml + - 97-removed_roles.yaml + - 98-opatch.yaml + - 99-collection.yaml + release_date: '2022-09-13' diff --git a/changelogs/fragments/100-ocenv.yaml b/changelogs/fragments/100-ocenv.yaml deleted file mode 100644 index 2536d4a35..000000000 --- a/changelogs/fragments/100-ocenv.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - remove auto execution of ocenv from .bashrc (opitzconsulting#100) diff --git a/changelogs/fragments/101-cleanup.yaml b/changelogs/fragments/101-cleanup.yaml deleted file mode 100644 index 6a5867289..000000000 --- a/changelogs/fragments/101-cleanup.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -bugfixes: - - be less verbose during ansible-playbook (opitzconsulting#101) - - make collection compatble for galaxy.ansible.com (opitzconsulting#101) diff --git a/changelogs/fragments/102-antsibull-changelog.yaml b/changelogs/fragments/102-antsibull-changelog.yaml deleted file mode 100644 index efa48053a..000000000 --- a/changelogs/fragments/102-antsibull-changelog.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -major_changes: - - Added antsibull-changelog for managing the CHANGELOG.rst (opitzconsulting#102) diff --git a/changelogs/fragments/103-ansible-oracle-modules.yaml b/changelogs/fragments/103-ansible-oracle-modules.yaml deleted file mode 100644 index a566de8e9..000000000 --- a/changelogs/fragments/103-ansible-oracle-modules.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - merge ansible-oracle-modules/oc into plugins/modules (opitzconsulting#103) diff --git a/changelogs/fragments/104-dbca-system-password.yaml b/changelogs/fragments/104-dbca-system-password.yaml deleted file mode 100644 index 8a8ae1b66..000000000 --- a/changelogs/fragments/104-dbca-system-password.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - "oracle_db: Set SYSTEM password when creating a DB" diff --git a/changelogs/fragments/105-statspack.yaml b/changelogs/fragments/105-statspack.yaml deleted file mode 100644 index c6ada696c..000000000 --- a/changelogs/fragments/105-statspack.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - "oradb_manage_statspack: Bugfix for db.state <> present" diff --git a/changelogs/fragments/106-known-issues.yaml b/changelogs/fragments/106-known-issues.yaml deleted file mode 100644 index 7d39014c6..000000000 --- a/changelogs/fragments/106-known-issues.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -known_issues: - - removal of database not working when db_name <> db_instance_name (opitzconsulting#28) - - Problem Instance is not running during DBCA in RAC (opitzconsulting#91) - - wrong ORACLE_BASE in RAC with role sepepration (#259) diff --git a/changelogs/fragments/107-optional_uid_gid_passwd.yaml b/changelogs/fragments/107-optional_uid_gid_passwd.yaml deleted file mode 100644 index f0f0c4879..000000000 --- a/changelogs/fragments/107-optional_uid_gid_passwd.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - uid/gid/passwd attribute in oracle_users/grid_users/oracle_groups is now optional (opitzconsulting#107) diff --git a/changelogs/fragments/108-host_fs_layout.yaml b/changelogs/fragments/108-host_fs_layout.yaml deleted file mode 100644 index 0fdb958c6..000000000 --- a/changelogs/fragments/108-host_fs_layout.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - 'does not require host_fs_layout to have "disks" attribute when "configure_host_disks==false" (opitzconsulting#108)' diff --git a/changelogs/fragments/109-pass-container-header.yaml b/changelogs/fragments/109-pass-container-header.yaml deleted file mode 100644 index 02119bd6a..000000000 --- a/changelogs/fragments/109-pass-container-header.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - "oradb_manage_grants & oradb_manage_users: pass container and container_data parameters to modules" diff --git a/changelogs/fragments/261-ansible-lint.yaml b/changelogs/fragments/261-ansible-lint.yaml deleted file mode 100644 index ae0b68361..000000000 --- a/changelogs/fragments/261-ansible-lint.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - "ansible-lint: move to ansible-lint-action@v6.5.2 (opitzconsulting#261)" diff --git a/changelogs/fragments/261-ocenv.yaml b/changelogs/fragments/261-ocenv.yaml deleted file mode 100644 index d73f39ee0..000000000 --- a/changelogs/fragments/261-ocenv.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - "ocenv: update to 2022-08-10 (#261)" diff --git a/changelogs/fragments/261-oraswgi_install.yml b/changelogs/fragments/261-oraswgi_install.yml deleted file mode 100644 index 168e5cf80..000000000 --- a/changelogs/fragments/261-oraswgi_install.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - 'oraswgi_install: fixed wrong script task to shell (#261)' diff --git a/changelogs/fragments/81-userpassword_management.yaml b/changelogs/fragments/81-userpassword_management.yaml deleted file mode 100644 index 8112c6984..000000000 --- a/changelogs/fragments/81-userpassword_management.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - added support to interpret password as hash instead of plaintext in dbpasswords by setting users[*].password_is_hash=true (opitzconsulting#81) diff --git a/changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml b/changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml deleted file mode 100644 index 6a1fd5f7e..000000000 --- a/changelogs/fragments/82-recatoring_Refactoring oraswgi-install.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -minor_changes: - - Refactoring oraswgi-install for 19c and 21c (opitzconsulting#82) - - Removed parameter -ignorePrereq during GridSetup.sh (opitzconsulting#82) - - Parameter oracle_asm_disk_string could be set when asmlib is used (opitzconsulting#82) - - added execution of runcluvfy.sh before GridSetup.sh (opitzconsulting#82) - - refactoring the includes for 19c and 21c (opitzconsulting#82) - - new way installing cvuqdisk.rpm in Grid-Infrastructure (opitzconsulting#82) - - 'added extra debug tasks with "msg: install-home-gi | Start .." before long running tasks (opitzconsulting#82)' - -bugfixes: - - added asmoper to oracle user in orahost (opitzconsulting#82) diff --git a/changelogs/fragments/84-ol8gi.yaml b/changelogs/fragments/84-ol8gi.yaml deleted file mode 100644 index df8e43842..000000000 --- a/changelogs/fragments/84-ol8gi.yaml +++ /dev/null @@ -1,4 +0,0 @@ ---- -minor_changes: - - "oraswgi: move from package to yum for cvuqdisk.rpm (opitzconsulting#84)" - - "oraswgi: assert OL8 and GI 19.3 without RU (opitzconsulting#84)" diff --git a/changelogs/fragments/86-ocenv.yaml b/changelogs/fragments/86-ocenv.yaml deleted file mode 100644 index acb487837..000000000 --- a/changelogs/fragments/86-ocenv.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - Replace broken .profile_* Envrionmentscript with ocenv (opitzconsulting#85) diff --git a/changelogs/fragments/87-dbca.yaml b/changelogs/fragments/87-dbca.yaml deleted file mode 100644 index b2ded267b..000000000 --- a/changelogs/fragments/87-dbca.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - "oradb-manage-db: use custom DBCA-Templates from ORACLE_HOME directly (opitzconsulting#87)" diff --git a/changelogs/fragments/92-goldenimage.yaml b/changelogs/fragments/92-goldenimage.yaml deleted file mode 100644 index 213298e85..000000000 --- a/changelogs/fragments/92-goldenimage.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - fixed gold image copy path (opitzconsulting#92) diff --git a/changelogs/fragments/93-oracle_user_home.yaml b/changelogs/fragments/93-oracle_user_home.yaml deleted file mode 100644 index 7fecf78cd..000000000 --- a/changelogs/fragments/93-oracle_user_home.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - fixes a problem where oracle user home directory has been hardcoded to be under /home (opitzconsulting#93) diff --git a/changelogs/fragments/94-linter.yaml b/changelogs/fragments/94-linter.yaml deleted file mode 100644 index b70ef8675..000000000 --- a/changelogs/fragments/94-linter.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - make ansible-lint more happy due to new rules (opitzconsulting#94) diff --git a/changelogs/fragments/95-oracle_profile.yaml b/changelogs/fragments/95-oracle_profile.yaml deleted file mode 100644 index 320077b68..000000000 --- a/changelogs/fragments/95-oracle_profile.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -bugfixes: - - "oracle_profile: make it compatible for Python3 (opitzconsulting#95)" diff --git a/changelogs/fragments/96-orahost.yaml b/changelogs/fragments/96-orahost.yaml deleted file mode 100644 index 14ceb56d3..000000000 --- a/changelogs/fragments/96-orahost.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - "orahost: add new attributes to host_fs_layout (opitzconsulting#96)" diff --git a/changelogs/fragments/97-removed_roles.yaml b/changelogs/fragments/97-removed_roles.yaml deleted file mode 100644 index 0bcd067e9..000000000 --- a/changelogs/fragments/97-removed_roles.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -removed_features: - - "role removed: oraasm-createdg - replaced by oraasm_manage_diskgroups (opitzconsulting#97)" - - "role removed: oradb-create - replaced by oradb_manage_db (opitzconsulting#97)" - - "role removed: oradb-delete - replaced by oradb_manage_db (opitzconsulting#97)" - - "role removed: oradb-failover - should be implemented in oraswgi-install -no replacement availible (opitzconsulting#97)" - - "role removed: oraswgi-clone - not working with current Oracle versions, no replacement availible (opitzconsulting#97)" diff --git a/changelogs/fragments/98-opatch.yaml b/changelogs/fragments/98-opatch.yaml deleted file mode 100644 index 255ddf46f..000000000 --- a/changelogs/fragments/98-opatch.yaml +++ /dev/null @@ -1,3 +0,0 @@ ---- -minor_changes: - - added support for updating opatch under 19c and 21c (opitzconsulting#98) diff --git a/changelogs/fragments/99-collection.yaml b/changelogs/fragments/99-collection.yaml deleted file mode 100644 index feb1ee114..000000000 --- a/changelogs/fragments/99-collection.yaml +++ /dev/null @@ -1,17 +0,0 @@ ---- -release_summary: | - ansible-oracle has been converted into a collection. - This release starts using antsibull-changelog for managing the CHANGELOG.rst. - -major_changes: - - moved ansible-oracle into a collection (opitzconsulting#99) - -minor_changes: - - update ansible-lint for git pre-commit to v6.3.0 (opitzconsulting#99) - - removed all check exceptions from .ansible-lint (opitzconsulting#99) - -breaking_changes: - - Ansible 2.9+ needed (opitzconsulting#99) - - rename all roles with '-' in name to '_' (opitzconsulting#99) - - renamed variable for EE-Options in Binaries (opitzconsulting#99) - - moved old playbooks to playbooks folder (opitzconsulting#99)