Skip to content

borball/ocp-cluster-diff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Usage

Usage: ./cluster-diff.sh -s kube1 -t kube2 -h
This will compare pre-defined custom resources on 2 clusters specified by kubeconfig files or k8s context with -s and -t
Example: ./cluster-diff.sh -s sno1.yaml -t sno2.yaml
Example: ./cluster-diff.sh -s cluster1 -t cluster2
Can set the diff compare mode to adjust the output of the comparison result:
    export DIFF_OPTS=-y
    export DIFF_OPTS="--suppress-common-lines -W $(( $(tput cols) - 2 )) --color -y"
    export DIFF_OPTS=--color
The default DIFF_OPTS is: "-W $(( $(tput cols) - 2 )) --color -y"

Make sure the server you run the script has the access with oc commands to the 2 clusters.

Example 1

# ./cluster-diff.sh -s /root/workload-enablement/kubeconfigs/kubeconfig-sno131.yaml -t /root/workload-enablement/kubeconfigs/kubeconfig-sno132.yaml
Compare cluster source: /root/workload-enablement/kubeconfigs/kubeconfig-sno131.yaml
Compare cluster target: /root/workload-enablement/kubeconfigs/kubeconfig-sno132.yaml
Compare cluster-scoped resources:

Diff clusterversion:version: diff -W 270 --color -y   source-clusterversion-version.yaml target-clusterversion-version.yaml
------------------------------------------------------------------------------------------------
apiVersion: config.openshift.io/v1													apiVersion: config.openshift.io/v1
kind: ClusterVersion															kind: ClusterVersion
metadata:																metadata:
  name: version																  name: version
spec:																	spec:
  capabilities:																  capabilities:
    additionalEnabledCapabilities:													    additionalEnabledCapabilities:
      - NodeTuning															      - NodeTuning
      - marketplace														      |	      - OperatorLifecycleManager
																      >	      - Ingress
    baselineCapabilitySet: None														    baselineCapabilitySet: None
  channel: stable-4.14														      |	  channel: candidate-4.16
  clusterID: 043e9e47-e79d-4cbc-9538-5714d2ef9296										      |	  clusterID: ec56c67d-c783-4908-a528-60e06c564b76
  desiredUpdate:															  desiredUpdate:
    version: 4.14.25														      |	    version: 4.16.4
  upstream: https://api.openshift.com/api/upgrades_info/v1/graph									  upstream: https://api.openshift.com/api/upgrades_info/v1/graph
------------------------------------------------------------------------------------------------

Diff nodes.config.openshift.io:cluster: diff -W 270 --color -y   source-nodes.config.openshift.io-cluster.yaml target-nodes.config.openshift.io-cluster.yaml
------------------------------------------------------------------------------------------------
apiVersion: config.openshift.io/v1													apiVersion: config.openshift.io/v1
kind: Node																kind: Node
metadata:																metadata:
  name: cluster																  name: cluster
spec:																      |	spec: {}
  cgroupMode: v1														      <
------------------------------------------------------------------------------------------------

Diff containerruntimeconfigs:: diff -W 270 --color -y   source-containerruntimeconfigs.yaml target-containerruntimeconfigs.yaml
------------------------------------------------------------------------------------------------
apiVersion: machineconfiguration.openshift.io/v1											apiVersion: machineconfiguration.openshift.io/v1
kind: ContainerRuntimeConfig														kind: ContainerRuntimeConfig
metadata:																metadata:
  name: enable-crun-master														  name: enable-crun-master
spec:																	spec:
  containerRuntimeConfig:														  containerRuntimeConfig:
    defaultRuntime: crun														    defaultRuntime: crun
  machineConfigPoolSelector:														  machineConfigPoolSelector:
    matchLabels:															    matchLabels:
      pools.operator.machineconfiguration.openshift.io/master: ""									      pools.operator.machineconfiguration.openshift.io/master: ""
------------------------------------------------------------------------------------------------

Diff performanceprofiles:: diff -W 270 --color -y   source-performanceprofiles.yaml target-performanceprofiles.yaml
------------------------------------------------------------------------------------------------
apiVersion: performance.openshift.io/v2													apiVersion: performance.openshift.io/v2
kind: PerformanceProfile														kind: PerformanceProfile
metadata:																metadata:
  name: openshift-node-performance-profile												  name: openshift-node-performance-profile
