Last active
July 5, 2023 11:03
-
-
Save danpawlik/844ff5cbb32fbd0e2e0fa167c0138851 to your computer and use it in GitHub Desktop.
This file contains 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 | |
set -x | |
### NOTE: Remember to run as a root ;) | |
## https://github.com/crc-org/snc/blob/master/createdisk.sh#L9 | |
## https://github.com/crc-org/snc/blob/master/createdisk-library.sh#L387 | |
## https://github.com/crc-org/snc/blob/master/createdisk-library.sh#L83 | |
## requires packages: libzstd zstd | |
crc bundle generate | |
crc start -b /home/centos/crc_libvirt_4.12.13_amd64_1688372982.crcbundle | |
tar xvaf /home/centos/crc_libvirt_4.12.13_amd64_1688372982.crcbundle | |
cd crc_libvirt_4.12.13_amd64_1688372982 | |
sudo guestmount -m /dev/sda4 -a crc.qcow2 --rw /mnt | |
GUEST_ETC_DIR="$(sudo find /mnt/ostree/deploy/rhcos/deploy -maxdepth 1 -type d | tail -n1)/etc" | |
GUEST_LOCAL_DIR=/mnt/ostree/deploy/rhcos/var/usrlocal | |
GUEST_HOME_DIR=/mnt/ostree/deploy/rhcos/var/home/core | |
cat << EOF > $GUEST_ETC_DIR/systemd/system/crc-pre.service | |
[Unit] | |
Description=Configure required service configuration files | |
DefaultDependencies=no | |
ConditionPathExists=/usr/local/bin/configure-pre-crc.sh | |
Before=kubelet.service crc-dnsmasq.service | |
After=NetworkManager.service network-online.target | |
Wants=network-online.target | |
[Service] | |
ExecStart=bash /usr/local/bin/configure-pre-crc.sh | |
Type=oneshot | |
TimeoutSec=60 | |
RemainAfterExit=yes | |
[Install] | |
WantedBy=kubelet.service | |
EOF | |
cat << 'EOF' > $GUEST_LOCAL_DIR/bin/configure-pre-crc.sh | |
#!/bin/bash | |
HOST_IP=$(ip route get 1.2.3.4 | awk '{print $7}' | head -n1) | |
cat << EOL | sudo tee /var/srv/dnsmasq.conf | |
user=root | |
port= 53 | |
bind-interfaces | |
expand-hosts | |
log-queries | |
local=/crc.testing/ | |
domain=crc.testing | |
address=/apps-crc.testing/$HOST_IP | |
address=/api.crc.testing/$HOST_IP | |
address=/api-int.crc.testing/$HOST_IP | |
address=/crc-74q6p-master-0.crc.testing/192.168.126.11 | |
EOL | |
cat << EOL | sudo tee /etc/resolv.conf | |
nameserver $HOST_IP | |
nameserver 38.102.83.3 | |
nameserver 38.102.83.2 | |
EOL | |
# stop overwriting /etc/resolv.conf after reboot | |
cat << EOL | sudo tee /etc/NetworkManager/conf.d/00-custom-crc.conf | |
[main] | |
dns=none | |
EOL | |
sudo systemctl reload NetworkManager | |
EOF | |
# set execute for others | |
sudo chmod +x $GUEST_LOCAL_DIR/bin/configure-pre-crc.sh | |
# enable service | |
cd $GUEST_ETC_DIR/systemd/system/default.target.wants | |
ln -s ../crc-pre.service . | |
cd - | |
cat << 'EOF' >> $GUEST_HOME_DIR/.ssh/authorized_keys | |
# https://github.com/rdo-infra/review.rdoproject.org-config/blob/master/playbooks/tripleo-rdo-base/pre.yaml | |
# zuul - important | |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC7ToRkLRS8QHhlMYvqUl2GF5nGI1DkOAbHJv7b9ru608ISb7+hkUpposBclCGnjR3Bvtbsj3kcJOErZrczR2WfJ52JwjaWTSXU8vh20l3aVtHtPRdlLGCHfM92Ll85eA6FrtZB4UaVkabqFiA1GmTUUg4q9W9wxngwMWdI5ZcifZ+0uXjDLFazVtNGyTNVyWi0b2ECFBCGFV2Bg6FI9Y+QWosNYvhs+jRzPMdtat2fwbq+2p5kU8SkWFZYAva2Anrbv5T5cGhT0K7cO5dEAWSUdVOSTvnv5JAoygdrTtDJOP4cKqtL6+dPdW3nZbjqg0fCUe1feWpknu3L2GHaOzidhsG+RUDQob0NXFmyej4JmLF95x3XVVgJPzMEAVBqI83ev8GcPv1Lb75jkqsolV9TzKP2sB26MV1aCRluZzibOpjQvzKzvA0sjR+5PG9iJ1KwcSg6MfukEE7WuZ0hEhfmt/nH3ZOQv6mi3cKRYXRfK2jJ7lVMutaD02hZxN7ppd8= zuul-build-sshkey | |
# zuul zs.sf.io | |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDgOp/WpwK0HBfgJoYDXo+yZbLqkNrbkbtk3p6MxJumQlXxXhKWY0uJXbrecjhJG6Ydv/6SzKQeoVWSPJUkZ0xD1l7KCPN+iNJyRQGwiyIi/Vd7JNt0pn+dblmPA5GzAwEMcT+49OlK0I1p1JwpSa0CFgNH8zSZOqCaH8yUiKtbc0UtCdQehSIcHvz573E2IbeDMG1omijf6fAT67tEAzEbsasCN/bSmXDraAQ+XIPPsFoifCQaSOL3SsyjG0awNfTotiBW68DqzR29KYwMQntM1ACVWPMda2rVTUFmV51ono/Ux2vRiV8zMCQAzZdy9gkF+3bDnK7VeY2rccp7EaVj root@managesf | |
# zuul sfhosted | |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDU84vH1QOZ8G4v3big/1Eh7ErtQyAXCC2YyqBtaCoDZFmfQHFqOeBdHaR3heRZYo9MCl9wiAtqXWYGmOMndbYooB09LCzA0DXtBRJtLeRYPk3jlfYI6hd1VhMipnzVlAPfmNfFBCujROdUT2gaO/cOGREWrsfTDYjYpHt7ltDZ+XwdB3vFqW/K9mgJz27VTnGSn/4J6LDai36FkXQEs05gcKbFMC5HOHNrxqpl4obLASB5K/XV18Ret43mIbHtFaLhjBRFl97kBkohQK/IGG+WVccjA/5Y84AOUk53WIHz07B6qgybl8wd3nAj9dXl5fPMyunF5Eb9ev1IBWR2idtj root@sf.hosted | |
# dpawlik | |
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOKLl0NYKwoZ/JY5KeZU8VwRAggeOxqQJeoqp3dsAaY9 dpawlik@x1 | |
# cedric | |
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHUnwjB20UKmsSed9X73eGNV5AOEFccQ3NYrRW776pEk cjeanner | |
# pablo | |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDK7XsKtjKF1/T7q26T3oPyTyCTz9yOhp/5Ptpx/yGFSosIViVy+om5U+D56NJFRhsZ6chTpLpt/EsghwuzGshv3tGzmbLopcPc5Ux76oebzzZryg/2TOHbo4gEmNMK7hhXLv08K52pegtPYmBQ5V7PkchMQ1AjUwdzRMc8RLxcxXXMG4G1Pp/PLykuHmwHYil1rFyYWB62wgIRmzgXzkHy9tmnKB2lwgCM25UmFEC/8mDxA3xsOtT9YuhYIU4N5jAeDyzscDedEAeMghKyIFVx3vLbgThNiH7LC9fzGYQACCvYaUJ3T27IuzAd/uGltphBDK2mkH1eKAE26MQ1GE7Xpy49y8+Od+imbLx4ORn6zrVu0+QrOnhtZvuxAVZIJ3HGZ4sSmQtdpjOlyqgFoyic4hjkQfuUt7JvJtYjE00TzlMomflAvR4KFZHucoMzABgUHZSV8E0otlnq11rn9FtDt7ajIDRNVg2Uf1K7/3koPzg1XeC3oFcolhRHyQYDfi69VzPJW5Vl2F1pQh5vCIKOCYQ+nYXbNx0iEAgL7l7kpythUohKoh4/9jSdtlyhAYX96lHfP1MShX1KgcWAEePdU4kaMNrsIMb3/WsMVDfH+2XJNy8bPxr+U+jOS9/KtgN6ACDWiqtxpozTsEEVMAu7vCZyr5EvztscIUIh6TcMCw== pabrodri@pabrodri-remote | |
# chandan | |
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGE+Kh8TW2fGc2U54HbeRkRrGGf46YbxAcxRB4XqLO/4 raukadah | |
# ysandeep | |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD9hHZMu0S/A/BhYMyc3X/qixn/1aoPUWIbWOF01JLkCeB5Vz7EFdW8ohqr5fqe11mXRhNKpeP7NQcTZ8JjdgE5XfA8+elhjmIlJJGEuUe278KmVLie4R7H+Mdu1FcVQ7RpJRginyqLOa5U9/T0oh+oNuHjEqMVAAfrpMGo2e0SBrFs92+sowK+u1SCoF1QI34mg4aHfFY15dDFoSu6z4CUtfSI/bH+pJKPw/xB7I/Ev1RMu5bouhsqtaXCldoBagQKI1d8ZslPZ043IC+0XBG75ZA7bfWs9pW0ReYG9a3J63DEPMSsp3Tnlu36xVYY+/GtpZROgqZxyU3UnfrmFEwL sandyada | |
# afazekas | |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCnB+y028w0+dMjKfRWiAnQ5Q+ej6Gc7BtHpITFndhx8Gywh0L5B5EFWHBB2fdmw7boDmqhGKTTMgaxTtUhQAFuHsfhSrlQIbmUiIgrGkFUx4Pbhr2Xf1NFqM1nXNXT7asuzwFAnBsznR3zo+uj5NWzbj8Ualr1bUJ22iq4eegBm3k18iKKEl0JelDxmcZKihyg6+2Va84cd8P6BbBPs9SUdPXVZNxcFtyDgsMOQGFsh7Ca9RMdf4tz+ONj+s3ZFpcy8xapEWrwHlXad/by3PMta0sOxYiWJTOp93yrMvgdx+jj4jsBxhvw1Yjpzyfr9Y8GU9MB9R7vdjd6D/OWSA+Iwapf4LqFNBCyo45m1rMK1ha7p7fVT5CGUbxIKcBfW3L7iJ/BAZNJAIUQUmnmF2k1m8/odZB+gHStinHOURryHpKEgy1Wbuww1pKXJTSRXBjssX+dOuUYeiWxMuHx/2VCJRmf2pPH5+IRwxVwFINXlYMkLTwYDDGVTO110U4ekq8= afazekas | |
EOF | |
echo "Checking if all content is applied" | |
echo -e "\n\nCRC pre service" | |
cat $GUEST_ETC_DIR/systemd/system/crc-pre.service | |
echo -e "\n\nConfigure script" | |
cat $GUEST_LOCAL_DIR/bin/configure-pre-crc.sh | |
echo -e "\n\n Authorized keys" | |
cat $GUEST_HOME_DIR/.ssh/authorized_keys | |
echo -e "\n\nChecking symlink" | |
ls -la $GUEST_ETC_DIR/systemd/system/default.target.wants/ | grep crc | |
echo -e "\n\nChecking mode on script" | |
ls -la $GUEST_LOCAL_DIR/bin/configure-pre-crc.sh | |
sync | |
sudo guestunmount /mnt | |
# NOTE: CRC does not have ignition inside ;/ | |
#if ! command -v butane; then | |
# sudo yum install -y butane | |
#fi | |
# | |
## https://docs.fedoraproject.org/en-US/fedora-coreos/provisioning-openstack/ | |
## https://docs.fedoraproject.org/en-US/fedora-coreos/tutorial-containers/#_writing_the_butane_config_and_converting_to_ignition | |
#openstack image create dpawlik-crc-extracted \ | |
# --container-format bare \ | |
# --disk-format qcow2 \ | |
# --progress \ | |
# --file crc.qcow2 | |
# | |
#openstack server create dpawlik-crc-extracted \ | |
# --flavor ci.m1.xlarge \ | |
# --nic net-id=7abff1a9-a103-46d0-979a-1f1e599f4f41 \ | |
# --key-name bridgesf \ | |
# --user-data ignition.ign \ | |
# --image dpawlik-crc-extracted | |
# After a while in CRC instance | |
# oc login api.crc.testing:6443 -u kubeadmin -p "123456789" --insecure-skip-tls-verify=true | |
# while true; do if oc login api.crc.testing:6443 -u kubeadmin -p "<pass>" --insecure-skip-tls-verify=true; then date; uptime; else sleep 60; fi; done |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment