- name: Bootstrap Oracle Linux 8 VMs hosts: dbservers become: yes vars: cdm_ip: 192.168.10.22 packages: - oracle-database-preinstall-19c - https://{{ cdm_ip }}/connector/rubrik-agent.x86_64.rpm pre_tasks: - name: Check if reboot marker file exists stat: path: /var/tmp/reboot_marker register: reboot_marker - name: Perform initial reboot reboot: msg: "Rebooting the system before starting the installation process to obtain DHCP hostname" reboot_timeout: 300 when: not reboot_marker.stat.exists - name: Create reboot marker file file: path: /var/tmp/reboot_marker state: touch when: not reboot_marker.stat.exists - name: Update all packages dnf: name: "*" state: latest - name: Install Rubrik Agent and Oracle Prereqs dnf: name: "{{ packages }}" validate_certs: false disable_gpg_check: true state: present - name: Get block devices ansible.builtin.setup: gather_subset: - hardware - name: Find the disk by size set_fact: target_disk: "{{ item.key }}" with_dict: "{{ ansible_devices }}" when: - item.key is match('^sd.*$') # only sda, sdb, etc. - item.value.size == '100.00 GB' - name: Create LVM partition on /dev/{{ target_disk }} parted: device: /dev/{{ target_disk }} number: 1 state: present part_type: primary flags: [lvm] resize: yes - name: Create VG on /dev/{{ target_disk }}1 lvg: vg: vg_oracle pvs: /dev/{{ target_disk }}1 - name: Create LV for Oracle binaries lvol: vg: vg_oracle lv: lv_bin size: 15g state: present - name: Create LV for Oracle data lvol: vg: vg_oracle lv: lv_data size: 20g state: present - name: Create LV for Oracle FRA lvol: vg: vg_oracle lv: lv_fra size: 15g state: present - name: Create filesystem on {{ root_directory }} filesystem: fstype: ext4 dev: /dev/vg_oracle/lv_bin - name: Create filesystem on Oracle data directory filesystem: fstype: ext4 dev: /dev/vg_oracle/lv_data - name: Create filesystem on Oracle FRA filesystem: fstype: ext4 dev: /dev/vg_oracle/lv_fra - name: Ensure {{ root_directory }} exists and mount mount: path: "{{ root_directory }}" src: /dev/vg_oracle/lv_bin fstype: ext4 opts: defaults state: mounted - name: Ensure {{ oracle_datadir }} exists and mount mount: path: "{{ oracle_datadir }}" src: /dev/vg_oracle/lv_data fstype: ext4 opts: defaults state: mounted - name: Ensure {{ oracle_fra }} exists and mount mount: path: "{{ oracle_fra }}" src: /dev/vg_oracle/lv_fra fstype: ext4 opts: defaults state: mounted - name: Ensure /data mount point exists file: path: /data state: directory owner: root group: root mode: '0755' - name: Add /data to fstab and Mount mount: path: /data src: buddy:/volume1/data fstype: nfs opts: defaults state: mounted - name: Stop firewalld service tags: firewall systemd: name: firewalld state: stopped enabled: no roles: - dbsoftware19c_install