spec:																	spec:
  additionalKernelArgs:															  additionalKernelArgs:
    - rcupdate.rcu_normal_after_boot=0													    - rcupdate.rcu_normal_after_boot=0
    - efi=runtime															    - efi=runtime
    - vfio_pci.enable_sriov=1														    - vfio_pci.enable_sriov=1
    - vfio_pci.disable_idle_d3=1													    - vfio_pci.disable_idle_d3=1
    - module_blacklist=irdma														    - module_blacklist=irdma
  cpu:																	  cpu:
    isolated: 2-31,34-63														    isolated: 2-31,34-63
    reserved: 0-1,32-33															    reserved: 0-1,32-33
  hugepages:																  hugepages:
    defaultHugepagesSize: 1G														    defaultHugepagesSize: 1G
    pages:																    pages:
      - count: 32															      - count: 32
        size: 1G															        size: 1G
  machineConfigPoolSelector:														  machineConfigPoolSelector:
    pools.operator.machineconfiguration.openshift.io/master: ""										    pools.operator.machineconfiguration.openshift.io/master: ""
  nodeSelector:																  nodeSelector:
    node-role.kubernetes.io/master: ""													    node-role.kubernetes.io/master: ""
  numa:																	  numa:
    topologyPolicy: restricted														    topologyPolicy: restricted
  realTimeKernel:															  realTimeKernel:
    enabled: true															    enabled: true
  workloadHints:															  workloadHints:
    highPowerConsumption: false														    highPowerConsumption: false
    perPodPowerManagement: false													    perPodPowerManagement: false
    realTime: true															    realTime: true
------------------------------------------------------------------------------------------------

Diff networks.operator.openshift.io:cluster: diff -W 270 --color -y   source-networks.operator.openshift.io-cluster.yaml target-networks.operator.openshift.io-cluster.yaml
------------------------------------------------------------------------------------------------
true																	true
------------------------------------------------------------------------------------------------

Diff mc:container-mount-namespace-and-kubelet-conf-master: diff -W 270 --color -y   source-mc-container-mount-namespace-and-kubelet-conf-master.yaml target-mc-container-mount-namespace-and-kubelet-conf-master.yaml
------------------------------------------------------------------------------------------------
apiVersion: machineconfiguration.openshift.io/v1											apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig															kind: MachineConfig
metadata:																metadata:
  name: container-mount-namespace-and-kubelet-conf-master										  name: container-mount-namespace-and-kubelet-conf-master
