Skip to content

Commit

Permalink
[DNM][DRAFT] Changed OKD/FCOS workaround to also support rendezvous h…
Browse files Browse the repository at this point in the history
…ost of Agent-based Installer
  • Loading branch information
JM1 committed Sep 15, 2023
1 parent 3d95de8 commit 2927fe7
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 20 deletions.
38 changes: 22 additions & 16 deletions data/data/bootstrap/files/usr/local/bin/bootstrap-pivot.sh.template
Original file line number Diff line number Diff line change
Expand Up @@ -42,25 +42,31 @@ if [ ! -f /opt/openshift/.pivot-done ]; then
record_service_stage_start "rebase-to-okd-os-image"
{{if .IsFCOS -}}
mnt="$(podman image mount "${MACHINE_OS_IMAGE}")"
{{- if .BootstrapInPlace }}
# SNO setup boots into Live ISO which cannot be rebased

# The bootstrap host during SNO installation and the rendezvous host of Agent-based Installer both boot into a Live
# ISO which cannot be rebased. Until this rpm-ostree issue has been fixed, this workaround will mount the proper
# OKD/FCOS Machine OS image over the existing mount at /usr and copy new config files to /etc.
# https://github.com/coreos/rpm-ostree/issues/4547
mkdir /var/mnt/{upper,worker}
mount -t overlay overlay -o "lowerdir=/usr:$mnt/usr" /usr
mount -t overlay overlay -o "lowerdir=/etc:$mnt/etc,upperdir=/var/mnt/upper,workdir=/var/mnt/worker" /etc
systemctl daemon-reload
if grep -q coreos.liveiso= /proc/cmdline; then
mount -t tmpfs -o size=50% none /var/mnt/
rsync -aHAXx "$mnt/" /var/mnt/
mount -t overlay overlay -o lowerdir=/usr:/var/mnt/usr /usr
rsync -rlt --ignore-existing /var/mnt/etc/ /etc/

systemctl daemon-reload

# Workaround for SELinux denials when launching crio.service from overlayfs
setenforce Permissive
# Workaround for SELinux denials when launching crio.service from overlayfs
setenforce Permissive

systemctl start crio.service
# No reboot necessary because SNO setup will reboot system
{{ else }}
pushd "${mnt}/bootstrap"
# shellcheck disable=SC1091
. ./pre-pivot.sh
popd
{{ end -}}
systemctl start crio.service
# No reboot necessary because setup will reboot the system automatically
else
pushd "${mnt}/bootstrap"
# shellcheck disable=SC1091
. ./pre-pivot.sh
popd
fi
record_service_stage_success
{{else if .IsSCOS -}}
chmod 0644 /etc/containers/registries.conf
rpm-ostree rebase --experimental "ostree-unverified-registry:${MACHINE_OS_IMAGE}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@
Description=Pivot bootstrap to the OpenShift Release Image
Wants=release-image.service
After=release-image.service
{{- if .BootstrapInPlace }}
Before=bootkube.service kubelet.service
{{ else }}
Before=bootkube.service
{{ end -}}

[Service]
Type=oneshot
Expand Down

0 comments on commit 2927fe7

Please sign in to comment.