From 20803f4c7137a1f9bc260dff4ff67a343da3d394 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Thu, 15 Sep 2022 20:38:10 +0000 Subject: [PATCH 1/5] orasw_meta: task files for mount/umount source media --- changelogs/fragments/269-nfs-stage.yml | 4 ++++ roles/orasw_meta/defaults/main.yml | 2 ++ roles/orasw_meta/tasks/mount_stage_remote.yml | 11 +++++++++++ roles/orasw_meta/tasks/umount_stage_remote.yml | 13 +++++++++++++ 4 files changed, 30 insertions(+) create mode 100644 changelogs/fragments/269-nfs-stage.yml create mode 100644 roles/orasw_meta/tasks/mount_stage_remote.yml create mode 100644 roles/orasw_meta/tasks/umount_stage_remote.yml diff --git a/changelogs/fragments/269-nfs-stage.yml b/changelogs/fragments/269-nfs-stage.yml new file mode 100644 index 000000000..2f35153d6 --- /dev/null +++ b/changelogs/fragments/269-nfs-stage.yml @@ -0,0 +1,4 @@ +--- +bugfixes: + - "orasw_meta: added tasks/mount_stage_remote.yml (#269)" + - "orasw_meta: added tasks/umount_stage_remote.yml (#269)" diff --git a/roles/orasw_meta/defaults/main.yml b/roles/orasw_meta/defaults/main.yml index d66018bd1..414611dbe 100644 --- a/roles/orasw_meta/defaults/main.yml +++ b/roles/orasw_meta/defaults/main.yml @@ -1,4 +1,6 @@ --- +install_from_nfs: false + oracle_user: oracle # User that will own the Oracle Installations. grid_user: grid grid_install_user: "{% if role_separation %}{{ grid_user }}{% else %}{{ oracle_user }}{% endif %}" diff --git a/roles/orasw_meta/tasks/mount_stage_remote.yml b/roles/orasw_meta/tasks/mount_stage_remote.yml new file mode 100644 index 000000000..539a3e2e9 --- /dev/null +++ b/roles/orasw_meta/tasks/mount_stage_remote.yml @@ -0,0 +1,11 @@ +--- +# Do not mount installation media during boot! +- name: orasw_meta | 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 diff --git a/roles/orasw_meta/tasks/umount_stage_remote.yml b/roles/orasw_meta/tasks/umount_stage_remote.yml new file mode 100644 index 000000000..9b4c8fc1d --- /dev/null +++ b/roles/orasw_meta/tasks/umount_stage_remote.yml @@ -0,0 +1,13 @@ +--- +# Try to umount and ignore_errors +- name: orasw_meta | Umount nfs share with installation media + ansible.builtin.mount: + src: "{{ nfs_server_sw }}:{{ nfs_server_sw_path }}" + name: "{{ oracle_stage_remote }}" + fstype: nfs + state: absent + # noqa ignore-errors + ignore_errors: true + when: install_from_nfs + tags: + - nfsumountdb From bc611ced25270c4f2a8bb368b65344a87aa62173 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Thu, 15 Sep 2022 20:40:49 +0000 Subject: [PATCH 2/5] inventory: add example for NFS source media --- inventory/dbfs/group_vars/all/software_src.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/inventory/dbfs/group_vars/all/software_src.yml b/inventory/dbfs/group_vars/all/software_src.yml index e1f8f76ce..8798876b5 100755 --- a/inventory/dbfs/group_vars/all/software_src.yml +++ b/inventory/dbfs/group_vars/all/software_src.yml @@ -5,3 +5,9 @@ oracle_sw_unpack: false # Directory for Installation-Media oracle_stage_remote: /tmp + +# Example for Remote NFS +# install_from_nfs: true # Mount NFS-Share? +# nfs_server_sw: 192.168.56.99 # NFS-Server +# nfs_server_sw_path: /sw # NFS-Share +# oracle_stage_remote: /u01/se # local mount point for NFS share From c8d17d46dd237bb917255435b577fdedeb2e86d9 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Thu, 15 Sep 2022 20:43:35 +0000 Subject: [PATCH 3/5] oraswgi_install: mount/umount NFS with orasw_meta role --- roles/oraswgi_install/tasks/main.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/roles/oraswgi_install/tasks/main.yml b/roles/oraswgi_install/tasks/main.yml index 4a8db709a..8d2696a00 100644 --- a/roles/oraswgi_install/tasks/main.yml +++ b/roles/oraswgi_install/tasks/main.yml @@ -20,10 +20,11 @@ - 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 + ansible.builtin.include_role: + name: orasw_meta + tasks_from: mount_stage_remote tags: - - nfsmountgi - when: install_from_nfs + - nfsmountdb - name: install_home_gi | Add new dotprofile (GI) ansible.builtin.template: @@ -156,6 +157,8 @@ - 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 + ansible.builtin.include_role: + name: orasw_meta + tasks_from: umount_stage_remote + tags: + - nfsumountdb From e676c04c18f0a9ecb15d2e84770da35711c54532 Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Thu, 15 Sep 2022 20:45:03 +0000 Subject: [PATCH 4/5] oraswdb_install: mount/umount NFS with orasw_meta role --- roles/oraswdb_install/tasks/main.yml | 45 +++++----------------------- 1 file changed, 7 insertions(+), 38 deletions(-) diff --git a/roles/oraswdb_install/tasks/main.yml b/roles/oraswdb_install/tasks/main.yml index 4464895db..d318d35fe 100644 --- a/roles/oraswdb_install/tasks/main.yml +++ b/roles/oraswdb_install/tasks/main.yml @@ -19,8 +19,9 @@ - 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 + ansible.builtin.include_role: + name: orasw_meta + tasks_from: mount_stage_remote tags: - nfsmountdb @@ -70,39 +71,6 @@ tags: - oradbsw -# -# - name: install_home_db | Extract files to stage-area -# unarchive: -# src={{ oracle_stage }}/{{ item[0].filename }} -# dest={{ oracle_stage }}/{{ item[0].version }} -# copy=no -# creates="{{ oracle_stage }}/{{ item[0].version }}/{{ item[0].creates }}" -# with_nested: -# - "{{ oracle_sw_image_db }}" -# - "{{ db_homes_installed }}" -# become: true -# become_user: "{{ oracle_user }}" -# run_once: "{{ configure_cluster }}" -# when: item[0].version == db_homes_config[item[1].home]['version'] and item[1].state|lower == 'present' and oracle_sw_copy and oracle_sw_unpack -# tags: -# - oradbswunpack -# -# - 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 }} -# copy=no -# creates="{{ oracle_stage }}/{{ item[0].version }}/{{ item[0].creates }}" -# with_nested: -# - "{{ oracle_sw_image_db }}" -# - "{{ db_homes_installed }}" -# become: true -# become_user: "{{ oracle_user }}" -# run_once: "{{ configure_cluster }}" -# when: item[0].version == db_homes_config[item[1].home]['version'] and item[1].state|lower == 'present' and not oracle_sw_copy and oracle_sw_unpack -# tags: -# - oradbswunpack - - ansible.builtin.include_tasks: install-home-db.yml with_items: - "{{ db_homes_installed }}" @@ -112,10 +80,11 @@ tags: oradbinstall,dbchopt - 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 + ansible.builtin.include_role: + name: orasw_meta + tasks_from: umount_stage_remote tags: - - nfsunmountdb + - nfsumountdb - name: install_home_db | copy start/stop script for autostart ansible.builtin.copy: From 3d8bcc902c835c58166d110ffe4a58316d05c4de Mon Sep 17 00:00:00 2001 From: Thorsten Bruhns Date: Thu, 15 Sep 2022 20:47:22 +0000 Subject: [PATCH 5/5] oraswdb_manage_patches: mount/umount NFS with orasw_meta role --- roles/oraswdb_manage_patches/tasks/main.yml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/roles/oraswdb_manage_patches/tasks/main.yml b/roles/oraswdb_manage_patches/tasks/main.yml index 71a88f4b8..693ca72fa 100644 --- a/roles/oraswdb_manage_patches/tasks/main.yml +++ b/roles/oraswdb_manage_patches/tasks/main.yml @@ -3,9 +3,10 @@ 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 +- name: db_opatch | Mount nfs share with installation media + ansible.builtin.include_role: + name: orasw_meta + tasks_from: mount_stage_remote tags: - nfsmountdb @@ -29,3 +30,10 @@ 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 | Unmount nfs share with installation media + ansible.builtin.include_role: + name: orasw_meta + tasks_from: umount_stage_remote + tags: + - nfsumountdb