152 lines
3.5 KiB
YAML
Executable File
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
|