Bug 1390363

Summary: [DOCS] Ingress IP documentation is vague
Product: OpenShift Container Platform Reporter: Ryan Howe <rhowe>
Component: DocumentationAssignee: Ashley Hardin <ahardin>
Status: CLOSED CURRENTRELEASE QA Contact: zhaozhanqi <zzhao>
Severity: high Docs Contact: Vikram Goyal <vigoyal>
Priority: unspecified    
Version: 3.3.0CC: aos-bugs, bbennett, erich, jokerman, mmccomas, mnewby
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-21 17:47:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Ryan Howe 2016-10-31 19:56:00 UTC
Document URL: https://docs.openshift.com/container-platform/3.3/admin_guide/tcp_ingress_external_ports.html

Describe the issue: 

The documentation is not clear as to what is needed to be configured on the host to get the unique IP addresses assigned to the hosts in different environments.  

Suggestions for improvement: 

Example setups of using ingress assigning unique external IPs for ingress traffic on different infrastructures OpenShift can run on. 
AWS
OPENSTACK
BAREBONES 

Additional information: 

The documentation is lacking prerequisites needed to get this in place.

Comment 3 Ben Bennett 2016-12-05 14:23:44 UTC
The title is somewhat confusing.  Perhaps it should be "Automatically assigning ..."

This specifically talks about how to configure assigning IP addresses to LoadBalancer services when on bare metal.  Different LoadBalancer stuff happens on GCE and AWS and this page doesn't apply.

People can manually assign IP addresses to services if they have the right privileges.  But normally a user will not.  The point of the dynamic assignment is that users can make a LoadBalancer service (based on their quota) and then the system can assign them the ExternalIP which they would not have the privilege to do ordinarily.  So it allows the users to do self-provisioning of IP addresses in a constrained manner (like they are able to do on GCE and AWS using LoadBalancer services).

This page:
  https://docs.openshift.com/container-platform/3.3/dev_guide/getting_traffic_into_cluster.html

Is the one that should talk about all the different ways you can get traffic in, and what the cost/benefits are of each.

Comment 4 Ryan Howe 2016-12-06 21:06:25 UTC
The docs should have an example from start to finish as to how this would look setting it up. 

We are missing inform on how should these IP addresses be created once assigned to a service. 
    - Do we use `oadm ipfailover` and if that is the case what should we put for watch-port. 
    - Do we add a second IP to an existing node's interface

Does it matter which node the IP address gets assigned too?


This page should provide examples in OpenShift showing the features in use. 

  https://docs.openshift.com/container-platform/3.3/dev_guide/getting_traffic_into_cluster.html

Comment 6 Ben Bennett 2016-12-06 21:16:19 UTC
If you set the watch-port to 0 then it disables the service checks and just relies on the node liveness to control where the IP addresses land.  If you are exposing a service, then you don't really need to use the checks since the kubernetes load balancer will take over as soon as the traffic lands on the node.  So I'd advise setting to 0 in that case.

Otherwise you can use the NodePort that was assigned to the service.

Comment 7 Ashley Hardin 2016-12-07 22:37:59 UTC
Work in progress:
https://github.com/openshift/openshift-docs/pull/3342

Comment 8 zhaozhanqi 2017-02-13 10:46:09 UTC
this PR https://github.com/openshift/openshift-docs/pull/3342 looks good to me 

verified this bug.

Comment 9 openshift-github-bot 2017-02-13 14:47:03 UTC
Commit pushed to master at https://github.com/openshift/openshift-docs

https://github.com/openshift/openshift-docs/commit/064959339d444fc798b6d065c3d030df90ec981a
Merge pull request #3342 from ahardin-rh/ingress-IP

Bug 1390363, Expanding the Ingress Documentation