【发布时间】:2020-06-17 12:26:24
【问题描述】:
我正在我的 Centos 7.8 VMS 上安装 Openshift 3.11 版本的集群。配置是有三个Centos VM(一个主节点+两个工作节点)。我还配置了我的库存文件,并且“prerequisites.yml”剧本也成功运行。但是当我运行剧本'deploy_cluster.yml'时,它会产生如下错误----
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
由于我无法找到任何解决方案,任何人都可以帮助我吗?
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
【问题讨论】:
-
您能否在两个语句之间添加
- debug: var=rpm_results以检查repoquery模块的输出并在您的问题中提供额外的输出?您还可以添加yum search openshift的输出吗?我认为您的计算机上没有附加正确的存储库。 -
嗨,西蒙,请参考以下输出进行查询。
-
谢谢。请注意,您可以编辑原始问题并在那里添加信息。所以看来
repoquery正在寻找“origin-3.11.0*”。运行yum search origin-3.11.0*时的输出是什么?我猜这不会找到任何东西,请检查是否附加了正确的 YUM 存储库。检查安装说明您需要哪些存储库。 -
嗨 Simon,关于 'yum search origin-3.11.0*' 输出,您是正确的。它显示没有找到匹配项。请参考上面的输出。但是我参考了一篇文章来创建这个集群。它没有提到添加任何回购。文章链接-spiritedengineering.net/2019/08/05/…
-
嗨西蒙,你是对的。我发现了这个问题并重新安装了 'centos-release-openshift-origin311' 。这更新了 'centos-release-openshift' 并且问题解决了。现在我在安装过程中遇到了一些其他问题,但这个问题已经解决了。
标签: ansible openshift openshift-origin ansible-inventory openshift-3