spec:																	spec:
  config:																  config:
    ignition:																    ignition:
      version: 3.2.0															      version: 3.2.0
    storage:																    storage:
      files:																      files:
        - contents:															        - contents:
            source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKCmRlYnVnKCkgewogIGVjaG8gJEAgPiYyCn0KCnVzYWdlKCkgewogIGVjaG8g	            source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKCmRlYnVnKCkgewogIGVjaG8gJEAgPiYyCn0KCnVzYWdlKCkgewogIGVjaG8g
          mode: 493															          mode: 493
          path: /usr/local/bin/extractExecStart												          path: /usr/local/bin/extractExecStart
        - contents:															        - contents:
            source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKbnNlbnRlciAtLW1vdW50PS9ydW4vY29udGFpbmVyLW1vdW50LW5hbWVzcGFj	            source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKbnNlbnRlciAtLW1vdW50PS9ydW4vY29udGFpbmVyLW1vdW50LW5hbWVzcGFj
          mode: 493															          mode: 493
          path: /usr/local/bin/nsenterCmns												          path: /usr/local/bin/nsenterCmns
    systemd:																    systemd:
      units:																      units:
        - contents: |															        - contents: |
            [Unit]															            [Unit]
            Description=Manages a mount namespace that both kubelet and crio can use to share their container-specific mounts		            Description=Manages a mount namespace that both kubelet and crio can use to share their container-specific mounts

            [Service]															            [Service]
            Type=oneshot														            Type=oneshot
            RemainAfterExit=yes														            RemainAfterExit=yes
            RuntimeDirectory=container-mount-namespace											            RuntimeDirectory=container-mount-namespace
            Environment=RUNTIME_DIRECTORY=%t/container-mount-namespace									            Environment=RUNTIME_DIRECTORY=%t/container-mount-namespace
            Environment=BIND_POINT=%t/container-mount-namespace/mnt									            Environment=BIND_POINT=%t/container-mount-namespace/mnt
            ExecStartPre=bash -c "findmnt ${RUNTIME_DIRECTORY} || mount --make-unbindable --bind ${RUNTIME_DIRECTORY} ${RUNTIME_DIREC	            ExecStartPre=bash -c "findmnt ${RUNTIME_DIRECTORY} || mount --make-unbindable --bind ${RUNTIME_DIRECTORY} ${RUNTIME_DIREC
            ExecStartPre=touch ${BIND_POINT}												            ExecStartPre=touch ${BIND_POINT}
            ExecStart=unshare --mount=${BIND_POINT} --propagation slave mount --make-rshared /						            ExecStart=unshare --mount=${BIND_POINT} --propagation slave mount --make-rshared /
            ExecStop=umount -R ${RUNTIME_DIRECTORY}											            ExecStop=umount -R ${RUNTIME_DIRECTORY}
          name: container-mount-namespace.service											          name: container-mount-namespace.service
        - dropins:															        - dropins:
            - contents: |														            - contents: |
                [Unit]															                [Unit]
                Wants=container-mount-namespace.service											                Wants=container-mount-namespace.service
                After=container-mount-namespace.service											                After=container-mount-namespace.service

                [Service]														                [Service]
                ExecStartPre=/usr/local/bin/extractExecStart %n /%t/%N-execstart.env ORIG_EXECSTART					                ExecStartPre=/usr/local/bin/extractExecStart %n /%t/%N-execstart.env ORIG_EXECSTART
                EnvironmentFile=-/%t/%N-execstart.env											                EnvironmentFile=-/%t/%N-execstart.env
                ExecStart=														                ExecStart=
                ExecStart=bash -c "nsenter --mount=%t/container-mount-namespace/mnt \							                ExecStart=bash -c "nsenter --mount=%t/container-mount-namespace/mnt \
                    ${ORIG_EXECSTART}"													                    ${ORIG_EXECSTART}"
              name: 90-container-mount-namespace.conf											              name: 90-container-mount-namespace.conf
          name: crio.service														          name: crio.service
        - dropins:															        - dropins:
            - contents: |														            - contents: |
                [Unit]															                [Unit]
                Wants=container-mount-namespace.service											                Wants=container-mount-namespace.service
                After=container-mount-namespace.service											                After=container-mount-namespace.service

                [Service]														                [Service]
                ExecStartPre=/usr/local/bin/extractExecStart %n /%t/%N-execstart.env ORIG_EXECSTART					                ExecStartPre=/usr/local/bin/extractExecStart %n /%t/%N-execstart.env ORIG_EXECSTART
                EnvironmentFile=-/%t/%N-execstart.env											                EnvironmentFile=-/%t/%N-execstart.env
                ExecStart=														                ExecStart=
                ExecStart=bash -c "nsenter --mount=%t/container-mount-namespace/mnt \							                ExecStart=bash -c "nsenter --mount=%t/container-mount-namespace/mnt \
                    ${ORIG_EXECSTART} --housekeeping-interval=30s"									                    ${ORIG_EXECSTART} --housekeeping-interval=30s"
              name: 90-container-mount-namespace.conf											              name: 90-container-mount-namespace.conf
            - contents: |														            - contents: |
                [Service]														                [Service]
                Environment="OPENSHIFT_MAX_HOUSEKEEPING_INTERVAL_DURATION=60s"								                Environment="OPENSHIFT_MAX_HOUSEKEEPING_INTERVAL_DURATION=60s"
                Environment="OPENSHIFT_EVICTION_MONITORING_PERIOD_DURATION=30s"								                Environment="OPENSHIFT_EVICTION_MONITORING_PERIOD_DURATION=30s"
              name: 30-kubelet-interval-tuning.conf											              name: 30-kubelet-interval-tuning.conf
          name: kubelet.service														          name: kubelet.service
------------------------------------------------------------------------------------------------

Diff mc:07-sriov-related-kernel-args-master: diff -W 270 --color -y   source-mc-07-sriov-related-kernel-args-master.yaml target-mc-07-sriov-related-kernel-args-master.yaml
------------------------------------------------------------------------------------------------
apiVersion: machineconfiguration.openshift.io/v1											apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig															kind: MachineConfig
metadata:																metadata:
  name: 07-sriov-related-kernel-args-master												  name: 07-sriov-related-kernel-args-master
spec:																	spec:
  config:																  config:
    ignition:																    ignition:
      version: 3.2.0															      version: 3.2.0
  kernelArguments:															  kernelArguments:
    - intel_iommu=on															    - intel_iommu=on
    - iommu=pt																    - iommu=pt
------------------------------------------------------------------------------------------------

Diff mc:08-set-rcu-normal-master: diff -W 270 --color -y   source-mc-08-set-rcu-normal-master.yaml target-mc-08-set-rcu-normal-master.yaml
------------------------------------------------------------------------------------------------
apiVersion: machineconfiguration.openshift.io/v1											apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig															kind: MachineConfig
metadata:																metadata:
  name: 08-set-rcu-normal-master													  name: 08-set-rcu-normal-master
spec:																	spec:
  config:																  config:
    ignition:																    ignition:
      version: 3.2.0															      version: 3.2.0
    storage:																    storage:
      files:																      files:
        - contents:															        - contents:
            source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKIwojIERpc2FibGUgcmN1X2V4cGVkaXRlZCBhZnRlciBub2RlIGhhcyBmaW5p	            source: data:text/plain;charset=utf-8;base64,IyEvYmluL2Jhc2gKIwojIERpc2FibGUgcmN1X2V4cGVkaXRlZCBhZnRlciBub2RlIGhhcyBmaW5p
          mode: 493															          mode: 493
          path: /usr/local/bin/set-rcu-normal.sh											          path: /usr/local/bin/set-rcu-normal.sh
    systemd:																    systemd:
      units:																      units:
        - contents: |															        - contents: |
            [Unit]															            [Unit]
            Description=Disable rcu_expedited after node has finished booting by setting rcu_normal to 1				            Description=Disable rcu_expedited after node has finished booting by setting rcu_normal to 1

            [Service]															            [Service]
            Type=simple															            Type=simple
            ExecStart=/usr/local/bin/set-rcu-normal.sh											            ExecStart=/usr/local/bin/set-rcu-normal.sh

            # Maximum wait time is 600s = 10m:												            # Maximum wait time is 600s = 10m:
            Environment=MAXIMUM_WAIT_TIME=600												            Environment=MAXIMUM_WAIT_TIME=600

            # Steady-state threshold = 2%												            # Steady-state threshold = 2%
            # Allowed values:														            # Allowed values:
            #  4  - absolute pod count (+/-)												            #  4  - absolute pod count (+/-)
            #  4% - percent change (+/-)												            #  4% - percent change (+/-)
            #  -1 - disable the steady-state check											            #  -1 - disable the steady-state check
            # Note: '%' must be escaped as '%%' in systemd unit files									            # Note: '%' must be escaped as '%%' in systemd unit files
            Environment=STEADY_STATE_THRESHOLD=2%%											            Environment=STEADY_STATE_THRESHOLD=2%%

            # Steady-state window = 120s												            # Steady-state window = 120s
            # If the running pod count stays within the given threshold for this time							            # If the running pod count stays within the given threshold for this time
            # period, return CPU utilization to normal before the maximum wait time has							            # period, return CPU utilization to normal before the maximum wait time has
            # expires															            # expires
            Environment=STEADY_STATE_WINDOW=120												            Environment=STEADY_STATE_WINDOW=120

            # Steady-state minimum = 40													            # Steady-state minimum = 40
            # Increasing this will skip any steady-state checks until the count rises above						            # Increasing this will skip any steady-state checks until the count rises above
            # this number to avoid false positives if there are some periods where the							            # this number to avoid false positives if there are some periods where the
            # count doesn't increase but we know we can't be at steady-state yet.							            # count doesn't increase but we know we can't be at steady-state yet.
            Environment=STEADY_STATE_MINIMUM=40												            Environment=STEADY_STATE_MINIMUM=40

            [Install]															            [Install]
            WantedBy=multi-user.target													            WantedBy=multi-user.target
          enabled: true															          enabled: true
          name: set-rcu-normal.service													          name: set-rcu-normal.service
------------------------------------------------------------------------------------------------

Diff mc:99-crio-disable-wipe-master: diff -W 270 --color -y   source-mc-99-crio-disable-wipe-master.yaml target-mc-99-crio-disable-wipe-master.yaml
------------------------------------------------------------------------------------------------
apiVersion: machineconfiguration.openshift.io/v1											apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig															kind: MachineConfig
metadata:																metadata:
  name: 99-crio-disable-wipe-master													  name: 99-crio-disable-wipe-master
spec:																	spec:
  config:																  config:
    ignition:																    ignition:
      version: 3.2.0															      version: 3.2.0
    storage:																    storage:
      files:																      files:
        - contents:															        - contents:
            source: data:text/plain;charset=utf-8;base64,W2NyaW9dCmNsZWFuX3NodXRkb3duX2ZpbGUgPSAiIgo=					            source: data:text/plain;charset=utf-8;base64,W2NyaW9dCmNsZWFuX3NodXRkb3duX2ZpbGUgPSAiIgo=
          mode: 420															          mode: 420
          path: /etc/crio/crio.conf.d/99-crio-disable-wipe.toml										          path: /etc/crio/crio.conf.d/99-crio-disable-wipe.toml
------------------------------------------------------------------------------------------------

Diff mc:99-sync-time-once-master: diff -W 270 --color -y   source-mc-99-sync-time-once-master.yaml target-mc-99-sync-time-once-master.yaml
------------------------------------------------------------------------------------------------
apiVersion: machineconfiguration.openshift.io/v1											apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig															kind: MachineConfig
metadata:																metadata:
  name: 99-sync-time-once-master													  name: 99-sync-time-once-master
spec:																	spec:
  config:																  config:
    ignition:																    ignition:
      version: 3.2.0															      version: 3.2.0
    systemd:																    systemd:
      units:																      units:
        - contents: |															        - contents: |
            [Unit]															            [Unit]
            Description=Sync time once													            Description=Sync time once
            After=network.service												      |	            After=network-online.target
																      >	            Wants=network-online.target
            [Service]															            [Service]
            Type=oneshot														            Type=oneshot
            TimeoutStartSec=300														            TimeoutStartSec=300
																      >	            ExecCondition=/bin/bash -c 'systemctl is-enabled chronyd.service --quiet && exit 1 || exit 0'
            ExecStart=/usr/sbin/chronyd -n -f /etc/chrony.conf -q									            ExecStart=/usr/sbin/chronyd -n -f /etc/chrony.conf -q
            RemainAfterExit=yes														            RemainAfterExit=yes
            [Install]															            [Install]
            WantedBy=multi-user.target													            WantedBy=multi-user.target
          enabled: true															          enabled: true
          name: sync-time-once.service													          name: sync-time-once.service
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-cluster-node-tuning-operator/tuned:performance-patch: diff -W 270 --color -y   source-openshift-cluster-node-tuning-operator-tuned-performance-patch.yaml target-openshift-cluster-node-tuning-operator-tuned-performance-patch.yaml
------------------------------------------------------------------------------------------------
apiVersion: tuned.openshift.io/v1													apiVersion: tuned.openshift.io/v1
kind: Tuned																kind: Tuned
metadata:																metadata:
  name: performance-patch														  name: performance-patch
  namespace: openshift-cluster-node-tuning-operator											  namespace: openshift-cluster-node-tuning-operator
spec:																	spec:
  profile:																  profile:
    - data: |																    - data: |
        [main]																        [main]
        summary=Configuration changes profile inherited from performance created tuned							        summary=Configuration changes profile inherited from performance created tuned
        include=openshift-node-performance-openshift-node-performance-profile								        include=openshift-node-performance-openshift-node-performance-profile
        [bootloader]															        [bootloader]
        cmdline_pstate=intel_pstate=active												        cmdline_pstate=intel_pstate=active
        [sysctl]														      <
        kernel.timer_migration=1												      <
        [scheduler]															        [scheduler]
        group.ice-ptp=0:f:10:*:ice-ptp.*												        group.ice-ptp=0:f:10:*:ice-ptp.*
        group.ice-gnss=0:f:10:*:ice-gnss.*												        group.ice-gnss=0:f:10:*:ice-gnss.*
        [service]															        [service]
        service.stalld=start,enable													        service.stalld=start,enable
        service.chronyd=stop,disable													        service.chronyd=stop,disable
      name: performance-patch														      name: performance-patch
  recommend:																  recommend:
    - machineConfigLabels:														    - machineConfigLabels:
        machineconfiguration.openshift.io/role: master											        machineconfiguration.openshift.io/role: master
      priority: 19															      priority: 19
      profile: performance-patch													      profile: performance-patch
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-monitoring/cm:cluster-monitoring-config: diff -W 270 --color -y   source-openshift-monitoring-cm-cluster-monitoring-config.yaml target-openshift-monitoring-cm-cluster-monitoring-config.yaml
------------------------------------------------------------------------------------------------
apiVersion: v1																apiVersion: v1
data:																	data:
  config.yaml: |															  config.yaml: |
    alertmanagerMain:															    alertmanagerMain:
      enabled: false															      enabled: false
    telemeterClient:															    telemeterClient:
      enabled: false															      enabled: false
    prometheusK8s:															    prometheusK8s:
       retention: 24h															       retention: 24h
kind: ConfigMap																kind: ConfigMap
metadata:																metadata:
  name: cluster-monitoring-config													  name: cluster-monitoring-config
  namespace: openshift-monitoring													  namespace: openshift-monitoring
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-operator-lifecycle-manager/cm:collect-profiles-config: diff -W 270 --color -y   source-openshift-operator-lifecycle-manager-cm-collect-profiles-config.yaml target-openshift-operator-lifecycle-manager-cm-collect-profiles-config.yaml
------------------------------------------------------------------------------------------------
apiVersion: v1																apiVersion: v1
data:																	data:
  pprof-config.yaml: |															  pprof-config.yaml: |
    disabled: True															    disabled: True
kind: ConfigMap																kind: ConfigMap
metadata:																metadata:
  name: collect-profiles-config														  name: collect-profiles-config
  namespace: openshift-operator-lifecycle-manager											  namespace: openshift-operator-lifecycle-manager
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-marketplace/catalogsource:redhat-operators: diff -W 270 --color -y   source-openshift-marketplace-catalogsource-redhat-operators.yaml target-openshift-marketplace-catalogsource-redhat-operators.yaml
------------------------------------------------------------------------------------------------
apiVersion: operators.coreos.com/v1alpha1												apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource															kind: CatalogSource
metadata:																metadata:
  name: redhat-operators														  name: redhat-operators
  namespace: openshift-marketplace													  namespace: openshift-marketplace
spec:																	spec:
  displayName: Red Hat Operators													  displayName: Red Hat Operators
  image: registry.redhat.io/redhat/redhat-operator-index:v4.14									      |	  image: registry.redhat.io/redhat/redhat-operator-index:v4.16
  publisher: Red Hat															  publisher: Red Hat
  sourceType: grpc															  sourceType: grpc
  updateStrategy:															  updateStrategy:
    registryPoll:															    registryPoll:
      interval: 24h															      interval: 24h
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-marketplace/catalogsource:certified-operators: diff -W 270 --color -y   source-openshift-marketplace-catalogsource-certified-operators.yaml target-openshift-marketplace-catalogsource-certified-operators.yaml
------------------------------------------------------------------------------------------------
apiVersion: operators.coreos.com/v1alpha1												apiVersion: operators.coreos.com/v1alpha1
kind: CatalogSource															kind: CatalogSource
metadata:																metadata:
  name: certified-operators														  name: certified-operators
  namespace: openshift-marketplace													  namespace: openshift-marketplace
spec:																	spec:
  displayName: Certified Operators													  displayName: Certified Operators
  image: registry.redhat.io/redhat/certified-operator-index:v4.14								      |	  image: registry.redhat.io/redhat/certified-operator-index:v4.16
  publisher: Red Hat															  publisher: Red Hat
  sourceType: grpc															  sourceType: grpc
  updateStrategy:															  updateStrategy:
    registryPoll:															    registryPoll:
      interval: 24h															      interval: 24h
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-ptp/ptpconfig:: diff -W 270 --color -y   source-openshift-ptp-ptpconfig.yaml target-openshift-ptp-ptpconfig.yaml
------------------------------------------------------------------------------------------------
apiVersion: ptp.openshift.io/v1														apiVersion: ptp.openshift.io/v1
kind: PtpConfig																kind: PtpConfig
metadata:																metadata:
  name: slave															      |	  name: du-ptp-slave
  namespace: openshift-ptp														  namespace: openshift-ptp
spec:																	spec:
  profile:																  profile:
    - interface: ens1f2															    - interface: ens1f2
      name: slave															      name: slave
      phc2sysOpts: -a -r -n 24														      phc2sysOpts: -a -r -n 24
      ptp4lConf: |															      ptp4lConf: |
        [global]															        [global]
        #																        #
        # Default Data Set														        # Default Data Set
        #																        #
        twoStepFlag 1															        twoStepFlag 1
        slaveOnly 1															        slaveOnly 1
        priority1 128															        priority1 128
        priority2 128															        priority2 128
        domainNumber 24															        domainNumber 24
        clockClass 255															        clockClass 255
        clockAccuracy 0xFE														        clockAccuracy 0xFE
        offsetScaledLogVariance 0xFFFF													        offsetScaledLogVariance 0xFFFF
        free_running 0															        free_running 0
        freq_est_interval 1														        freq_est_interval 1
        dscp_event 0															        dscp_event 0
        dscp_general 0															        dscp_general 0
        dataset_comparison G.8275.x													        dataset_comparison G.8275.x
        G.8275.defaultDS.localPriority 128												        G.8275.defaultDS.localPriority 128
        #																        #
        # Port Data Set															        # Port Data Set
        #																        #
        logAnnounceInterval -3														        logAnnounceInterval -3
        logSyncInterval -4														        logSyncInterval -4
        logMinDelayReqInterval -4													        logMinDelayReqInterval -4
        logMinPdelayReqInterval -4													        logMinPdelayReqInterval -4
        announceReceiptTimeout 3													        announceReceiptTimeout 3
        syncReceiptTimeout 0														        syncReceiptTimeout 0
        delayAsymmetry 0														        delayAsymmetry 0
        fault_reset_interval -4														        fault_reset_interval -4
        neighborPropDelayThresh 20000000												        neighborPropDelayThresh 20000000
        masterOnly 0															        masterOnly 0
        G.8275.portDS.localPriority 128													        G.8275.portDS.localPriority 128
        #																        #
        # Run time options														        # Run time options
        #																        #
        assume_two_step 0														        assume_two_step 0
        logging_level 6															        logging_level 6
        path_trace_enabled 0														        path_trace_enabled 0
        follow_up_info 0														        follow_up_info 0
        hybrid_e2e 0															        hybrid_e2e 0
        inhibit_multicast_service 0													        inhibit_multicast_service 0
        net_sync_monitor 0														        net_sync_monitor 0
        tc_spanning_tree 0														        tc_spanning_tree 0
        tx_timestamp_timeout 50														        tx_timestamp_timeout 50
        unicast_listen 0														        unicast_listen 0
        unicast_master_table 0														        unicast_master_table 0
        unicast_req_duration 3600													        unicast_req_duration 3600
        use_syslog 1															        use_syslog 1
        verbose 0															        verbose 0
        summary_interval -4														        summary_interval -4
        kernel_leap 1															        kernel_leap 1
        check_fup_sync 0														        check_fup_sync 0
        clock_class_threshold 7														        clock_class_threshold 7
        #																        #
        # Servo Options															        # Servo Options
        #																        #
        pi_proportional_const 0.0													        pi_proportional_const 0.0
        pi_integral_const 0.0														        pi_integral_const 0.0
        pi_proportional_scale 0.0													        pi_proportional_scale 0.0
        pi_proportional_exponent -0.3													        pi_proportional_exponent -0.3
        pi_proportional_norm_max 0.7													        pi_proportional_norm_max 0.7
        pi_integral_scale 0.0														        pi_integral_scale 0.0
        pi_integral_exponent 0.4													        pi_integral_exponent 0.4
        pi_integral_norm_max 0.3													        pi_integral_norm_max 0.3
        step_threshold 2.0														        step_threshold 2.0
        first_step_threshold 0.00002													        first_step_threshold 0.00002
        max_frequency 900000000														        max_frequency 900000000
        clock_servo pi															        clock_servo pi
        sanity_freq_limit 200000000													        sanity_freq_limit 200000000
        ntpshm_segment 0														        ntpshm_segment 0
        #																        #
        # Transport options														        # Transport options
        #																        #
        transportSpecific 0x0														        transportSpecific 0x0
        ptp_dst_mac 01:1B:19:00:00:00													        ptp_dst_mac 01:1B:19:00:00:00
        p2p_dst_mac 01:80:C2:00:00:0E													        p2p_dst_mac 01:80:C2:00:00:0E
        udp_ttl 1															        udp_ttl 1
        udp6_scope 0x0E															        udp6_scope 0x0E
        uds_address /var/run/ptp4l													        uds_address /var/run/ptp4l
        #																        #
        # Default interface options													        # Default interface options
        #																        #
        clock_type OC															        clock_type OC
        network_transport L2														        network_transport L2
        delay_mechanism E2E														        delay_mechanism E2E
        time_stamping hardware														        time_stamping hardware
        tsproc_mode filter														        tsproc_mode filter
        delay_filter moving_median													        delay_filter moving_median
        delay_filter_length 10														        delay_filter_length 10
        egressLatency 0															        egressLatency 0
        ingressLatency 0														        ingressLatency 0
        boundary_clock_jbod 0														        boundary_clock_jbod 0
        #																        #
        # Clock description														        # Clock description
        #																        #
        productDescription ;;														        productDescription ;;
        revisionData ;;															        revisionData ;;
        manufacturerIdentity 00:00:00													        manufacturerIdentity 00:00:00
        userDescription ;														        userDescription ;
        timeSource 0xA0															        timeSource 0xA0
      ptp4lOpts: -2 -s															      ptp4lOpts: -2 -s
      ptpSchedulingPolicy: SCHED_FIFO													      ptpSchedulingPolicy: SCHED_FIFO
      ptpSchedulingPriority: 10														      ptpSchedulingPriority: 10
      ptpSettings:															      ptpSettings:
        logReduce: "true"														        logReduce: "true"
  recommend:																  recommend:
    - match:																    - match:
        - nodeLabel: node-role.kubernetes.io/master											        - nodeLabel: node-role.kubernetes.io/master
      priority: 4															      priority: 4
      profile: slave															      profile: slave
------------------------------------------------------------------------------------------------

Example 2

# export DIFF_OPTS="--suppress-common-lines -W $(( $(tput cols) - 2 )) --color -y"
# ./diff.sh -s /root/workload-enablement/kubeconfigs/kubeconfig-sno131.yaml -t /root/workload-enablement/kubeconfigs/kubeconfig-sno132.yaml
Compare cluster source: /root/workload-enablement/kubeconfigs/kubeconfig-sno131.yaml
Compare cluster target: /root/workload-enablement/kubeconfigs/kubeconfig-sno132.yaml
Compare cluster-scoped resources:

Diff clusterversion:version: diff --suppress-common-lines -W 155 --color -y source-clusterversion-version.yaml target-clusterversion-version.yaml
------------------------------------------------------------------------------------------------
      - marketplace							     |	      - OperatorLifecycleManager
									     >	      - Ingress
  channel: stable-4.14							     |	  channel: candidate-4.16
  clusterID: 043e9e47-e79d-4cbc-9538-5714d2ef9296			     |	  clusterID: ec56c67d-c783-4908-a528-60e06c564b76
    version: 4.14.25							     |	    version: 4.16.4
------------------------------------------------------------------------------------------------

Diff nodes.config.openshift.io:cluster: diff --suppress-common-lines -W 155 --color -y source-nodes.config.openshift.io-cluster.yaml target-nodes.config.openshift.io-cluster.yaml
------------------------------------------------------------------------------------------------
spec:									     |	spec: {}
  cgroupMode: v1							     <
------------------------------------------------------------------------------------------------

Diff containerruntimeconfigs:: diff --suppress-common-lines -W 155 --color -y source-containerruntimeconfigs.yaml target-containerruntimeconfigs.yaml
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Diff performanceprofiles:: diff --suppress-common-lines -W 155 --color -y source-performanceprofiles.yaml target-performanceprofiles.yaml
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Diff networks.operator.openshift.io:cluster: diff --suppress-common-lines -W 155 --color -y source-networks.operator.openshift.io-cluster.yaml target-networks.operator.openshift.io-cluster.yaml
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Diff mc:container-mount-namespace-and-kubelet-conf-master: diff --suppress-common-lines -W 155 --color -y source-mc-container-mount-namespace-and-kubelet-conf-master.yaml target-mc-container-mount-namespace-and-kubelet-conf-master.yaml
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Diff mc:07-sriov-related-kernel-args-master: diff --suppress-common-lines -W 155 --color -y source-mc-07-sriov-related-kernel-args-master.yaml target-mc-07-sriov-related-kernel-args-master.yaml
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Diff mc:08-set-rcu-normal-master: diff --suppress-common-lines -W 155 --color -y source-mc-08-set-rcu-normal-master.yaml target-mc-08-set-rcu-normal-master.yaml
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Diff mc:99-crio-disable-wipe-master: diff --suppress-common-lines -W 155 --color -y source-mc-99-crio-disable-wipe-master.yaml target-mc-99-crio-disable-wipe-master.yaml
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Diff mc:99-sync-time-once-master: diff --suppress-common-lines -W 155 --color -y source-mc-99-sync-time-once-master.yaml target-mc-99-sync-time-once-master.yaml
------------------------------------------------------------------------------------------------
            After=network.service					     |	            After=network-online.target
									     >	            Wants=network-online.target
									     >	            ExecCondition=/bin/bash -c 'systemctl is-enabled chronyd.servic
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-cluster-node-tuning-operator/tuned:performance-patch: diff --suppress-common-lines -W 155 --color -y source-openshift-cluster-node-tuning-operator-tuned-performance-patch.yaml target-openshift-cluster-node-tuning-operator-tuned-performance-patch.yaml
------------------------------------------------------------------------------------------------
        [sysctl]							     <
        kernel.timer_migration=1					     <
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-monitoring/cm:cluster-monitoring-config: diff --suppress-common-lines -W 155 --color -y source-openshift-monitoring-cm-cluster-monitoring-config.yaml target-openshift-monitoring-cm-cluster-monitoring-config.yaml
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-operator-lifecycle-manager/cm:collect-profiles-config: diff --suppress-common-lines -W 155 --color -y source-openshift-operator-lifecycle-manager-cm-collect-profiles-config.yaml target-openshift-operator-lifecycle-manager-cm-collect-profiles-config.yaml
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-marketplace/catalogsource:redhat-operators: diff --suppress-common-lines -W 155 --color -y source-openshift-marketplace-catalogsource-redhat-operators.yaml target-openshift-marketplace-catalogsource-redhat-operators.yaml
------------------------------------------------------------------------------------------------
  image: registry.redhat.io/redhat/redhat-operator-index:v4.14		     |	  image: registry.redhat.io/redhat/redhat-operator-index:v4.16
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-marketplace/catalogsource:certified-operators: diff --suppress-common-lines -W 155 --color -y source-openshift-marketplace-catalogsource-certified-operators.yaml target-openshift-marketplace-catalogsource-certified-operators.yaml
------------------------------------------------------------------------------------------------
  image: registry.redhat.io/redhat/certified-operator-index:v4.14	     |	  image: registry.redhat.io/redhat/certified-operator-index:v4.16
------------------------------------------------------------------------------------------------

Compare namespace-scoped resources
Diff openshift-ptp/ptpconfig:: diff --suppress-common-lines -W 155 --color -y source-openshift-ptp-ptpconfig.yaml target-openshift-ptp-ptpconfig.yaml
------------------------------------------------------------------------------------------------
  name: slave								     |	  name: du-ptp-slave
------------------------------------------------------------------------------------------------

About

Script to compare 2 clusters

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages