Friday, June 29, 2018

Forcing an installation of specific OpenShift package version "minor version"

Forcing a deploy of specific OpenShift package version, "3.9.27"

As mentioned by documentation, the installer uses the following Ansible inventory file facts to force a specific package version install:



# Value appended to the yum package install
# Prevents an unsupported docker version from being installed

# Still figuring out why this is needed:

However there is an issue in the Ansible installer playbook whereby the pre-install routines fail by performing checks "memory/disk" against available package versions instead of installed ones. In other words, the cluster install won't run if there are packages in the rhel-7-server-ose-3.9-rpms repo that are higher than the version specified in the openshift_pkg_version.

To work around this, we just have to exclude higher package versions through the /etc/yum.conf file. This setting has to be present on every node before installing and any playbooks checks like this:


exclude= *3.9.30* *3.9.31*

And last but not least, we must remove the following line from the file located in the Ansible openshift_health_checker module on host from which we are running the installer; otherwise the installer will ignore the exclusion setting we just configured in the previous step.
# /usr/share/ansible/openshift-ansible/roles/openshift_health_checker/library/
# yb.conf.disable_excludes = ['all']
cd /usr/share/ansible/openshift-ansible/roles/openshift_health_checker/library/
python -m compileall 

it is hard to me the reason for this questionable logic but the end result is that removing the line allows the installer to continue it's job.

Checking OCP deployed in all nodes :

ansible all -m shell -a 'yum list | grep atomic'

No comments:

Post a Comment