Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compose File Changes #2748

Closed
wants to merge 10 commits into from
338 changes: 338 additions & 0 deletions OracleDatabase/RAC/OracleRealApplicationClusters/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -192,22 +192,43 @@ fi
####################################### Set Resetting Failed Units ##########################
resetFailedUnits()
{
if [ "${RESET_FAILED_SYSTEMD}" != 'false' ]; then

cp $SCRIPT_DIR/$RESET_FAILED_UNITS /var/tmp/$RESET_FAILED_UNITS
chmod 755 /var/tmp/$RESET_FAILED_UNITS
print_message "Setting Crontab"
cmd='su - $GRID_USER -c "sudo crontab $SCRIPT_DIR/$SET_CRONTAB"'
eval $cmd

if [ $? -eq 0 ];then
print_message "Sucessfully installed $SET_CRONTAB using crontab"
else
error_exit "Error occurred in crontab setup"
fi

fi
if [ "${RESET_FAILED_SYSTEMD}" != 'false' ]; then
# Define the service name
SERVICE_NAME="rhnsd"

# Check if the service is running
if pgrep -x "$SERVICE_NAME" >/dev/null; then
print_message "$SERVICE_NAME is running."

# Check if the service is responding
if ! systemctl is-active --quiet "$SERVICE_NAME"; then
print_message "$SERVICE_NAME is not responding. Stopping the service."
systemctl stop "$SERVICE_NAME"
systemctl disable "$SERVICE_NAME"
print_message "$SERVICE_NAME stopped."
else
print_message "$SERVICE_NAME is responsive. No action needed."
fi
else
print_message "$SERVICE_NAME is not running."
fi

# shellcheck disable=SC2086
cp $SCRIPT_DIR/$RESET_FAILED_UNITS /var/tmp/$RESET_FAILED_UNITS
chmod 755 /var/tmp/$RESET_FAILED_UNITS
print_message "Setting Crontab"
# shellcheck disable=SC2016
cmd='su - $GRID_USER -c "sudo crontab $SCRIPT_DIR/$SET_CRONTAB"'
# shellcheck disable=SC2086
eval $cmd
# shellcheck disable=SC2181
if [ $? -eq 0 ];then
print_message "Sucessfully installed $SET_CRONTAB using crontab"
else
error_exit "Error occurred in crontab setup"
fi

fi
}


Expand Down Expand Up @@ -323,6 +344,7 @@ fi
print_message "Process id of the program : $TOP_ID"
##### start ntpd #######
startNTPD
resetFailedUnits
pre_grid_deploy_steps
checkHostName
SetupEtcHosts
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,22 +194,42 @@ fi
####################################### Set Resetting Failed Units ##########################
resetFailedUnits()
{
if [ "${RESET_FAILED_SYSTEMD}" != 'false' ]; then

cp "$SCRIPT_DIR"/"$RESET_FAILED_UNITS" /var/tmp/$RESET_FAILED_UNITS
chmod 755 /var/tmp/$RESET_FAILED_UNITS
print_message "Setting Crontab"
# shellcheck disable=SC2016
cmd='su - $GRID_USER -c "sudo crontab $SCRIPT_DIR/$SET_CRONTAB"'

if eval "$cmd";then
print_message "Sucessfully installed $SET_CRONTAB using crontab"
else
error_exit "Error occurred in crontab setup"
fi

fi
if [ "${RESET_FAILED_SYSTEMD}" != 'false' ]; then
# Define the service name
SERVICE_NAME="rhnsd"

# Check if the service is running
if pgrep -x "$SERVICE_NAME" >/dev/null; then
print_message "$SERVICE_NAME is running."

# Check if the service is responding
if ! systemctl is-active --quiet "$SERVICE_NAME"; then
print_message "$SERVICE_NAME is not responding. Stopping the service."
systemctl stop "$SERVICE_NAME"
systemctl disable "$SERVICE_NAME"
print_message "$SERVICE_NAME stopped."
else
print_message "$SERVICE_NAME is responsive. No action needed."
fi
else
print_message "$SERVICE_NAME is not running."
fi
# shellcheck disable=SC2086
cp $SCRIPT_DIR/$RESET_FAILED_UNITS /var/tmp/$RESET_FAILED_UNITS
chmod 755 /var/tmp/$RESET_FAILED_UNITS
print_message "Setting Crontab"
# shellcheck disable=SC2016
cmd='su - $GRID_USER -c "sudo crontab $SCRIPT_DIR/$SET_CRONTAB"'
# shellcheck disable=SC2086
eval $cmd
# shellcheck disable=SC2181
if [ $? -eq 0 ];then
print_message "Sucessfully installed $SET_CRONTAB using crontab"
else
error_exit "Error occurred in crontab setup"
fi

fi
}


Expand Down Expand Up @@ -324,6 +344,7 @@ fi
print_message "Process id of the program : $TOP_ID"
##### start ntpd #######
startNTPD
resetFailedUnits
pre_grid_deploy_steps
checkHostName
SetupEtcHosts
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
version: "3"
services:
racnode2:
container_name: ${RACNODE2_CONTAINER_NAME}
hostname: ${RACNODE2_HOST_NAME}
image: ${RACNODE_IMAGE_NAME}
restart: always
dns: ${DNS_PUBLIC_IP}
dns_search: ${DNS_DOMAIN}
volumes:
- /boot:/boot:ro
- /opt/.secrets:/run/secrets:ro
- /dev/shm
- /opt/containers/rac_host_file:/etc/hosts
- /sys/fs/cgroup:/sys/fs/cgroup:ro
tmpfs:
- /dev/shm:rw,exec,size=4G
- /run
privileged: false
environment:
DNS_SERVERS: ${DNS_PUBLIC_IP}
EXISTING_CLS_NODES: ${INSTALL_NODE}
NODE_VIP: ${RACNODE2_NODE_VIP}
VIP_HOSTNAME: ${RACNODE2_VIP_HOSTNAME}
PRIV_IP: ${RACNODE2_PRIV_IP}
PRIV_HOSTNAME: ${RACNODE2_PRIV_HOSTNAME}
OP_TYPE: ADDNODE
PUBLIC_IP: ${RACNODE2_PUBLIC_IP}
PUBLIC_HOSTNAME: ${RACNODE2_PUBLIC_HOSTNAME}
SCAN_NAME: ${SCAN_NAME}
DOMAIN: ${DNS_DOMAIN}
ASM_DEVICE_LIST: ${ASM_DEVICE_LIST}
ASM_DISCOVERY_DIR: ${ASM_DISCOVERY_DIR}
ORACLE_SID: ${ORACLE_DBNAME}
COMMON_OS_PWD_FILE: ${COMMON_OS_PWD_FILE}
PWD_KEY: ${PWD_KEY}
RESET_FAILED_SYSTEMD: "true"
devices:
- "${ASM_DISK1}:${ASM_DEVICE1}"
- "${ASM_DISK2}:${ASM_DEVICE2}"
ulimits:
rtprio: 99
cap_add:
- SYS_RESOURCE
- NET_ADMIN
- SYS_NICE
cpu_rt_runtime: 95000
networks:
- rac_pub1_nw
- rac_priv1_nw
healthcheck:
test: ["CMD-SHELL", "if [ `cat /tmp/orod.log | grep -c 'ORACLE RAC DATABASE IS READY TO USE'` -ge 1 ]; then exit 0; else exit 1; fi"]
interval: ${HEALTHCHECK_INTERVAL}
timeout: ${HEALTHCHECK_TIMEOUT}
retries: ${HEALTHCHECK_RETRIES}
networks:
rac_pub1_nw:
name: ${PUBLIC_NETWORK_NAME}
driver: bridge
ipam:
driver: default
config:
- subnet: "${PUBLIC_NETWORK_SUBNET}"
rac_priv1_nw:
name: ${PRIVATE_NETWORK_NAME}
driver: bridge
ipam:
driver: default
config:
- subnet: "${PRIVATE_NETWORK_SUBNET}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
---
version: "3"
services:
racdns:
container_name: ${DNS_CONTAINER_NAME}
hostname: ${DNS_HOST_NAME}
image: ${DNS_IMAGE_NAME}
dns_search: ${DNS_DOMAIN}
environment:
SETUP_DNS_CONFIG_FILES: "setup_true"
DOMAIN_NAME: ${DNS_DOMAIN}
RAC_NODE_NAME_PREFIX: ${RAC_NODE_NAME_PREFIX}
sysctls:
- net.ipv6.conf.all.disable_ipv6=1
cap_add:
- SYS_ADMIN
healthcheck:
test: ["CMD-SHELL", "if [ `cat /tmp/orod.log | grep -c 'DNS Server IS READY TO USE'` -ge 1 ]; then exit 0; else exit 1; fi"]
interval: ${HEALTHCHECK_INTERVAL}
timeout: ${HEALTHCHECK_TIMEOUT}
retries: ${HEALTHCHECK_RETRIES}
networks:
rac_pub1_nw:
ipv4_address: ${DNS_PUBLIC_IP}
racnode1:
depends_on:
racdns:
condition: service_healthy
container_name: ${RACNODE1_CONTAINER_NAME}
hostname: ${RACNODE1_HOST_NAME}
image: ${RACNODE1_IMAGE_NAME}
restart: always
dns: ${DNS_PUBLIC_IP}
dns_search: ${DNS_DOMAIN}
volumes:
- /boot:/boot:ro
- /opt/.secrets:/run/secrets:ro
- /dev/shm
- /opt/containers/rac_host_file:/etc/hosts
- /sys/fs/cgroup:/sys/fs/cgroup:ro
tmpfs:
- /dev/shm:rw,exec,size=4G
- /run
privileged: false
environment:
DNS_SERVERS: ${DNS_PUBLIC_IP}
NODE_VIP: ${RACNODE1_NODE_VIP}
VIP_HOSTNAME: ${RACNODE1_VIP_HOSTNAME}
PRIV_IP: ${RACNODE1_PRIV_IP}
PRIV_HOSTNAME: ${RACNODE1_PRIV_HOSTNAME}
OP_TYPE: INSTALL
PUBLIC_IP: ${RACNODE1_PUBLIC_IP}
PUBLIC_HOSTNAME: ${RACNODE1_PUBLIC_HOSTNAME}
SCAN_NAME: ${SCAN_NAME}
DOMAIN: ${DNS_DOMAIN}
ASM_DEVICE_LIST: ${ASM_DEVICE_LIST}
ASM_DISCOVERY_DIR: ${ASM_DISCOVERY_DIR}
CMAN_HOSTNAME: ${CMAN_HOSTNAME}
CMAN_IP: ${CMAN_IP}
COMMON_OS_PWD_FILE: ${COMMON_OS_PWD_FILE}
PWD_KEY: ${PWD_KEY}
RESET_FAILED_SYSTEMD: "true"
ulimits:
rtprio: 99
cap_add:
- SYS_RESOURCE
- NET_ADMIN
- SYS_NICE
devices:
- "${ASM_DISK1}:${ASM_DEVICE1}"
- "${ASM_DISK2}:${ASM_DEVICE2}"
cpu_rt_runtime: 95000
networks:
- rac_pub1_nw
- rac_priv1_nw
healthcheck:
test: ["CMD-SHELL", "if [ `cat /tmp/orod.log | grep -c 'ORACLE RAC DATABASE IS READY TO USE'` -ge 1 ]; then exit 0; else exit 1; fi"]
interval: ${HEALTHCHECK_INTERVAL}
timeout: ${HEALTHCHECK_TIMEOUT}
retries: ${HEALTHCHECK_RETRIES}
racnode-cman:
depends_on:
racdns:
condition: service_healthy
racnode1:
condition: service_healthy
container_name: ${CMAN_CONTAINER_NAME}
hostname: ${CMAN_HOST_NAME}
image: ${CMAN_IMAGE_NAME}
dns_search: ${DNS_DOMAIN}
environment:
DOMAIN_NAME: ${DNS_DOMAIN}
PUBLIC_HOSTNAME: ${CMAN_PUBLIC_HOSTNAME}
SCAN_NAME: ${SCAN_NAME}
SCAN_IP: ${SCAN_IP}
PUBLIC_IP: ${CMAN_PUBLIC_IP}
privileged: false
ports:
- 1521:1521
networks:
rac_pub1_nw:
ipv4_address: ${CMAN_PUBLIC_IP}
healthcheck:
test: ["CMD-SHELL", "if [ `cat /tmp/orod.log | grep -c 'CONNECTION MANAGER IS READY TO USE'` -ge 1 ]; then exit 0; else exit 1; fi"]
interval: ${HEALTHCHECK_INTERVAL}
timeout: ${HEALTHCHECK_TIMEOUT}
retries: ${HEALTHCHECK_RETRIES}
networks:
rac_pub1_nw:
name: ${PUBLIC_NETWORK_NAME}
driver: bridge
ipam:
driver: default
config:
- subnet: "${PUBLIC_NETWORK_SUBNET}"
rac_priv1_nw:
name: ${PRIVATE_NETWORK_NAME}
driver: bridge
ipam:
driver: default
config:
- subnet: "${PRIVATE_NETWORK_SUBNET}"
Loading