Description of problem: The cockpit-shell rpm package name has been changed, but still shown in our playbooks. package_availability check will get error cause the name "cockpit-shell". Version-Release number of selected component (if applicable): openshift-ansible-3.6.110-1.git.0.58960f7.el7 How reproducible: 100% Steps to Reproduce: 1. Install OCP 2. 3. Actual results: # ansible-playbook -i hosts -v /usr/share/ansible/openshift-ansible/playbooks/byo/config.yml ... fatal: [openshift.example.com]: FAILED! => { ... "package_availability": { "failed": true, "invocation": { "module_args": { "packages": [ "PyYAML", "atomic-openshift", "atomic-openshift-clients", "atomic-openshift-master", "atomic-openshift-node", "atomic-openshift-sdn-ovs", "bash-completion", "bind", "ceph-common", "cockpit-bridge", "cockpit-docker", "cockpit-shell", "cockpit-ws", "dnsmasq", "docker", "etcd", "firewalld", "flannel", "glusterfs-fuse", "httpd-tools", "iptables", "iptables-services", "iscsi-initiator-utils", "libselinux-python", "nfs-utils", "ntp", "openssl", "pyparted", "python-httplib2", "yum-utils" ] } }, "msg": "Cannot install all of the necessary packages. Unavailable:\n cockpit-shell\nYou may need to enable one or more yum repositories to make this content available." }, ... } MSG: One or more checks failed ... Expected results: Installation succeed Additional info: BZ #1419718 Rename cockpit-shell to cockpit-system # yum search cockpit-shell cockpit-system ... cockpit-system.noarch : Cockpit admin interface package for configuring and troubleshooting a system ... Warning: No matches found for: cockpit-shell # grep -nir "cockpit-shell" /usr/share/ansible/openshift-ansible/ ./playbooks/adhoc/uninstall.yml:106: - cockpit-shell ./playbooks/adhoc/uninstall.yml:349: - cockpit-shell ./roles/cockpit/tasks/main.yml:6: - cockpit-shell ./roles/openshift_health_checker/openshift_checks/package_availability.py:39: "cockpit-shell",
The cockpit role still tries to install 'cockpit-shell', so the check is consistent with what the installer will try to use. I found no reference to 'cockpit-system' in openshift-ansible. $ git grep -n cockpit-shell playbooks/adhoc/uninstall.yml:106: - cockpit-shell playbooks/adhoc/uninstall.yml:349: - cockpit-shell roles/cockpit/tasks/main.yml:6: - cockpit-shell roles/openshift_health_checker/openshift_checks/package_availability.py:39: "cockpit-shell", $ git grep -n cockpit-system [nothing] I've opened https://github.com/openshift/openshift-ansible/pull/4474 to update the package name.
I believe in this case the check is performing what it is supposed to do -- it fails the install BEFORE spending a lot of time and having the install fail later. Or worse, perhaps part of cockpit was not being properly installed?! It shouldn't be a TestBlocker because as part of the ansible-playbook output it shows how to disable the check: # ansible-playbook -i hosts -v /usr/share/ansible/openshift-ansible/playbooks/byo/config.yml -e openshift_disable_check=package_availability
The PR https://github.com/openshift/openshift-ansible/pull/4474 is merged. @Wenkai could you please test this again?
Verified with version openshift-ansible-3.6.126.0-1.git.0.f9c47bf.el7, no more cockpit-shell. # grep -nir "cockpit-shell" /usr/share/ansible/openshift-ansible/ # grep -nir "cockpit-system" /usr/share/ansible/openshift-ansible/ /usr/share/ansible/openshift-ansible/playbooks/adhoc/uninstall.yml:106: - cockpit-system /usr/share/ansible/openshift-ansible/playbooks/adhoc/uninstall.yml:350: - cockpit-system /usr/share/ansible/openshift-ansible/roles/cockpit/tasks/main.yml:6: - cockpit-system /usr/share/ansible/openshift-ansible/roles/openshift_health_checker/openshift_checks/package_availability.py:39: "cockpit-system",