Last active
November 15, 2023 13:09
-
-
Save sftblw/a446708996f247ee4bac9d694ab0be45 to your computer and use it in GitHub Desktop.
poor man's cloud-init.sh for OCI OKE
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#### remove /var/oled | |
# https://www.reddit.com/r/oraclecloud/comments/ywwp41/reclaiming_10gb_varoled/ | |
# sudo lsof /var/oled | |
# sudo lsof /dev/mapper/ocivolume-oled | |
# "pcp" package is using it. | |
# https://community.oracle.com/customerconnect/discussion/673319/unable-to-remove-lvm-snapshot-logical-volume-xyz-contains-a-filesystem-in-use | |
sudo systemctl stop pmcd | |
sudo systemctl stop pmie | |
sudo systemctl stop pmlogger | |
# sudo umount /var/oled | |
### chatgpt generated umount waiting script | |
services=("pmcd" "pmie" "pmlogger") | |
for service in "${services[@]}"; do | |
sudo systemctl stop $service | |
count=0 | |
while sudo systemctl is-active --quiet $service; do | |
sleep 1 | |
((count++)) | |
if [ $count -ge 10 ]; then | |
echo "$service service isn't stopped - max tries reached." | |
break | |
fi | |
done | |
done | |
count=0 | |
while ! sudo umount /var/oled; do | |
echo "Unmounting failed, retrying in 5 seconds..." | |
sleep 5 | |
((count++)) | |
if [ $count -ge 10 ]; then | |
echo "failed to unmount /var/oled - max tries reached." | |
break | |
fi | |
done | |
### end of chatgpt generated umount | |
# should empty | |
sudo lsof /var/oled | |
sudo lsof /dev/mapper/ocivolume-oled | |
# if any, grow fs first | |
sudo /usr/libexec/oci-growfs -y | |
# remove lvm | |
sudo lvchange -an /dev/mapper/ocivolume-oled | |
sudo lvremove -y /dev/mapper/ocivolume-oled | |
# https://access.redhat.com/solutions/44089 | |
sudo lvextend -l +100%FREE /dev/mapper/ocivolume-root | |
# actual increase | |
sudo xfs_growfs / | |
# prepare log dir | |
sudo mkdir -p /var/oled/crash | |
sudo systemctl start pmcd pmie pmlogger | |
# comment out fstab | |
sudo sed -i '/\/var\/oled/s/^/#/' /etc/fstab | |
## init OKE | |
curl --fail -H "Authorization: Bearer Oracle" -L0 http://169.254.169.254/opc/v2/instance/metadata/oke_init_script | base64 --decode >/var/run/oke-init.sh | |
bash /var/run/oke-init.sh | |
# swap with kubernetes is beta and require further configuration. disabling it. | |
# swapfile 4gb | |
#dd if=/dev/zero of=/swapfile bs=1G count=4 | |
#chmod 600 /swapfile | |
#mkswap /swapfile | |
#swapon /swapfile | |
#echo '/swapfile none swap sw 0 0' | tee -a /etc/fstab |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment