openshift-ansible: Unable to create Openshift 3.7 from byo/config.yml due to mixed versions of RPMs

Description

As of today (19/03) I am unable to create a non containerized Openshift Origin using the byo/config.yml playbook. The playbook is run against a clean CentOS 7.4 VM.

The very high level explanation I can come up with is that with the advent of the 3.7.1 RPMs in http://mirror.centos.org/centos/7/paas/x86_64/openshift-origin37/ (which seem to have landed today), the playbook now fails due to mixing different RPM versions

Version
ansible version: ansible 2.4.3.0
git describe: openshift-ansible-3.7.39-1
Steps To Reproduce
  1. ansible-playbook -i inventory openshift-ansible/playbooks/byo/config.yml -e openshift_node=masters
Expected Results

Up until yesterday (when only 3.7.0 RPMs were present in the CentOS repo), I was able to create the cluster without issues.

Observed Results
INSTALLER STATUS ***************************************************************************************************************************
Initialization             : Complete
Health Check               : Complete
etcd Install               : Complete
Master Install             : Complete
Master Additional Install  : Complete
Node Install               : In Progress
	This phase can be restarted by running: playbooks/byo/openshift-node/config.yml



Failure summary:


  1. Hosts:    192.168.99.50
     Play:     Configure nodes
     Task:     Install sdn-ovs package
     Message:  Error: Package: origin-sdn-ovs-3.7.0-1.0.7ed6862.x86_64 (centos-openshift-origin37)
                          Requires: origin-node = 3.7.0-1.0.7ed6862
                          Installed: origin-node-3.7.1-1.el7.git.0.0a2d6a1.x86_64 (@centos-openshift-origin37)
                              origin-node = 3.7.1-1.el7.git.0.0a2d6a1
                          Available: origin-node-3.7.0-1.0.7ed6862.x86_64 (centos-openshift-origin37)
                              origin-node = 3.7.0-1.0.7ed6862

Additional Information
  • Operating System:, CentOS Linux release 7.4.1708 (Core)
  • Inventory file:
[OSEv3:children]
masters
nodes
etcd

[OSEv3:vars]
ansible_user=root

public_ip_address = 192.168.99.50
host_key_checking = False

containerized = false

openshift_release=v3.7
openshift_pkg_version=-3.7.0

openshift_deployment_type=origin

openshift_hostname=192.168.99.50
openshift_master_cluster_public_hostname=192.168.99.50
openshift_master_default_subdomain=192.168.99.50.nip.io
openshift_master_unsupported_embedded_etcd=true

openshift_disable_check = docker_storage,memory_availability,disk_availability,docker_image_availability,package_version

openshift_enable_service_catalog=false

ansible_python_interpreter=/usr/bin/python

[masters]
192.168.99.50 openshift_public_hostname=192.168.99.50 openshift_ip=192.168.99.50

[etcd]
192.168.99.50 openshift_ip=192.168.99.50

[nodes]
192.168.99.50 openshift_node_labels="{'region':'infra','zone':'default'}" openshift_public_hostname=192.168.99.50 openshift_schedulable=true openshift_ip=192.168.99.50

EXTRA INFORMATION GOES HERE

It should be noted that I also tried configuring the playbook to use 3.7.1 RPMs by setting:

openshift_release=v3.7.1
openshift_pkg_version=-3.7.1
openshift_image_tag=v3.7.1

Unfortunately in that case I had a different problem that occurred even earlier in the installation process. The specific error was:

TASK [openshift_master_facts : Set Default scheduler predicates and priorities] ************************************************************
fatal: [192.168.99.50]: FAILED! => {"msg": "An unhandled exception occurred while running the lookup plugin 'openshift_master_facts_default_predicates'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Unknown short_version 3.10"}

Please let me know if I can provide any further information.

Thank you

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 2
  • Comments: 38 (7 by maintainers)

Most upvoted comments

There was a problem with the releases centos 3.7.1 packages. They have been rebuilt, and passed our initial tests. They should be in the released centos repositories in a few days. Thank you for your patience with the dead horse.

2 remarks :

  • Documentation should be improved in order to explain for containerized and non containerized environment how rpms packages are resolved and if not yet there, how they are downloaded (mirror server for centos, fedora, rhel)
  • Version, package_version, release and image_tag should be better documented including also how the number should be passed. Some examples are required !

The updated origin-3.7.1-2.el7 is now available in all the regular repositories. This problem should be fixed now.

You can successfully install the cluster running the following scripts before to start installation

wget http://cbs.centos.org/kojifiles/packages/origin/3.7.1/2.el7/x86_64/origin-3.7.1-2.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/origin/3.7.1/2.el7/x86_64/origin-clients-3.7.1-2.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/origin/3.7.1/2.el7/x86_64/origin-master-3.7.1-2.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/origin/3.7.1/2.el7/x86_64/origin-node-3.7.1-2.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/origin/3.7.1/2.el7/x86_64/tuned-profiles-origin-node-3.7.1-2.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/origin/3.7.1/2.el7/x86_64/origin-sdn-ovs-3.7.1-2.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/origin/3.7.1/2.el7/x86_64/origin-service-catalog-3.7.1-2.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/origin/3.7.1/2.el7/x86_64/origin-template-service-broker-3.7.1-2.el7.x86_64.rpm
wget http://cbs.centos.org/kojifiles/packages/origin/3.7.1/2.el7/x86_64/origin-dockerregistry-3.7.1-2.el7.x86_64.rpm
yum install *.rpm

I think at this point your only option is to build a custom repo with the 3.7.1-2 RPMs (which reportedly have fixed the issue) from either https://buildlogs.centos.org/centos/7/paas/x86_64/openshift-origin/ or http://cbs.centos.org/kojifiles/packages/origin/3.7.1/2.el7/x86_64/

You can just dump the RPMs into a local directory, use createrepo on that directory, and then add it to /etc/yum.repos.d.

I can confirm that if you make sure you are on the correct branch and only set this openshift_release=v3.7

It works perfectly

I am marking this issue closed because it looks like we’ve resolved this a few weeks ago. If you continue to have problems, please re-open, or create a new issue.

Unknown short_version 3.10 error.

Here is the detail

ASK [openshift_master_facts : Set Default scheduler predicates and priorities] **********************************************************************************************************************************************************************
task path: /Users/dabou/Code/rhoar/cloud-native/infra/ansible/openshift-ansible/roles/openshift_master_facts/tasks/main.yml:110
fatal: [192.168.99.50]: FAILED! => {
    "msg": "An unhandled exception occurred while running the lookup plugin 'openshift_master_facts_default_predicates'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Unknown short_version 3.10"
}

PLAY RECAP *******************************************************************************************************************************************************************************************************************************************
192.168.99.50              : ok=108  changed=5    unreachable=0    failed=1   
localhost                  : ok=11   changed=0    unreachable=0    failed=0   


INSTALLER STATUS *************************************************************************************************************************************************************************************************************************************
Initialization             : Complete
Health Check               : Complete
etcd Install               : Complete
Master Install             : In Progress
        This phase can be restarted by running: playbooks/byo/openshift-master/config.yml



Failure summary:


  1. Hosts:    192.168.99.50
     Play:     Create OpenShift certificates for master hosts
     Task:     Set Default scheduler predicates and priorities
     Message:  An unhandled exception occurred while running the lookup plugin 'openshift_master_facts_default_predicates'. Error was a <class 'ansible.errors.AnsibleError'>, original message: Unknown short_version 3.10