Skip to content

Instantly share code, notes, and snippets.

@ruo91
Created February 20, 2022 12:11
Show Gist options
  • Select an option

  • Save ruo91/f70e3715a7f64da2fbce77e8491d3584 to your computer and use it in GitHub Desktop.

Select an option

Save ruo91/f70e3715a7f64da2fbce77e8491d3584 to your computer and use it in GitHub Desktop.
ocp4-cluster-version-rollback-unofficial
watch -n 1 'crictl ps | grep -v 'operator' | egrep "etcd|kube-apiserver"'
- All masters
for node in {master01,master02,master03}; do ssh core@$node "sudo mv /etc/kubernetes/manifests/{etcd-pod.yaml,kube-apiserver-pod.yaml} /tmp"; done
for node in {master01,master02,master03}; do ssh core@$node "sudo mv /var/lib/etcd/ /tmp"; done
for node in {master01,master02,master03}; do ssh core@$node "sudo mount -t nfs 200.200.0.2:/data/nfs/backup/etcd/$node /mnt"; done
for node in {master01,master02,master03}; do ssh core@$node "sudo cp -r /mnt/v4.6.46/ /home/core/"; done
for node in {master01,master02,master03}; do ssh core@$node "sudo chown -R core:core /home/core/v4.6.46/"; done
- master01
ssh core@master01 "sudo /usr/local/bin/cluster-restore.sh /home/core/v4.6.46/20220219/"
- All master
for node in {master01,master02,master03}; do ssh core@$node "sudo systemctl restart kubelet.service"; done
- master01
oc patch etcd cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
oc get etcd -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
oc patch kubeapiserver cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
oc get kubeapiserver -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
oc get kubecontrollermanager -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
oc patch kubescheduler cluster -p='{"spec": {"forceRedeploymentReason": "recovery-'"$( date --rfc-3339=ns )"'"}}' --type=merge
oc get kubescheduler -o=jsonpath='{range .items[0].status.conditions[?(@.type=="NodeInstallerProgressing")]}{.reason}{"\n"}{.message}{"\n"}'
- All nodes
oc delete pod --all --grace-period=0 --force --all-namespaces
for node in $(oc get node -o name | cut -d '/' -f '2'); do ssh core@$node "sudo reboot"; done
spec:
config:
ignition:
version: 3.1.0
for mc in $(oc get mc -o name | cut -d '/' -f '2'); do \
oc patch machineconfig/$mc --type=merge --patch '{"spec": {"config": {"ignition":{"version": "3.1.0"}}}}'; done
- Master
for node in $(oc get node -o name | cut -d '/' -f '2' | grep master); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "rendered-master-62c31a68bcc18e8c6847a06396c445ab",
"machineconfiguration.openshift.io/desiredConfig": "rendered-master-62c31a68bcc18e8c6847a06396c445ab",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
- Worker
for node in $(oc get node -o name | cut -d '/' -f '2' | grep worker); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "rendered-worker-ccfdd4134b18b5ab1606c239dad1a097",
"machineconfiguration.openshift.io/desiredConfig": "rendered-worker-ccfdd4134b18b5ab1606c239dad1a097",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
- Monitoring
for node in $(oc get node -o name | cut -d '/' -f '2' | grep monitoring); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "rendered-monitoring-ccfdd4134b18b5ab1606c239dad1a097",
"machineconfiguration.openshift.io/desiredConfig": "rendered-monitoring-ccfdd4134b18b5ab1606c239dad1a097",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
- Router
for node in $(oc get node -o name | cut -d '/' -f '2' | grep router); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "rendered-router-ccfdd4134b18b5ab1606c239dad1a097",
"machineconfiguration.openshift.io/desiredConfig": "rendered-router-ccfdd4134b18b5ab1606c239dad1a097",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
oc delete pod --all --grace-period=0 --force -n openshift-authentication
oc delete pod --all --grace-period=0 --force -n openshift-console
$ RENDERED=$(oc get mcp master -o json | jq '.spec.configuration.name')
$ oc patch mcp master --type json -p='[{"op": "remove", "path": "/spec/configuration/0/name/-"}]'
--type json -p='[{"op": "remove", "path": "/spec/configuration/0/name"}]'
--type='json' -p='{"spec": {"configuration": {"name": "rendered-master-62c31a68bcc18e8c6847a06396c445ab"}}}'
- ostree rollback
yum install buildah -y
v4.6.46
$ podman pull registry.ocp4.ybkim.local/openshift4/release@sha256:08180bc0b4765240beb07f9ee037a89442f90ca6cca9a4a682e73fd208ab2330
$ buildah from registry.ocp4.ybkim.local/openshift4/release@sha256:08180bc0b4765240beb07f9ee037a89442f90ca6cca9a4a682e73fd208ab2330
$ buildah ps
CONTAINER ID BUILDER IMAGE ID IMAGE NAME CONTAINER NAME
a4b01596001b * ec3f0931a6e6 docker.io/library/busybox:latest busybox-working-container
bfa366b69255 * b47891c3a444 registry.ocp4.ybkim.local/ope... release-working-container
$ buildah mount release-working-container
/var/lib/containers/storage/overlay/827680d051b026884bb90805593551217d67b3223fc985e904fd907233bed076/merged
$ DIR=/var/lib/containers/storage/overlay/827680d051b026884bb90805593551217d67b3223fc985e904fd907233bed076/merged
$ cat $DIR/release-manifests/image-references | jq '.spec.tags[] | select(.name == "machine-os-content")'
{
"name": "machine-os-content",
"annotations": {
"io.openshift.build.commit.id": "",
"io.openshift.build.commit.ref": "",
"io.openshift.build.source-location": "",
"io.openshift.build.version-display-names": "machine-os=Red Hat Enterprise Linux CoreOS",
"io.openshift.build.versions": "machine-os=46.82.202109180307-0"
},
"from": {
"kind": "DockerImage",
"name": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4"
},
"generation": 2,
"importPolicy": {},
"referencePolicy": {
"type": "Source"
}
}
$ cat $DIR/release-manifests/image-references | jq '.spec.tags[] | select(.name == "machine-os-content") .from.name'
$ skopeo copy --all --dest-tls-verify=false \
docker://quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4 \
docker://registry.ocp4.ybkim.local/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4
$ for node in $(oc get node -o name | cut -d '/' -f 2); do ssh core@$node "sudo echo 'rplinux' | sudo passwd root --stdin"; done
[root@master01 ~]# rpm-ostree status
State: idle
Deployments:
* pivot://quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b7f43d4b8974b1fd79873d7575c75370e12169a493dc3f8b78381ecfa33b5e56
CustomOrigin: Managed by machine-config-operator
Version: 48.84.202202072304-0 (2022-02-07T23:07:37Z)
pivot://quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:30bf10fd8ac62c77fefecf8d75678fa421652acd2f120f7e423ff9bb35acdc69
CustomOrigin: Managed by machine-config-operator
Version: 47.84.202202070903-0 (2022-02-07T09:06:45Z)
$ /run/bin/machine-config-daemon pivot quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4
[root@master01 ~]# rpm-ostree status
State: idle
Deployments:
pivot://quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4
CustomOrigin: Managed by machine-config-operator
Version: 46.82.202109180307-0 (2021-09-18T03:10:25Z)
Diff: 310 downgraded, 58 removed, 7 added
* pivot://quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b7f43d4b8974b1fd79873d7575c75370e12169a493dc3f8b78381ecfa33b5e56
CustomOrigin: Managed by machine-config-operator
Version: 48.84.202202072304-0 (2022-02-07T23:07:37Z)
pivot://quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:30bf10fd8ac62c77fefecf8d75678fa421652acd2f120f7e423ff9bb35acdc69
CustomOrigin: Managed by machine-config-operator
Version: 47.84.202202070903-0 (2022-02-07T09:06:45Z)
for node in $(oc get node -o name | cut -d '/' -f '2'); do ssh core@$node "sudo hostname -f && sudo /run/bin/machine-config-daemon pivot quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4 && sudo echo 'Done'"; done
osImageURL
for mc in $(oc get mc -o name | cut -d '/' -f '2' | grep -v 'rendered'); do \
oc patch machineconfig/$mc --type=merge --patch '{"spec": {"osImageURL": "registry.ocp4.ybkim.local/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4"}}'; done
machineconfiguration.openshift.io/reason: 'unexpected on-disk state validating
against rendered-worker-c68405a06ae86624799b490562079b32: expected target osImageURL
"quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b7f43d4b8974b1fd79873d7575c75370e12169a493dc3f8b78381ecfa33b5e56",
have "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4"'
0. 테스트 환경
- KVM(Kernel-based Virtual Machine)
- Bastion (REHL 8.3)
- OpenShift Container Platform v4.6.46 Disconnected 기반
(v4.7.43 -> v4.8.31 클러스터 버전 업그레이드 환경)
1. Machine OS Image 정보 확인
CoreOS의 릴리즈 이미지를 기반으로 Machine OS 이미지 URL을 확인 한다.
RefURL: https://quay.io/repository/openshift-release-dev/ocp-release?tag=latest&tab=tags
- v4.6.46
[root@bastion ~]# oc adm release info registry.ocp4.ybkim.local/openshift4/release:4.6.46 | grep machine-os-content
machine-os-content sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4
- v4.7.43
[root@bastion ~]# oc adm release info registry.ocp4.ybkim.local/openshift4/release:4.7.43 | grep machine-os-content
machine-os-content sha256:30bf10fd8ac62c77fefecf8d75678fa421652acd2f120f7e423ff9bb35acdc69
- v4.8.31
[root@bastion ~]# oc adm release info registry.ocp4.ybkim.local/openshift4/release:4.8.31 | grep machine-os-content
machine-os-content sha256:b7f43d4b8974b1fd79873d7575c75370e12169a493dc3f8b78381ecfa33b5e56
2. Machine OS Images 다운로드
2. CoreOS Pivot
CoreOS의 기본 부팅 이미지를 설정한다.
해당 명령어는 Machine Config Operator[1]에서 제공하는
Machine Config Daemon 명령어의 Pivot 기능을 통해 설정이 가능하다.
https://github.com/openshift/machine-config-operator
2.1. OS Tree 정보 확인
현재 OpenShift 클러스터에서 사용중인 CoreOS의 Machine OS 이미지를 확인 한다.
"*" 로 표시 된 것이 현재 부팅에 사용된 Machine OS 이미지를 뜻한다.
[core@master01 ~]$ sudo rpm-ostree status
State: idle
Deployments:
* pivot://quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b7f43d4b8974b1fd79873d7575c75370e12169a493dc3f8b78381ecfa33b5e56
CustomOrigin: Managed by machine-config-operator
Version: 48.84.202202072304-0 (2022-02-07T23:07:37Z)
pivot://quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:30bf10fd8ac62c77fefecf8d75678fa421652acd2f120f7e423ff9bb35acdc69
CustomOrigin: Managed by machine-config-operator
Version: 47.84.202202070903-0 (2022-02-07T09:06:45Z)
2.2. Pivot 수행
Machine OS 이미지를 변경을 위해 machine-config-daemon의 pivot 옵션을 사용하여 수행해야 한다.
명령어 수행을 위해서 SSH를 통해 전체 클러스터 노드에 접근 한다.
[root@bastion ~]# ssh [email protected]
기존 v4.8.31에서 v4.6.46 이미지로 설정한다.
(모든 노드에 적용한다.)
[core@master01 ~]$ sudo /run/bin/machine-config-daemon pivot \
quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4
[core@master01 ~]$ sudo /run/bin/machine-config-daemon pivot \
registry.ocp4.ybkim.local/openshift4/release:4.6.46-x86_64-machine-os-content
- Pivot 결과
정상적으로 수행되면 아래와 같이 RPM 패키지가 v4.6.46 이미지 버전으로 Downgrade 되는 것을 확인 가능하다.
I0220 05:37:17.847738 69006 run.go:18] Running: nice -- ionice -c 3 oc image extract --path /:/run/mco-machine-os-content/os-content-083780203 --registry-config /var/lib/kubelet/config.json quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4
I0220 05:37:46.048369 69006 rpm-ostree.go:278] Running captured: rpm-ostree status --json
I0220 05:37:46.195928 69006 rpm-ostree.go:186] Previous pivot: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:b7f43d4b8974b1fd79873d7575c75370e12169a493dc3f8b78381ecfa33b5e56
I0220 05:37:46.307303 69006 rpm-ostree.go:218] Pivoting to: 46.82.202109180307-0 (97a62c2f5e093f3bf12842708ae287c2371b242435db499e33adaec0d1678073)
I0220 05:37:46.307349 69006 rpm-ostree.go:250] Executing rebase from repo path /run/mco-machine-os-content/os-content-083780203/srv/repo with customImageURL pivot://quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4 and checksum 97a62c2f5e093f3bf12842708ae287c2371b242435db499e33adaec0d1678073
I0220 05:37:46.307433 69006 update.go:1859] Running: rpm-ostree rebase --experimental /run/mco-machine-os-content/os-content-083780203/srv/repo:97a62c2f5e093f3bf12842708ae287c2371b242435db499e33adaec0d1678073 --custom-origin-url pivot://quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4 --custom-origin-description Managed by machine-config-operator
0 metadata, 0 content objects imported; 0 bytes content written
Staging deployment...done
Downgraded:
NetworkManager 1:1.30.0-13.el8_4 -> 1:1.22.8-8.el8_2
NetworkManager-libnm 1:1.30.0-13.el8_4 -> 1:1.22.8-8.el8_2
NetworkManager-ovs 1:1.30.0-13.el8_4 -> 1:1.22.8-8.el8_2
NetworkManager-team 1:1.30.0-13.el8_4 -> 1:1.22.8-8.el8_2
NetworkManager-tui 1:1.30.0-13.el8_4 -> 1:1.22.8-8.el8_2
adcli 0.8.2-9.el8 -> 0.8.2-5.el8
afterburn 5.0.0-1.rhaos4.8.el8 -> 4.5.0-2.rhaos4.6.el8
authselect 1.2.2-2.el8 -> 1.1-2.el8
authselect-libs 1.2.2-2.el8 -> 1.1-2.el8
avahi-libs 0.7-20.el8 -> 0.7-19.el8
bash 4.4.20-1.el8_4 -> 4.4.19-12.el8_2
bind-export-libs 32:9.11.26-4.el8_4 -> 32:9.11.13-6.el8_2.3
bind-libs 32:9.11.26-4.el8_4 -> 32:9.11.13-6.el8_2.3
bind-libs-lite 32:9.11.26-4.el8_4 -> 32:9.11.13-6.el8_2.3
bind-license 32:9.11.26-4.el8_4 -> 32:9.11.13-6.el8_2.3
bind-utils 32:9.11.26-4.el8_4 -> 32:9.11.13-6.el8_2.3
bootupd 0.2.5-2.el8 -> 0.2.4-3.el8
brotli 1.0.6-3.el8 -> 1.0.6-1.el8
bsdtar 3.3.3-1.el8 -> 3.3.2-8.el8_1
ca-certificates 2021.2.50-80.0.el8_4 -> 2020.2.41-80.0.el8_2
chkconfig 1.13-2.el8 -> 1.11-1.el8
chrony 3.5-2.el8 -> 3.5-1.el8
clevis 15-1.el8 -> 11-9.el8_2.1
clevis-dracut 15-1.el8 -> 11-9.el8_2.1
clevis-luks 15-1.el8 -> 11-9.el8_2.1
clevis-systemd 15-1.el8 -> 11-9.el8_2.1
cloud-utils-growpart 0.31-1.el8 -> 0.29-3.el8_2.2
conmon 2:2.0.29-1.module+el8.4.0+11822+6cc1e7d7 -> 2:2.0.21-2.rhaos4.6.el8
console-login-helper-messages 0.20.3-1.rhaos4.8.el8 -> 0.20.3-1.rhaos4.6.el8
console-login-helper-messages-issuegen 0.20.3-1.rhaos4.8.el8 -> 0.20.3-1.rhaos4.6.el8
console-login-helper-messages-profile 0.20.3-1.rhaos4.8.el8 -> 0.20.3-1.rhaos4.6.el8
container-selinux 2:2.170.0-2.rhaos4.8.el8 -> 2:2.144.0-1.rhaos4.6.el8
containernetworking-plugins 0.9.1-1.module+el8.4.0+11822+6cc1e7d7 -> 0.8.6-3.rhaos4.6.el8
containers-common 1:1.3.1-5.module+el8.4.0+11990+22932769 -> 1:1.1.1-3.rhaos4.6.el8
coreos-installer 0.9.0-8.rhaos4.8.el8 -> 0.6.0-3.rhaos4.6.el8
coreos-installer-bootinfra 0.9.0-8.rhaos4.8.el8 -> 0.6.0-3.rhaos4.6.el8
coreutils 8.30-8.el8 -> 8.30-7.el8_2.1
coreutils-common 8.30-8.el8 -> 8.30-7.el8_2.1
cpio 2.12-10.el8 -> 2.12-8.el8
cri-o 1.21.4-10.rhaos4.8.gitc058478.el8 -> 1.19.4-2.rhaos4.6.gitea37eea.el8
cri-tools 1.21.0-3.el8 -> 1.19.0-6.el8
criu 3.15-1.module+el8.4.0+11822+6cc1e7d7 -> 3.12-9.module+el8.2.0+11121+714aca16
crypto-policies 20210209-1.gitbfb6bed.el8_3 -> 20191128-2.git23e1bf1.el8_2.1
cryptsetup 2.3.3-4.el8 -> 2.2.2-1.el8_2.1
cryptsetup-libs 2.3.3-4.el8 -> 2.2.2-1.el8_2.1
cryptsetup-reencrypt 2.3.3-4.el8 -> 2.2.2-1.el8_2.1
cups-libs 1:2.2.6-38.el8 -> 1:2.2.6-33.el8
curl 7.61.1-18.el8_4.2 -> 7.61.1-12.el8_2.2
cyrus-sasl-gssapi 2.1.27-5.el8 -> 2.1.27-1.el8
cyrus-sasl-lib 2.1.27-5.el8 -> 2.1.27-1.el8
dbus 1:1.12.8-12.el8_4.2 -> 1:1.12.8-12.el8_2
dbus-common 1:1.12.8-12.el8_4.2 -> 1:1.12.8-12.el8_2
dbus-daemon 1:1.12.8-12.el8_4.2 -> 1:1.12.8-12.el8_2
dbus-libs 1:1.12.8-12.el8_4.2 -> 1:1.12.8-12.el8_2
dbus-tools 1:1.12.8-12.el8_4.2 -> 1:1.12.8-12.el8_2
device-mapper 8:1.02.175-5.el8 -> 8:1.02.169-3.el8
device-mapper-event 8:1.02.175-5.el8 -> 8:1.02.169-3.el8
device-mapper-event-libs 8:1.02.175-5.el8 -> 8:1.02.169-3.el8
device-mapper-libs 8:1.02.175-5.el8 -> 8:1.02.169-3.el8
device-mapper-multipath 0.8.4-10.el8_4.2 -> 0.8.3-3.el8_2.3
device-mapper-multipath-libs 0.8.4-10.el8_4.2 -> 0.8.3-3.el8_2.3
device-mapper-persistent-data 0.8.5-4.el8 -> 0.8.5-3.el8
dhcp-client 12:4.3.6-44.el8_4.1 -> 12:4.3.6-40.el8_2.2
dhcp-common 12:4.3.6-44.el8_4.1 -> 12:4.3.6-40.el8_2.2
dhcp-libs 12:4.3.6-44.el8_4.1 -> 12:4.3.6-40.el8_2.2
dnsmasq 2.79-15.el8 -> 2.79-11.el8_2.2
dracut 049-135.git20210121.el8 -> 049-75.git20200422.el8
dracut-network 049-135.git20210121.el8 -> 049-75.git20200422.el8
e2fsprogs 1.45.6-1.el8 -> 1.45.4-3.el8
e2fsprogs-libs 1.45.6-1.el8 -> 1.45.4-3.el8
efi-filesystem 3-3.el8 -> 3-2.el8
efivar-libs 37-4.el8 -> 36-1.el8
elfutils-debuginfod-client 0.182-3.el8 -> 0.178-7.el8
elfutils-default-yama-scope 0.182-3.el8 -> 0.178-7.el8
elfutils-libelf 0.182-3.el8 -> 0.178-7.el8
elfutils-libs 0.182-3.el8 -> 0.178-7.el8
expat 2.2.5-4.el8 -> 2.2.5-3.el8
file 5.33-16.el8_3.1 -> 5.33-13.el8_2.1
file-libs 5.33-16.el8_3.1 -> 5.33-13.el8_2.1
filesystem 3.8-3.el8 -> 3.8-2.el8
firewalld-filesystem 0.8.2-7.el8_4 -> 0.8.0-4.el8
freetype 2.9.1-4.el8_3.1 -> 2.9.1-4.el8_2.1
fuse-overlayfs 1.6-1.module+el8.4.0+11822+6cc1e7d7 -> 0.7.2-5.module+el8.2.0+11121+714aca16
gawk 4.2.1-2.el8 -> 4.2.1-1.el8
git-core 2.27.0-1.el8 -> 2.18.4-2.el8_2
glib2 2.56.4-10.el8_4.1 -> 2.56.4-8.el8_2.1
glibc 2.28-151.el8 -> 2.28-101.el8
glibc-all-langpacks 2.28-151.el8 -> 2.28-101.el8
glibc-common 2.28-151.el8 -> 2.28-101.el8
glusterfs 6.0-49.1.el8 -> 6.0-20.el8
glusterfs-client-xlators 6.0-49.1.el8 -> 6.0-20.el8
glusterfs-fuse 6.0-49.1.el8 -> 6.0-20.el8
glusterfs-libs 6.0-49.1.el8 -> 6.0-20.el8
gnupg2 2.2.20-2.el8 -> 2.2.9-1.el8
gnupg2-smime 2.2.20-2.el8 -> 2.2.9-1.el8
gnutls 3.6.14-8.el8_3 -> 3.6.8-12.el8_2
gpgme 1.13.1-7.el8 -> 1.10.0-6.el8
grub2-common 1:2.02-99.el8_4.1 -> 1:2.02-87.el8_2.3
grub2-efi-x64 1:2.02-99.el8_4.1 -> 1:2.02-87.el8_2.3
grub2-pc 1:2.02-99.el8_4.1 -> 1:2.02-87.el8_2.3
grub2-pc-modules 1:2.02-99.el8_4.1 -> 1:2.02-87.el8_2.3
grub2-tools 1:2.02-99.el8_4.1 -> 1:2.02-87.el8_2.3
grub2-tools-extra 1:2.02-99.el8_4.1 -> 1:2.02-87.el8_2.3
grub2-tools-minimal 1:2.02-99.el8_4.1 -> 1:2.02-87.el8_2.3
gssproxy 0.8.0-19.el8 -> 0.8.0-15.el8
gzip 1.9-12.el8 -> 1.9-9.el8
hwdata 0.314-8.8.el8 -> 0.314-8.4.el8
ignition 2.9.0-8.rhaos4.8.el8 -> 2.6.0-8.rhaos4.6.git947598e.el8
initscripts 10.00.15-1.el8 -> 10.00.6-1.el8_2.2
iproute 5.9.0-4.el8 -> 5.3.0-1.el8
iptables 1.8.4-17.el8_4.1 -> 1.8.4-10.el8_2.4
iptables-libs 1.8.4-17.el8_4.1 -> 1.8.4-10.el8_2.4
iputils 20180629-7.el8 -> 20180629-2.el8
irqbalance 2:1.4.0-6.el8 -> 2:1.4.0-4.el8
iscsi-initiator-utils 6.2.1.2-1.gita8fcb37.el8 -> 6.2.0.878-6.gitd791ce0.el8_2
iscsi-initiator-utils-iscsiuio 6.2.1.2-1.gita8fcb37.el8 -> 6.2.0.878-6.gitd791ce0.el8_2
json-c 0.13.1-0.4.el8 -> 0.13.1-0.2.el8
kbd 2.0.4-10.el8 -> 2.0.4-8.el8
kbd-legacy 2.0.4-10.el8 -> 2.0.4-8.el8
kbd-misc 2.0.4-10.el8 -> 2.0.4-8.el8
kernel 4.18.0-305.34.2.el8_4 -> 4.18.0-193.65.2.el8_2
kernel-core 4.18.0-305.34.2.el8_4 -> 4.18.0-193.65.2.el8_2
kernel-modules 4.18.0-305.34.2.el8_4 -> 4.18.0-193.65.2.el8_2
kernel-modules-extra 4.18.0-305.34.2.el8_4 -> 4.18.0-193.65.2.el8_2
kmod 25-17.el8 -> 25-16.el8
kmod-libs 25-17.el8 -> 25-16.el8
kpartx 0.8.4-10.el8_4.2 -> 0.8.3-3.el8_2.3
krb5-libs 1.18.2-8.3.el8_4 -> 1.17-18.el8
libarchive 3.3.3-1.el8 -> 3.3.2-8.el8_1
libblkid 2.32.1-27.el8 -> 2.32.1-22.el8
libcap 2.26-4.el8 -> 2.26-3.el8
libcom_err 1.45.6-1.el8 -> 1.45.4-3.el8
libcurl 7.61.1-18.el8_4.2 -> 7.61.1-12.el8_2.2
libdb 5.3.28-42.el8_4 -> 5.3.28-37.el8
libdb-utils 5.3.28-42.el8_4 -> 5.3.28-37.el8
libdrm 2.4.103-1.el8 -> 2.4.100-1.el8
libfdisk 2.32.1-27.el8 -> 2.32.1-22.el8
libffi 3.1-22.el8 -> 3.1-21.el8
libgcc 8.4.1-1.el8 -> 8.3.1-5.el8
libgcrypt 1.8.5-4.el8 -> 1.8.3-4.el8
libgomp 8.4.1-1.el8 -> 8.3.1-5.el8
libibverbs 32.0-5.el8_4 -> 26.0-8.el8
libipa_hbac 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
libkcapi 1.2.0-2.el8 -> 1.1.1-16_1.el8
libkcapi-hmaccalc 1.2.0-2.el8 -> 1.1.1-16_1.el8
libldb 2.2.0-2.el8 -> 2.0.7-4.el8_2
libmaxminddb 1.2.0-10.el8 -> 1.2.0-7.el8
libmodulemd 2.9.4-2.el8 -> 2.8.2-1.el8
libmount 2.32.1-27.el8 -> 2.32.1-22.el8
libndp 1.7-5.el8 -> 1.7-3.el8
libnfsidmap 1:2.3.3-41.el8_4.3 -> 1:2.3.3-31.el8
libpcap 14:1.9.1-5.el8 -> 14:1.9.0-4.el8_2
libpsl 0.20.2-6.el8 -> 0.20.2-5.el8
libpwquality 1.4.4-3.el8 -> 1.4.0-9.el8
librepo 1.12.0-3.el8 -> 1.11.0-3.el8_2
libreport-filesystem 2.9.5-15.el8 -> 2.9.5-10.el8
libseccomp 2.5.1-1.el8 -> 2.4.1-1.el8
libselinux 2.9-5.el8 -> 2.9-3.el8
libselinux-utils 2.9-5.el8 -> 2.9-3.el8
libsemanage 2.9-6.el8 -> 2.9-2.el8
libsepol 2.9-2.el8 -> 2.9-1.el8
libsmartcols 2.32.1-27.el8 -> 2.32.1-22.el8
libsmbclient 4.13.3-9.el8_4 -> 4.11.2-13.el8
libsolv 0.7.16-3.el8_4 -> 0.7.7-1.el8
libss 1.45.6-1.el8 -> 1.45.4-3.el8
libssh 0.9.4-2.el8 -> 0.9.0-4.el8
libssh-config 0.9.4-2.el8 -> 0.9.0-4.el8
libsss_autofs 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
libsss_certmap 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
libsss_idmap 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
libsss_nss_idmap 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
libsss_sudo 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
libstdc++ 8.4.1-1.el8 -> 8.3.1-5.el8
libtalloc 2.3.1-2.el8 -> 2.2.0-7.el8
libtdb 1.4.3-1.el8 -> 1.4.2-2.el8
libteam 1.31-2.el8 -> 1.29-1.el8_2.2
libtevent 0.10.2-2.el8 -> 0.10.0-2.el8
libusbx 1.0.23-4.el8 -> 1.0.22-1.el8
libuuid 2.32.1-27.el8 -> 2.32.1-22.el8
libwbclient 4.13.3-9.el8_4 -> 4.11.2-13.el8
libxml2 2.9.7-9.el8_4.2 -> 2.9.7-7.el8
libxslt 1.1.32-6.el8 -> 1.1.32-4.el8
libzstd 1.4.4-1.el8 -> 1.4.2-2.el8
linux-firmware 20201218-102.git05789708.el8 -> 20200512-98.gitb2cad6a2.el8
logrotate 3.14.0-4.el8 -> 3.14.0-3.el8
lvm2 8:2.03.11-5.el8 -> 8:2.03.08-3.el8
lvm2-libs 8:2.03.11-5.el8 -> 8:2.03.08-3.el8
lz4-libs 1.8.3-3.el8_4 -> 1.8.1.2-4.el8
mdadm 4.1-16.el8_4 -> 4.1-13.el8
microcode_ctl 4:20210216-1.20210608.1.el8_4 -> 4:20191115-4.20210608.1.el8_2
mokutil 1:0.3.0-11.el8 -> 1:0.3.0-9.el8_2.1
net-tools 2.0-0.52.20160912git.el8 -> 2.0-0.51.20160912git.el8
nettle 3.4.1-4.el8_3 -> 3.4.1-2.el8_2
nfs-utils 1:2.3.3-41.el8_4.3 -> 1:2.3.3-31.el8
nftables 1:0.9.3-18.el8 -> 1:0.9.3-12.el8_2.1
numactl-libs 2.0.12-11.el8 -> 2.0.12-9.el8
oniguruma 6.8.2-2.el8 -> 6.8.2-1.el8
open-vm-tools 11.2.0-2.el8 -> 11.0.0-4.el8
openldap 2.4.46-17.el8_4 -> 2.4.46-11.el8_1
openshift-clients 4.8.0-202202071729.p0.g9aacc90.assembly.stream.el8 -> 4.6.0-202109091425.p0.git.9de06af.assembly.stream.el8
openshift-hyperkube 4.8.0-202202050715.p0.gb82a451.assembly.stream.el8 -> 4.6.0-202109180038.p0.git.d5ed12c.assembly.stream.el8
openssh 8.0p1-6.el8_4.2 -> 8.0p1-4.el8_1
openssh-clients 8.0p1-6.el8_4.2 -> 8.0p1-4.el8_1
openssh-server 8.0p1-6.el8_4.2 -> 8.0p1-4.el8_1
openssl 1:1.1.1g-15.el8_3 -> 1:1.1.1c-18.el8_2
openssl-libs 1:1.1.1g-15.el8_3 -> 1:1.1.1c-18.el8_2
ostree 2020.7-6.el8_4 -> 2020.5-4.el8
ostree-grub2 2020.7-6.el8_4 -> 2020.5-4.el8
ostree-libs 2020.7-6.el8_4 -> 2020.5-4.el8
p11-kit 0.23.22-1.el8 -> 0.23.14-5.el8_0
p11-kit-trust 0.23.22-1.el8 -> 0.23.14-5.el8_0
pam 1.3.1-14.el8 -> 1.3.1-8.el8
pciutils 3.7.0-1.el8 -> 3.5.6-4.el8
pciutils-libs 3.7.0-1.el8 -> 3.5.6-4.el8
pcre2 10.32-2.el8 -> 10.32-1.el8
perl-Carp 1.50-439.module+el8.3.0+6718+7f269185 -> 1.42-396.el8
perl-Errno 1.30-452.module+el8.4.0+8990+01326e37 -> 1.28-418.el8_2.1
perl-Exporter 5.73-440.module+el8.3.0+6718+7f269185 -> 5.72-396.el8
perl-File-Path 2.16-439.module+el8.3.0+6718+7f269185 -> 2.15-2.el8
perl-IO 1.40-452.module+el8.4.0+8990+01326e37 -> 1.38-418.el8_2.1
perl-PathTools 3.78-439.module+el8.3.0+6718+7f269185 -> 3.74-1.el8
perl-Scalar-List-Utils 3:1.53-439.module+el8.3.0+6718+7f269185 -> 3:1.49-2.el8
perl-Socket 4:2.029-4.module+el8.3.0+6718+7f269185 -> 4:2.027-3.el8
perl-Text-Tabs+Wrap 2013.0523-396.module+el8.3.0+6718+7f269185 -> 2013.0523-395.el8
perl-Unicode-Normalize 1.26-439.module+el8.3.0+6718+7f269185 -> 1.25-396.el8
perl-constant 1.33-1001.module+el8.3.0+6718+7f269185 -> 1.33-396.el8
perl-interpreter 4:5.30.1-452.module+el8.4.0+8990+01326e37 -> 4:5.26.3-418.el8_2.1
perl-libs 4:5.30.1-452.module+el8.4.0+8990+01326e37 -> 4:5.26.3-418.el8_2.1
perl-macros 4:5.30.1-452.module+el8.4.0+8990+01326e37 -> 4:5.26.3-418.el8_2.1
perl-parent 1:0.237-2.module+el8.3.0+6718+7f269185 -> 1:0.237-1.el8
perl-threads 1:2.22-439.module+el8.3.0+6718+7f269185 -> 1:2.21-2.el8
perl-threads-shared 1.60-440.module+el8.3.0+6718+7f269185 -> 1.58-2.el8
platform-python 3.6.8-39.el8_4 -> 3.6.8-24.el8_2
platform-python-pip 9.0.3-19.el8 -> 9.0.3-16.el8
platform-python-setuptools 39.2.0-6.el8 -> 39.2.0-5.el8
podman 3.2.3-0.11.module+el8.4.0+12050+ef972f71 -> 1.9.3-3.rhaos4.6.el8
policycoreutils 2.9-14.el8 -> 2.9-9.el8
policycoreutils-python-utils 2.9-14.el8 -> 2.9-9.el8
polkit 0.115-11.el8_4.2 -> 0.115-11.el8_2.1
polkit-libs 0.115-11.el8_4.2 -> 0.115-11.el8_2.1
popt 1.18-1.el8 -> 1.16-14.el8
procps-ng 3.3.15-6.el8 -> 3.3.15-1.el8
protobuf-c 1.3.0-6.el8 -> 1.3.0-4.el8
psmisc 23.1-5.el8 -> 23.1-4.el8
python3-bind 32:9.11.26-4.el8_4 -> 32:9.11.13-6.el8_2.3
python3-libs 3.6.8-39.el8_4 -> 3.6.8-24.el8_2
python3-libselinux 2.9-5.el8 -> 2.9-3.el8
python3-libsemanage 2.9-6.el8 -> 2.9-2.el8
python3-pip-wheel 9.0.3-19.el8 -> 9.0.3-16.el8
python3-ply 3.9-9.el8 -> 3.9-8.el8
python3-policycoreutils 2.9-14.el8 -> 2.9-9.el8
python3-setools 4.3.0-2.el8 -> 4.2.2-2.el8
python3-setuptools-wheel 39.2.0-6.el8 -> 39.2.0-5.el8
python3-sssdconfig 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
quota 1:4.04-12.el8 -> 1:4.04-10.el8
quota-nls 1:4.04-12.el8 -> 1:4.04-10.el8
rdma-core 32.0-5.el8_4 -> 26.0-8.el8
redhat-release-coreos 48.84-4.el8 -> 46.82-2.el8
rpcbind 1.2.5-8.el8 -> 1.2.5-7.el8
rpm 4.14.3-14.el8_4.2 -> 4.14.2-38.el8_2
rpm-libs 4.14.3-14.el8_4.2 -> 4.14.2-38.el8_2
rpm-ostree 2020.7-3.el8 -> 2020.4-1.el8
rpm-ostree-libs 2020.7-3.el8 -> 2020.4-1.el8
rpm-plugin-selinux 4.14.3-14.el8_4.2 -> 4.14.2-38.el8_2
rsync 3.1.3-12.el8 -> 3.1.3-7.el8
runc 1.0.0-98.rhaos4.8.gitcd80260.el8 -> 1.0.0-87.rhaos4.6.git23384e2.el8
samba-client-libs 4.13.3-9.el8_4 -> 4.11.2-13.el8
samba-common 4.13.3-9.el8_4 -> 4.11.2-13.el8
samba-common-libs 4.13.3-9.el8_4 -> 4.11.2-13.el8
sed 4.5-2.el8 -> 4.5-1.el8
selinux-policy 3.14.3-67.el8_4.4 -> 3.14.3-41.el8_2.9
selinux-policy-targeted 3.14.3-67.el8_4.4 -> 3.14.3-41.el8_2.9
setup 2.12.2-6.el8 -> 2.12.2-5.el8
shadow-utils 2:4.6-12.el8 -> 2:4.6-8.el8
skopeo 1:1.3.1-5.module+el8.4.0+11990+22932769 -> 1:1.1.1-3.rhaos4.6.el8
slirp4netns 1.1.8-1.module+el8.4.0+11822+6cc1e7d7 -> 0.4.2-3.git21fdece.module+el8.2.0+11121+714aca16
sqlite-libs 3.26.0-13.el8 -> 3.26.0-6.el8
sssd 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
sssd-ad 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
sssd-client 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
sssd-common 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
sssd-common-pac 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
sssd-ipa 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
sssd-krb5 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
sssd-krb5-common 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
sssd-ldap 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
sssd-nfs-idmap 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
sssd-proxy 2.4.0-9.el8_4.2 -> 2.2.3-20.el8_2.1
strace 5.7-2.1.el8_4 -> 4.24-9.el8
subscription-manager-rhsm-certificates 1.28.13-6.el8_4 -> 1.26.20-1.el8_2
sudo 1.8.29-7.el8_4.1 -> 1.8.29-5.el8_2.1
systemd 239-45.el8_4.6 -> 239-31.el8_2.4
systemd-journal-remote 239-45.el8_4.6 -> 239-31.el8_2.4
systemd-libs 239-45.el8_4.6 -> 239-31.el8_2.4
systemd-pam 239-45.el8_4.6 -> 239-31.el8_2.4
systemd-udev 239-45.el8_4.6 -> 239-31.el8_2.4
tar 2:1.30-5.el8 -> 2:1.30-4.el8
teamd 1.31-2.el8 -> 1.29-1.el8_2.2
toolbox 0.0.8-3.rhaos4.8.el8 -> 0.0.8-1.rhaos4.6.el8
tpm2-tools 4.1.1-2.el8 -> 3.2.1-1.el8
tpm2-tss 2.3.2-3.el8 -> 2.0.0-4.el8
trousers 0.3.15-1.el8 -> 0.3.14-4.el8
trousers-lib 0.3.15-1.el8 -> 0.3.14-4.el8
tzdata 2021e-1.el8 -> 2021a-1.el8
unbound-libs 1.7.3-15.el8 -> 1.7.3-11.el8_2
userspace-rcu 0.10.1-4.el8 -> 0.10.1-2.el8
util-linux 2.32.1-27.el8 -> 2.32.1-22.el8
vim-minimal 2:8.0.1763-15.el8 -> 2:8.0.1763-13.el8
xfsprogs 5.0.0-8.el8 -> 5.0.0-2.el8
zlib 1.2.11-17.el8 -> 1.2.11-16.2.el8_2
Removed:
ModemManager-glib-1.10.8-2.el8.x86_64
NetworkManager-cloud-setup-1:1.30.0-13.el8_4.x86_64
conntrack-tools-1.4.4-10.el8.x86_64
crypto-policies-scripts-20210209-1.gitbfb6bed.el8_3.noarch
dracut-squash-049-135.git20210121.el8.x86_64
ethtool-2:5.8-5.el8.x86_64
fstrm-0.6.0-3.el8.1.x86_64
fuse3-3.2.1-12.el8.x86_64
fwupd-1.5.9-1.el8_4.x86_64
groff-base-1.22.3-18.el8.x86_64
iproute-tc-5.9.0-4.el8.x86_64
kexec-tools-2.0.20-46.el8_4.3.x86_64
libgcab1-1.1-1.el8.x86_64
libgudev-232-4.el8.x86_64
libgusb-0.3.0-1.el8.x86_64
libicu-60.3-2.el8_1.x86_64
libmbim-1.20.2-1.el8.x86_64
libnetfilter_cthelper-1.0.0-15.el8.x86_64
libnetfilter_cttimeout-1.0.0-11.el8.x86_64
libnetfilter_queue-1.0.4-3.el8.x86_64
libqmi-1.24.0-1.el8.x86_64
libslirp-4.3.1-1.module+el8.4.0+11822+6cc1e7d7.x86_64
libsmbios-2.4.1-2.el8.x86_64
libxmlb-0.1.15-1.el8.x86_64
lmdb-libs-0.9.24-1.el8.x86_64
lzo-2.08-14.el8.x86_64
memstrack-0.1.11-1.el8.x86_64
openvswitch2.15-2.15.0-55.el8fdp.x86_64
perl-Data-Dumper-2.174-440.module+el8.3.0+6718+7f269185.x86_64
perl-Digest-1.17-396.module+el8.3.0+6718+7f269185.noarch
perl-Digest-MD5-2.55-397.module+el8.3.0+6718+7f269185.x86_64
perl-Encode-4:3.01-439.module+el8.3.0+6718+7f269185.x86_64
perl-File-Temp-1:0.230.900-439.module+el8.3.0+6718+7f269185.noarch
perl-Getopt-Long-1:2.51-1.module+el8.3.0+6718+7f269185.noarch
perl-HTTP-Tiny-0.076-439.module+el8.3.0+6718+7f269185.noarch
perl-IO-Socket-IP-0.39-6.module+el8.3.0+6718+7f269185.noarch
perl-IO-Socket-SSL-2.066-4.module+el8.3.0+6452+449fe210.noarch
perl-MIME-Base64-3.15-1001.module+el8.3.0+6718+7f269185.x86_64
perl-Mozilla-CA-20160104-7.module+el8.3.0+6498+fb59cb73.noarch
perl-Net-SSLeay-1.88-1.module+el8.3.0+6452+449fe210.x86_64
perl-Pod-Escapes-1:1.07-396.module+el8.3.0+6718+7f269185.noarch
perl-Pod-Perldoc-3.28.01-442.module+el8.3.0+6718+7f269185.noarch
perl-Pod-Simple-1:3.40-1.module+el8.3.0+6718+7f269185.noarch
perl-Pod-Usage-4:1.69-396.module+el8.3.0+6718+7f269185.noarch
perl-Storable-1:3.15-442.module+el8.3.0+6718+7f269185.x86_64
perl-Term-ANSIColor-4.06-397.module+el8.3.0+6718+7f269185.noarch
perl-Term-Cap-1.17-396.module+el8.3.0+6718+7f269185.noarch
perl-Text-ParseWords-3.30-396.module+el8.3.0+6718+7f269185.noarch
perl-Time-Local-1:1.280-2.module+el8.3.0+6718+7f269185.noarch
perl-URI-1.76-5.module+el8.3.0+6718+7f269185.noarch
perl-libnet-3.11-4.module+el8.3.0+6718+7f269185.noarch
perl-podlators-1:4.12-2.module+el8.3.0+6718+7f269185.noarch
podman-catatonit-3.2.3-0.11.module+el8.4.0+12050+ef972f71.x86_64
python3-pyyaml-3.12-12.el8.x86_64
qemu-guest-agent-15:4.2.0-48.module+el8.4.0+11909+3300d70f.3.x86_64
snappy-1.1.8-3.el8.x86_64
squashfs-tools-4.3-20.el8.x86_64
stalld-1.10-1.el8_4.x86_64
Added:
dbxtool-8-5.el8_2.2.x86_64
efivar-36-1.el8.x86_64
fipscheck-1.5.0-4.el8.x86_64
fipscheck-lib-1.5.0-4.el8.x86_64
libmetalink-0.1.3-7.el8.x86_64
libvarlink-18-3.el8.x86_64
openvswitch2.13-2.13.0-120.el8fdp.x86_64
Run "systemctl reboot" to start a reboot
3. CoreOS 재부팅
정상적인 반영을 위해 시스템을 재부팅 한다.
[root@bastion ~]# for node in $(oc get node -o name | cut -d '/' -f '2'); do ssh core@$node "sudo systemctl reboot"; done
4. CoreOS 버전 확인
oc client 명령어를 통해 확인한다.
[root@bastion ~]# oc get node -o wide
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master01.ocp4.ybkim.local Ready master 56d v1.19.0+d5ed12c 200.200.0.10 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
master02.ocp4.ybkim.local Ready master 56d v1.19.0+d5ed12c 200.200.0.11 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
master03.ocp4.ybkim.local Ready master 56d v1.19.0+d5ed12c 200.200.0.12 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
monitoring01.ocp4.ybkim.local Ready monitoring 56d v1.19.0+d5ed12c 200.200.0.30 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
monitoring02.ocp4.ybkim.local Ready monitoring 56d v1.19.0+d5ed12c 200.200.0.31 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
monitoring03.ocp4.ybkim.local Ready monitoring 56d v1.19.0+d5ed12c 200.200.0.32 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
router01.ocp4.ybkim.local Ready router 56d v1.19.0+d5ed12c 200.200.0.20 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
router02.ocp4.ybkim.local Ready router 56d v1.19.0+d5ed12c 200.200.0.21 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
worker01.ocp4.ybkim.local Ready worker 56d v1.19.0+d5ed12c 200.200.0.40 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
worker02.ocp4.ybkim.local Ready worker 56d v1.19.0+d5ed12c 200.200.0.41 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
worker03.ocp4.ybkim.local Ready worker 56d v1.19.0+d5ed12c 200.200.0.42 <none> Red Hat Enterprise Linux CoreOS 46.82.202109180307-0 (Ootpa) 4.18.0-193.65.2.el8_2.x86_64 cri-o://1.19.4-2.rhaos4.6.gitea37eea.el8
5. Machine Config 설정
Machine Config는 Ignition을 통해 OS의 설정 파일을 관리하고 있다.
OpenShift 버전이 업데이트가 되면서 ignition의 Spec 버전도 변경 된다.
v4.6.x, v4.7.x 버전의 경우 ignition 버전은 3.1.0이고,
v4.8.x 버전이상 부터는 3.2.0 버전이다.
따라서, v4.6.46 버전으로 다운그레이드 했으므로, igntion 3.1.0 버전으로 Machine Config 정보를 수정해야 하지만
Master, Worker의 Machine Config는 Machine Config Operator에서 자동 관리 해주기 때문에 변경이 불가능 하다.
5.1. Machine Config Pull 삭제
기존에 생성된 Master, Worker의 Machine Config Pool을 삭제 후 바로 Machine Config도 삭제 한다.
[root@bastion ~]# oc delete mcp --all && oc delete mc --all
5.2. Machine Config annotaion 정보 수정
각 클러스터 노드의 정의 되어있는 annotaion 부분에 아래 4가지 항목을 변경한다.
- machineconfiguration.openshift.io/currentConfig
현재 노드에 적용된 rendered 파일
- machineconfiguration.openshift.io/desiredConfig
현재 노드에 적용할 rendered 파일
- machineconfiguration.openshift.io/reason
currentConfig, desiredConfig의 파일 누락이나 변경이 되지 않는 경우 발생.
보통은 Machine Config Operator 상태가 정상적이지 않는 경우, 이유에 대한 내용이 출력 됨.
- machineconfiguration.openshift.io/state
Done: 정상, Degraded: 비정상
- Master Nodes
[root@bastion ~]# for node in $(oc get node -o name | cut -d '/' -f '2' | grep master); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "",
"machineconfiguration.openshift.io/desiredConfig": "",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
- Worker Nodes
[root@bastion ~]# for node in $(oc get node -o name | cut -d '/' -f '2' | grep worker); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "",
"machineconfiguration.openshift.io/desiredConfig": "",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
- Monitoring Nodes
[root@bastion ~]# for node in $(oc get node -o name | cut -d '/' -f '2' | grep monitoring); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "",
"machineconfiguration.openshift.io/desiredConfig": "",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
- Router Nodes
[root@bastion ~]# for node in $(oc get node -o name | cut -d '/' -f '2' | grep router); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "",
"machineconfiguration.openshift.io/desiredConfig": "",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
$ buildah from quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:08180bc0b4765240beb07f9ee037a89442f90ca6cca9a4a682e73fd208ab2330
$ buildah ps
$ buildah mount release-working-container
$ DIR=/var/lib/containers/storage/overlay/2d920aaeb93e8dde8b366668b0df30c59fcb9085c5221c81df29e7c322405f12/merged
$ cat $DIR/release-manifests/image-references | jq '.spec.tags[] | select(.name == "machine-os-content")'
{
"name": "machine-os-content",
"annotations": {
"io.openshift.build.commit.id": "",
"io.openshift.build.commit.ref": "",
"io.openshift.build.source-location": "",
"io.openshift.build.version-display-names": "machine-os=Red Hat Enterprise Linux CoreOS",
"io.openshift.build.versions": "machine-os=46.82.202109180307-0"
},
"from": {
"kind": "DockerImage",
"name": "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:0a25e40c8f8056d0c5d6708e6dec1b5f35dce3abeb391f81d0e24f298f7baad4"
},
"generation": 2,
"importPolicy": {},
"referencePolicy": {
"type": "Source"
}
}
- Deployment
oc scale --replicas=0 deployment/cluster-version-operator -n openshift-cluster-version
oc scale --replicas=0 deployment/machine-config-operator -n openshift-machine-config-operator
oc scale --replicas=0 deployment/machine-config-controller -n openshift-machine-config-operator
oc scale --replicas=0 deployment/machine-api-operator -n openshift-machine-api
oc scale --replicas=0 deployment/cluster-baremetal-operator -n openshift-machine-api
- ConfigMap
oc delete configmap coreos-bootimages machine-config-osimageurl machine-config-controller machine-config-operator-images -n openshift-machine-config-operator
oc delete configmap machine-api-operator-images cluster-baremetal-operator-images -n openshift-machine-api
- Machine Config Pool & Config
oc delete mcp --all && oc delete mc --all
- Master Nodes
[root@bastion ~]# for node in $(oc get node -o name | cut -d '/' -f '2' | grep master); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "rendered-master-36657bb51235c0660641d392a78f0df4",
"machineconfiguration.openshift.io/desiredConfig": "rendered-master-36657bb51235c0660641d392a78f0df4",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
- Worker Nodes
[root@bastion ~]# for node in $(oc get node -o name | cut -d '/' -f '2' | egrep 'worker|monitoring|router'); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "rendered-worker-cbbf833b2946d8e646367788c1c7ea2f",
"machineconfiguration.openshift.io/desiredConfig": "rendered-worker-cbbf833b2946d8e646367788c1c7ea2f",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
- Monitoring Nodes
[root@bastion ~]# for node in $(oc get node -o name | cut -d '/' -f '2' | grep monitoring); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "",
"machineconfiguration.openshift.io/desiredConfig": "",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
- Router Nodes
[root@bastion ~]# for node in $(oc get node -o name | cut -d '/' -f '2' | grep router); do \
oc patch node/$node --type=merge --patch \
'{
"metadata": {
"annotations": {
"machineconfiguration.openshift.io/currentConfig": "",
"machineconfiguration.openshift.io/desiredConfig": "",
"machineconfiguration.openshift.io/reason": "",
"machineconfiguration.openshift.io/state": "Done"
}
}
}';
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment