Bug 1808004

Summary: On Baremetal platform CRI-O often binds its streaming port on unsuitable addresses
Product: OpenShift Container Platform Reporter: Antoni Segura Puimedon <asegurap>
Component: Machine Config OperatorAssignee: Antoni Segura Puimedon <asegurap>
Status: CLOSED ERRATA QA Contact: Marius Cornea <mcornea>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.3.0CC: mcornea
Target Milestone: ---   
Target Release: 4.3.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1807998 Environment:
Last Closed: 2020-03-10 23:54:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1807998    
Bug Blocks:    

Description Antoni Segura Puimedon 2020-02-27 16:07:16 UTC
+++ This bug was initially created as a clone of Bug #1807998 +++

Description of problem:
On Baremetal, and specially on IPv6 deploymnets, CRI-O's default setting of stream-address="" makes it bind to whichever address. That means that it can easily end up on the provisioning network.

How reproducible: Often


Steps to Reproduce:
1. Trigger a baremetal deployment
2. ssh to the different nodes
3. sudo ss -lptn | grep crio

Actual results:
Binds to provisioning network or some address not in the control plane.


Expected results:
Should be bound to a non VIP address on the control plane network (non-deprecated, non-link-local IPv6 address when IPv6 deployment).

Additional info:
You can check if crio got a stream address specified with a short command like in this example:

[core@master-0 ~]$ cat "/proc/$(pgrep crio)/cmdline" | xargs -0 echo
/usr/bin/crio --stream-address=fd2e:6f44:5dd8:c956::14 --enable-metrics=true --metrics-port=9537

Comment 3 Marius Cornea 2020-02-29 02:57:18 UTC
[root@master-0 core]# ip a s dev enp5s0
3: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:9a:be:33 brd ff:ff:ff:ff:ff:ff
    inet6 fd2e:6f44:5dd8:c956::5/128 scope global nodad deprecated noprefixroute 
       valid_lft forever preferred_lft 0sec
    inet6 fd2e:6f44:5dd8:c956::122/128 scope global dynamic noprefixroute 
       valid_lft 2944sec preferred_lft 2944sec
    inet6 fe80::5054:ff:fe9a:be33/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

[root@master-0 core]# ps axu | grep /usr/bin/crio
root        3060  4.2  0.6 3151408 218676 ?      Ssl  00:29   6:18 /usr/bin/crio --stream-address=fd2e:6f44:5dd8:c956::122 --enable-metrics=true --metrics-port=9537

Comment 5 errata-xmlrpc 2020-03-10 23:54:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:0676