Bug 1881210 - nodePort for router-default metrics with NodePortService does not exist
Summary: nodePort for router-default metrics with NodePortService does not exist
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 4.4
Hardware: x86_64
OS: Linux
high
medium
Target Milestone: ---
: 4.8.0
Assignee: Miciah Dashiel Butler Masters
QA Contact: Hongan Li
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-09-21 19:56 UTC by Jatan Malde
Modified: 2022-08-04 22:30 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-07-27 22:33:27 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift cluster-ingress-operator pull 466 0 None open Bug 1881210: desiredNodePortService: Add port 1936 2021-06-01 16:34:19 UTC
Red Hat Product Errata RHSA-2021:2438 0 None None None 2021-07-27 22:33:45 UTC

Description Jatan Malde 2020-09-21 19:56:28 UTC
Description of problem:

Hello Team, with OpenShift 4.4, we enabled NodePortService on ingresscontrollers, 


  spec:
    endpointPublishingStrategy:
      type: NodePortService
    replicas: 2
  status:
    availableReplicas: 2
    conditions:
    - lastTransitionTime: "2020-09-21T19:14:52Z"
      reason: Valid
      status: "True"
      type: Admitted
    - lastTransitionTime: "2020-09-21T19:15:11Z"


The NodePort service created post then does not include nodePort for 1936 port, 

spec:
  clusterIP: 172.30.200.47
  externalTrafficPolicy: Local
  ports:
  - name: http
    nodePort: 31322
    port: 80
    protocol: TCP
    targetPort: http
  - name: https
    nodePort: 31048
    port: 443
    protocol: TCP
    targetPort: https
  selector:
    ingresscontroller.operator.openshift.io/deployment-ingresscontroller: default
  sessionAffinity: None
  type: NodePort
status:
  loadBalancer: {}


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Ben Bennett 2020-09-22 12:45:01 UTC
Setting the target release to the current development branch so we can identify the problem.  We will consider backports once the issue is understood.

Comment 4 Andrew McDermott 2020-10-02 15:52:58 UTC
WIP PR: https://github.com/openshift/cluster-ingress-operator/pull/466

Comment 5 Andrew McDermott 2020-10-02 15:53:57 UTC
Target set to next release version while investigation is either
ongoing or pending. Will be considered for earlier release versions
when diagnosed and resolved.

We need to have a discussion about the implications of running out of
node ports if we chose to backport this fix.

Comment 6 Miciah Dashiel Butler Masters 2020-10-26 05:26:03 UTC
Fix is posted but may require some design discussion or a release note for handling upgrades.  We'll try to get this done in the upcoming sprint.

Comment 7 Miciah Dashiel Butler Masters 2020-11-14 00:41:58 UTC
Still need to investigate and guard against or document migration issues.

Comment 8 Miciah Dashiel Butler Masters 2020-12-07 03:06:19 UTC
Didn't have time to work on this.  I'll try to get to it in the upcoming sprint.

Comment 9 Miciah Dashiel Butler Masters 2021-02-06 00:10:28 UTC
No update.  Still need to test the proposed fix.

Comment 12 Hongan Li 2021-06-04 09:35:54 UTC
verified with 4.8.0-0.nightly-2021-06-03-221810 and passed.

# oc -n openshift-ingress get svc/router-nodeport-nodeport -oyaml
<---snip--->
spec:
  clusterIP: 172.30.114.242
  clusterIPs:
  - 172.30.114.242
  externalTrafficPolicy: Local
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  ports:
  - name: http
    nodePort: 30028
    port: 80
    protocol: TCP
    targetPort: http
  - name: https
    nodePort: 31626
    port: 443
    protocol: TCP
    targetPort: https
  - name: metrics
    nodePort: 30431
    port: 1936
    protocol: TCP
    targetPort: metrics
  selector:
    ingresscontroller.operator.openshift.io/deployment-ingresscontroller: nodeport
  sessionAffinity: None
  type: NodePort


sh-4.4# curl -u dXNlcnBrbGx3:cGFzczQ1cTk3 http://127.0.0.1:30431/metrics | head
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 4.1739e-05
go_gc_duration_seconds{quantile="0.25"} 7.6564e-05
go_gc_duration_seconds{quantile="0.5"} 8.9163e-05

Comment 14 Brandi Munilla 2021-06-24 16:49:08 UTC
Hi, does this bug require doc text? If so, please update the doc text field.

Comment 16 errata-xmlrpc 2021-07-27 22:33:27 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 (Moderate: OpenShift Container Platform 4.8.2 bug fix and security update), 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/RHSA-2021:2438


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