Files
oracle-deploy-OL8-19c/oracle19c_rdbmsinstall.yml

152 lines
3.5 KiB
YAML
Executable File

- 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