Bug 1553452 - installer should set "runtime=cri-o" label for cri-o node when no schedulable nodes found matching node selector for docker-gc daemonset
Summary: installer should set "runtime=cri-o" label for cri-o node when no schedulable...
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 3.9.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: ---
: 3.9.z
Assignee: Scott Dodson
QA Contact: Johnny Liu
URL:
Whiteboard:
: 1562943 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-03-08 21:52 UTC by Vikas Laad
Modified: 2018-11-16 15:26 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-11-16 15:26:17 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Vikas Laad 2018-03-08 21:52:15 UTC
Description of problem:

TASK [openshift_master : Ensure that docker-gc daemonset has nodes to run on] ***
Thursday 08 March 2018  16:26:43 +0000 (0:00:00.699)       0:12:32.002 ******** 
fatal: [ec2-34-212-24-46.us-west-2.compute.amazonaws.com]: FAILED! => {
    "assertion": false, 
    "changed": false, 
    "evaluated_to": false, 
    "failed": true, 
    "msg": "No schedulable nodes found matching node selector for docker-gc daemonset - 'runtime=cri-o'"
}

Version-Release number of the following components:
rpm -q openshift-ansible
latest on release-3.9 branch

rpm -q ansible
ansible-2.4.3.0-1.el7ae.noarch

ansible --version
ansible 2.4.3.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Feb 20 2018, 09:19:12) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

How reproducible:
when runtime is cri-o

Steps to Reproduce:
1. run deploy_cluster playbook when inv has use_crio true
2. see ansible output

Actual results:
Install fails because inventory does not have labels where dockerdc ds pods should run.
No schedulable nodes found matching node selector for docker-gc daemonset - 'runtime=cri-o'

Expected results:
Install should be able to figure out where Runtime is cri-o and add labels on those nodes.

Additional info:
Please attach logs from ansible-playbook with the -vvv flag

Comment 1 Scott Dodson 2018-03-08 21:54:03 UTC
Workaround, label crio nodes 'runtime=cri-o'

Comment 2 Johnny Liu 2018-03-09 05:09:53 UTC
The same root cause as BZ#1552438.

I think labeling crio nodes with "runtime=cri-o" could be done automatically by installer, no need any extra setting (set label for cri-o node or set  openshift_crio_docker_gc_node_selector option with a customized selector in inventory)

I modify the bug summary to track crio node label automatically set by installer issue.

Comment 3 Johnny Liu 2018-04-03 02:01:38 UTC
*** Bug 1562943 has been marked as a duplicate of this bug. ***

Comment 4 Russell Teague 2018-11-16 15:26:17 UTC
There are no active cases related to this bug. As such we're closing this bug in order to focus on bugs that are still tied to active customer cases. Please re-open this bug if this bug becomes relevant to an open customer case.


Note You need to log in before you can comment on or make changes to this bug.