ansibleopenshiftopenshift-originansible-inventoryopenshift-3

Openshift 3 installation issue


I am installing Openshift 3.11 version cluster on my Centos 7.8 VMS. The configuration is that there are there are three Centos VMs (one master node + two worker nodes). I have configured my inventory file also and 'prerequisites.yml' playbook also ran successfully. But when I am running the playbook 'deploy_cluster.yml', then it is generating errors as follows ----

TASK [openshift_version : fail] ***********************************************************************************************************
fatal: [kubernetus]: FAILED! => {"msg": "The conditional check 'not rpm_results.results.package_found' failed. The error was: error while e
valuating conditional (not rpm_results.results.package_found): 'dict object' has no attribute 'results'\n\nThe error appears to be in '/usr
/share/ansible/openshift-ansible/roles/openshift_version/tasks/check_available_rpms.yml': line 8, column 3, but may\nbe elsewhere in the fi
le depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- fail:\n  ^ here\n"}


Failure summary:


  1. Hosts:    kubernetus
     Play:     Determine openshift_version to configure on first master
     Task:     openshift_version : fail
     Message:  The conditional check 'not rpm_results.results.package_found' failed. The error was: error while evaluating conditional (no$ rpm_results.results.package_found): 'dict object' has no attribute 'results'

The error appears to be in '/usr/share/ansible/openshift-ansible/roles/openshift_version/tasks/check_available_rpms.yml': li
ne 8, column 3, but may
               be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

                 - fail:
                 ^ here

For this, I even checked the corresponding file mentioned above (/usr/share/ansible/openshift-ansible/roles/openshift_version/tasks/check_available_rpms.yml) but could not find anything. Its contents are as follows ---

---
- name: Get available RPM version
  repoquery:
    name: "{{ openshift_service_type }}{% if openshift_version is defined %}-{{ openshift_version }}*{% elif openshift_release is defined %}-{{ openshift_release }}*{% endif %}"
    ignore_excluders: true
  register: rpm_results

- fail:
    msg: "Package '{{ rpm_results.results.package_name }}' not found"
  when: not rpm_results.results.package_found

Can anybody help me in this as I am not able to find any solution to this ?

The output of - debug: var=rpm_results is as follows ----

TASK [openshift_version : debug] 

**********************************************************************************************************
    ok: [kubernetus] => {
        "rpm_results": {
            "ansible_module_results": {
                "cmd": "/usr/bin/repoquery --plugins --quiet --pkgnarrow=repos --queryformat=%{version}|%{release}|%{arch}|%{repo}|%{version}-%
    {release} --config=/tmp/tmpWCj7Cy origin-3.11.0*",
                "package_found": true,
                "package_name": "origin-3.11.0*",
                "returncode": 0,
                "versions": {
                    "available_versions": [
                        "3.11.0"
                    ],
                    "available_versions_full": [
                        "3.11.0-1.el7.git.0.62803d0"
                    ],
                    "latest": "3.11.0",
                    "latest_full": "3.11.0-1.el7.git.0.62803d0"
                }
            },
            "changed": false,
            "check_mode": false,
            "failed": false,
            "state": "list"
        }
    }

The output of yum search openshift is as follows ----

    [root@kubernetus playbooks]# yum search openshift
    Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

    This system is not registered with an entitlement server. You can use subscription-manager to register.

    Loading mirror speeds from cached hostfile
     * base: mirror.xeonbd.com
     * extras: mirror.xeonbd.com
     * remi-php73: mirror.veriteknik.net.tr
     * remi-safe: mirror.veriteknik.net.tr
     * updates: mirror.xeonbd.com
    ========================================================= N/S matched: openshift ==========================================================
    atomic-openshift-utils.noarch : Atomic OpenShift Utilities
    centos-release-openshift-origin13.noarch : Yum configuration for OpenShift Origin 1.3 packages
    centos-release-openshift-origin14.noarch : Yum configuration for OpenShift Origin 1.4 packages
    centos-release-openshift-origin15.noarch : Yum configuration for OpenShift Origin 1.5 packages
    centos-release-openshift-origin310.noarch : Yum configuration for OpenShift Origin 3.10 packages
    centos-release-openshift-origin311.noarch : Yum configuration for OpenShift Origin 3.11 packages
    centos-release-openshift-origin36.noarch : Yum configuration for OpenShift Origin 3.6 packages
    centos-release-openshift-origin37.noarch : Yum configuration for OpenShift Origin 3.7 packages
    centos-release-openshift-origin39.noarch : Yum configuration for OpenShift Origin 3.9 packages
    openshift-ansible.noarch : Openshift and Atomic Enterprise Ansible
    openshift-ansible-callback-plugins.noarch : Openshift and Atomic Enterprise Ansible callback plugins
    openshift-ansible-docs.noarch : Openshift and Atomic Enterprise Ansible documents
    openshift-ansible-filter-plugins.noarch : Openshift and Atomic Enterprise Ansible filter plugins
    openshift-ansible-lookup-plugins.noarch : Openshift and Atomic Enterprise Ansible lookup plugins
    openshift-ansible-playbooks.noarch : Openshift and Atomic Enterprise Ansible Playbooks
    openshift-ansible-roles.noarch : Openshift and Atomic Enterprise Ansible roles
    openshift-ansible-test.noarch : Openshift and Atomic Enterprise Ansible Test Playbooks
    openshift-excluder.noarch : Exclude openshift packages from updates
    centos-release-openshift-origin.noarch : Common release file to establish shared metadata for CentOS PaaS SIG
    origin-excluder.noarch : Exclude openshift packages from updates

      Name and summary matches only, use "search all" for everything.

Output of 'yum search origin-3.11.0*' is as follows ----

[root@kubernetus playbooks]# yum search origin-3.11.0*
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Loading mirror speeds from cached hostfile
 * base: mirror.xeonbd.com
 * extras: mirror.xeonbd.com
 * remi-php73: mirror.veriteknik.net.tr
 * remi-safe: mirror.veriteknik.net.tr
 * updates: mirror.xeonbd.com
Warning: No matches found for: origin-3.11.0*
No matches found

Solution

  • Copied from comments (as this seems to have been the issue):

    So it seems that the repoquery is looking for "origin-3.11.0*". What is the output when you run yum search origin-3.11.0*? I am guessing that this will not find anything, check if the correct YUM repositories are attached.

    It seems that you are mixing OpenShift versions, you have the 3.9 repository attached but are trying to install 3.11. You'll need to attach the 3.11 repository. I would recommend that you refer to the official documentation for the installation: https://docs.okd.io/3.11/install/index.html